All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.regnosys.rosetta.ide.contentassist.antlr.internal.InternalRosettaParser Maven / Gradle / Ivy

Go to download

Responsibilities: adding support for developing Rosetta in an IDE, including - language server features (semantic highlighting, inlay hints, etc) - syntax highlighting

The newest version!
package com.regnosys.rosetta.ide.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.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.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA;
import com.regnosys.rosetta.services.RosettaGrammarAccess;
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 InternalRosettaParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "", "", "", "", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'set'", "'min'", "'max'", "'condition'", "'source'", "'value'", "'version'", "'pattern'", "'='", "'<>'", "'regulatoryReference'", "'docReference'", "'rationale'", "'rationale_author'", "'structured_provision'", "'item'", "'it'", "'+'", "'-'", "'e'", "'E'", "'>='", "'<='", "'>'", "'<'", "'*'", "'/'", "'map'", "'extract'", "','", "'real-time'", "'T+1'", "'T+2'", "'T+3'", "'T+4'", "'T+5'", "'ASATP'", "'reporting'", "'optional'", "'required'", "'tag'", "'componentID'", "'isEvent'", "'isProduct'", "'any'", "'all'", "'single'", "'multiple'", "'namespace'", "':'", "'.'", "'import'", "'as'", "'annotation'", "'['", "'prefix'", "']'", "'type'", "'extends'", "'choice'", "'enum'", "'func'", "'('", "')'", "'inputs'", "'output'", "'alias'", "'->'", "'empty'", "'basicType'", "'synonym'", "'recordType'", "'{'", "'}'", "'library'", "'function'", "'qualifiedType'", "'calculationType'", "'typeAlias'", "'metaType'", "'displayName'", "'..'", "'meta'", "'path'", "'hint'", "'merge'", "'dateFormat'", "'mapper'", "'maps'", "'when'", "'definition'", "'to'", "'and'", "'rosettaPath'", "'exists'", "'is'", "'absent'", "'condition-func'", "'condition-path'", "'provision'", "'body'", "'corpus'", "'segment'", "'False'", "'root'", "';'", "'then'", "'->>'", "'default'", "'if'", "'only'", "'enums'", "'rule'", "'report'", "'in'", "'from'", "'with'", "'using'", "'standard'", "'ruleReference'", "'override'", "'post-condition'", "'add'", "'removeHtml'", "'reportedField'", "'True'", "'as-key'", "'or'", "'contains'", "'disjoint'", "'join'", "'only-element'", "'count'", "'flatten'", "'distinct'", "'reverse'", "'first'", "'last'", "'sum'", "'one-of'", "'to-string'", "'to-number'", "'to-int'", "'to-time'", "'to-enum'", "'to-date'", "'to-date-time'", "'to-zoned-date-time'", "'switch'", "'sort'", "'reduce'", "'filter'", "'...'", "'else'", "'eligibility'"
    };
    public static final int T__144=144;
    public static final int T__143=143;
    public static final int T__146=146;
    public static final int T__50=50;
    public static final int T__145=145;
    public static final int T__140=140;
    public static final int T__142=142;
    public static final int T__141=141;
    public static final int T__59=59;
    public static final int T__55=55;
    public static final int T__56=56;
    public static final int T__57=57;
    public static final int T__58=58;
    public static final int T__51=51;
    public static final int T__137=137;
    public static final int T__52=52;
    public static final int T__136=136;
    public static final int T__53=53;
    public static final int T__139=139;
    public static final int T__54=54;
    public static final int T__138=138;
    public static final int T__133=133;
    public static final int T__132=132;
    public static final int T__60=60;
    public static final int T__135=135;
    public static final int T__61=61;
    public static final int T__134=134;
    public static final int RULE_ID=5;
    public static final int T__131=131;
    public static final int T__130=130;
    public static final int RULE_INT=6;
    public static final int T__66=66;
    public static final int RULE_ML_COMMENT=7;
    public static final int T__67=67;
    public static final int T__129=129;
    public static final int T__68=68;
    public static final int T__69=69;
    public static final int T__62=62;
    public static final int T__126=126;
    public static final int T__63=63;
    public static final int T__125=125;
    public static final int T__64=64;
    public static final int T__128=128;
    public static final int T__65=65;
    public static final int T__127=127;
    public static final int T__165=165;
    public static final int T__162=162;
    public static final int T__161=161;
    public static final int T__164=164;
    public static final int T__163=163;
    public static final int T__160=160;
    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 T__33=33;
    public static final int T__34=34;
    public static final int T__35=35;
    public static final int T__36=36;
    public static final int T__159=159;
    public static final int T__30=30;
    public static final int T__158=158;
    public static final int T__31=31;
    public static final int T__32=32;
    public static final int T__155=155;
    public static final int T__154=154;
    public static final int T__157=157;
    public static final int T__156=156;
    public static final int T__151=151;
    public static final int T__150=150;
    public static final int T__153=153;
    public static final int T__152=152;
    public static final int T__48=48;
    public static final int T__49=49;
    public static final int T__44=44;
    public static final int T__45=45;
    public static final int T__46=46;
    public static final int T__47=47;
    public static final int T__40=40;
    public static final int T__148=148;
    public static final int T__41=41;
    public static final int T__147=147;
    public static final int T__42=42;
    public static final int T__43=43;
    public static final int T__149=149;
    public static final int T__91=91;
    public static final int T__100=100;
    public static final int T__92=92;
    public static final int T__93=93;
    public static final int T__102=102;
    public static final int T__94=94;
    public static final int T__101=101;
    public static final int T__90=90;
    public static final int T__19=19;
    public static final int T__15=15;
    public static final int T__16=16;
    public static final int T__17=17;
    public static final int T__18=18;
    public static final int T__11=11;
    public static final int T__99=99;
    public static final int T__12=12;
    public static final int T__13=13;
    public static final int T__14=14;
    public static final int T__95=95;
    public static final int T__96=96;
    public static final int T__97=97;
    public static final int T__98=98;
    public static final int T__26=26;
    public static final int T__27=27;
    public static final int T__28=28;
    public static final int T__29=29;
    public static final int T__22=22;
    public static final int T__23=23;
    public static final int T__24=24;
    public static final int T__25=25;
    public static final int T__20=20;
    public static final int T__21=21;
    public static final int T__122=122;
    public static final int T__70=70;
    public static final int T__121=121;
    public static final int T__71=71;
    public static final int T__124=124;
    public static final int T__72=72;
    public static final int T__123=123;
    public static final int T__120=120;
    public static final int RULE_STRING=4;
    public static final int RULE_SL_COMMENT=8;
    public static final int T__77=77;
    public static final int T__119=119;
    public static final int T__78=78;
    public static final int T__118=118;
    public static final int T__79=79;
    public static final int T__73=73;
    public static final int T__115=115;
    public static final int EOF=-1;
    public static final int T__74=74;
    public static final int T__114=114;
    public static final int T__75=75;
    public static final int T__117=117;
    public static final int T__76=76;
    public static final int T__116=116;
    public static final int T__80=80;
    public static final int T__111=111;
    public static final int T__81=81;
    public static final int T__110=110;
    public static final int T__82=82;
    public static final int T__113=113;
    public static final int T__83=83;
    public static final int T__112=112;
    public static final int RULE_WS=9;
    public static final int RULE_ANY_OTHER=10;
    public static final int T__88=88;
    public static final int T__108=108;
    public static final int T__89=89;
    public static final int T__107=107;
    public static final int T__109=109;
    public static final int T__84=84;
    public static final int T__104=104;
    public static final int T__85=85;
    public static final int T__103=103;
    public static final int T__86=86;
    public static final int T__106=106;
    public static final int T__87=87;
    public static final int T__105=105;
    // delegates
    // delegators
        public InternalRosettaParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalRosettaParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
        }
    public String[] getTokenNames() { return InternalRosettaParser.tokenNames; }
    public String getGrammarFileName() { return "InternalRosetta.g"; }
    	private RosettaGrammarAccess grammarAccess;
    	public void setGrammarAccess(RosettaGrammarAccess grammarAccess) {
    		this.grammarAccess = grammarAccess;
    	}
    	@Override
    	protected Grammar getGrammar() {
    		return grammarAccess.getGrammar();
    	}
    	@Override
    	protected String getValueForTokenName(String tokenName) {
    		return tokenName;
    	}
    // $ANTLR start "entryRuleRosettaModel"
    // InternalRosetta.g:55:1: entryRuleRosettaModel : ruleRosettaModel EOF ;
    public final void entryRuleRosettaModel() throws RecognitionException {
        try {
            // InternalRosetta.g:56:1: ( ruleRosettaModel EOF )
            // InternalRosetta.g:57:1: ruleRosettaModel EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaModel(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaModel"
    // $ANTLR start "ruleRosettaModel"
    // InternalRosetta.g:64:1: ruleRosettaModel : ( ( rule__RosettaModel__Group__0 ) ) ;
    public final void ruleRosettaModel() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:68:2: ( ( ( rule__RosettaModel__Group__0 ) ) )
            // InternalRosetta.g:69:2: ( ( rule__RosettaModel__Group__0 ) )
            {
            // InternalRosetta.g:69:2: ( ( rule__RosettaModel__Group__0 ) )
            // InternalRosetta.g:70:3: ( rule__RosettaModel__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getGroup()); }
            // InternalRosetta.g:71:3: ( rule__RosettaModel__Group__0 )
            // InternalRosetta.g:71:4: rule__RosettaModel__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaModel"
    // $ANTLR start "entryRuleQualifiedName"
    // InternalRosetta.g:80:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
    public final void entryRuleQualifiedName() throws RecognitionException {
        try {
            // InternalRosetta.g:81:1: ( ruleQualifiedName EOF )
            // InternalRosetta.g:82:1: ruleQualifiedName EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameRule()); }
            pushFollow(FOLLOW_1);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getQualifiedNameRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleQualifiedName"
    // $ANTLR start "ruleQualifiedName"
    // InternalRosetta.g:89:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
    public final void ruleQualifiedName() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:93:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
            // InternalRosetta.g:94:2: ( ( rule__QualifiedName__Group__0 ) )
            {
            // InternalRosetta.g:94:2: ( ( rule__QualifiedName__Group__0 ) )
            // InternalRosetta.g:95:3: ( rule__QualifiedName__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameAccess().getGroup()); }
            // InternalRosetta.g:96:3: ( rule__QualifiedName__Group__0 )
            // InternalRosetta.g:96:4: rule__QualifiedName__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__QualifiedName__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getQualifiedNameAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleQualifiedName"
    // $ANTLR start "entryRuleImport"
    // InternalRosetta.g:105:1: entryRuleImport : ruleImport EOF ;
    public final void entryRuleImport() throws RecognitionException {
        try {
            // InternalRosetta.g:106:1: ( ruleImport EOF )
            // InternalRosetta.g:107:1: ruleImport EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImportRule()); }
            pushFollow(FOLLOW_1);
            ruleImport(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getImportRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleImport"
    // $ANTLR start "ruleImport"
    // InternalRosetta.g:114:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
    public final void ruleImport() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:118:2: ( ( ( rule__Import__Group__0 ) ) )
            // InternalRosetta.g:119:2: ( ( rule__Import__Group__0 ) )
            {
            // InternalRosetta.g:119:2: ( ( rule__Import__Group__0 ) )
            // InternalRosetta.g:120:3: ( rule__Import__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImportAccess().getGroup()); }
            // InternalRosetta.g:121:3: ( rule__Import__Group__0 )
            // InternalRosetta.g:121:4: rule__Import__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__Import__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getImportAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleImport"
    // $ANTLR start "entryRuleQualifiedNameWithWildcard"
    // InternalRosetta.g:130:1: entryRuleQualifiedNameWithWildcard : ruleQualifiedNameWithWildcard EOF ;
    public final void entryRuleQualifiedNameWithWildcard() throws RecognitionException {
        try {
            // InternalRosetta.g:131:1: ( ruleQualifiedNameWithWildcard EOF )
            // InternalRosetta.g:132:1: ruleQualifiedNameWithWildcard EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameWithWildcardRule()); }
            pushFollow(FOLLOW_1);
            ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getQualifiedNameWithWildcardRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleQualifiedNameWithWildcard"
    // $ANTLR start "ruleQualifiedNameWithWildcard"
    // InternalRosetta.g:139:1: ruleQualifiedNameWithWildcard : ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ;
    public final void ruleQualifiedNameWithWildcard() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:143:2: ( ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) )
            // InternalRosetta.g:144:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
            {
            // InternalRosetta.g:144:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
            // InternalRosetta.g:145:3: ( rule__QualifiedNameWithWildcard__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); }
            // InternalRosetta.g:146:3: ( rule__QualifiedNameWithWildcard__Group__0 )
            // InternalRosetta.g:146:4: rule__QualifiedNameWithWildcard__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__QualifiedNameWithWildcard__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleQualifiedNameWithWildcard"
    // $ANTLR start "entryRuleAnnotation"
    // InternalRosetta.g:155:1: entryRuleAnnotation : ruleAnnotation EOF ;
    public final void entryRuleAnnotation() throws RecognitionException {
        try {
            // InternalRosetta.g:156:1: ( ruleAnnotation EOF )
            // InternalRosetta.g:157:1: ruleAnnotation EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRule()); }
            pushFollow(FOLLOW_1);
            ruleAnnotation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleAnnotation"
    // $ANTLR start "ruleAnnotation"
    // InternalRosetta.g:164:1: ruleAnnotation : ( ( rule__Annotation__Group__0 ) ) ;
    public final void ruleAnnotation() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:168:2: ( ( ( rule__Annotation__Group__0 ) ) )
            // InternalRosetta.g:169:2: ( ( rule__Annotation__Group__0 ) )
            {
            // InternalRosetta.g:169:2: ( ( rule__Annotation__Group__0 ) )
            // InternalRosetta.g:170:3: ( rule__Annotation__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getGroup()); }
            // InternalRosetta.g:171:3: ( rule__Annotation__Group__0 )
            // InternalRosetta.g:171:4: rule__Annotation__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__Annotation__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleAnnotation"
    // $ANTLR start "ruleAnnotations"
    // InternalRosetta.g:181:1: ruleAnnotations : ( ( rule__Annotations__AnnotationsAssignment ) ) ;
    public final void ruleAnnotations() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:185:2: ( ( ( rule__Annotations__AnnotationsAssignment ) ) )
            // InternalRosetta.g:186:2: ( ( rule__Annotations__AnnotationsAssignment ) )
            {
            // InternalRosetta.g:186:2: ( ( rule__Annotations__AnnotationsAssignment ) )
            // InternalRosetta.g:187:3: ( rule__Annotations__AnnotationsAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationsAccess().getAnnotationsAssignment()); }
            // InternalRosetta.g:188:3: ( rule__Annotations__AnnotationsAssignment )
            // InternalRosetta.g:188:4: rule__Annotations__AnnotationsAssignment
            {
            pushFollow(FOLLOW_2);
            rule__Annotations__AnnotationsAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationsAccess().getAnnotationsAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleAnnotations"
    // $ANTLR start "ruleSynonyms"
    // InternalRosetta.g:198:1: ruleSynonyms : ( ( rule__Synonyms__SynonymsAssignment ) ) ;
    public final void ruleSynonyms() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:202:2: ( ( ( rule__Synonyms__SynonymsAssignment ) ) )
            // InternalRosetta.g:203:2: ( ( rule__Synonyms__SynonymsAssignment ) )
            {
            // InternalRosetta.g:203:2: ( ( rule__Synonyms__SynonymsAssignment ) )
            // InternalRosetta.g:204:3: ( rule__Synonyms__SynonymsAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSynonymsAccess().getSynonymsAssignment()); }
            // InternalRosetta.g:205:3: ( rule__Synonyms__SynonymsAssignment )
            // InternalRosetta.g:205:4: rule__Synonyms__SynonymsAssignment
            {
            pushFollow(FOLLOW_2);
            rule__Synonyms__SynonymsAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getSynonymsAccess().getSynonymsAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleSynonyms"
    // $ANTLR start "ruleClassSynonyms"
    // InternalRosetta.g:215:1: ruleClassSynonyms : ( ( rule__ClassSynonyms__SynonymsAssignment ) ) ;
    public final void ruleClassSynonyms() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:219:2: ( ( ( rule__ClassSynonyms__SynonymsAssignment ) ) )
            // InternalRosetta.g:220:2: ( ( rule__ClassSynonyms__SynonymsAssignment ) )
            {
            // InternalRosetta.g:220:2: ( ( rule__ClassSynonyms__SynonymsAssignment ) )
            // InternalRosetta.g:221:3: ( rule__ClassSynonyms__SynonymsAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getClassSynonymsAccess().getSynonymsAssignment()); }
            // InternalRosetta.g:222:3: ( rule__ClassSynonyms__SynonymsAssignment )
            // InternalRosetta.g:222:4: rule__ClassSynonyms__SynonymsAssignment
            {
            pushFollow(FOLLOW_2);
            rule__ClassSynonyms__SynonymsAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getClassSynonymsAccess().getSynonymsAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleClassSynonyms"
    // $ANTLR start "ruleReferences"
    // InternalRosetta.g:232:1: ruleReferences : ( ( rule__References__ReferencesAssignment ) ) ;
    public final void ruleReferences() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:236:2: ( ( ( rule__References__ReferencesAssignment ) ) )
            // InternalRosetta.g:237:2: ( ( rule__References__ReferencesAssignment ) )
            {
            // InternalRosetta.g:237:2: ( ( rule__References__ReferencesAssignment ) )
            // InternalRosetta.g:238:3: ( rule__References__ReferencesAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getReferencesAccess().getReferencesAssignment()); }
            // InternalRosetta.g:239:3: ( rule__References__ReferencesAssignment )
            // InternalRosetta.g:239:4: rule__References__ReferencesAssignment
            {
            pushFollow(FOLLOW_2);
            rule__References__ReferencesAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getReferencesAccess().getReferencesAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleReferences"
    // $ANTLR start "ruleRuleReference"
    // InternalRosetta.g:249:1: ruleRuleReference : ( ( rule__RuleReference__RuleReferenceAssignment ) ) ;
    public final void ruleRuleReference() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:253:2: ( ( ( rule__RuleReference__RuleReferenceAssignment ) ) )
            // InternalRosetta.g:254:2: ( ( rule__RuleReference__RuleReferenceAssignment ) )
            {
            // InternalRosetta.g:254:2: ( ( rule__RuleReference__RuleReferenceAssignment ) )
            // InternalRosetta.g:255:3: ( rule__RuleReference__RuleReferenceAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRuleReferenceAccess().getRuleReferenceAssignment()); }
            // InternalRosetta.g:256:3: ( rule__RuleReference__RuleReferenceAssignment )
            // InternalRosetta.g:256:4: rule__RuleReference__RuleReferenceAssignment
            {
            pushFollow(FOLLOW_2);
            rule__RuleReference__RuleReferenceAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRuleReferenceAccess().getRuleReferenceAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRuleReference"
    // $ANTLR start "entryRuleAnnotationRef"
    // InternalRosetta.g:265:1: entryRuleAnnotationRef : ruleAnnotationRef EOF ;
    public final void entryRuleAnnotationRef() throws RecognitionException {
        try {
            // InternalRosetta.g:266:1: ( ruleAnnotationRef EOF )
            // InternalRosetta.g:267:1: ruleAnnotationRef EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefRule()); }
            pushFollow(FOLLOW_1);
            ruleAnnotationRef(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleAnnotationRef"
    // $ANTLR start "ruleAnnotationRef"
    // InternalRosetta.g:274:1: ruleAnnotationRef : ( ( rule__AnnotationRef__Group__0 ) ) ;
    public final void ruleAnnotationRef() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:278:2: ( ( ( rule__AnnotationRef__Group__0 ) ) )
            // InternalRosetta.g:279:2: ( ( rule__AnnotationRef__Group__0 ) )
            {
            // InternalRosetta.g:279:2: ( ( rule__AnnotationRef__Group__0 ) )
            // InternalRosetta.g:280:3: ( rule__AnnotationRef__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getGroup()); }
            // InternalRosetta.g:281:3: ( rule__AnnotationRef__Group__0 )
            // InternalRosetta.g:281:4: rule__AnnotationRef__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__AnnotationRef__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleAnnotationRef"
    // $ANTLR start "entryRuleAnnotationQualifier"
    // InternalRosetta.g:290:1: entryRuleAnnotationQualifier : ruleAnnotationQualifier EOF ;
    public final void entryRuleAnnotationQualifier() throws RecognitionException {
        try {
            // InternalRosetta.g:291:1: ( ruleAnnotationQualifier EOF )
            // InternalRosetta.g:292:1: ruleAnnotationQualifier EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationQualifierRule()); }
            pushFollow(FOLLOW_1);
            ruleAnnotationQualifier(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationQualifierRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleAnnotationQualifier"
    // $ANTLR start "ruleAnnotationQualifier"
    // InternalRosetta.g:299:1: ruleAnnotationQualifier : ( ( rule__AnnotationQualifier__Group__0 ) ) ;
    public final void ruleAnnotationQualifier() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:303:2: ( ( ( rule__AnnotationQualifier__Group__0 ) ) )
            // InternalRosetta.g:304:2: ( ( rule__AnnotationQualifier__Group__0 ) )
            {
            // InternalRosetta.g:304:2: ( ( rule__AnnotationQualifier__Group__0 ) )
            // InternalRosetta.g:305:3: ( rule__AnnotationQualifier__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationQualifierAccess().getGroup()); }
            // InternalRosetta.g:306:3: ( rule__AnnotationQualifier__Group__0 )
            // InternalRosetta.g:306:4: rule__AnnotationQualifier__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__AnnotationQualifier__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationQualifierAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleAnnotationQualifier"
    // $ANTLR start "entryRuleData"
    // InternalRosetta.g:315:1: entryRuleData : ruleData EOF ;
    public final void entryRuleData() throws RecognitionException {
        try {
            // InternalRosetta.g:316:1: ( ruleData EOF )
            // InternalRosetta.g:317:1: ruleData EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataRule()); }
            pushFollow(FOLLOW_1);
            ruleData(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDataRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleData"
    // $ANTLR start "ruleData"
    // InternalRosetta.g:324:1: ruleData : ( ( rule__Data__Group__0 ) ) ;
    public final void ruleData() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:328:2: ( ( ( rule__Data__Group__0 ) ) )
            // InternalRosetta.g:329:2: ( ( rule__Data__Group__0 ) )
            {
            // InternalRosetta.g:329:2: ( ( rule__Data__Group__0 ) )
            // InternalRosetta.g:330:3: ( rule__Data__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getGroup()); }
            // InternalRosetta.g:331:3: ( rule__Data__Group__0 )
            // InternalRosetta.g:331:4: rule__Data__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__Data__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleData"
    // $ANTLR start "entryRuleChoice"
    // InternalRosetta.g:340:1: entryRuleChoice : ruleChoice EOF ;
    public final void entryRuleChoice() throws RecognitionException {
        try {
            // InternalRosetta.g:341:1: ( ruleChoice EOF )
            // InternalRosetta.g:342:1: ruleChoice EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceRule()); }
            pushFollow(FOLLOW_1);
            ruleChoice(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleChoice"
    // $ANTLR start "ruleChoice"
    // InternalRosetta.g:349:1: ruleChoice : ( ( rule__Choice__Group__0 ) ) ;
    public final void ruleChoice() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:353:2: ( ( ( rule__Choice__Group__0 ) ) )
            // InternalRosetta.g:354:2: ( ( rule__Choice__Group__0 ) )
            {
            // InternalRosetta.g:354:2: ( ( rule__Choice__Group__0 ) )
            // InternalRosetta.g:355:3: ( rule__Choice__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceAccess().getGroup()); }
            // InternalRosetta.g:356:3: ( rule__Choice__Group__0 )
            // InternalRosetta.g:356:4: rule__Choice__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__Choice__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleChoice"
    // $ANTLR start "entryRuleChoiceOption"
    // InternalRosetta.g:365:1: entryRuleChoiceOption : ruleChoiceOption EOF ;
    public final void entryRuleChoiceOption() throws RecognitionException {
        try {
            // InternalRosetta.g:366:1: ( ruleChoiceOption EOF )
            // InternalRosetta.g:367:1: ruleChoiceOption EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceOptionRule()); }
            pushFollow(FOLLOW_1);
            ruleChoiceOption(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceOptionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleChoiceOption"
    // $ANTLR start "ruleChoiceOption"
    // InternalRosetta.g:374:1: ruleChoiceOption : ( ( rule__ChoiceOption__Group__0 ) ) ;
    public final void ruleChoiceOption() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:378:2: ( ( ( rule__ChoiceOption__Group__0 ) ) )
            // InternalRosetta.g:379:2: ( ( rule__ChoiceOption__Group__0 ) )
            {
            // InternalRosetta.g:379:2: ( ( rule__ChoiceOption__Group__0 ) )
            // InternalRosetta.g:380:3: ( rule__ChoiceOption__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceOptionAccess().getGroup()); }
            // InternalRosetta.g:381:3: ( rule__ChoiceOption__Group__0 )
            // InternalRosetta.g:381:4: rule__ChoiceOption__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__ChoiceOption__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceOptionAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleChoiceOption"
    // $ANTLR start "entryRuleAttribute"
    // InternalRosetta.g:390:1: entryRuleAttribute : ruleAttribute EOF ;
    public final void entryRuleAttribute() throws RecognitionException {
        try {
            // InternalRosetta.g:391:1: ( ruleAttribute EOF )
            // InternalRosetta.g:392:1: ruleAttribute EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAttributeRule()); }
            pushFollow(FOLLOW_1);
            ruleAttribute(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAttributeRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleAttribute"
    // $ANTLR start "ruleAttribute"
    // InternalRosetta.g:399:1: ruleAttribute : ( ( rule__Attribute__Group__0 ) ) ;
    public final void ruleAttribute() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:403:2: ( ( ( rule__Attribute__Group__0 ) ) )
            // InternalRosetta.g:404:2: ( ( rule__Attribute__Group__0 ) )
            {
            // InternalRosetta.g:404:2: ( ( rule__Attribute__Group__0 ) )
            // InternalRosetta.g:405:3: ( rule__Attribute__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAttributeAccess().getGroup()); }
            // InternalRosetta.g:406:3: ( rule__Attribute__Group__0 )
            // InternalRosetta.g:406:4: rule__Attribute__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__Attribute__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAttributeAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleAttribute"
    // $ANTLR start "entryRuleEnumeration"
    // InternalRosetta.g:415:1: entryRuleEnumeration : ruleEnumeration EOF ;
    public final void entryRuleEnumeration() throws RecognitionException {
        try {
            // InternalRosetta.g:416:1: ( ruleEnumeration EOF )
            // InternalRosetta.g:417:1: ruleEnumeration EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationRule()); }
            pushFollow(FOLLOW_1);
            ruleEnumeration(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleEnumeration"
    // $ANTLR start "ruleEnumeration"
    // InternalRosetta.g:424:1: ruleEnumeration : ( ( rule__Enumeration__Group__0 ) ) ;
    public final void ruleEnumeration() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:428:2: ( ( ( rule__Enumeration__Group__0 ) ) )
            // InternalRosetta.g:429:2: ( ( rule__Enumeration__Group__0 ) )
            {
            // InternalRosetta.g:429:2: ( ( rule__Enumeration__Group__0 ) )
            // InternalRosetta.g:430:3: ( rule__Enumeration__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getGroup()); }
            // InternalRosetta.g:431:3: ( rule__Enumeration__Group__0 )
            // InternalRosetta.g:431:4: rule__Enumeration__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__Enumeration__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleEnumeration"
    // $ANTLR start "entryRuleFunction"
    // InternalRosetta.g:440:1: entryRuleFunction : ruleFunction EOF ;
    public final void entryRuleFunction() throws RecognitionException {
        try {
            // InternalRosetta.g:441:1: ( ruleFunction EOF )
            // InternalRosetta.g:442:1: ruleFunction EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionRule()); }
            pushFollow(FOLLOW_1);
            ruleFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleFunction"
    // $ANTLR start "ruleFunction"
    // InternalRosetta.g:449:1: ruleFunction : ( ( rule__Function__Group__0 ) ) ;
    public final void ruleFunction() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:453:2: ( ( ( rule__Function__Group__0 ) ) )
            // InternalRosetta.g:454:2: ( ( rule__Function__Group__0 ) )
            {
            // InternalRosetta.g:454:2: ( ( rule__Function__Group__0 ) )
            // InternalRosetta.g:455:3: ( rule__Function__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getGroup()); }
            // InternalRosetta.g:456:3: ( rule__Function__Group__0 )
            // InternalRosetta.g:456:4: rule__Function__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__Function__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleFunction"
    // $ANTLR start "entryRuleShortcutDeclaration"
    // InternalRosetta.g:465:1: entryRuleShortcutDeclaration : ruleShortcutDeclaration EOF ;
    public final void entryRuleShortcutDeclaration() throws RecognitionException {
        try {
            // InternalRosetta.g:466:1: ( ruleShortcutDeclaration EOF )
            // InternalRosetta.g:467:1: ruleShortcutDeclaration EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getShortcutDeclarationRule()); }
            pushFollow(FOLLOW_1);
            ruleShortcutDeclaration(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getShortcutDeclarationRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleShortcutDeclaration"
    // $ANTLR start "ruleShortcutDeclaration"
    // InternalRosetta.g:474:1: ruleShortcutDeclaration : ( ( rule__ShortcutDeclaration__Group__0 ) ) ;
    public final void ruleShortcutDeclaration() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:478:2: ( ( ( rule__ShortcutDeclaration__Group__0 ) ) )
            // InternalRosetta.g:479:2: ( ( rule__ShortcutDeclaration__Group__0 ) )
            {
            // InternalRosetta.g:479:2: ( ( rule__ShortcutDeclaration__Group__0 ) )
            // InternalRosetta.g:480:3: ( rule__ShortcutDeclaration__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getShortcutDeclarationAccess().getGroup()); }
            // InternalRosetta.g:481:3: ( rule__ShortcutDeclaration__Group__0 )
            // InternalRosetta.g:481:4: rule__ShortcutDeclaration__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__ShortcutDeclaration__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getShortcutDeclarationAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleShortcutDeclaration"
    // $ANTLR start "entryRuleCondition"
    // InternalRosetta.g:490:1: entryRuleCondition : ruleCondition EOF ;
    public final void entryRuleCondition() throws RecognitionException {
        try {
            // InternalRosetta.g:491:1: ( ruleCondition EOF )
            // InternalRosetta.g:492:1: ruleCondition EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConditionRule()); }
            pushFollow(FOLLOW_1);
            ruleCondition(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getConditionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleCondition"
    // $ANTLR start "ruleCondition"
    // InternalRosetta.g:499:1: ruleCondition : ( ( rule__Condition__Group__0 ) ) ;
    public final void ruleCondition() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:503:2: ( ( ( rule__Condition__Group__0 ) ) )
            // InternalRosetta.g:504:2: ( ( rule__Condition__Group__0 ) )
            {
            // InternalRosetta.g:504:2: ( ( rule__Condition__Group__0 ) )
            // InternalRosetta.g:505:3: ( rule__Condition__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConditionAccess().getGroup()); }
            // InternalRosetta.g:506:3: ( rule__Condition__Group__0 )
            // InternalRosetta.g:506:4: rule__Condition__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__Condition__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getConditionAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleCondition"
    // $ANTLR start "entryRulePostCondition"
    // InternalRosetta.g:515:1: entryRulePostCondition : rulePostCondition EOF ;
    public final void entryRulePostCondition() throws RecognitionException {
        try {
            // InternalRosetta.g:516:1: ( rulePostCondition EOF )
            // InternalRosetta.g:517:1: rulePostCondition EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getPostConditionRule()); }
            pushFollow(FOLLOW_1);
            rulePostCondition(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getPostConditionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRulePostCondition"
    // $ANTLR start "rulePostCondition"
    // InternalRosetta.g:524:1: rulePostCondition : ( ( rule__PostCondition__Group__0 ) ) ;
    public final void rulePostCondition() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:528:2: ( ( ( rule__PostCondition__Group__0 ) ) )
            // InternalRosetta.g:529:2: ( ( rule__PostCondition__Group__0 ) )
            {
            // InternalRosetta.g:529:2: ( ( rule__PostCondition__Group__0 ) )
            // InternalRosetta.g:530:3: ( rule__PostCondition__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getPostConditionAccess().getGroup()); }
            // InternalRosetta.g:531:3: ( rule__PostCondition__Group__0 )
            // InternalRosetta.g:531:4: rule__PostCondition__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__PostCondition__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getPostConditionAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rulePostCondition"
    // $ANTLR start "entryRuleOperation"
    // InternalRosetta.g:540:1: entryRuleOperation : ruleOperation EOF ;
    public final void entryRuleOperation() throws RecognitionException {
        try {
            // InternalRosetta.g:541:1: ( ruleOperation EOF )
            // InternalRosetta.g:542:1: ruleOperation EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationRule()); }
            pushFollow(FOLLOW_1);
            ruleOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleOperation"
    // $ANTLR start "ruleOperation"
    // InternalRosetta.g:549:1: ruleOperation : ( ( rule__Operation__Group__0 ) ) ;
    public final void ruleOperation() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:553:2: ( ( ( rule__Operation__Group__0 ) ) )
            // InternalRosetta.g:554:2: ( ( rule__Operation__Group__0 ) )
            {
            // InternalRosetta.g:554:2: ( ( rule__Operation__Group__0 ) )
            // InternalRosetta.g:555:3: ( rule__Operation__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getGroup()); }
            // InternalRosetta.g:556:3: ( rule__Operation__Group__0 )
            // InternalRosetta.g:556:4: rule__Operation__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__Operation__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleOperation"
    // $ANTLR start "entryRuleSegment"
    // InternalRosetta.g:565:1: entryRuleSegment : ruleSegment EOF ;
    public final void entryRuleSegment() throws RecognitionException {
        try {
            // InternalRosetta.g:566:1: ( ruleSegment EOF )
            // InternalRosetta.g:567:1: ruleSegment EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSegmentRule()); }
            pushFollow(FOLLOW_1);
            ruleSegment(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSegmentRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleSegment"
    // $ANTLR start "ruleSegment"
    // InternalRosetta.g:574:1: ruleSegment : ( ( rule__Segment__Group__0 ) ) ;
    public final void ruleSegment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:578:2: ( ( ( rule__Segment__Group__0 ) ) )
            // InternalRosetta.g:579:2: ( ( rule__Segment__Group__0 ) )
            {
            // InternalRosetta.g:579:2: ( ( rule__Segment__Group__0 ) )
            // InternalRosetta.g:580:3: ( rule__Segment__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSegmentAccess().getGroup()); }
            // InternalRosetta.g:581:3: ( rule__Segment__Group__0 )
            // InternalRosetta.g:581:4: rule__Segment__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__Segment__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getSegmentAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleSegment"
    // $ANTLR start "entryRuleEnumValueReference"
    // InternalRosetta.g:590:1: entryRuleEnumValueReference : ruleEnumValueReference EOF ;
    public final void entryRuleEnumValueReference() throws RecognitionException {
        try {
            // InternalRosetta.g:591:1: ( ruleEnumValueReference EOF )
            // InternalRosetta.g:592:1: ruleEnumValueReference EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumValueReferenceRule()); }
            pushFollow(FOLLOW_1);
            ruleEnumValueReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumValueReferenceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleEnumValueReference"
    // $ANTLR start "ruleEnumValueReference"
    // InternalRosetta.g:599:1: ruleEnumValueReference : ( ( rule__EnumValueReference__Group__0 ) ) ;
    public final void ruleEnumValueReference() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:603:2: ( ( ( rule__EnumValueReference__Group__0 ) ) )
            // InternalRosetta.g:604:2: ( ( rule__EnumValueReference__Group__0 ) )
            {
            // InternalRosetta.g:604:2: ( ( rule__EnumValueReference__Group__0 ) )
            // InternalRosetta.g:605:3: ( rule__EnumValueReference__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumValueReferenceAccess().getGroup()); }
            // InternalRosetta.g:606:3: ( rule__EnumValueReference__Group__0 )
            // InternalRosetta.g:606:4: rule__EnumValueReference__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__EnumValueReference__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumValueReferenceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleEnumValueReference"
    // $ANTLR start "entryRuleEmptyLiteral"
    // InternalRosetta.g:615:1: entryRuleEmptyLiteral : ruleEmptyLiteral EOF ;
    public final void entryRuleEmptyLiteral() throws RecognitionException {
        try {
            // InternalRosetta.g:616:1: ( ruleEmptyLiteral EOF )
            // InternalRosetta.g:617:1: ruleEmptyLiteral EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEmptyLiteralRule()); }
            pushFollow(FOLLOW_1);
            ruleEmptyLiteral(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEmptyLiteralRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleEmptyLiteral"
    // $ANTLR start "ruleEmptyLiteral"
    // InternalRosetta.g:624:1: ruleEmptyLiteral : ( ( rule__EmptyLiteral__Group__0 ) ) ;
    public final void ruleEmptyLiteral() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:628:2: ( ( ( rule__EmptyLiteral__Group__0 ) ) )
            // InternalRosetta.g:629:2: ( ( rule__EmptyLiteral__Group__0 ) )
            {
            // InternalRosetta.g:629:2: ( ( rule__EmptyLiteral__Group__0 ) )
            // InternalRosetta.g:630:3: ( rule__EmptyLiteral__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEmptyLiteralAccess().getGroup()); }
            // InternalRosetta.g:631:3: ( rule__EmptyLiteral__Group__0 )
            // InternalRosetta.g:631:4: rule__EmptyLiteral__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__EmptyLiteral__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getEmptyLiteralAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleEmptyLiteral"
    // $ANTLR start "entryRuleListLiteral"
    // InternalRosetta.g:640:1: entryRuleListLiteral : ruleListLiteral EOF ;
    public final void entryRuleListLiteral() throws RecognitionException {
        try {
            // InternalRosetta.g:641:1: ( ruleListLiteral EOF )
            // InternalRosetta.g:642:1: ruleListLiteral EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralRule()); }
            pushFollow(FOLLOW_1);
            ruleListLiteral(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleListLiteral"
    // $ANTLR start "ruleListLiteral"
    // InternalRosetta.g:649:1: ruleListLiteral : ( ( rule__ListLiteral__Group__0 ) ) ;
    public final void ruleListLiteral() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:653:2: ( ( ( rule__ListLiteral__Group__0 ) ) )
            // InternalRosetta.g:654:2: ( ( rule__ListLiteral__Group__0 ) )
            {
            // InternalRosetta.g:654:2: ( ( rule__ListLiteral__Group__0 ) )
            // InternalRosetta.g:655:3: ( rule__ListLiteral__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralAccess().getGroup()); }
            // InternalRosetta.g:656:3: ( rule__ListLiteral__Group__0 )
            // InternalRosetta.g:656:4: rule__ListLiteral__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__ListLiteral__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleListLiteral"
    // $ANTLR start "entryRuleRosettaRootElement"
    // InternalRosetta.g:665:1: entryRuleRosettaRootElement : ruleRosettaRootElement EOF ;
    public final void entryRuleRosettaRootElement() throws RecognitionException {
        try {
            // InternalRosetta.g:666:1: ( ruleRosettaRootElement EOF )
            // InternalRosetta.g:667:1: ruleRosettaRootElement EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRootElementRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaRootElement(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRootElementRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaRootElement"
    // $ANTLR start "ruleRosettaRootElement"
    // InternalRosetta.g:674:1: ruleRosettaRootElement : ( ( rule__RosettaRootElement__Alternatives ) ) ;
    public final void ruleRosettaRootElement() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:678:2: ( ( ( rule__RosettaRootElement__Alternatives ) ) )
            // InternalRosetta.g:679:2: ( ( rule__RosettaRootElement__Alternatives ) )
            {
            // InternalRosetta.g:679:2: ( ( rule__RosettaRootElement__Alternatives ) )
            // InternalRosetta.g:680:3: ( rule__RosettaRootElement__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRootElementAccess().getAlternatives()); }
            // InternalRosetta.g:681:3: ( rule__RosettaRootElement__Alternatives )
            // InternalRosetta.g:681:4: rule__RosettaRootElement__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRootElement__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRootElementAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaRootElement"
    // $ANTLR start "ruleRosettaDefinable"
    // InternalRosetta.g:691:1: ruleRosettaDefinable : ( ( rule__RosettaDefinable__Group__0 ) ) ;
    public final void ruleRosettaDefinable() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:695:2: ( ( ( rule__RosettaDefinable__Group__0 ) ) )
            // InternalRosetta.g:696:2: ( ( rule__RosettaDefinable__Group__0 ) )
            {
            // InternalRosetta.g:696:2: ( ( rule__RosettaDefinable__Group__0 ) )
            // InternalRosetta.g:697:3: ( rule__RosettaDefinable__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDefinableAccess().getGroup()); }
            // InternalRosetta.g:698:3: ( rule__RosettaDefinable__Group__0 )
            // InternalRosetta.g:698:4: rule__RosettaDefinable__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDefinable__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDefinableAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaDefinable"
    // $ANTLR start "ruleRosettaNamed"
    // InternalRosetta.g:708:1: ruleRosettaNamed : ( ( rule__RosettaNamed__NameAssignment ) ) ;
    public final void ruleRosettaNamed() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:712:2: ( ( ( rule__RosettaNamed__NameAssignment ) ) )
            // InternalRosetta.g:713:2: ( ( rule__RosettaNamed__NameAssignment ) )
            {
            // InternalRosetta.g:713:2: ( ( rule__RosettaNamed__NameAssignment ) )
            // InternalRosetta.g:714:3: ( rule__RosettaNamed__NameAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaNamedAccess().getNameAssignment()); }
            // InternalRosetta.g:715:3: ( rule__RosettaNamed__NameAssignment )
            // InternalRosetta.g:715:4: rule__RosettaNamed__NameAssignment
            {
            pushFollow(FOLLOW_2);
            rule__RosettaNamed__NameAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaNamedAccess().getNameAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaNamed"
    // $ANTLR start "ruleRosettaTyped"
    // InternalRosetta.g:725:1: ruleRosettaTyped : ( ( rule__RosettaTyped__TypeCallAssignment ) ) ;
    public final void ruleRosettaTyped() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:729:2: ( ( ( rule__RosettaTyped__TypeCallAssignment ) ) )
            // InternalRosetta.g:730:2: ( ( rule__RosettaTyped__TypeCallAssignment ) )
            {
            // InternalRosetta.g:730:2: ( ( rule__RosettaTyped__TypeCallAssignment ) )
            // InternalRosetta.g:731:3: ( rule__RosettaTyped__TypeCallAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaTypedAccess().getTypeCallAssignment()); }
            // InternalRosetta.g:732:3: ( rule__RosettaTyped__TypeCallAssignment )
            // InternalRosetta.g:732:4: rule__RosettaTyped__TypeCallAssignment
            {
            pushFollow(FOLLOW_2);
            rule__RosettaTyped__TypeCallAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaTypedAccess().getTypeCallAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaTyped"
    // $ANTLR start "entryRuleTypeCall"
    // InternalRosetta.g:741:1: entryRuleTypeCall : ruleTypeCall EOF ;
    public final void entryRuleTypeCall() throws RecognitionException {
        try {
            // InternalRosetta.g:742:1: ( ruleTypeCall EOF )
            // InternalRosetta.g:743:1: ruleTypeCall EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallRule()); }
            pushFollow(FOLLOW_1);
            ruleTypeCall(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleTypeCall"
    // $ANTLR start "ruleTypeCall"
    // InternalRosetta.g:750:1: ruleTypeCall : ( ( rule__TypeCall__Group__0 ) ) ;
    public final void ruleTypeCall() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:754:2: ( ( ( rule__TypeCall__Group__0 ) ) )
            // InternalRosetta.g:755:2: ( ( rule__TypeCall__Group__0 ) )
            {
            // InternalRosetta.g:755:2: ( ( rule__TypeCall__Group__0 ) )
            // InternalRosetta.g:756:3: ( rule__TypeCall__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getGroup()); }
            // InternalRosetta.g:757:3: ( rule__TypeCall__Group__0 )
            // InternalRosetta.g:757:4: rule__TypeCall__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__TypeCall__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleTypeCall"
    // $ANTLR start "entryRuleTypeCallArgument"
    // InternalRosetta.g:766:1: entryRuleTypeCallArgument : ruleTypeCallArgument EOF ;
    public final void entryRuleTypeCallArgument() throws RecognitionException {
        try {
            // InternalRosetta.g:767:1: ( ruleTypeCallArgument EOF )
            // InternalRosetta.g:768:1: ruleTypeCallArgument EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallArgumentRule()); }
            pushFollow(FOLLOW_1);
            ruleTypeCallArgument(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallArgumentRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleTypeCallArgument"
    // $ANTLR start "ruleTypeCallArgument"
    // InternalRosetta.g:775:1: ruleTypeCallArgument : ( ( rule__TypeCallArgument__Group__0 ) ) ;
    public final void ruleTypeCallArgument() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:779:2: ( ( ( rule__TypeCallArgument__Group__0 ) ) )
            // InternalRosetta.g:780:2: ( ( rule__TypeCallArgument__Group__0 ) )
            {
            // InternalRosetta.g:780:2: ( ( rule__TypeCallArgument__Group__0 ) )
            // InternalRosetta.g:781:3: ( rule__TypeCallArgument__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallArgumentAccess().getGroup()); }
            // InternalRosetta.g:782:3: ( rule__TypeCallArgument__Group__0 )
            // InternalRosetta.g:782:4: rule__TypeCallArgument__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__TypeCallArgument__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallArgumentAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleTypeCallArgument"
    // $ANTLR start "entryRuleTypeCallArgumentExpression"
    // InternalRosetta.g:791:1: entryRuleTypeCallArgumentExpression : ruleTypeCallArgumentExpression EOF ;
    public final void entryRuleTypeCallArgumentExpression() throws RecognitionException {
        try {
            // InternalRosetta.g:792:1: ( ruleTypeCallArgumentExpression EOF )
            // InternalRosetta.g:793:1: ruleTypeCallArgumentExpression EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallArgumentExpressionRule()); }
            pushFollow(FOLLOW_1);
            ruleTypeCallArgumentExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallArgumentExpressionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleTypeCallArgumentExpression"
    // $ANTLR start "ruleTypeCallArgumentExpression"
    // InternalRosetta.g:800:1: ruleTypeCallArgumentExpression : ( ( rule__TypeCallArgumentExpression__Alternatives ) ) ;
    public final void ruleTypeCallArgumentExpression() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:804:2: ( ( ( rule__TypeCallArgumentExpression__Alternatives ) ) )
            // InternalRosetta.g:805:2: ( ( rule__TypeCallArgumentExpression__Alternatives ) )
            {
            // InternalRosetta.g:805:2: ( ( rule__TypeCallArgumentExpression__Alternatives ) )
            // InternalRosetta.g:806:3: ( rule__TypeCallArgumentExpression__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallArgumentExpressionAccess().getAlternatives()); }
            // InternalRosetta.g:807:3: ( rule__TypeCallArgumentExpression__Alternatives )
            // InternalRosetta.g:807:4: rule__TypeCallArgumentExpression__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__TypeCallArgumentExpression__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallArgumentExpressionAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleTypeCallArgumentExpression"
    // $ANTLR start "entryRuleTypeParameterReference"
    // InternalRosetta.g:816:1: entryRuleTypeParameterReference : ruleTypeParameterReference EOF ;
    public final void entryRuleTypeParameterReference() throws RecognitionException {
        try {
            // InternalRosetta.g:817:1: ( ruleTypeParameterReference EOF )
            // InternalRosetta.g:818:1: ruleTypeParameterReference EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterReferenceRule()); }
            pushFollow(FOLLOW_1);
            ruleTypeParameterReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterReferenceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleTypeParameterReference"
    // $ANTLR start "ruleTypeParameterReference"
    // InternalRosetta.g:825:1: ruleTypeParameterReference : ( ( rule__TypeParameterReference__SymbolAssignment ) ) ;
    public final void ruleTypeParameterReference() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:829:2: ( ( ( rule__TypeParameterReference__SymbolAssignment ) ) )
            // InternalRosetta.g:830:2: ( ( rule__TypeParameterReference__SymbolAssignment ) )
            {
            // InternalRosetta.g:830:2: ( ( rule__TypeParameterReference__SymbolAssignment ) )
            // InternalRosetta.g:831:3: ( rule__TypeParameterReference__SymbolAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterReferenceAccess().getSymbolAssignment()); }
            // InternalRosetta.g:832:3: ( rule__TypeParameterReference__SymbolAssignment )
            // InternalRosetta.g:832:4: rule__TypeParameterReference__SymbolAssignment
            {
            pushFollow(FOLLOW_2);
            rule__TypeParameterReference__SymbolAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterReferenceAccess().getSymbolAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleTypeParameterReference"
    // $ANTLR start "entryRuleTypeParameterValidID"
    // InternalRosetta.g:841:1: entryRuleTypeParameterValidID : ruleTypeParameterValidID EOF ;
    public final void entryRuleTypeParameterValidID() throws RecognitionException {
        try {
            // InternalRosetta.g:842:1: ( ruleTypeParameterValidID EOF )
            // InternalRosetta.g:843:1: ruleTypeParameterValidID EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterValidIDRule()); }
            pushFollow(FOLLOW_1);
            ruleTypeParameterValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterValidIDRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleTypeParameterValidID"
    // $ANTLR start "ruleTypeParameterValidID"
    // InternalRosetta.g:850:1: ruleTypeParameterValidID : ( ( rule__TypeParameterValidID__Alternatives ) ) ;
    public final void ruleTypeParameterValidID() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:854:2: ( ( ( rule__TypeParameterValidID__Alternatives ) ) )
            // InternalRosetta.g:855:2: ( ( rule__TypeParameterValidID__Alternatives ) )
            {
            // InternalRosetta.g:855:2: ( ( rule__TypeParameterValidID__Alternatives ) )
            // InternalRosetta.g:856:3: ( rule__TypeParameterValidID__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterValidIDAccess().getAlternatives()); }
            // InternalRosetta.g:857:3: ( rule__TypeParameterValidID__Alternatives )
            // InternalRosetta.g:857:4: rule__TypeParameterValidID__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__TypeParameterValidID__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterValidIDAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleTypeParameterValidID"
    // $ANTLR start "entryRuleValidID"
    // InternalRosetta.g:866:1: entryRuleValidID : ruleValidID EOF ;
    public final void entryRuleValidID() throws RecognitionException {
        try {
            // InternalRosetta.g:867:1: ( ruleValidID EOF )
            // InternalRosetta.g:868:1: ruleValidID EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getValidIDRule()); }
            pushFollow(FOLLOW_1);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getValidIDRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleValidID"
    // $ANTLR start "ruleValidID"
    // InternalRosetta.g:875:1: ruleValidID : ( ( rule__ValidID__Alternatives ) ) ;
    public final void ruleValidID() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:879:2: ( ( ( rule__ValidID__Alternatives ) ) )
            // InternalRosetta.g:880:2: ( ( rule__ValidID__Alternatives ) )
            {
            // InternalRosetta.g:880:2: ( ( rule__ValidID__Alternatives ) )
            // InternalRosetta.g:881:3: ( rule__ValidID__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getValidIDAccess().getAlternatives()); }
            // InternalRosetta.g:882:3: ( rule__ValidID__Alternatives )
            // InternalRosetta.g:882:4: rule__ValidID__Alternatives
            {
            pushFollow(FOLLOW_2);
            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); }
    }
    // $ANTLR end "ruleValidID"
    // $ANTLR start "entryRuleRosettaBasicType"
    // InternalRosetta.g:891:1: entryRuleRosettaBasicType : ruleRosettaBasicType EOF ;
    public final void entryRuleRosettaBasicType() throws RecognitionException {
        try {
            // InternalRosetta.g:892:1: ( ruleRosettaBasicType EOF )
            // InternalRosetta.g:893:1: ruleRosettaBasicType EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBasicTypeRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaBasicType(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBasicTypeRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaBasicType"
    // $ANTLR start "ruleRosettaBasicType"
    // InternalRosetta.g:900:1: ruleRosettaBasicType : ( ( rule__RosettaBasicType__Group__0 ) ) ;
    public final void ruleRosettaBasicType() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:904:2: ( ( ( rule__RosettaBasicType__Group__0 ) ) )
            // InternalRosetta.g:905:2: ( ( rule__RosettaBasicType__Group__0 ) )
            {
            // InternalRosetta.g:905:2: ( ( rule__RosettaBasicType__Group__0 ) )
            // InternalRosetta.g:906:3: ( rule__RosettaBasicType__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBasicTypeAccess().getGroup()); }
            // InternalRosetta.g:907:3: ( rule__RosettaBasicType__Group__0 )
            // InternalRosetta.g:907:4: rule__RosettaBasicType__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaBasicType__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBasicTypeAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaBasicType"
    // $ANTLR start "ruleTypeParameters"
    // InternalRosetta.g:917:1: ruleTypeParameters : ( ( rule__TypeParameters__Group__0 ) ) ;
    public final void ruleTypeParameters() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:921:2: ( ( ( rule__TypeParameters__Group__0 ) ) )
            // InternalRosetta.g:922:2: ( ( rule__TypeParameters__Group__0 ) )
            {
            // InternalRosetta.g:922:2: ( ( rule__TypeParameters__Group__0 ) )
            // InternalRosetta.g:923:3: ( rule__TypeParameters__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParametersAccess().getGroup()); }
            // InternalRosetta.g:924:3: ( rule__TypeParameters__Group__0 )
            // InternalRosetta.g:924:4: rule__TypeParameters__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__TypeParameters__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParametersAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleTypeParameters"
    // $ANTLR start "entryRuleTypeParameter"
    // InternalRosetta.g:933:1: entryRuleTypeParameter : ruleTypeParameter EOF ;
    public final void entryRuleTypeParameter() throws RecognitionException {
        try {
            // InternalRosetta.g:934:1: ( ruleTypeParameter EOF )
            // InternalRosetta.g:935:1: ruleTypeParameter EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterRule()); }
            pushFollow(FOLLOW_1);
            ruleTypeParameter(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleTypeParameter"
    // $ANTLR start "ruleTypeParameter"
    // InternalRosetta.g:942:1: ruleTypeParameter : ( ( rule__TypeParameter__Group__0 ) ) ;
    public final void ruleTypeParameter() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:946:2: ( ( ( rule__TypeParameter__Group__0 ) ) )
            // InternalRosetta.g:947:2: ( ( rule__TypeParameter__Group__0 ) )
            {
            // InternalRosetta.g:947:2: ( ( rule__TypeParameter__Group__0 ) )
            // InternalRosetta.g:948:3: ( rule__TypeParameter__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterAccess().getGroup()); }
            // InternalRosetta.g:949:3: ( rule__TypeParameter__Group__0 )
            // InternalRosetta.g:949:4: rule__TypeParameter__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__TypeParameter__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleTypeParameter"
    // $ANTLR start "entryRuleRosettaSynonymSource"
    // InternalRosetta.g:958:1: entryRuleRosettaSynonymSource : ruleRosettaSynonymSource EOF ;
    public final void entryRuleRosettaSynonymSource() throws RecognitionException {
        try {
            // InternalRosetta.g:959:1: ( ruleRosettaSynonymSource EOF )
            // InternalRosetta.g:960:1: ruleRosettaSynonymSource EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymSourceRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaSynonymSource(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymSourceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaSynonymSource"
    // $ANTLR start "ruleRosettaSynonymSource"
    // InternalRosetta.g:967:1: ruleRosettaSynonymSource : ( ( rule__RosettaSynonymSource__Group__0 ) ) ;
    public final void ruleRosettaSynonymSource() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:971:2: ( ( ( rule__RosettaSynonymSource__Group__0 ) ) )
            // InternalRosetta.g:972:2: ( ( rule__RosettaSynonymSource__Group__0 ) )
            {
            // InternalRosetta.g:972:2: ( ( rule__RosettaSynonymSource__Group__0 ) )
            // InternalRosetta.g:973:3: ( rule__RosettaSynonymSource__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymSourceAccess().getGroup()); }
            // InternalRosetta.g:974:3: ( rule__RosettaSynonymSource__Group__0 )
            // InternalRosetta.g:974:4: rule__RosettaSynonymSource__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymSource__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymSourceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaSynonymSource"
    // $ANTLR start "entryRuleRosettaRecordType"
    // InternalRosetta.g:983:1: entryRuleRosettaRecordType : ruleRosettaRecordType EOF ;
    public final void entryRuleRosettaRecordType() throws RecognitionException {
        try {
            // InternalRosetta.g:984:1: ( ruleRosettaRecordType EOF )
            // InternalRosetta.g:985:1: ruleRosettaRecordType EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordTypeRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaRecordType(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordTypeRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaRecordType"
    // $ANTLR start "ruleRosettaRecordType"
    // InternalRosetta.g:992:1: ruleRosettaRecordType : ( ( rule__RosettaRecordType__Group__0 ) ) ;
    public final void ruleRosettaRecordType() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:996:2: ( ( ( rule__RosettaRecordType__Group__0 ) ) )
            // InternalRosetta.g:997:2: ( ( rule__RosettaRecordType__Group__0 ) )
            {
            // InternalRosetta.g:997:2: ( ( rule__RosettaRecordType__Group__0 ) )
            // InternalRosetta.g:998:3: ( rule__RosettaRecordType__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordTypeAccess().getGroup()); }
            // InternalRosetta.g:999:3: ( rule__RosettaRecordType__Group__0 )
            // InternalRosetta.g:999:4: rule__RosettaRecordType__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRecordType__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordTypeAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaRecordType"
    // $ANTLR start "entryRuleRosettaRecordFeature"
    // InternalRosetta.g:1008:1: entryRuleRosettaRecordFeature : ruleRosettaRecordFeature EOF ;
    public final void entryRuleRosettaRecordFeature() throws RecognitionException {
        try {
            // InternalRosetta.g:1009:1: ( ruleRosettaRecordFeature EOF )
            // InternalRosetta.g:1010:1: ruleRosettaRecordFeature EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordFeatureRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaRecordFeature(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordFeatureRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaRecordFeature"
    // $ANTLR start "ruleRosettaRecordFeature"
    // InternalRosetta.g:1017:1: ruleRosettaRecordFeature : ( ( rule__RosettaRecordFeature__Group__0 ) ) ;
    public final void ruleRosettaRecordFeature() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1021:2: ( ( ( rule__RosettaRecordFeature__Group__0 ) ) )
            // InternalRosetta.g:1022:2: ( ( rule__RosettaRecordFeature__Group__0 ) )
            {
            // InternalRosetta.g:1022:2: ( ( rule__RosettaRecordFeature__Group__0 ) )
            // InternalRosetta.g:1023:3: ( rule__RosettaRecordFeature__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordFeatureAccess().getGroup()); }
            // InternalRosetta.g:1024:3: ( rule__RosettaRecordFeature__Group__0 )
            // InternalRosetta.g:1024:4: rule__RosettaRecordFeature__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRecordFeature__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordFeatureAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaRecordFeature"
    // $ANTLR start "entryRuleRosettaParameter"
    // InternalRosetta.g:1033:1: entryRuleRosettaParameter : ruleRosettaParameter EOF ;
    public final void entryRuleRosettaParameter() throws RecognitionException {
        try {
            // InternalRosetta.g:1034:1: ( ruleRosettaParameter EOF )
            // InternalRosetta.g:1035:1: ruleRosettaParameter EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaParameterRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaParameter(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaParameterRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaParameter"
    // $ANTLR start "ruleRosettaParameter"
    // InternalRosetta.g:1042:1: ruleRosettaParameter : ( ( rule__RosettaParameter__Group__0 ) ) ;
    public final void ruleRosettaParameter() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1046:2: ( ( ( rule__RosettaParameter__Group__0 ) ) )
            // InternalRosetta.g:1047:2: ( ( rule__RosettaParameter__Group__0 ) )
            {
            // InternalRosetta.g:1047:2: ( ( rule__RosettaParameter__Group__0 ) )
            // InternalRosetta.g:1048:3: ( rule__RosettaParameter__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaParameterAccess().getGroup()); }
            // InternalRosetta.g:1049:3: ( rule__RosettaParameter__Group__0 )
            // InternalRosetta.g:1049:4: rule__RosettaParameter__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaParameter__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaParameterAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaParameter"
    // $ANTLR start "entryRuleRosettaLibraryFunction"
    // InternalRosetta.g:1058:1: entryRuleRosettaLibraryFunction : ruleRosettaLibraryFunction EOF ;
    public final void entryRuleRosettaLibraryFunction() throws RecognitionException {
        try {
            // InternalRosetta.g:1059:1: ( ruleRosettaLibraryFunction EOF )
            // InternalRosetta.g:1060:1: ruleRosettaLibraryFunction EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaLibraryFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaLibraryFunction"
    // $ANTLR start "ruleRosettaLibraryFunction"
    // InternalRosetta.g:1067:1: ruleRosettaLibraryFunction : ( ( rule__RosettaLibraryFunction__Group__0 ) ) ;
    public final void ruleRosettaLibraryFunction() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1071:2: ( ( ( rule__RosettaLibraryFunction__Group__0 ) ) )
            // InternalRosetta.g:1072:2: ( ( rule__RosettaLibraryFunction__Group__0 ) )
            {
            // InternalRosetta.g:1072:2: ( ( rule__RosettaLibraryFunction__Group__0 ) )
            // InternalRosetta.g:1073:3: ( rule__RosettaLibraryFunction__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getGroup()); }
            // InternalRosetta.g:1074:3: ( rule__RosettaLibraryFunction__Group__0 )
            // InternalRosetta.g:1074:4: rule__RosettaLibraryFunction__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaLibraryFunction"
    // $ANTLR start "entryRuleRosettaQualifiedType"
    // InternalRosetta.g:1083:1: entryRuleRosettaQualifiedType : ruleRosettaQualifiedType EOF ;
    public final void entryRuleRosettaQualifiedType() throws RecognitionException {
        try {
            // InternalRosetta.g:1084:1: ( ruleRosettaQualifiedType EOF )
            // InternalRosetta.g:1085:1: ruleRosettaQualifiedType EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiedTypeRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaQualifiedType(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiedTypeRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaQualifiedType"
    // $ANTLR start "ruleRosettaQualifiedType"
    // InternalRosetta.g:1092:1: ruleRosettaQualifiedType : ( ( rule__RosettaQualifiedType__Group__0 ) ) ;
    public final void ruleRosettaQualifiedType() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1096:2: ( ( ( rule__RosettaQualifiedType__Group__0 ) ) )
            // InternalRosetta.g:1097:2: ( ( rule__RosettaQualifiedType__Group__0 ) )
            {
            // InternalRosetta.g:1097:2: ( ( rule__RosettaQualifiedType__Group__0 ) )
            // InternalRosetta.g:1098:3: ( rule__RosettaQualifiedType__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiedTypeAccess().getGroup()); }
            // InternalRosetta.g:1099:3: ( rule__RosettaQualifiedType__Group__0 )
            // InternalRosetta.g:1099:4: rule__RosettaQualifiedType__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiedType__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiedTypeAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaQualifiedType"
    // $ANTLR start "entryRuleRosettaCalculationType"
    // InternalRosetta.g:1108:1: entryRuleRosettaCalculationType : ruleRosettaCalculationType EOF ;
    public final void entryRuleRosettaCalculationType() throws RecognitionException {
        try {
            // InternalRosetta.g:1109:1: ( ruleRosettaCalculationType EOF )
            // InternalRosetta.g:1110:1: ruleRosettaCalculationType EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalculationTypeRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalculationType(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalculationTypeRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalculationType"
    // $ANTLR start "ruleRosettaCalculationType"
    // InternalRosetta.g:1117:1: ruleRosettaCalculationType : ( ( rule__RosettaCalculationType__Group__0 ) ) ;
    public final void ruleRosettaCalculationType() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1121:2: ( ( ( rule__RosettaCalculationType__Group__0 ) ) )
            // InternalRosetta.g:1122:2: ( ( rule__RosettaCalculationType__Group__0 ) )
            {
            // InternalRosetta.g:1122:2: ( ( rule__RosettaCalculationType__Group__0 ) )
            // InternalRosetta.g:1123:3: ( rule__RosettaCalculationType__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalculationTypeAccess().getGroup()); }
            // InternalRosetta.g:1124:3: ( rule__RosettaCalculationType__Group__0 )
            // InternalRosetta.g:1124:4: rule__RosettaCalculationType__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalculationType__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalculationTypeAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalculationType"
    // $ANTLR start "entryRuleRosettaTypeAlias"
    // InternalRosetta.g:1133:1: entryRuleRosettaTypeAlias : ruleRosettaTypeAlias EOF ;
    public final void entryRuleRosettaTypeAlias() throws RecognitionException {
        try {
            // InternalRosetta.g:1134:1: ( ruleRosettaTypeAlias EOF )
            // InternalRosetta.g:1135:1: ruleRosettaTypeAlias EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaTypeAliasRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaTypeAlias(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaTypeAliasRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaTypeAlias"
    // $ANTLR start "ruleRosettaTypeAlias"
    // InternalRosetta.g:1142:1: ruleRosettaTypeAlias : ( ( rule__RosettaTypeAlias__Group__0 ) ) ;
    public final void ruleRosettaTypeAlias() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1146:2: ( ( ( rule__RosettaTypeAlias__Group__0 ) ) )
            // InternalRosetta.g:1147:2: ( ( rule__RosettaTypeAlias__Group__0 ) )
            {
            // InternalRosetta.g:1147:2: ( ( rule__RosettaTypeAlias__Group__0 ) )
            // InternalRosetta.g:1148:3: ( rule__RosettaTypeAlias__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaTypeAliasAccess().getGroup()); }
            // InternalRosetta.g:1149:3: ( rule__RosettaTypeAlias__Group__0 )
            // InternalRosetta.g:1149:4: rule__RosettaTypeAlias__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaTypeAlias__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaTypeAliasAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaTypeAlias"
    // $ANTLR start "entryRuleRosettaMetaType"
    // InternalRosetta.g:1158:1: entryRuleRosettaMetaType : ruleRosettaMetaType EOF ;
    public final void entryRuleRosettaMetaType() throws RecognitionException {
        try {
            // InternalRosetta.g:1159:1: ( ruleRosettaMetaType EOF )
            // InternalRosetta.g:1160:1: ruleRosettaMetaType EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaTypeRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMetaType(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaTypeRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMetaType"
    // $ANTLR start "ruleRosettaMetaType"
    // InternalRosetta.g:1167:1: ruleRosettaMetaType : ( ( rule__RosettaMetaType__Group__0 ) ) ;
    public final void ruleRosettaMetaType() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1171:2: ( ( ( rule__RosettaMetaType__Group__0 ) ) )
            // InternalRosetta.g:1172:2: ( ( rule__RosettaMetaType__Group__0 ) )
            {
            // InternalRosetta.g:1172:2: ( ( rule__RosettaMetaType__Group__0 ) )
            // InternalRosetta.g:1173:3: ( rule__RosettaMetaType__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaTypeAccess().getGroup()); }
            // InternalRosetta.g:1174:3: ( rule__RosettaMetaType__Group__0 )
            // InternalRosetta.g:1174:4: rule__RosettaMetaType__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaType__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaTypeAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMetaType"
    // $ANTLR start "entryRuleRosettaEnumValue"
    // InternalRosetta.g:1183:1: entryRuleRosettaEnumValue : ruleRosettaEnumValue EOF ;
    public final void entryRuleRosettaEnumValue() throws RecognitionException {
        try {
            // InternalRosetta.g:1184:1: ( ruleRosettaEnumValue EOF )
            // InternalRosetta.g:1185:1: ruleRosettaEnumValue EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumValueRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaEnumValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumValueRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaEnumValue"
    // $ANTLR start "ruleRosettaEnumValue"
    // InternalRosetta.g:1192:1: ruleRosettaEnumValue : ( ( rule__RosettaEnumValue__Group__0 ) ) ;
    public final void ruleRosettaEnumValue() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1196:2: ( ( ( rule__RosettaEnumValue__Group__0 ) ) )
            // InternalRosetta.g:1197:2: ( ( rule__RosettaEnumValue__Group__0 ) )
            {
            // InternalRosetta.g:1197:2: ( ( rule__RosettaEnumValue__Group__0 ) )
            // InternalRosetta.g:1198:3: ( rule__RosettaEnumValue__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumValueAccess().getGroup()); }
            // InternalRosetta.g:1199:3: ( rule__RosettaEnumValue__Group__0 )
            // InternalRosetta.g:1199:4: rule__RosettaEnumValue__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumValue__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumValueAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaEnumValue"
    // $ANTLR start "entryRuleRosettaCardinality"
    // InternalRosetta.g:1208:1: entryRuleRosettaCardinality : ruleRosettaCardinality EOF ;
    public final void entryRuleRosettaCardinality() throws RecognitionException {
        try {
            // InternalRosetta.g:1209:1: ( ruleRosettaCardinality EOF )
            // InternalRosetta.g:1210:1: ruleRosettaCardinality EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCardinality(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCardinality"
    // $ANTLR start "ruleRosettaCardinality"
    // InternalRosetta.g:1217:1: ruleRosettaCardinality : ( ( rule__RosettaCardinality__Group__0 ) ) ;
    public final void ruleRosettaCardinality() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1221:2: ( ( ( rule__RosettaCardinality__Group__0 ) ) )
            // InternalRosetta.g:1222:2: ( ( rule__RosettaCardinality__Group__0 ) )
            {
            // InternalRosetta.g:1222:2: ( ( rule__RosettaCardinality__Group__0 ) )
            // InternalRosetta.g:1223:3: ( rule__RosettaCardinality__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getGroup()); }
            // InternalRosetta.g:1224:3: ( rule__RosettaCardinality__Group__0 )
            // InternalRosetta.g:1224:4: rule__RosettaCardinality__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCardinality"
    // $ANTLR start "entryRuleRosettaClassSynonym"
    // InternalRosetta.g:1233:1: entryRuleRosettaClassSynonym : ruleRosettaClassSynonym EOF ;
    public final void entryRuleRosettaClassSynonym() throws RecognitionException {
        try {
            // InternalRosetta.g:1234:1: ( ruleRosettaClassSynonym EOF )
            // InternalRosetta.g:1235:1: ruleRosettaClassSynonym EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaClassSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaClassSynonym"
    // $ANTLR start "ruleRosettaClassSynonym"
    // InternalRosetta.g:1242:1: ruleRosettaClassSynonym : ( ( rule__RosettaClassSynonym__Group__0 ) ) ;
    public final void ruleRosettaClassSynonym() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1246:2: ( ( ( rule__RosettaClassSynonym__Group__0 ) ) )
            // InternalRosetta.g:1247:2: ( ( rule__RosettaClassSynonym__Group__0 ) )
            {
            // InternalRosetta.g:1247:2: ( ( rule__RosettaClassSynonym__Group__0 ) )
            // InternalRosetta.g:1248:3: ( rule__RosettaClassSynonym__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getGroup()); }
            // InternalRosetta.g:1249:3: ( rule__RosettaClassSynonym__Group__0 )
            // InternalRosetta.g:1249:4: rule__RosettaClassSynonym__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaClassSynonym"
    // $ANTLR start "entryRuleRosettaClassSynonymValue"
    // InternalRosetta.g:1258:1: entryRuleRosettaClassSynonymValue : ruleRosettaClassSynonymValue EOF ;
    public final void entryRuleRosettaClassSynonymValue() throws RecognitionException {
        try {
            // InternalRosetta.g:1259:1: ( ruleRosettaClassSynonymValue EOF )
            // InternalRosetta.g:1260:1: ruleRosettaClassSynonymValue EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaClassSynonymValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaClassSynonymValue"
    // $ANTLR start "ruleRosettaClassSynonymValue"
    // InternalRosetta.g:1267:1: ruleRosettaClassSynonymValue : ( ( rule__RosettaClassSynonymValue__Group__0 ) ) ;
    public final void ruleRosettaClassSynonymValue() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1271:2: ( ( ( rule__RosettaClassSynonymValue__Group__0 ) ) )
            // InternalRosetta.g:1272:2: ( ( rule__RosettaClassSynonymValue__Group__0 ) )
            {
            // InternalRosetta.g:1272:2: ( ( rule__RosettaClassSynonymValue__Group__0 ) )
            // InternalRosetta.g:1273:3: ( rule__RosettaClassSynonymValue__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getGroup()); }
            // InternalRosetta.g:1274:3: ( rule__RosettaClassSynonymValue__Group__0 )
            // InternalRosetta.g:1274:4: rule__RosettaClassSynonymValue__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaClassSynonymValue"
    // $ANTLR start "entryRuleRosettaSynonym"
    // InternalRosetta.g:1283:1: entryRuleRosettaSynonym : ruleRosettaSynonym EOF ;
    public final void entryRuleRosettaSynonym() throws RecognitionException {
        try {
            // InternalRosetta.g:1284:1: ( ruleRosettaSynonym EOF )
            // InternalRosetta.g:1285:1: ruleRosettaSynonym EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaSynonym"
    // $ANTLR start "ruleRosettaSynonym"
    // InternalRosetta.g:1292:1: ruleRosettaSynonym : ( ( rule__RosettaSynonym__Group__0 ) ) ;
    public final void ruleRosettaSynonym() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1296:2: ( ( ( rule__RosettaSynonym__Group__0 ) ) )
            // InternalRosetta.g:1297:2: ( ( rule__RosettaSynonym__Group__0 ) )
            {
            // InternalRosetta.g:1297:2: ( ( rule__RosettaSynonym__Group__0 ) )
            // InternalRosetta.g:1298:3: ( rule__RosettaSynonym__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getGroup()); }
            // InternalRosetta.g:1299:3: ( rule__RosettaSynonym__Group__0 )
            // InternalRosetta.g:1299:4: rule__RosettaSynonym__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaSynonym"
    // $ANTLR start "entryRuleRosettaSynonymBody"
    // InternalRosetta.g:1308:1: entryRuleRosettaSynonymBody : ruleRosettaSynonymBody EOF ;
    public final void entryRuleRosettaSynonymBody() throws RecognitionException {
        try {
            // InternalRosetta.g:1309:1: ( ruleRosettaSynonymBody EOF )
            // InternalRosetta.g:1310:1: ruleRosettaSynonymBody EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaSynonymBody(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaSynonymBody"
    // $ANTLR start "ruleRosettaSynonymBody"
    // InternalRosetta.g:1317:1: ruleRosettaSynonymBody : ( ( rule__RosettaSynonymBody__Group__0 ) ) ;
    public final void ruleRosettaSynonymBody() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1321:2: ( ( ( rule__RosettaSynonymBody__Group__0 ) ) )
            // InternalRosetta.g:1322:2: ( ( rule__RosettaSynonymBody__Group__0 ) )
            {
            // InternalRosetta.g:1322:2: ( ( rule__RosettaSynonymBody__Group__0 ) )
            // InternalRosetta.g:1323:3: ( rule__RosettaSynonymBody__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getGroup()); }
            // InternalRosetta.g:1324:3: ( rule__RosettaSynonymBody__Group__0 )
            // InternalRosetta.g:1324:4: rule__RosettaSynonymBody__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaSynonymBody"
    // $ANTLR start "entryRuleRosettaSynonymValue"
    // InternalRosetta.g:1333:1: entryRuleRosettaSynonymValue : ruleRosettaSynonymValue EOF ;
    public final void entryRuleRosettaSynonymValue() throws RecognitionException {
        try {
            // InternalRosetta.g:1334:1: ( ruleRosettaSynonymValue EOF )
            // InternalRosetta.g:1335:1: ruleRosettaSynonymValue EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaSynonymValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaSynonymValue"
    // $ANTLR start "ruleRosettaSynonymValue"
    // InternalRosetta.g:1342:1: ruleRosettaSynonymValue : ( ( rule__RosettaSynonymValue__Group__0 ) ) ;
    public final void ruleRosettaSynonymValue() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1346:2: ( ( ( rule__RosettaSynonymValue__Group__0 ) ) )
            // InternalRosetta.g:1347:2: ( ( rule__RosettaSynonymValue__Group__0 ) )
            {
            // InternalRosetta.g:1347:2: ( ( rule__RosettaSynonymValue__Group__0 ) )
            // InternalRosetta.g:1348:3: ( rule__RosettaSynonymValue__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getGroup()); }
            // InternalRosetta.g:1349:3: ( rule__RosettaSynonymValue__Group__0 )
            // InternalRosetta.g:1349:4: rule__RosettaSynonymValue__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaSynonymValue"
    // $ANTLR start "entryRuleRosettaMetaSynonymValue"
    // InternalRosetta.g:1358:1: entryRuleRosettaMetaSynonymValue : ruleRosettaMetaSynonymValue EOF ;
    public final void entryRuleRosettaMetaSynonymValue() throws RecognitionException {
        try {
            // InternalRosetta.g:1359:1: ( ruleRosettaMetaSynonymValue EOF )
            // InternalRosetta.g:1360:1: ruleRosettaMetaSynonymValue EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMetaSynonymValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMetaSynonymValue"
    // $ANTLR start "ruleRosettaMetaSynonymValue"
    // InternalRosetta.g:1367:1: ruleRosettaMetaSynonymValue : ( ( rule__RosettaMetaSynonymValue__Group__0 ) ) ;
    public final void ruleRosettaMetaSynonymValue() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1371:2: ( ( ( rule__RosettaMetaSynonymValue__Group__0 ) ) )
            // InternalRosetta.g:1372:2: ( ( rule__RosettaMetaSynonymValue__Group__0 ) )
            {
            // InternalRosetta.g:1372:2: ( ( rule__RosettaMetaSynonymValue__Group__0 ) )
            // InternalRosetta.g:1373:3: ( rule__RosettaMetaSynonymValue__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getGroup()); }
            // InternalRosetta.g:1374:3: ( rule__RosettaMetaSynonymValue__Group__0 )
            // InternalRosetta.g:1374:4: rule__RosettaMetaSynonymValue__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMetaSynonymValue"
    // $ANTLR start "entryRuleRosettaMergeSynonymValue"
    // InternalRosetta.g:1383:1: entryRuleRosettaMergeSynonymValue : ruleRosettaMergeSynonymValue EOF ;
    public final void entryRuleRosettaMergeSynonymValue() throws RecognitionException {
        try {
            // InternalRosetta.g:1384:1: ( ruleRosettaMergeSynonymValue EOF )
            // InternalRosetta.g:1385:1: ruleRosettaMergeSynonymValue EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMergeSynonymValueRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMergeSynonymValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMergeSynonymValueRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMergeSynonymValue"
    // $ANTLR start "ruleRosettaMergeSynonymValue"
    // InternalRosetta.g:1392:1: ruleRosettaMergeSynonymValue : ( ( rule__RosettaMergeSynonymValue__Group__0 ) ) ;
    public final void ruleRosettaMergeSynonymValue() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1396:2: ( ( ( rule__RosettaMergeSynonymValue__Group__0 ) ) )
            // InternalRosetta.g:1397:2: ( ( rule__RosettaMergeSynonymValue__Group__0 ) )
            {
            // InternalRosetta.g:1397:2: ( ( rule__RosettaMergeSynonymValue__Group__0 ) )
            // InternalRosetta.g:1398:3: ( rule__RosettaMergeSynonymValue__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMergeSynonymValueAccess().getGroup()); }
            // InternalRosetta.g:1399:3: ( rule__RosettaMergeSynonymValue__Group__0 )
            // InternalRosetta.g:1399:4: rule__RosettaMergeSynonymValue__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMergeSynonymValue__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMergeSynonymValueAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMergeSynonymValue"
    // $ANTLR start "entryRuleRosettaEnumSynonym"
    // InternalRosetta.g:1408:1: entryRuleRosettaEnumSynonym : ruleRosettaEnumSynonym EOF ;
    public final void entryRuleRosettaEnumSynonym() throws RecognitionException {
        try {
            // InternalRosetta.g:1409:1: ( ruleRosettaEnumSynonym EOF )
            // InternalRosetta.g:1410:1: ruleRosettaEnumSynonym EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaEnumSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaEnumSynonym"
    // $ANTLR start "ruleRosettaEnumSynonym"
    // InternalRosetta.g:1417:1: ruleRosettaEnumSynonym : ( ( rule__RosettaEnumSynonym__Group__0 ) ) ;
    public final void ruleRosettaEnumSynonym() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1421:2: ( ( ( rule__RosettaEnumSynonym__Group__0 ) ) )
            // InternalRosetta.g:1422:2: ( ( rule__RosettaEnumSynonym__Group__0 ) )
            {
            // InternalRosetta.g:1422:2: ( ( rule__RosettaEnumSynonym__Group__0 ) )
            // InternalRosetta.g:1423:3: ( rule__RosettaEnumSynonym__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getGroup()); }
            // InternalRosetta.g:1424:3: ( rule__RosettaEnumSynonym__Group__0 )
            // InternalRosetta.g:1424:4: rule__RosettaEnumSynonym__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaEnumSynonym"
    // $ANTLR start "entryRuleRosettaMapping"
    // InternalRosetta.g:1433:1: entryRuleRosettaMapping : ruleRosettaMapping EOF ;
    public final void entryRuleRosettaMapping() throws RecognitionException {
        try {
            // InternalRosetta.g:1434:1: ( ruleRosettaMapping EOF )
            // InternalRosetta.g:1435:1: ruleRosettaMapping EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMapping(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMapping"
    // $ANTLR start "ruleRosettaMapping"
    // InternalRosetta.g:1442:1: ruleRosettaMapping : ( ( rule__RosettaMapping__Group__0 ) ) ;
    public final void ruleRosettaMapping() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1446:2: ( ( ( rule__RosettaMapping__Group__0 ) ) )
            // InternalRosetta.g:1447:2: ( ( rule__RosettaMapping__Group__0 ) )
            {
            // InternalRosetta.g:1447:2: ( ( rule__RosettaMapping__Group__0 ) )
            // InternalRosetta.g:1448:3: ( rule__RosettaMapping__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingAccess().getGroup()); }
            // InternalRosetta.g:1449:3: ( rule__RosettaMapping__Group__0 )
            // InternalRosetta.g:1449:4: rule__RosettaMapping__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapping__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMapping"
    // $ANTLR start "entryRuleRosettaMappingInstance"
    // InternalRosetta.g:1458:1: entryRuleRosettaMappingInstance : ruleRosettaMappingInstance EOF ;
    public final void entryRuleRosettaMappingInstance() throws RecognitionException {
        try {
            // InternalRosetta.g:1459:1: ( ruleRosettaMappingInstance EOF )
            // InternalRosetta.g:1460:1: ruleRosettaMappingInstance EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMappingInstance(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMappingInstance"
    // $ANTLR start "ruleRosettaMappingInstance"
    // InternalRosetta.g:1467:1: ruleRosettaMappingInstance : ( ( rule__RosettaMappingInstance__Alternatives ) ) ;
    public final void ruleRosettaMappingInstance() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1471:2: ( ( ( rule__RosettaMappingInstance__Alternatives ) ) )
            // InternalRosetta.g:1472:2: ( ( rule__RosettaMappingInstance__Alternatives ) )
            {
            // InternalRosetta.g:1472:2: ( ( rule__RosettaMappingInstance__Alternatives ) )
            // InternalRosetta.g:1473:3: ( rule__RosettaMappingInstance__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getAlternatives()); }
            // InternalRosetta.g:1474:3: ( rule__RosettaMappingInstance__Alternatives )
            // InternalRosetta.g:1474:4: rule__RosettaMappingInstance__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMappingInstance"
    // $ANTLR start "entryRuleRosettaMappingSetTo"
    // InternalRosetta.g:1483:1: entryRuleRosettaMappingSetTo : ruleRosettaMappingSetTo EOF ;
    public final void entryRuleRosettaMappingSetTo() throws RecognitionException {
        try {
            // InternalRosetta.g:1484:1: ( ruleRosettaMappingSetTo EOF )
            // InternalRosetta.g:1485:1: ruleRosettaMappingSetTo EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMappingSetTo(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMappingSetTo"
    // $ANTLR start "ruleRosettaMappingSetTo"
    // InternalRosetta.g:1492:1: ruleRosettaMappingSetTo : ( ( rule__RosettaMappingSetTo__Group__0 ) ) ;
    public final void ruleRosettaMappingSetTo() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1496:2: ( ( ( rule__RosettaMappingSetTo__Group__0 ) ) )
            // InternalRosetta.g:1497:2: ( ( rule__RosettaMappingSetTo__Group__0 ) )
            {
            // InternalRosetta.g:1497:2: ( ( rule__RosettaMappingSetTo__Group__0 ) )
            // InternalRosetta.g:1498:3: ( rule__RosettaMappingSetTo__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToAccess().getGroup()); }
            // InternalRosetta.g:1499:3: ( rule__RosettaMappingSetTo__Group__0 )
            // InternalRosetta.g:1499:4: rule__RosettaMappingSetTo__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetTo__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMappingSetTo"
    // $ANTLR start "entryRuleRosettaMappingSetToInstance"
    // InternalRosetta.g:1508:1: entryRuleRosettaMappingSetToInstance : ruleRosettaMappingSetToInstance EOF ;
    public final void entryRuleRosettaMappingSetToInstance() throws RecognitionException {
        try {
            // InternalRosetta.g:1509:1: ( ruleRosettaMappingSetToInstance EOF )
            // InternalRosetta.g:1510:1: ruleRosettaMappingSetToInstance EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToInstanceRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMappingSetToInstance(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToInstanceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMappingSetToInstance"
    // $ANTLR start "ruleRosettaMappingSetToInstance"
    // InternalRosetta.g:1517:1: ruleRosettaMappingSetToInstance : ( ( rule__RosettaMappingSetToInstance__Group__0 ) ) ;
    public final void ruleRosettaMappingSetToInstance() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1521:2: ( ( ( rule__RosettaMappingSetToInstance__Group__0 ) ) )
            // InternalRosetta.g:1522:2: ( ( rule__RosettaMappingSetToInstance__Group__0 ) )
            {
            // InternalRosetta.g:1522:2: ( ( rule__RosettaMappingSetToInstance__Group__0 ) )
            // InternalRosetta.g:1523:3: ( rule__RosettaMappingSetToInstance__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToInstanceAccess().getGroup()); }
            // InternalRosetta.g:1524:3: ( rule__RosettaMappingSetToInstance__Group__0 )
            // InternalRosetta.g:1524:4: rule__RosettaMappingSetToInstance__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetToInstance__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToInstanceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMappingSetToInstance"
    // $ANTLR start "entryRuleRosettaMappingPathTests"
    // InternalRosetta.g:1533:1: entryRuleRosettaMappingPathTests : ruleRosettaMappingPathTests EOF ;
    public final void entryRuleRosettaMappingPathTests() throws RecognitionException {
        try {
            // InternalRosetta.g:1534:1: ( ruleRosettaMappingPathTests EOF )
            // InternalRosetta.g:1535:1: ruleRosettaMappingPathTests EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingPathTestsRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMappingPathTests(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingPathTestsRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMappingPathTests"
    // $ANTLR start "ruleRosettaMappingPathTests"
    // InternalRosetta.g:1542:1: ruleRosettaMappingPathTests : ( ( rule__RosettaMappingPathTests__Group__0 ) ) ;
    public final void ruleRosettaMappingPathTests() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1546:2: ( ( ( rule__RosettaMappingPathTests__Group__0 ) ) )
            // InternalRosetta.g:1547:2: ( ( rule__RosettaMappingPathTests__Group__0 ) )
            {
            // InternalRosetta.g:1547:2: ( ( rule__RosettaMappingPathTests__Group__0 ) )
            // InternalRosetta.g:1548:3: ( rule__RosettaMappingPathTests__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingPathTestsAccess().getGroup()); }
            // InternalRosetta.g:1549:3: ( rule__RosettaMappingPathTests__Group__0 )
            // InternalRosetta.g:1549:4: rule__RosettaMappingPathTests__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingPathTests__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingPathTestsAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMappingPathTests"
    // $ANTLR start "entryRuleRosettaMapTest"
    // InternalRosetta.g:1558:1: entryRuleRosettaMapTest : ruleRosettaMapTest EOF ;
    public final void entryRuleRosettaMapTest() throws RecognitionException {
        try {
            // InternalRosetta.g:1559:1: ( ruleRosettaMapTest EOF )
            // InternalRosetta.g:1560:1: ruleRosettaMapTest EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMapTest(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMapTest"
    // $ANTLR start "ruleRosettaMapTest"
    // InternalRosetta.g:1567:1: ruleRosettaMapTest : ( ( rule__RosettaMapTest__Alternatives ) ) ;
    public final void ruleRosettaMapTest() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1571:2: ( ( ( rule__RosettaMapTest__Alternatives ) ) )
            // InternalRosetta.g:1572:2: ( ( rule__RosettaMapTest__Alternatives ) )
            {
            // InternalRosetta.g:1572:2: ( ( rule__RosettaMapTest__Alternatives ) )
            // InternalRosetta.g:1573:3: ( rule__RosettaMapTest__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestAccess().getAlternatives()); }
            // InternalRosetta.g:1574:3: ( rule__RosettaMapTest__Alternatives )
            // InternalRosetta.g:1574:4: rule__RosettaMapTest__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTest__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMapTest"
    // $ANTLR start "entryRuleRosettaMapPath"
    // InternalRosetta.g:1583:1: entryRuleRosettaMapPath : ruleRosettaMapPath EOF ;
    public final void entryRuleRosettaMapPath() throws RecognitionException {
        try {
            // InternalRosetta.g:1584:1: ( ruleRosettaMapPath EOF )
            // InternalRosetta.g:1585:1: ruleRosettaMapPath EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapPathRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMapPath(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapPathRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMapPath"
    // $ANTLR start "ruleRosettaMapPath"
    // InternalRosetta.g:1592:1: ruleRosettaMapPath : ( ( rule__RosettaMapPath__Group__0 ) ) ;
    public final void ruleRosettaMapPath() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1596:2: ( ( ( rule__RosettaMapPath__Group__0 ) ) )
            // InternalRosetta.g:1597:2: ( ( rule__RosettaMapPath__Group__0 ) )
            {
            // InternalRosetta.g:1597:2: ( ( rule__RosettaMapPath__Group__0 ) )
            // InternalRosetta.g:1598:3: ( rule__RosettaMapPath__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapPathAccess().getGroup()); }
            // InternalRosetta.g:1599:3: ( rule__RosettaMapPath__Group__0 )
            // InternalRosetta.g:1599:4: rule__RosettaMapPath__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapPath__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapPathAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMapPath"
    // $ANTLR start "entryRuleRosettaMapRosettaPath"
    // InternalRosetta.g:1608:1: entryRuleRosettaMapRosettaPath : ruleRosettaMapRosettaPath EOF ;
    public final void entryRuleRosettaMapRosettaPath() throws RecognitionException {
        try {
            // InternalRosetta.g:1609:1: ( ruleRosettaMapRosettaPath EOF )
            // InternalRosetta.g:1610:1: ruleRosettaMapRosettaPath EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapRosettaPathRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMapRosettaPath(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapRosettaPathRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMapRosettaPath"
    // $ANTLR start "ruleRosettaMapRosettaPath"
    // InternalRosetta.g:1617:1: ruleRosettaMapRosettaPath : ( ( rule__RosettaMapRosettaPath__Group__0 ) ) ;
    public final void ruleRosettaMapRosettaPath() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1621:2: ( ( ( rule__RosettaMapRosettaPath__Group__0 ) ) )
            // InternalRosetta.g:1622:2: ( ( rule__RosettaMapRosettaPath__Group__0 ) )
            {
            // InternalRosetta.g:1622:2: ( ( rule__RosettaMapRosettaPath__Group__0 ) )
            // InternalRosetta.g:1623:3: ( rule__RosettaMapRosettaPath__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapRosettaPathAccess().getGroup()); }
            // InternalRosetta.g:1624:3: ( rule__RosettaMapRosettaPath__Group__0 )
            // InternalRosetta.g:1624:4: rule__RosettaMapRosettaPath__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapRosettaPath__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapRosettaPathAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMapRosettaPath"
    // $ANTLR start "entryRuleRosettaDataReference"
    // InternalRosetta.g:1633:1: entryRuleRosettaDataReference : ruleRosettaDataReference EOF ;
    public final void entryRuleRosettaDataReference() throws RecognitionException {
        try {
            // InternalRosetta.g:1634:1: ( ruleRosettaDataReference EOF )
            // InternalRosetta.g:1635:1: ruleRosettaDataReference EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDataReferenceRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaDataReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDataReferenceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaDataReference"
    // $ANTLR start "ruleRosettaDataReference"
    // InternalRosetta.g:1642:1: ruleRosettaDataReference : ( ( rule__RosettaDataReference__Group__0 ) ) ;
    public final void ruleRosettaDataReference() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1646:2: ( ( ( rule__RosettaDataReference__Group__0 ) ) )
            // InternalRosetta.g:1647:2: ( ( rule__RosettaDataReference__Group__0 ) )
            {
            // InternalRosetta.g:1647:2: ( ( rule__RosettaDataReference__Group__0 ) )
            // InternalRosetta.g:1648:3: ( rule__RosettaDataReference__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDataReferenceAccess().getGroup()); }
            // InternalRosetta.g:1649:3: ( rule__RosettaDataReference__Group__0 )
            // InternalRosetta.g:1649:4: rule__RosettaDataReference__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDataReference__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDataReferenceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaDataReference"
    // $ANTLR start "entryRuleRosettaAttributeReference"
    // InternalRosetta.g:1658:1: entryRuleRosettaAttributeReference : ruleRosettaAttributeReference EOF ;
    public final void entryRuleRosettaAttributeReference() throws RecognitionException {
        try {
            // InternalRosetta.g:1659:1: ( ruleRosettaAttributeReference EOF )
            // InternalRosetta.g:1660:1: ruleRosettaAttributeReference EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaAttributeReferenceRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaAttributeReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaAttributeReferenceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaAttributeReference"
    // $ANTLR start "ruleRosettaAttributeReference"
    // InternalRosetta.g:1667:1: ruleRosettaAttributeReference : ( ( rule__RosettaAttributeReference__Group__0 ) ) ;
    public final void ruleRosettaAttributeReference() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1671:2: ( ( ( rule__RosettaAttributeReference__Group__0 ) ) )
            // InternalRosetta.g:1672:2: ( ( rule__RosettaAttributeReference__Group__0 ) )
            {
            // InternalRosetta.g:1672:2: ( ( rule__RosettaAttributeReference__Group__0 ) )
            // InternalRosetta.g:1673:3: ( rule__RosettaAttributeReference__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaAttributeReferenceAccess().getGroup()); }
            // InternalRosetta.g:1674:3: ( rule__RosettaAttributeReference__Group__0 )
            // InternalRosetta.g:1674:4: rule__RosettaAttributeReference__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaAttributeReference__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaAttributeReferenceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaAttributeReference"
    // $ANTLR start "entryRuleRosettaMapTestExpression"
    // InternalRosetta.g:1683:1: entryRuleRosettaMapTestExpression : ruleRosettaMapTestExpression EOF ;
    public final void entryRuleRosettaMapTestExpression() throws RecognitionException {
        try {
            // InternalRosetta.g:1684:1: ( ruleRosettaMapTestExpression EOF )
            // InternalRosetta.g:1685:1: ruleRosettaMapTestExpression EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMapTestExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMapTestExpression"
    // $ANTLR start "ruleRosettaMapTestExpression"
    // InternalRosetta.g:1692:1: ruleRosettaMapTestExpression : ( ( rule__RosettaMapTestExpression__Group__0 ) ) ;
    public final void ruleRosettaMapTestExpression() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1696:2: ( ( ( rule__RosettaMapTestExpression__Group__0 ) ) )
            // InternalRosetta.g:1697:2: ( ( rule__RosettaMapTestExpression__Group__0 ) )
            {
            // InternalRosetta.g:1697:2: ( ( rule__RosettaMapTestExpression__Group__0 ) )
            // InternalRosetta.g:1698:3: ( rule__RosettaMapTestExpression__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getGroup()); }
            // InternalRosetta.g:1699:3: ( rule__RosettaMapTestExpression__Group__0 )
            // InternalRosetta.g:1699:4: rule__RosettaMapTestExpression__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMapTestExpression"
    // $ANTLR start "entryRuleRosettaMapPrimaryExpression"
    // InternalRosetta.g:1708:1: entryRuleRosettaMapPrimaryExpression : ruleRosettaMapPrimaryExpression EOF ;
    public final void entryRuleRosettaMapPrimaryExpression() throws RecognitionException {
        try {
            // InternalRosetta.g:1709:1: ( ruleRosettaMapPrimaryExpression EOF )
            // InternalRosetta.g:1710:1: ruleRosettaMapPrimaryExpression EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapPrimaryExpressionRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMapPrimaryExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapPrimaryExpressionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMapPrimaryExpression"
    // $ANTLR start "ruleRosettaMapPrimaryExpression"
    // InternalRosetta.g:1717:1: ruleRosettaMapPrimaryExpression : ( ( rule__RosettaMapPrimaryExpression__Alternatives ) ) ;
    public final void ruleRosettaMapPrimaryExpression() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1721:2: ( ( ( rule__RosettaMapPrimaryExpression__Alternatives ) ) )
            // InternalRosetta.g:1722:2: ( ( rule__RosettaMapPrimaryExpression__Alternatives ) )
            {
            // InternalRosetta.g:1722:2: ( ( rule__RosettaMapPrimaryExpression__Alternatives ) )
            // InternalRosetta.g:1723:3: ( rule__RosettaMapPrimaryExpression__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapPrimaryExpressionAccess().getAlternatives()); }
            // InternalRosetta.g:1724:3: ( rule__RosettaMapPrimaryExpression__Alternatives )
            // InternalRosetta.g:1724:4: rule__RosettaMapPrimaryExpression__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapPrimaryExpression__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapPrimaryExpressionAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMapPrimaryExpression"
    // $ANTLR start "entryRuleRosettaMapPathValue"
    // InternalRosetta.g:1733:1: entryRuleRosettaMapPathValue : ruleRosettaMapPathValue EOF ;
    public final void entryRuleRosettaMapPathValue() throws RecognitionException {
        try {
            // InternalRosetta.g:1734:1: ( ruleRosettaMapPathValue EOF )
            // InternalRosetta.g:1735:1: ruleRosettaMapPathValue EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapPathValueRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMapPathValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapPathValueRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMapPathValue"
    // $ANTLR start "ruleRosettaMapPathValue"
    // InternalRosetta.g:1742:1: ruleRosettaMapPathValue : ( ( rule__RosettaMapPathValue__PathAssignment ) ) ;
    public final void ruleRosettaMapPathValue() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1746:2: ( ( ( rule__RosettaMapPathValue__PathAssignment ) ) )
            // InternalRosetta.g:1747:2: ( ( rule__RosettaMapPathValue__PathAssignment ) )
            {
            // InternalRosetta.g:1747:2: ( ( rule__RosettaMapPathValue__PathAssignment ) )
            // InternalRosetta.g:1748:3: ( rule__RosettaMapPathValue__PathAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapPathValueAccess().getPathAssignment()); }
            // InternalRosetta.g:1749:3: ( rule__RosettaMapPathValue__PathAssignment )
            // InternalRosetta.g:1749:4: rule__RosettaMapPathValue__PathAssignment
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapPathValue__PathAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapPathValueAccess().getPathAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMapPathValue"
    // $ANTLR start "entryRuleRosettaMapTestFunc"
    // InternalRosetta.g:1758:1: entryRuleRosettaMapTestFunc : ruleRosettaMapTestFunc EOF ;
    public final void entryRuleRosettaMapTestFunc() throws RecognitionException {
        try {
            // InternalRosetta.g:1759:1: ( ruleRosettaMapTestFunc EOF )
            // InternalRosetta.g:1760:1: ruleRosettaMapTestFunc EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestFuncRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaMapTestFunc(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestFuncRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaMapTestFunc"
    // $ANTLR start "ruleRosettaMapTestFunc"
    // InternalRosetta.g:1767:1: ruleRosettaMapTestFunc : ( ( rule__RosettaMapTestFunc__Group__0 ) ) ;
    public final void ruleRosettaMapTestFunc() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1771:2: ( ( ( rule__RosettaMapTestFunc__Group__0 ) ) )
            // InternalRosetta.g:1772:2: ( ( rule__RosettaMapTestFunc__Group__0 ) )
            {
            // InternalRosetta.g:1772:2: ( ( rule__RosettaMapTestFunc__Group__0 ) )
            // InternalRosetta.g:1773:3: ( rule__RosettaMapTestFunc__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestFuncAccess().getGroup()); }
            // InternalRosetta.g:1774:3: ( rule__RosettaMapTestFunc__Group__0 )
            // InternalRosetta.g:1774:4: rule__RosettaMapTestFunc__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestFunc__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestFuncAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaMapTestFunc"
    // $ANTLR start "entryRuleRosettaDocReference"
    // InternalRosetta.g:1783:1: entryRuleRosettaDocReference : ruleRosettaDocReference EOF ;
    public final void entryRuleRosettaDocReference() throws RecognitionException {
        try {
            // InternalRosetta.g:1784:1: ( ruleRosettaDocReference EOF )
            // InternalRosetta.g:1785:1: ruleRosettaDocReference EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaDocReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaDocReference"
    // $ANTLR start "ruleRosettaDocReference"
    // InternalRosetta.g:1792:1: ruleRosettaDocReference : ( ( rule__RosettaDocReference__Group__0 ) ) ;
    public final void ruleRosettaDocReference() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1796:2: ( ( ( rule__RosettaDocReference__Group__0 ) ) )
            // InternalRosetta.g:1797:2: ( ( rule__RosettaDocReference__Group__0 ) )
            {
            // InternalRosetta.g:1797:2: ( ( rule__RosettaDocReference__Group__0 ) )
            // InternalRosetta.g:1798:3: ( rule__RosettaDocReference__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getGroup()); }
            // InternalRosetta.g:1799:3: ( rule__RosettaDocReference__Group__0 )
            // InternalRosetta.g:1799:4: rule__RosettaDocReference__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaDocReference"
    // $ANTLR start "entryRuleDocumentRationale"
    // InternalRosetta.g:1808:1: entryRuleDocumentRationale : ruleDocumentRationale EOF ;
    public final void entryRuleDocumentRationale() throws RecognitionException {
        try {
            // InternalRosetta.g:1809:1: ( ruleDocumentRationale EOF )
            // InternalRosetta.g:1810:1: ruleDocumentRationale EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleRule()); }
            pushFollow(FOLLOW_1);
            ruleDocumentRationale(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleDocumentRationale"
    // $ANTLR start "ruleDocumentRationale"
    // InternalRosetta.g:1817:1: ruleDocumentRationale : ( ( rule__DocumentRationale__Alternatives ) ) ;
    public final void ruleDocumentRationale() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1821:2: ( ( ( rule__DocumentRationale__Alternatives ) ) )
            // InternalRosetta.g:1822:2: ( ( rule__DocumentRationale__Alternatives ) )
            {
            // InternalRosetta.g:1822:2: ( ( rule__DocumentRationale__Alternatives ) )
            // InternalRosetta.g:1823:3: ( rule__DocumentRationale__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getAlternatives()); }
            // InternalRosetta.g:1824:3: ( rule__DocumentRationale__Alternatives )
            // InternalRosetta.g:1824:4: rule__DocumentRationale__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleDocumentRationale"
    // $ANTLR start "entryRuleRosettaBody"
    // InternalRosetta.g:1833:1: entryRuleRosettaBody : ruleRosettaBody EOF ;
    public final void entryRuleRosettaBody() throws RecognitionException {
        try {
            // InternalRosetta.g:1834:1: ( ruleRosettaBody EOF )
            // InternalRosetta.g:1835:1: ruleRosettaBody EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBodyRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaBody(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBodyRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaBody"
    // $ANTLR start "ruleRosettaBody"
    // InternalRosetta.g:1842:1: ruleRosettaBody : ( ( rule__RosettaBody__Group__0 ) ) ;
    public final void ruleRosettaBody() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1846:2: ( ( ( rule__RosettaBody__Group__0 ) ) )
            // InternalRosetta.g:1847:2: ( ( rule__RosettaBody__Group__0 ) )
            {
            // InternalRosetta.g:1847:2: ( ( rule__RosettaBody__Group__0 ) )
            // InternalRosetta.g:1848:3: ( rule__RosettaBody__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBodyAccess().getGroup()); }
            // InternalRosetta.g:1849:3: ( rule__RosettaBody__Group__0 )
            // InternalRosetta.g:1849:4: rule__RosettaBody__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaBody__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBodyAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaBody"
    // $ANTLR start "entryRuleRosettaCorpus"
    // InternalRosetta.g:1858:1: entryRuleRosettaCorpus : ruleRosettaCorpus EOF ;
    public final void entryRuleRosettaCorpus() throws RecognitionException {
        try {
            // InternalRosetta.g:1859:1: ( ruleRosettaCorpus EOF )
            // InternalRosetta.g:1860:1: ruleRosettaCorpus EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCorpus(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCorpus"
    // $ANTLR start "ruleRosettaCorpus"
    // InternalRosetta.g:1867:1: ruleRosettaCorpus : ( ( rule__RosettaCorpus__Group__0 ) ) ;
    public final void ruleRosettaCorpus() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1871:2: ( ( ( rule__RosettaCorpus__Group__0 ) ) )
            // InternalRosetta.g:1872:2: ( ( rule__RosettaCorpus__Group__0 ) )
            {
            // InternalRosetta.g:1872:2: ( ( rule__RosettaCorpus__Group__0 ) )
            // InternalRosetta.g:1873:3: ( rule__RosettaCorpus__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusAccess().getGroup()); }
            // InternalRosetta.g:1874:3: ( rule__RosettaCorpus__Group__0 )
            // InternalRosetta.g:1874:4: rule__RosettaCorpus__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCorpus__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCorpus"
    // $ANTLR start "entryRuleRosettaSegment"
    // InternalRosetta.g:1883:1: entryRuleRosettaSegment : ruleRosettaSegment EOF ;
    public final void entryRuleRosettaSegment() throws RecognitionException {
        try {
            // InternalRosetta.g:1884:1: ( ruleRosettaSegment EOF )
            // InternalRosetta.g:1885:1: ruleRosettaSegment EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaSegment(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaSegment"
    // $ANTLR start "ruleRosettaSegment"
    // InternalRosetta.g:1892:1: ruleRosettaSegment : ( ( rule__RosettaSegment__Group__0 ) ) ;
    public final void ruleRosettaSegment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1896:2: ( ( ( rule__RosettaSegment__Group__0 ) ) )
            // InternalRosetta.g:1897:2: ( ( rule__RosettaSegment__Group__0 ) )
            {
            // InternalRosetta.g:1897:2: ( ( rule__RosettaSegment__Group__0 ) )
            // InternalRosetta.g:1898:3: ( rule__RosettaSegment__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentAccess().getGroup()); }
            // InternalRosetta.g:1899:3: ( rule__RosettaSegment__Group__0 )
            // InternalRosetta.g:1899:4: rule__RosettaSegment__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSegment__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaSegment"
    // $ANTLR start "entryRuleRosettaReferenceOrFunctionCall"
    // InternalRosetta.g:1908:1: entryRuleRosettaReferenceOrFunctionCall : ruleRosettaReferenceOrFunctionCall EOF ;
    public final void entryRuleRosettaReferenceOrFunctionCall() throws RecognitionException {
        try {
            // InternalRosetta.g:1909:1: ( ruleRosettaReferenceOrFunctionCall EOF )
            // InternalRosetta.g:1910:1: ruleRosettaReferenceOrFunctionCall EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaReferenceOrFunctionCall(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaReferenceOrFunctionCall"
    // $ANTLR start "ruleRosettaReferenceOrFunctionCall"
    // InternalRosetta.g:1917:1: ruleRosettaReferenceOrFunctionCall : ( ( rule__RosettaReferenceOrFunctionCall__Alternatives ) ) ;
    public final void ruleRosettaReferenceOrFunctionCall() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1921:2: ( ( ( rule__RosettaReferenceOrFunctionCall__Alternatives ) ) )
            // InternalRosetta.g:1922:2: ( ( rule__RosettaReferenceOrFunctionCall__Alternatives ) )
            {
            // InternalRosetta.g:1922:2: ( ( rule__RosettaReferenceOrFunctionCall__Alternatives ) )
            // InternalRosetta.g:1923:3: ( rule__RosettaReferenceOrFunctionCall__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getAlternatives()); }
            // InternalRosetta.g:1924:3: ( rule__RosettaReferenceOrFunctionCall__Alternatives )
            // InternalRosetta.g:1924:4: rule__RosettaReferenceOrFunctionCall__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaReferenceOrFunctionCall"
    // $ANTLR start "entryRuleRosettaLiteral"
    // InternalRosetta.g:1933:1: entryRuleRosettaLiteral : ruleRosettaLiteral EOF ;
    public final void entryRuleRosettaLiteral() throws RecognitionException {
        try {
            // InternalRosetta.g:1934:1: ( ruleRosettaLiteral EOF )
            // InternalRosetta.g:1935:1: ruleRosettaLiteral EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLiteralRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaLiteral(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLiteralRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaLiteral"
    // $ANTLR start "ruleRosettaLiteral"
    // InternalRosetta.g:1942:1: ruleRosettaLiteral : ( ( rule__RosettaLiteral__Alternatives ) ) ;
    public final void ruleRosettaLiteral() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1946:2: ( ( ( rule__RosettaLiteral__Alternatives ) ) )
            // InternalRosetta.g:1947:2: ( ( rule__RosettaLiteral__Alternatives ) )
            {
            // InternalRosetta.g:1947:2: ( ( rule__RosettaLiteral__Alternatives ) )
            // InternalRosetta.g:1948:3: ( rule__RosettaLiteral__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLiteralAccess().getAlternatives()); }
            // InternalRosetta.g:1949:3: ( rule__RosettaLiteral__Alternatives )
            // InternalRosetta.g:1949:4: rule__RosettaLiteral__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaLiteral__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLiteralAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaLiteral"
    // $ANTLR start "entryRuleRosettaBooleanLiteral"
    // InternalRosetta.g:1958:1: entryRuleRosettaBooleanLiteral : ruleRosettaBooleanLiteral EOF ;
    public final void entryRuleRosettaBooleanLiteral() throws RecognitionException {
        try {
            // InternalRosetta.g:1959:1: ( ruleRosettaBooleanLiteral EOF )
            // InternalRosetta.g:1960:1: ruleRosettaBooleanLiteral EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBooleanLiteralRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaBooleanLiteral(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBooleanLiteralRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaBooleanLiteral"
    // $ANTLR start "ruleRosettaBooleanLiteral"
    // InternalRosetta.g:1967:1: ruleRosettaBooleanLiteral : ( ( rule__RosettaBooleanLiteral__Alternatives ) ) ;
    public final void ruleRosettaBooleanLiteral() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1971:2: ( ( ( rule__RosettaBooleanLiteral__Alternatives ) ) )
            // InternalRosetta.g:1972:2: ( ( rule__RosettaBooleanLiteral__Alternatives ) )
            {
            // InternalRosetta.g:1972:2: ( ( rule__RosettaBooleanLiteral__Alternatives ) )
            // InternalRosetta.g:1973:3: ( rule__RosettaBooleanLiteral__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBooleanLiteralAccess().getAlternatives()); }
            // InternalRosetta.g:1974:3: ( rule__RosettaBooleanLiteral__Alternatives )
            // InternalRosetta.g:1974:4: rule__RosettaBooleanLiteral__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaBooleanLiteral__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBooleanLiteralAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaBooleanLiteral"
    // $ANTLR start "entryRuleRosettaStringLiteral"
    // InternalRosetta.g:1983:1: entryRuleRosettaStringLiteral : ruleRosettaStringLiteral EOF ;
    public final void entryRuleRosettaStringLiteral() throws RecognitionException {
        try {
            // InternalRosetta.g:1984:1: ( ruleRosettaStringLiteral EOF )
            // InternalRosetta.g:1985:1: ruleRosettaStringLiteral EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaStringLiteralRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaStringLiteral(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaStringLiteralRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaStringLiteral"
    // $ANTLR start "ruleRosettaStringLiteral"
    // InternalRosetta.g:1992:1: ruleRosettaStringLiteral : ( ( rule__RosettaStringLiteral__ValueAssignment ) ) ;
    public final void ruleRosettaStringLiteral() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:1996:2: ( ( ( rule__RosettaStringLiteral__ValueAssignment ) ) )
            // InternalRosetta.g:1997:2: ( ( rule__RosettaStringLiteral__ValueAssignment ) )
            {
            // InternalRosetta.g:1997:2: ( ( rule__RosettaStringLiteral__ValueAssignment ) )
            // InternalRosetta.g:1998:3: ( rule__RosettaStringLiteral__ValueAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaStringLiteralAccess().getValueAssignment()); }
            // InternalRosetta.g:1999:3: ( rule__RosettaStringLiteral__ValueAssignment )
            // InternalRosetta.g:1999:4: rule__RosettaStringLiteral__ValueAssignment
            {
            pushFollow(FOLLOW_2);
            rule__RosettaStringLiteral__ValueAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaStringLiteralAccess().getValueAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaStringLiteral"
    // $ANTLR start "entryRuleRosettaNumberLiteral"
    // InternalRosetta.g:2008:1: entryRuleRosettaNumberLiteral : ruleRosettaNumberLiteral EOF ;
    public final void entryRuleRosettaNumberLiteral() throws RecognitionException {
        try {
            // InternalRosetta.g:2009:1: ( ruleRosettaNumberLiteral EOF )
            // InternalRosetta.g:2010:1: ruleRosettaNumberLiteral EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaNumberLiteralRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaNumberLiteral(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaNumberLiteralRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaNumberLiteral"
    // $ANTLR start "ruleRosettaNumberLiteral"
    // InternalRosetta.g:2017:1: ruleRosettaNumberLiteral : ( ( rule__RosettaNumberLiteral__ValueAssignment ) ) ;
    public final void ruleRosettaNumberLiteral() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2021:2: ( ( ( rule__RosettaNumberLiteral__ValueAssignment ) ) )
            // InternalRosetta.g:2022:2: ( ( rule__RosettaNumberLiteral__ValueAssignment ) )
            {
            // InternalRosetta.g:2022:2: ( ( rule__RosettaNumberLiteral__ValueAssignment ) )
            // InternalRosetta.g:2023:3: ( rule__RosettaNumberLiteral__ValueAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaNumberLiteralAccess().getValueAssignment()); }
            // InternalRosetta.g:2024:3: ( rule__RosettaNumberLiteral__ValueAssignment )
            // InternalRosetta.g:2024:4: rule__RosettaNumberLiteral__ValueAssignment
            {
            pushFollow(FOLLOW_2);
            rule__RosettaNumberLiteral__ValueAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaNumberLiteralAccess().getValueAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaNumberLiteral"
    // $ANTLR start "entryRuleRosettaIntLiteral"
    // InternalRosetta.g:2033:1: entryRuleRosettaIntLiteral : ruleRosettaIntLiteral EOF ;
    public final void entryRuleRosettaIntLiteral() throws RecognitionException {
        try {
            // InternalRosetta.g:2034:1: ( ruleRosettaIntLiteral EOF )
            // InternalRosetta.g:2035:1: ruleRosettaIntLiteral EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaIntLiteralRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaIntLiteral(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaIntLiteralRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaIntLiteral"
    // $ANTLR start "ruleRosettaIntLiteral"
    // InternalRosetta.g:2042:1: ruleRosettaIntLiteral : ( ( rule__RosettaIntLiteral__ValueAssignment ) ) ;
    public final void ruleRosettaIntLiteral() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2046:2: ( ( ( rule__RosettaIntLiteral__ValueAssignment ) ) )
            // InternalRosetta.g:2047:2: ( ( rule__RosettaIntLiteral__ValueAssignment ) )
            {
            // InternalRosetta.g:2047:2: ( ( rule__RosettaIntLiteral__ValueAssignment ) )
            // InternalRosetta.g:2048:3: ( rule__RosettaIntLiteral__ValueAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaIntLiteralAccess().getValueAssignment()); }
            // InternalRosetta.g:2049:3: ( rule__RosettaIntLiteral__ValueAssignment )
            // InternalRosetta.g:2049:4: rule__RosettaIntLiteral__ValueAssignment
            {
            pushFollow(FOLLOW_2);
            rule__RosettaIntLiteral__ValueAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaIntLiteralAccess().getValueAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaIntLiteral"
    // $ANTLR start "entryRuleBigDecimal"
    // InternalRosetta.g:2058:1: entryRuleBigDecimal : ruleBigDecimal EOF ;
    public final void entryRuleBigDecimal() throws RecognitionException {
        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
        try {
            // InternalRosetta.g:2062:1: ( ruleBigDecimal EOF )
            // InternalRosetta.g:2063:1: ruleBigDecimal EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalRule()); }
            pushFollow(FOLLOW_1);
            ruleBigDecimal(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            	myHiddenTokenState.restore();
        }
        return ;
    }
    // $ANTLR end "entryRuleBigDecimal"
    // $ANTLR start "ruleBigDecimal"
    // InternalRosetta.g:2073:1: ruleBigDecimal : ( ( rule__BigDecimal__Group__0 ) ) ;
    public final void ruleBigDecimal() throws RecognitionException {
        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
        		int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2078:2: ( ( ( rule__BigDecimal__Group__0 ) ) )
            // InternalRosetta.g:2079:2: ( ( rule__BigDecimal__Group__0 ) )
            {
            // InternalRosetta.g:2079:2: ( ( rule__BigDecimal__Group__0 ) )
            // InternalRosetta.g:2080:3: ( rule__BigDecimal__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getGroup()); }
            // InternalRosetta.g:2081:3: ( rule__BigDecimal__Group__0 )
            // InternalRosetta.g:2081:4: rule__BigDecimal__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getGroup()); }}}
        } catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            	restoreStackSize(stackSize);
            	myHiddenTokenState.restore();
        }
        return ;
    }
    // $ANTLR end "ruleBigDecimal"
    // $ANTLR start "entryRuleInteger"
    // InternalRosetta.g:2091:1: entryRuleInteger : ruleInteger EOF ;
    public final void entryRuleInteger() throws RecognitionException {
        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
        try {
            // InternalRosetta.g:2095:1: ( ruleInteger EOF )
            // InternalRosetta.g:2096:1: ruleInteger EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getIntegerRule()); }
            pushFollow(FOLLOW_1);
            ruleInteger(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getIntegerRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            	myHiddenTokenState.restore();
        }
        return ;
    }
    // $ANTLR end "entryRuleInteger"
    // $ANTLR start "ruleInteger"
    // InternalRosetta.g:2106:1: ruleInteger : ( ( rule__Integer__Group__0 ) ) ;
    public final void ruleInteger() throws RecognitionException {
        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
        		int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2111:2: ( ( ( rule__Integer__Group__0 ) ) )
            // InternalRosetta.g:2112:2: ( ( rule__Integer__Group__0 ) )
            {
            // InternalRosetta.g:2112:2: ( ( rule__Integer__Group__0 ) )
            // InternalRosetta.g:2113:3: ( rule__Integer__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getIntegerAccess().getGroup()); }
            // InternalRosetta.g:2114:3: ( rule__Integer__Group__0 )
            // InternalRosetta.g:2114:4: rule__Integer__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__Integer__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getIntegerAccess().getGroup()); }}}
        } catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            	restoreStackSize(stackSize);
            	myHiddenTokenState.restore();
        }
        return ;
    }
    // $ANTLR end "ruleInteger"
    // $ANTLR start "entryRuleRosettaQualifiableConfiguration"
    // InternalRosetta.g:2124:1: entryRuleRosettaQualifiableConfiguration : ruleRosettaQualifiableConfiguration EOF ;
    public final void entryRuleRosettaQualifiableConfiguration() throws RecognitionException {
        try {
            // InternalRosetta.g:2125:1: ( ruleRosettaQualifiableConfiguration EOF )
            // InternalRosetta.g:2126:1: ruleRosettaQualifiableConfiguration EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiableConfigurationRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaQualifiableConfiguration(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiableConfigurationRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaQualifiableConfiguration"
    // $ANTLR start "ruleRosettaQualifiableConfiguration"
    // InternalRosetta.g:2133:1: ruleRosettaQualifiableConfiguration : ( ( rule__RosettaQualifiableConfiguration__Group__0 ) ) ;
    public final void ruleRosettaQualifiableConfiguration() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2137:2: ( ( ( rule__RosettaQualifiableConfiguration__Group__0 ) ) )
            // InternalRosetta.g:2138:2: ( ( rule__RosettaQualifiableConfiguration__Group__0 ) )
            {
            // InternalRosetta.g:2138:2: ( ( rule__RosettaQualifiableConfiguration__Group__0 ) )
            // InternalRosetta.g:2139:3: ( rule__RosettaQualifiableConfiguration__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiableConfigurationAccess().getGroup()); }
            // InternalRosetta.g:2140:3: ( rule__RosettaQualifiableConfiguration__Group__0 )
            // InternalRosetta.g:2140:4: rule__RosettaQualifiableConfiguration__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiableConfiguration__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiableConfigurationAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaQualifiableConfiguration"
    // $ANTLR start "entryRuleClosureParameter"
    // InternalRosetta.g:2149:1: entryRuleClosureParameter : ruleClosureParameter EOF ;
    public final void entryRuleClosureParameter() throws RecognitionException {
        try {
            // InternalRosetta.g:2150:1: ( ruleClosureParameter EOF )
            // InternalRosetta.g:2151:1: ruleClosureParameter EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getClosureParameterRule()); }
            pushFollow(FOLLOW_1);
            ruleClosureParameter(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getClosureParameterRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleClosureParameter"
    // $ANTLR start "ruleClosureParameter"
    // InternalRosetta.g:2158:1: ruleClosureParameter : ( ( rule__ClosureParameter__NameAssignment ) ) ;
    public final void ruleClosureParameter() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2162:2: ( ( ( rule__ClosureParameter__NameAssignment ) ) )
            // InternalRosetta.g:2163:2: ( ( rule__ClosureParameter__NameAssignment ) )
            {
            // InternalRosetta.g:2163:2: ( ( rule__ClosureParameter__NameAssignment ) )
            // InternalRosetta.g:2164:3: ( rule__ClosureParameter__NameAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getClosureParameterAccess().getNameAssignment()); }
            // InternalRosetta.g:2165:3: ( rule__ClosureParameter__NameAssignment )
            // InternalRosetta.g:2165:4: rule__ClosureParameter__NameAssignment
            {
            pushFollow(FOLLOW_2);
            rule__ClosureParameter__NameAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getClosureParameterAccess().getNameAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleClosureParameter"
    // $ANTLR start "entryRuleInlineFunction"
    // InternalRosetta.g:2174:1: entryRuleInlineFunction : ruleInlineFunction EOF ;
    public final void entryRuleInlineFunction() throws RecognitionException {
        try {
            // InternalRosetta.g:2175:1: ( ruleInlineFunction EOF )
            // InternalRosetta.g:2176:1: ruleInlineFunction EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionRule()); }
            pushFollow(FOLLOW_1);
            ruleInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleInlineFunction"
    // $ANTLR start "ruleInlineFunction"
    // InternalRosetta.g:2183:1: ruleInlineFunction : ( ( rule__InlineFunction__Group__0 ) ) ;
    public final void ruleInlineFunction() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2187:2: ( ( ( rule__InlineFunction__Group__0 ) ) )
            // InternalRosetta.g:2188:2: ( ( rule__InlineFunction__Group__0 ) )
            {
            // InternalRosetta.g:2188:2: ( ( rule__InlineFunction__Group__0 ) )
            // InternalRosetta.g:2189:3: ( rule__InlineFunction__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getGroup()); }
            // InternalRosetta.g:2190:3: ( rule__InlineFunction__Group__0 )
            // InternalRosetta.g:2190:4: rule__InlineFunction__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleInlineFunction"
    // $ANTLR start "entryRuleImplicitInlineFunction"
    // InternalRosetta.g:2199:1: entryRuleImplicitInlineFunction : ruleImplicitInlineFunction EOF ;
    public final void entryRuleImplicitInlineFunction() throws RecognitionException {
        try {
            // InternalRosetta.g:2200:1: ( ruleImplicitInlineFunction EOF )
            // InternalRosetta.g:2201:1: ruleImplicitInlineFunction EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImplicitInlineFunctionRule()); }
            pushFollow(FOLLOW_1);
            ruleImplicitInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getImplicitInlineFunctionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleImplicitInlineFunction"
    // $ANTLR start "ruleImplicitInlineFunction"
    // InternalRosetta.g:2208:1: ruleImplicitInlineFunction : ( ( rule__ImplicitInlineFunction__BodyAssignment ) ) ;
    public final void ruleImplicitInlineFunction() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2212:2: ( ( ( rule__ImplicitInlineFunction__BodyAssignment ) ) )
            // InternalRosetta.g:2213:2: ( ( rule__ImplicitInlineFunction__BodyAssignment ) )
            {
            // InternalRosetta.g:2213:2: ( ( rule__ImplicitInlineFunction__BodyAssignment ) )
            // InternalRosetta.g:2214:3: ( rule__ImplicitInlineFunction__BodyAssignment )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImplicitInlineFunctionAccess().getBodyAssignment()); }
            // InternalRosetta.g:2215:3: ( rule__ImplicitInlineFunction__BodyAssignment )
            // InternalRosetta.g:2215:4: rule__ImplicitInlineFunction__BodyAssignment
            {
            pushFollow(FOLLOW_2);
            rule__ImplicitInlineFunction__BodyAssignment(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getImplicitInlineFunctionAccess().getBodyAssignment()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleImplicitInlineFunction"
    // $ANTLR start "entryRuleRosettaCalcExpressionWithAsKey"
    // InternalRosetta.g:2224:1: entryRuleRosettaCalcExpressionWithAsKey : ruleRosettaCalcExpressionWithAsKey EOF ;
    public final void entryRuleRosettaCalcExpressionWithAsKey() throws RecognitionException {
        try {
            // InternalRosetta.g:2225:1: ( ruleRosettaCalcExpressionWithAsKey EOF )
            // InternalRosetta.g:2226:1: ruleRosettaCalcExpressionWithAsKey EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcExpressionWithAsKeyRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcExpressionWithAsKey(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcExpressionWithAsKeyRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcExpressionWithAsKey"
    // $ANTLR start "ruleRosettaCalcExpressionWithAsKey"
    // InternalRosetta.g:2233:1: ruleRosettaCalcExpressionWithAsKey : ( ( rule__RosettaCalcExpressionWithAsKey__Group__0 ) ) ;
    public final void ruleRosettaCalcExpressionWithAsKey() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2237:2: ( ( ( rule__RosettaCalcExpressionWithAsKey__Group__0 ) ) )
            // InternalRosetta.g:2238:2: ( ( rule__RosettaCalcExpressionWithAsKey__Group__0 ) )
            {
            // InternalRosetta.g:2238:2: ( ( rule__RosettaCalcExpressionWithAsKey__Group__0 ) )
            // InternalRosetta.g:2239:3: ( rule__RosettaCalcExpressionWithAsKey__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getGroup()); }
            // InternalRosetta.g:2240:3: ( rule__RosettaCalcExpressionWithAsKey__Group__0 )
            // InternalRosetta.g:2240:4: rule__RosettaCalcExpressionWithAsKey__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcExpressionWithAsKey__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcExpressionWithAsKey"
    // $ANTLR start "entryRuleRosettaCalcExpression"
    // InternalRosetta.g:2249:1: entryRuleRosettaCalcExpression : ruleRosettaCalcExpression EOF ;
    public final void entryRuleRosettaCalcExpression() throws RecognitionException {
        try {
            // InternalRosetta.g:2250:1: ( ruleRosettaCalcExpression EOF )
            // InternalRosetta.g:2251:1: ruleRosettaCalcExpression EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcExpressionRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcExpressionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcExpression"
    // $ANTLR start "ruleRosettaCalcExpression"
    // InternalRosetta.g:2258:1: ruleRosettaCalcExpression : ( ruleThenOperation ) ;
    public final void ruleRosettaCalcExpression() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2262:2: ( ( ruleThenOperation ) )
            // InternalRosetta.g:2263:2: ( ruleThenOperation )
            {
            // InternalRosetta.g:2263:2: ( ruleThenOperation )
            // InternalRosetta.g:2264:3: ruleThenOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcExpressionAccess().getThenOperationParserRuleCall()); }
            pushFollow(FOLLOW_2);
            ruleThenOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcExpressionAccess().getThenOperationParserRuleCall()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcExpression"
    // $ANTLR start "entryRuleThenOperation"
    // InternalRosetta.g:2274:1: entryRuleThenOperation : ruleThenOperation EOF ;
    public final void entryRuleThenOperation() throws RecognitionException {
        try {
            // InternalRosetta.g:2275:1: ( ruleThenOperation EOF )
            // InternalRosetta.g:2276:1: ruleThenOperation EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationRule()); }
            pushFollow(FOLLOW_1);
            ruleThenOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleThenOperation"
    // $ANTLR start "ruleThenOperation"
    // InternalRosetta.g:2283:1: ruleThenOperation : ( ( rule__ThenOperation__Group__0 ) ) ;
    public final void ruleThenOperation() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2287:2: ( ( ( rule__ThenOperation__Group__0 ) ) )
            // InternalRosetta.g:2288:2: ( ( rule__ThenOperation__Group__0 ) )
            {
            // InternalRosetta.g:2288:2: ( ( rule__ThenOperation__Group__0 ) )
            // InternalRosetta.g:2289:3: ( rule__ThenOperation__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getGroup()); }
            // InternalRosetta.g:2290:3: ( rule__ThenOperation__Group__0 )
            // InternalRosetta.g:2290:4: rule__ThenOperation__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__ThenOperation__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleThenOperation"
    // $ANTLR start "entryRuleRosettaCalcOr"
    // InternalRosetta.g:2299:1: entryRuleRosettaCalcOr : ruleRosettaCalcOr EOF ;
    public final void entryRuleRosettaCalcOr() throws RecognitionException {
        try {
            // InternalRosetta.g:2300:1: ( ruleRosettaCalcOr EOF )
            // InternalRosetta.g:2301:1: ruleRosettaCalcOr EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcOr(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcOr"
    // $ANTLR start "ruleRosettaCalcOr"
    // InternalRosetta.g:2308:1: ruleRosettaCalcOr : ( ( rule__RosettaCalcOr__Alternatives ) ) ;
    public final void ruleRosettaCalcOr() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2312:2: ( ( ( rule__RosettaCalcOr__Alternatives ) ) )
            // InternalRosetta.g:2313:2: ( ( rule__RosettaCalcOr__Alternatives ) )
            {
            // InternalRosetta.g:2313:2: ( ( rule__RosettaCalcOr__Alternatives ) )
            // InternalRosetta.g:2314:3: ( rule__RosettaCalcOr__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getAlternatives()); }
            // InternalRosetta.g:2315:3: ( rule__RosettaCalcOr__Alternatives )
            // InternalRosetta.g:2315:4: rule__RosettaCalcOr__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcOr"
    // $ANTLR start "entryRuleRosettaCalcAnd"
    // InternalRosetta.g:2324:1: entryRuleRosettaCalcAnd : ruleRosettaCalcAnd EOF ;
    public final void entryRuleRosettaCalcAnd() throws RecognitionException {
        try {
            // InternalRosetta.g:2325:1: ( ruleRosettaCalcAnd EOF )
            // InternalRosetta.g:2326:1: ruleRosettaCalcAnd EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcAnd(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcAnd"
    // $ANTLR start "ruleRosettaCalcAnd"
    // InternalRosetta.g:2333:1: ruleRosettaCalcAnd : ( ( rule__RosettaCalcAnd__Alternatives ) ) ;
    public final void ruleRosettaCalcAnd() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2337:2: ( ( ( rule__RosettaCalcAnd__Alternatives ) ) )
            // InternalRosetta.g:2338:2: ( ( rule__RosettaCalcAnd__Alternatives ) )
            {
            // InternalRosetta.g:2338:2: ( ( rule__RosettaCalcAnd__Alternatives ) )
            // InternalRosetta.g:2339:3: ( rule__RosettaCalcAnd__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getAlternatives()); }
            // InternalRosetta.g:2340:3: ( rule__RosettaCalcAnd__Alternatives )
            // InternalRosetta.g:2340:4: rule__RosettaCalcAnd__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcAnd"
    // $ANTLR start "entryRuleRosettaCalcEquality"
    // InternalRosetta.g:2349:1: entryRuleRosettaCalcEquality : ruleRosettaCalcEquality EOF ;
    public final void entryRuleRosettaCalcEquality() throws RecognitionException {
        try {
            // InternalRosetta.g:2350:1: ( ruleRosettaCalcEquality EOF )
            // InternalRosetta.g:2351:1: ruleRosettaCalcEquality EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcEquality(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcEquality"
    // $ANTLR start "ruleRosettaCalcEquality"
    // InternalRosetta.g:2358:1: ruleRosettaCalcEquality : ( ( rule__RosettaCalcEquality__Alternatives ) ) ;
    public final void ruleRosettaCalcEquality() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2362:2: ( ( ( rule__RosettaCalcEquality__Alternatives ) ) )
            // InternalRosetta.g:2363:2: ( ( rule__RosettaCalcEquality__Alternatives ) )
            {
            // InternalRosetta.g:2363:2: ( ( rule__RosettaCalcEquality__Alternatives ) )
            // InternalRosetta.g:2364:3: ( rule__RosettaCalcEquality__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getAlternatives()); }
            // InternalRosetta.g:2365:3: ( rule__RosettaCalcEquality__Alternatives )
            // InternalRosetta.g:2365:4: rule__RosettaCalcEquality__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcEquality"
    // $ANTLR start "entryRuleRosettaCalcComparison"
    // InternalRosetta.g:2374:1: entryRuleRosettaCalcComparison : ruleRosettaCalcComparison EOF ;
    public final void entryRuleRosettaCalcComparison() throws RecognitionException {
        try {
            // InternalRosetta.g:2375:1: ( ruleRosettaCalcComparison EOF )
            // InternalRosetta.g:2376:1: ruleRosettaCalcComparison EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcComparison(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcComparison"
    // $ANTLR start "ruleRosettaCalcComparison"
    // InternalRosetta.g:2383:1: ruleRosettaCalcComparison : ( ( rule__RosettaCalcComparison__Alternatives ) ) ;
    public final void ruleRosettaCalcComparison() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2387:2: ( ( ( rule__RosettaCalcComparison__Alternatives ) ) )
            // InternalRosetta.g:2388:2: ( ( rule__RosettaCalcComparison__Alternatives ) )
            {
            // InternalRosetta.g:2388:2: ( ( rule__RosettaCalcComparison__Alternatives ) )
            // InternalRosetta.g:2389:3: ( rule__RosettaCalcComparison__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getAlternatives()); }
            // InternalRosetta.g:2390:3: ( rule__RosettaCalcComparison__Alternatives )
            // InternalRosetta.g:2390:4: rule__RosettaCalcComparison__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcComparison"
    // $ANTLR start "entryRuleRosettaCalcAdditive"
    // InternalRosetta.g:2399:1: entryRuleRosettaCalcAdditive : ruleRosettaCalcAdditive EOF ;
    public final void entryRuleRosettaCalcAdditive() throws RecognitionException {
        try {
            // InternalRosetta.g:2400:1: ( ruleRosettaCalcAdditive EOF )
            // InternalRosetta.g:2401:1: ruleRosettaCalcAdditive EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAdditiveRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcAdditive(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAdditiveRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcAdditive"
    // $ANTLR start "ruleRosettaCalcAdditive"
    // InternalRosetta.g:2408:1: ruleRosettaCalcAdditive : ( ( rule__RosettaCalcAdditive__Group__0 ) ) ;
    public final void ruleRosettaCalcAdditive() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2412:2: ( ( ( rule__RosettaCalcAdditive__Group__0 ) ) )
            // InternalRosetta.g:2413:2: ( ( rule__RosettaCalcAdditive__Group__0 ) )
            {
            // InternalRosetta.g:2413:2: ( ( rule__RosettaCalcAdditive__Group__0 ) )
            // InternalRosetta.g:2414:3: ( rule__RosettaCalcAdditive__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAdditiveAccess().getGroup()); }
            // InternalRosetta.g:2415:3: ( rule__RosettaCalcAdditive__Group__0 )
            // InternalRosetta.g:2415:4: rule__RosettaCalcAdditive__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAdditiveAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcAdditive"
    // $ANTLR start "entryRuleRosettaCalcMultiplicative"
    // InternalRosetta.g:2424:1: entryRuleRosettaCalcMultiplicative : ruleRosettaCalcMultiplicative EOF ;
    public final void entryRuleRosettaCalcMultiplicative() throws RecognitionException {
        try {
            // InternalRosetta.g:2425:1: ( ruleRosettaCalcMultiplicative EOF )
            // InternalRosetta.g:2426:1: ruleRosettaCalcMultiplicative EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcMultiplicative(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcMultiplicative"
    // $ANTLR start "ruleRosettaCalcMultiplicative"
    // InternalRosetta.g:2433:1: ruleRosettaCalcMultiplicative : ( ( rule__RosettaCalcMultiplicative__Alternatives ) ) ;
    public final void ruleRosettaCalcMultiplicative() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2437:2: ( ( ( rule__RosettaCalcMultiplicative__Alternatives ) ) )
            // InternalRosetta.g:2438:2: ( ( rule__RosettaCalcMultiplicative__Alternatives ) )
            {
            // InternalRosetta.g:2438:2: ( ( rule__RosettaCalcMultiplicative__Alternatives ) )
            // InternalRosetta.g:2439:3: ( rule__RosettaCalcMultiplicative__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getAlternatives()); }
            // InternalRosetta.g:2440:3: ( rule__RosettaCalcMultiplicative__Alternatives )
            // InternalRosetta.g:2440:4: rule__RosettaCalcMultiplicative__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcMultiplicative"
    // $ANTLR start "entryRuleRosettaCalcBinary"
    // InternalRosetta.g:2449:1: entryRuleRosettaCalcBinary : ruleRosettaCalcBinary EOF ;
    public final void entryRuleRosettaCalcBinary() throws RecognitionException {
        try {
            // InternalRosetta.g:2450:1: ( ruleRosettaCalcBinary EOF )
            // InternalRosetta.g:2451:1: ruleRosettaCalcBinary EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcBinary(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcBinary"
    // $ANTLR start "ruleRosettaCalcBinary"
    // InternalRosetta.g:2458:1: ruleRosettaCalcBinary : ( ( rule__RosettaCalcBinary__Alternatives ) ) ;
    public final void ruleRosettaCalcBinary() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2462:2: ( ( ( rule__RosettaCalcBinary__Alternatives ) ) )
            // InternalRosetta.g:2463:2: ( ( rule__RosettaCalcBinary__Alternatives ) )
            {
            // InternalRosetta.g:2463:2: ( ( rule__RosettaCalcBinary__Alternatives ) )
            // InternalRosetta.g:2464:3: ( rule__RosettaCalcBinary__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getAlternatives()); }
            // InternalRosetta.g:2465:3: ( rule__RosettaCalcBinary__Alternatives )
            // InternalRosetta.g:2465:4: rule__RosettaCalcBinary__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcBinary"
    // $ANTLR start "entryRuleSwitchCase"
    // InternalRosetta.g:2474:1: entryRuleSwitchCase : ruleSwitchCase EOF ;
    public final void entryRuleSwitchCase() throws RecognitionException {
        try {
            // InternalRosetta.g:2475:1: ( ruleSwitchCase EOF )
            // InternalRosetta.g:2476:1: ruleSwitchCase EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseRule()); }
            pushFollow(FOLLOW_1);
            ruleSwitchCase(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSwitchCaseRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleSwitchCase"
    // $ANTLR start "ruleSwitchCase"
    // InternalRosetta.g:2483:1: ruleSwitchCase : ( ( rule__SwitchCase__Group__0 ) ) ;
    public final void ruleSwitchCase() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2487:2: ( ( ( rule__SwitchCase__Group__0 ) ) )
            // InternalRosetta.g:2488:2: ( ( rule__SwitchCase__Group__0 ) )
            {
            // InternalRosetta.g:2488:2: ( ( rule__SwitchCase__Group__0 ) )
            // InternalRosetta.g:2489:3: ( rule__SwitchCase__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseAccess().getGroup()); }
            // InternalRosetta.g:2490:3: ( rule__SwitchCase__Group__0 )
            // InternalRosetta.g:2490:4: rule__SwitchCase__Group__0
            {
            pushFollow(FOLLOW_2);
            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); }
    }
    // $ANTLR end "ruleSwitchCase"
    // $ANTLR start "entryRuleSwitchCaseGuard"
    // InternalRosetta.g:2499:1: entryRuleSwitchCaseGuard : ruleSwitchCaseGuard EOF ;
    public final void entryRuleSwitchCaseGuard() throws RecognitionException {
        try {
            // InternalRosetta.g:2500:1: ( ruleSwitchCaseGuard EOF )
            // InternalRosetta.g:2501:1: ruleSwitchCaseGuard EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseGuardRule()); }
            pushFollow(FOLLOW_1);
            ruleSwitchCaseGuard(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSwitchCaseGuardRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleSwitchCaseGuard"
    // $ANTLR start "ruleSwitchCaseGuard"
    // InternalRosetta.g:2508:1: ruleSwitchCaseGuard : ( ( rule__SwitchCaseGuard__Alternatives ) ) ;
    public final void ruleSwitchCaseGuard() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2512:2: ( ( ( rule__SwitchCaseGuard__Alternatives ) ) )
            // InternalRosetta.g:2513:2: ( ( rule__SwitchCaseGuard__Alternatives ) )
            {
            // InternalRosetta.g:2513:2: ( ( rule__SwitchCaseGuard__Alternatives ) )
            // InternalRosetta.g:2514:3: ( rule__SwitchCaseGuard__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseGuardAccess().getAlternatives()); }
            // InternalRosetta.g:2515:3: ( rule__SwitchCaseGuard__Alternatives )
            // InternalRosetta.g:2515:4: rule__SwitchCaseGuard__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__SwitchCaseGuard__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getSwitchCaseGuardAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleSwitchCaseGuard"
    // $ANTLR start "entryRuleUnaryOperation"
    // InternalRosetta.g:2524:1: entryRuleUnaryOperation : ruleUnaryOperation EOF ;
    public final void entryRuleUnaryOperation() throws RecognitionException {
        try {
            // InternalRosetta.g:2525:1: ( ruleUnaryOperation EOF )
            // InternalRosetta.g:2526:1: ruleUnaryOperation EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationRule()); }
            pushFollow(FOLLOW_1);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleUnaryOperation"
    // $ANTLR start "ruleUnaryOperation"
    // InternalRosetta.g:2533:1: ruleUnaryOperation : ( ( rule__UnaryOperation__Alternatives ) ) ;
    public final void ruleUnaryOperation() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2537:2: ( ( ( rule__UnaryOperation__Alternatives ) ) )
            // InternalRosetta.g:2538:2: ( ( rule__UnaryOperation__Alternatives ) )
            {
            // InternalRosetta.g:2538:2: ( ( rule__UnaryOperation__Alternatives ) )
            // InternalRosetta.g:2539:3: ( rule__UnaryOperation__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives()); }
            // InternalRosetta.g:2540:3: ( rule__UnaryOperation__Alternatives )
            // InternalRosetta.g:2540:4: rule__UnaryOperation__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleUnaryOperation"
    // $ANTLR start "entryRuleRosettaCalcPrimary"
    // InternalRosetta.g:2549:1: entryRuleRosettaCalcPrimary : ruleRosettaCalcPrimary EOF ;
    public final void entryRuleRosettaCalcPrimary() throws RecognitionException {
        try {
            // InternalRosetta.g:2550:1: ( ruleRosettaCalcPrimary EOF )
            // InternalRosetta.g:2551:1: ruleRosettaCalcPrimary EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcPrimaryRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcPrimary(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcPrimaryRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcPrimary"
    // $ANTLR start "ruleRosettaCalcPrimary"
    // InternalRosetta.g:2558:1: ruleRosettaCalcPrimary : ( ( rule__RosettaCalcPrimary__Alternatives ) ) ;
    public final void ruleRosettaCalcPrimary() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2562:2: ( ( ( rule__RosettaCalcPrimary__Alternatives ) ) )
            // InternalRosetta.g:2563:2: ( ( rule__RosettaCalcPrimary__Alternatives ) )
            {
            // InternalRosetta.g:2563:2: ( ( rule__RosettaCalcPrimary__Alternatives ) )
            // InternalRosetta.g:2564:3: ( rule__RosettaCalcPrimary__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcPrimaryAccess().getAlternatives()); }
            // InternalRosetta.g:2565:3: ( rule__RosettaCalcPrimary__Alternatives )
            // InternalRosetta.g:2565:4: rule__RosettaCalcPrimary__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcPrimary__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcPrimaryAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcPrimary"
    // $ANTLR start "entryRuleRosettaCalcConstructorExpression"
    // InternalRosetta.g:2574:1: entryRuleRosettaCalcConstructorExpression : ruleRosettaCalcConstructorExpression EOF ;
    public final void entryRuleRosettaCalcConstructorExpression() throws RecognitionException {
        try {
            // InternalRosetta.g:2575:1: ( ruleRosettaCalcConstructorExpression EOF )
            // InternalRosetta.g:2576:1: ruleRosettaCalcConstructorExpression EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcConstructorExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcConstructorExpression"
    // $ANTLR start "ruleRosettaCalcConstructorExpression"
    // InternalRosetta.g:2583:1: ruleRosettaCalcConstructorExpression : ( ( rule__RosettaCalcConstructorExpression__Group__0 ) ) ;
    public final void ruleRosettaCalcConstructorExpression() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2587:2: ( ( ( rule__RosettaCalcConstructorExpression__Group__0 ) ) )
            // InternalRosetta.g:2588:2: ( ( rule__RosettaCalcConstructorExpression__Group__0 ) )
            {
            // InternalRosetta.g:2588:2: ( ( rule__RosettaCalcConstructorExpression__Group__0 ) )
            // InternalRosetta.g:2589:3: ( rule__RosettaCalcConstructorExpression__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getGroup()); }
            // InternalRosetta.g:2590:3: ( rule__RosettaCalcConstructorExpression__Group__0 )
            // InternalRosetta.g:2590:4: rule__RosettaCalcConstructorExpression__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcConstructorExpression"
    // $ANTLR start "entryRuleConstructorKeyValuePair"
    // InternalRosetta.g:2599:1: entryRuleConstructorKeyValuePair : ruleConstructorKeyValuePair EOF ;
    public final void entryRuleConstructorKeyValuePair() throws RecognitionException {
        try {
            // InternalRosetta.g:2600:1: ( ruleConstructorKeyValuePair EOF )
            // InternalRosetta.g:2601:1: ruleConstructorKeyValuePair EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConstructorKeyValuePairRule()); }
            pushFollow(FOLLOW_1);
            ruleConstructorKeyValuePair(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getConstructorKeyValuePairRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleConstructorKeyValuePair"
    // $ANTLR start "ruleConstructorKeyValuePair"
    // InternalRosetta.g:2608:1: ruleConstructorKeyValuePair : ( ( rule__ConstructorKeyValuePair__Group__0 ) ) ;
    public final void ruleConstructorKeyValuePair() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2612:2: ( ( ( rule__ConstructorKeyValuePair__Group__0 ) ) )
            // InternalRosetta.g:2613:2: ( ( rule__ConstructorKeyValuePair__Group__0 ) )
            {
            // InternalRosetta.g:2613:2: ( ( rule__ConstructorKeyValuePair__Group__0 ) )
            // InternalRosetta.g:2614:3: ( rule__ConstructorKeyValuePair__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConstructorKeyValuePairAccess().getGroup()); }
            // InternalRosetta.g:2615:3: ( rule__ConstructorKeyValuePair__Group__0 )
            // InternalRosetta.g:2615:4: rule__ConstructorKeyValuePair__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__ConstructorKeyValuePair__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getConstructorKeyValuePairAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleConstructorKeyValuePair"
    // $ANTLR start "entryRuleRosettaCalcConditionalExpression"
    // InternalRosetta.g:2624:1: entryRuleRosettaCalcConditionalExpression : ruleRosettaCalcConditionalExpression EOF ;
    public final void entryRuleRosettaCalcConditionalExpression() throws RecognitionException {
        try {
            // InternalRosetta.g:2625:1: ( ruleRosettaCalcConditionalExpression EOF )
            // InternalRosetta.g:2626:1: ruleRosettaCalcConditionalExpression EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcConditionalExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcConditionalExpression"
    // $ANTLR start "ruleRosettaCalcConditionalExpression"
    // InternalRosetta.g:2633:1: ruleRosettaCalcConditionalExpression : ( ( rule__RosettaCalcConditionalExpression__Group__0 ) ) ;
    public final void ruleRosettaCalcConditionalExpression() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2637:2: ( ( ( rule__RosettaCalcConditionalExpression__Group__0 ) ) )
            // InternalRosetta.g:2638:2: ( ( rule__RosettaCalcConditionalExpression__Group__0 ) )
            {
            // InternalRosetta.g:2638:2: ( ( rule__RosettaCalcConditionalExpression__Group__0 ) )
            // InternalRosetta.g:2639:3: ( rule__RosettaCalcConditionalExpression__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getGroup()); }
            // InternalRosetta.g:2640:3: ( rule__RosettaCalcConditionalExpression__Group__0 )
            // InternalRosetta.g:2640:4: rule__RosettaCalcConditionalExpression__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcConditionalExpression"
    // $ANTLR start "entryRuleRosettaCalcOnlyExists"
    // InternalRosetta.g:2649:1: entryRuleRosettaCalcOnlyExists : ruleRosettaCalcOnlyExists EOF ;
    public final void entryRuleRosettaCalcOnlyExists() throws RecognitionException {
        try {
            // InternalRosetta.g:2650:1: ( ruleRosettaCalcOnlyExists EOF )
            // InternalRosetta.g:2651:1: ruleRosettaCalcOnlyExists EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaCalcOnlyExists(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaCalcOnlyExists"
    // $ANTLR start "ruleRosettaCalcOnlyExists"
    // InternalRosetta.g:2658:1: ruleRosettaCalcOnlyExists : ( ( rule__RosettaCalcOnlyExists__Group__0 ) ) ;
    public final void ruleRosettaCalcOnlyExists() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2662:2: ( ( ( rule__RosettaCalcOnlyExists__Group__0 ) ) )
            // InternalRosetta.g:2663:2: ( ( rule__RosettaCalcOnlyExists__Group__0 ) )
            {
            // InternalRosetta.g:2663:2: ( ( rule__RosettaCalcOnlyExists__Group__0 ) )
            // InternalRosetta.g:2664:3: ( rule__RosettaCalcOnlyExists__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getGroup()); }
            // InternalRosetta.g:2665:3: ( rule__RosettaCalcOnlyExists__Group__0 )
            // InternalRosetta.g:2665:4: rule__RosettaCalcOnlyExists__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaCalcOnlyExists"
    // $ANTLR start "entryRuleRosettaOnlyExistsElement"
    // InternalRosetta.g:2674:1: entryRuleRosettaOnlyExistsElement : ruleRosettaOnlyExistsElement EOF ;
    public final void entryRuleRosettaOnlyExistsElement() throws RecognitionException {
        try {
            // InternalRosetta.g:2675:1: ( ruleRosettaOnlyExistsElement EOF )
            // InternalRosetta.g:2676:1: ruleRosettaOnlyExistsElement EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaOnlyExistsElement(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaOnlyExistsElement"
    // $ANTLR start "ruleRosettaOnlyExistsElement"
    // InternalRosetta.g:2683:1: ruleRosettaOnlyExistsElement : ( ( rule__RosettaOnlyExistsElement__Group__0 ) ) ;
    public final void ruleRosettaOnlyExistsElement() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2687:2: ( ( ( rule__RosettaOnlyExistsElement__Group__0 ) ) )
            // InternalRosetta.g:2688:2: ( ( rule__RosettaOnlyExistsElement__Group__0 ) )
            {
            // InternalRosetta.g:2688:2: ( ( rule__RosettaOnlyExistsElement__Group__0 ) )
            // InternalRosetta.g:2689:3: ( rule__RosettaOnlyExistsElement__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementAccess().getGroup()); }
            // InternalRosetta.g:2690:3: ( rule__RosettaOnlyExistsElement__Group__0 )
            // InternalRosetta.g:2690:4: rule__RosettaOnlyExistsElement__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElement__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaOnlyExistsElement"
    // $ANTLR start "entryRuleRosettaOnlyExistsElementRoot"
    // InternalRosetta.g:2699:1: entryRuleRosettaOnlyExistsElementRoot : ruleRosettaOnlyExistsElementRoot EOF ;
    public final void entryRuleRosettaOnlyExistsElementRoot() throws RecognitionException {
        try {
            // InternalRosetta.g:2700:1: ( ruleRosettaOnlyExistsElementRoot EOF )
            // InternalRosetta.g:2701:1: ruleRosettaOnlyExistsElementRoot EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementRootRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaOnlyExistsElementRoot(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementRootRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaOnlyExistsElementRoot"
    // $ANTLR start "ruleRosettaOnlyExistsElementRoot"
    // InternalRosetta.g:2708:1: ruleRosettaOnlyExistsElementRoot : ( ( rule__RosettaOnlyExistsElementRoot__Alternatives ) ) ;
    public final void ruleRosettaOnlyExistsElementRoot() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2712:2: ( ( ( rule__RosettaOnlyExistsElementRoot__Alternatives ) ) )
            // InternalRosetta.g:2713:2: ( ( rule__RosettaOnlyExistsElementRoot__Alternatives ) )
            {
            // InternalRosetta.g:2713:2: ( ( rule__RosettaOnlyExistsElementRoot__Alternatives ) )
            // InternalRosetta.g:2714:3: ( rule__RosettaOnlyExistsElementRoot__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getAlternatives()); }
            // InternalRosetta.g:2715:3: ( rule__RosettaOnlyExistsElementRoot__Alternatives )
            // InternalRosetta.g:2715:4: rule__RosettaOnlyExistsElementRoot__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElementRoot__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaOnlyExistsElementRoot"
    // $ANTLR start "ruleExternalAnnotationSource"
    // InternalRosetta.g:2725:1: ruleExternalAnnotationSource : ( ( rule__ExternalAnnotationSource__Group__0 ) ) ;
    public final void ruleExternalAnnotationSource() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2729:2: ( ( ( rule__ExternalAnnotationSource__Group__0 ) ) )
            // InternalRosetta.g:2730:2: ( ( rule__ExternalAnnotationSource__Group__0 ) )
            {
            // InternalRosetta.g:2730:2: ( ( rule__ExternalAnnotationSource__Group__0 ) )
            // InternalRosetta.g:2731:3: ( rule__ExternalAnnotationSource__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getExternalAnnotationSourceAccess().getGroup()); }
            // InternalRosetta.g:2732:3: ( rule__ExternalAnnotationSource__Group__0 )
            // InternalRosetta.g:2732:4: rule__ExternalAnnotationSource__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__ExternalAnnotationSource__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getExternalAnnotationSourceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleExternalAnnotationSource"
    // $ANTLR start "entryRuleRosettaExternalSynonymSource"
    // InternalRosetta.g:2741:1: entryRuleRosettaExternalSynonymSource : ruleRosettaExternalSynonymSource EOF ;
    public final void entryRuleRosettaExternalSynonymSource() throws RecognitionException {
        try {
            // InternalRosetta.g:2742:1: ( ruleRosettaExternalSynonymSource EOF )
            // InternalRosetta.g:2743:1: ruleRosettaExternalSynonymSource EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaExternalSynonymSource(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaExternalSynonymSource"
    // $ANTLR start "ruleRosettaExternalSynonymSource"
    // InternalRosetta.g:2750:1: ruleRosettaExternalSynonymSource : ( ( rule__RosettaExternalSynonymSource__Group__0 ) ) ;
    public final void ruleRosettaExternalSynonymSource() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2754:2: ( ( ( rule__RosettaExternalSynonymSource__Group__0 ) ) )
            // InternalRosetta.g:2755:2: ( ( rule__RosettaExternalSynonymSource__Group__0 ) )
            {
            // InternalRosetta.g:2755:2: ( ( rule__RosettaExternalSynonymSource__Group__0 ) )
            // InternalRosetta.g:2756:3: ( rule__RosettaExternalSynonymSource__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getGroup()); }
            // InternalRosetta.g:2757:3: ( rule__RosettaExternalSynonymSource__Group__0 )
            // InternalRosetta.g:2757:4: rule__RosettaExternalSynonymSource__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaExternalSynonymSource"
    // $ANTLR start "entryRuleRosettaExternalRuleSource"
    // InternalRosetta.g:2766:1: entryRuleRosettaExternalRuleSource : ruleRosettaExternalRuleSource EOF ;
    public final void entryRuleRosettaExternalRuleSource() throws RecognitionException {
        try {
            // InternalRosetta.g:2767:1: ( ruleRosettaExternalRuleSource EOF )
            // InternalRosetta.g:2768:1: ruleRosettaExternalRuleSource EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaExternalRuleSource(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaExternalRuleSource"
    // $ANTLR start "ruleRosettaExternalRuleSource"
    // InternalRosetta.g:2775:1: ruleRosettaExternalRuleSource : ( ( rule__RosettaExternalRuleSource__Group__0 ) ) ;
    public final void ruleRosettaExternalRuleSource() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2779:2: ( ( ( rule__RosettaExternalRuleSource__Group__0 ) ) )
            // InternalRosetta.g:2780:2: ( ( rule__RosettaExternalRuleSource__Group__0 ) )
            {
            // InternalRosetta.g:2780:2: ( ( rule__RosettaExternalRuleSource__Group__0 ) )
            // InternalRosetta.g:2781:3: ( rule__RosettaExternalRuleSource__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getGroup()); }
            // InternalRosetta.g:2782:3: ( rule__RosettaExternalRuleSource__Group__0 )
            // InternalRosetta.g:2782:4: rule__RosettaExternalRuleSource__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaExternalRuleSource"
    // $ANTLR start "entryRuleRosettaExternalClass"
    // InternalRosetta.g:2791:1: entryRuleRosettaExternalClass : ruleRosettaExternalClass EOF ;
    public final void entryRuleRosettaExternalClass() throws RecognitionException {
        try {
            // InternalRosetta.g:2792:1: ( ruleRosettaExternalClass EOF )
            // InternalRosetta.g:2793:1: ruleRosettaExternalClass EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaExternalClass(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaExternalClass"
    // $ANTLR start "ruleRosettaExternalClass"
    // InternalRosetta.g:2800:1: ruleRosettaExternalClass : ( ( rule__RosettaExternalClass__Group__0 ) ) ;
    public final void ruleRosettaExternalClass() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2804:2: ( ( ( rule__RosettaExternalClass__Group__0 ) ) )
            // InternalRosetta.g:2805:2: ( ( rule__RosettaExternalClass__Group__0 ) )
            {
            // InternalRosetta.g:2805:2: ( ( rule__RosettaExternalClass__Group__0 ) )
            // InternalRosetta.g:2806:3: ( rule__RosettaExternalClass__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassAccess().getGroup()); }
            // InternalRosetta.g:2807:3: ( rule__RosettaExternalClass__Group__0 )
            // InternalRosetta.g:2807:4: rule__RosettaExternalClass__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClass__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaExternalClass"
    // $ANTLR start "entryRuleRosettaExternalEnum"
    // InternalRosetta.g:2816:1: entryRuleRosettaExternalEnum : ruleRosettaExternalEnum EOF ;
    public final void entryRuleRosettaExternalEnum() throws RecognitionException {
        try {
            // InternalRosetta.g:2817:1: ( ruleRosettaExternalEnum EOF )
            // InternalRosetta.g:2818:1: ruleRosettaExternalEnum EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaExternalEnum(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaExternalEnum"
    // $ANTLR start "ruleRosettaExternalEnum"
    // InternalRosetta.g:2825:1: ruleRosettaExternalEnum : ( ( rule__RosettaExternalEnum__Group__0 ) ) ;
    public final void ruleRosettaExternalEnum() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2829:2: ( ( ( rule__RosettaExternalEnum__Group__0 ) ) )
            // InternalRosetta.g:2830:2: ( ( rule__RosettaExternalEnum__Group__0 ) )
            {
            // InternalRosetta.g:2830:2: ( ( rule__RosettaExternalEnum__Group__0 ) )
            // InternalRosetta.g:2831:3: ( rule__RosettaExternalEnum__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumAccess().getGroup()); }
            // InternalRosetta.g:2832:3: ( rule__RosettaExternalEnum__Group__0 )
            // InternalRosetta.g:2832:4: rule__RosettaExternalEnum__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnum__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaExternalEnum"
    // $ANTLR start "entryRuleRosettaExternalRegularAttribute"
    // InternalRosetta.g:2841:1: entryRuleRosettaExternalRegularAttribute : ruleRosettaExternalRegularAttribute EOF ;
    public final void entryRuleRosettaExternalRegularAttribute() throws RecognitionException {
        try {
            // InternalRosetta.g:2842:1: ( ruleRosettaExternalRegularAttribute EOF )
            // InternalRosetta.g:2843:1: ruleRosettaExternalRegularAttribute EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRegularAttributeRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaExternalRegularAttribute(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRegularAttributeRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaExternalRegularAttribute"
    // $ANTLR start "ruleRosettaExternalRegularAttribute"
    // InternalRosetta.g:2850:1: ruleRosettaExternalRegularAttribute : ( ( rule__RosettaExternalRegularAttribute__Group__0 ) ) ;
    public final void ruleRosettaExternalRegularAttribute() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2854:2: ( ( ( rule__RosettaExternalRegularAttribute__Group__0 ) ) )
            // InternalRosetta.g:2855:2: ( ( rule__RosettaExternalRegularAttribute__Group__0 ) )
            {
            // InternalRosetta.g:2855:2: ( ( rule__RosettaExternalRegularAttribute__Group__0 ) )
            // InternalRosetta.g:2856:3: ( rule__RosettaExternalRegularAttribute__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRegularAttributeAccess().getGroup()); }
            // InternalRosetta.g:2857:3: ( rule__RosettaExternalRegularAttribute__Group__0 )
            // InternalRosetta.g:2857:4: rule__RosettaExternalRegularAttribute__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRegularAttribute__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRegularAttributeAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaExternalRegularAttribute"
    // $ANTLR start "entryRuleRosettaExternalEnumValue"
    // InternalRosetta.g:2866:1: entryRuleRosettaExternalEnumValue : ruleRosettaExternalEnumValue EOF ;
    public final void entryRuleRosettaExternalEnumValue() throws RecognitionException {
        try {
            // InternalRosetta.g:2867:1: ( ruleRosettaExternalEnumValue EOF )
            // InternalRosetta.g:2868:1: ruleRosettaExternalEnumValue EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumValueRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaExternalEnumValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumValueRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaExternalEnumValue"
    // $ANTLR start "ruleRosettaExternalEnumValue"
    // InternalRosetta.g:2875:1: ruleRosettaExternalEnumValue : ( ( rule__RosettaExternalEnumValue__Group__0 ) ) ;
    public final void ruleRosettaExternalEnumValue() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2879:2: ( ( ( rule__RosettaExternalEnumValue__Group__0 ) ) )
            // InternalRosetta.g:2880:2: ( ( rule__RosettaExternalEnumValue__Group__0 ) )
            {
            // InternalRosetta.g:2880:2: ( ( rule__RosettaExternalEnumValue__Group__0 ) )
            // InternalRosetta.g:2881:3: ( rule__RosettaExternalEnumValue__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumValueAccess().getGroup()); }
            // InternalRosetta.g:2882:3: ( rule__RosettaExternalEnumValue__Group__0 )
            // InternalRosetta.g:2882:4: rule__RosettaExternalEnumValue__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumValue__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumValueAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaExternalEnumValue"
    // $ANTLR start "entryRuleRosettaExternalClassSynonym"
    // InternalRosetta.g:2891:1: entryRuleRosettaExternalClassSynonym : ruleRosettaExternalClassSynonym EOF ;
    public final void entryRuleRosettaExternalClassSynonym() throws RecognitionException {
        try {
            // InternalRosetta.g:2892:1: ( ruleRosettaExternalClassSynonym EOF )
            // InternalRosetta.g:2893:1: ruleRosettaExternalClassSynonym EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassSynonymRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaExternalClassSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassSynonymRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaExternalClassSynonym"
    // $ANTLR start "ruleRosettaExternalClassSynonym"
    // InternalRosetta.g:2900:1: ruleRosettaExternalClassSynonym : ( ( rule__RosettaExternalClassSynonym__Group__0 ) ) ;
    public final void ruleRosettaExternalClassSynonym() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2904:2: ( ( ( rule__RosettaExternalClassSynonym__Group__0 ) ) )
            // InternalRosetta.g:2905:2: ( ( rule__RosettaExternalClassSynonym__Group__0 ) )
            {
            // InternalRosetta.g:2905:2: ( ( rule__RosettaExternalClassSynonym__Group__0 ) )
            // InternalRosetta.g:2906:3: ( rule__RosettaExternalClassSynonym__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassSynonymAccess().getGroup()); }
            // InternalRosetta.g:2907:3: ( rule__RosettaExternalClassSynonym__Group__0 )
            // InternalRosetta.g:2907:4: rule__RosettaExternalClassSynonym__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClassSynonym__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassSynonymAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaExternalClassSynonym"
    // $ANTLR start "entryRuleRosettaExternalSynonym"
    // InternalRosetta.g:2916:1: entryRuleRosettaExternalSynonym : ruleRosettaExternalSynonym EOF ;
    public final void entryRuleRosettaExternalSynonym() throws RecognitionException {
        try {
            // InternalRosetta.g:2917:1: ( ruleRosettaExternalSynonym EOF )
            // InternalRosetta.g:2918:1: ruleRosettaExternalSynonym EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaExternalSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaExternalSynonym"
    // $ANTLR start "ruleRosettaExternalSynonym"
    // InternalRosetta.g:2925:1: ruleRosettaExternalSynonym : ( ( rule__RosettaExternalSynonym__Group__0 ) ) ;
    public final void ruleRosettaExternalSynonym() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2929:2: ( ( ( rule__RosettaExternalSynonym__Group__0 ) ) )
            // InternalRosetta.g:2930:2: ( ( rule__RosettaExternalSynonym__Group__0 ) )
            {
            // InternalRosetta.g:2930:2: ( ( rule__RosettaExternalSynonym__Group__0 ) )
            // InternalRosetta.g:2931:3: ( rule__RosettaExternalSynonym__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymAccess().getGroup()); }
            // InternalRosetta.g:2932:3: ( rule__RosettaExternalSynonym__Group__0 )
            // InternalRosetta.g:2932:4: rule__RosettaExternalSynonym__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonym__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaExternalSynonym"
    // $ANTLR start "entryRuleRosettaExternalEnumSynonym"
    // InternalRosetta.g:2941:1: entryRuleRosettaExternalEnumSynonym : ruleRosettaExternalEnumSynonym EOF ;
    public final void entryRuleRosettaExternalEnumSynonym() throws RecognitionException {
        try {
            // InternalRosetta.g:2942:1: ( ruleRosettaExternalEnumSynonym EOF )
            // InternalRosetta.g:2943:1: ruleRosettaExternalEnumSynonym EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaExternalEnumSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaExternalEnumSynonym"
    // $ANTLR start "ruleRosettaExternalEnumSynonym"
    // InternalRosetta.g:2950:1: ruleRosettaExternalEnumSynonym : ( ( rule__RosettaExternalEnumSynonym__Group__0 ) ) ;
    public final void ruleRosettaExternalEnumSynonym() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2954:2: ( ( ( rule__RosettaExternalEnumSynonym__Group__0 ) ) )
            // InternalRosetta.g:2955:2: ( ( rule__RosettaExternalEnumSynonym__Group__0 ) )
            {
            // InternalRosetta.g:2955:2: ( ( rule__RosettaExternalEnumSynonym__Group__0 ) )
            // InternalRosetta.g:2956:3: ( rule__RosettaExternalEnumSynonym__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getGroup()); }
            // InternalRosetta.g:2957:3: ( rule__RosettaExternalEnumSynonym__Group__0 )
            // InternalRosetta.g:2957:4: rule__RosettaExternalEnumSynonym__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaExternalEnumSynonym"
    // $ANTLR start "entryRuleRegulatoryDocumentReference"
    // InternalRosetta.g:2966:1: entryRuleRegulatoryDocumentReference : ruleRegulatoryDocumentReference EOF ;
    public final void entryRuleRegulatoryDocumentReference() throws RecognitionException {
        try {
            // InternalRosetta.g:2967:1: ( ruleRegulatoryDocumentReference EOF )
            // InternalRosetta.g:2968:1: ruleRegulatoryDocumentReference EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRegulatoryDocumentReferenceRule()); }
            pushFollow(FOLLOW_1);
            ruleRegulatoryDocumentReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRegulatoryDocumentReferenceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRegulatoryDocumentReference"
    // $ANTLR start "ruleRegulatoryDocumentReference"
    // InternalRosetta.g:2975:1: ruleRegulatoryDocumentReference : ( ( rule__RegulatoryDocumentReference__Group__0 ) ) ;
    public final void ruleRegulatoryDocumentReference() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:2979:2: ( ( ( rule__RegulatoryDocumentReference__Group__0 ) ) )
            // InternalRosetta.g:2980:2: ( ( rule__RegulatoryDocumentReference__Group__0 ) )
            {
            // InternalRosetta.g:2980:2: ( ( rule__RegulatoryDocumentReference__Group__0 ) )
            // InternalRosetta.g:2981:3: ( rule__RegulatoryDocumentReference__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRegulatoryDocumentReferenceAccess().getGroup()); }
            // InternalRosetta.g:2982:3: ( rule__RegulatoryDocumentReference__Group__0 )
            // InternalRosetta.g:2982:4: rule__RegulatoryDocumentReference__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RegulatoryDocumentReference__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRegulatoryDocumentReferenceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRegulatoryDocumentReference"
    // $ANTLR start "entryRuleRosettaSegmentRef"
    // InternalRosetta.g:2991:1: entryRuleRosettaSegmentRef : ruleRosettaSegmentRef EOF ;
    public final void entryRuleRosettaSegmentRef() throws RecognitionException {
        try {
            // InternalRosetta.g:2992:1: ( ruleRosettaSegmentRef EOF )
            // InternalRosetta.g:2993:1: ruleRosettaSegmentRef EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentRefRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaSegmentRef(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentRefRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaSegmentRef"
    // $ANTLR start "ruleRosettaSegmentRef"
    // InternalRosetta.g:3000:1: ruleRosettaSegmentRef : ( ( rule__RosettaSegmentRef__Group__0 ) ) ;
    public final void ruleRosettaSegmentRef() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3004:2: ( ( ( rule__RosettaSegmentRef__Group__0 ) ) )
            // InternalRosetta.g:3005:2: ( ( rule__RosettaSegmentRef__Group__0 ) )
            {
            // InternalRosetta.g:3005:2: ( ( rule__RosettaSegmentRef__Group__0 ) )
            // InternalRosetta.g:3006:3: ( rule__RosettaSegmentRef__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentRefAccess().getGroup()); }
            // InternalRosetta.g:3007:3: ( rule__RosettaSegmentRef__Group__0 )
            // InternalRosetta.g:3007:4: rule__RosettaSegmentRef__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSegmentRef__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentRefAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaSegmentRef"
    // $ANTLR start "entryRuleRosettaReport"
    // InternalRosetta.g:3016:1: entryRuleRosettaReport : ruleRosettaReport EOF ;
    public final void entryRuleRosettaReport() throws RecognitionException {
        try {
            // InternalRosetta.g:3017:1: ( ruleRosettaReport EOF )
            // InternalRosetta.g:3018:1: ruleRosettaReport EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaReport(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaReport"
    // $ANTLR start "ruleRosettaReport"
    // InternalRosetta.g:3025:1: ruleRosettaReport : ( ( rule__RosettaReport__Group__0 ) ) ;
    public final void ruleRosettaReport() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3029:2: ( ( ( rule__RosettaReport__Group__0 ) ) )
            // InternalRosetta.g:3030:2: ( ( rule__RosettaReport__Group__0 ) )
            {
            // InternalRosetta.g:3030:2: ( ( rule__RosettaReport__Group__0 ) )
            // InternalRosetta.g:3031:3: ( rule__RosettaReport__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getGroup()); }
            // InternalRosetta.g:3032:3: ( rule__RosettaReport__Group__0 )
            // InternalRosetta.g:3032:4: rule__RosettaReport__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaReport"
    // $ANTLR start "entryRuleRosettaRuleReference"
    // InternalRosetta.g:3041:1: entryRuleRosettaRuleReference : ruleRosettaRuleReference EOF ;
    public final void entryRuleRosettaRuleReference() throws RecognitionException {
        try {
            // InternalRosetta.g:3042:1: ( ruleRosettaRuleReference EOF )
            // InternalRosetta.g:3043:1: ruleRosettaRuleReference EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleReferenceRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaRuleReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleReferenceRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaRuleReference"
    // $ANTLR start "ruleRosettaRuleReference"
    // InternalRosetta.g:3050:1: ruleRosettaRuleReference : ( ( rule__RosettaRuleReference__Group__0 ) ) ;
    public final void ruleRosettaRuleReference() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3054:2: ( ( ( rule__RosettaRuleReference__Group__0 ) ) )
            // InternalRosetta.g:3055:2: ( ( rule__RosettaRuleReference__Group__0 ) )
            {
            // InternalRosetta.g:3055:2: ( ( rule__RosettaRuleReference__Group__0 ) )
            // InternalRosetta.g:3056:3: ( rule__RosettaRuleReference__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleReferenceAccess().getGroup()); }
            // InternalRosetta.g:3057:3: ( rule__RosettaRuleReference__Group__0 )
            // InternalRosetta.g:3057:4: rule__RosettaRuleReference__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRuleReference__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleReferenceAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaRuleReference"
    // $ANTLR start "entryRuleRosettaRule"
    // InternalRosetta.g:3066:1: entryRuleRosettaRule : ruleRosettaRule EOF ;
    public final void entryRuleRosettaRule() throws RecognitionException {
        try {
            // InternalRosetta.g:3067:1: ( ruleRosettaRule EOF )
            // InternalRosetta.g:3068:1: ruleRosettaRule EOF
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleRule()); }
            pushFollow(FOLLOW_1);
            ruleRosettaRule(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleRule()); }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); }
    }
    // $ANTLR end "entryRuleRosettaRule"
    // $ANTLR start "ruleRosettaRule"
    // InternalRosetta.g:3075:1: ruleRosettaRule : ( ( rule__RosettaRule__Group__0 ) ) ;
    public final void ruleRosettaRule() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3079:2: ( ( ( rule__RosettaRule__Group__0 ) ) )
            // InternalRosetta.g:3080:2: ( ( rule__RosettaRule__Group__0 ) )
            {
            // InternalRosetta.g:3080:2: ( ( rule__RosettaRule__Group__0 ) )
            // InternalRosetta.g:3081:3: ( rule__RosettaRule__Group__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getGroup()); }
            // InternalRosetta.g:3082:3: ( rule__RosettaRule__Group__0 )
            // InternalRosetta.g:3082:4: rule__RosettaRule__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getGroup()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaRule"
    // $ANTLR start "ruleNecessity"
    // InternalRosetta.g:3091:1: ruleNecessity : ( ( rule__Necessity__Alternatives ) ) ;
    public final void ruleNecessity() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3095:1: ( ( ( rule__Necessity__Alternatives ) ) )
            // InternalRosetta.g:3096:2: ( ( rule__Necessity__Alternatives ) )
            {
            // InternalRosetta.g:3096:2: ( ( rule__Necessity__Alternatives ) )
            // InternalRosetta.g:3097:3: ( rule__Necessity__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getNecessityAccess().getAlternatives()); }
            // InternalRosetta.g:3098:3: ( rule__Necessity__Alternatives )
            // InternalRosetta.g:3098:4: rule__Necessity__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__Necessity__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getNecessityAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleNecessity"
    // $ANTLR start "ruleRosettaSynonymRef"
    // InternalRosetta.g:3107:1: ruleRosettaSynonymRef : ( ( rule__RosettaSynonymRef__Alternatives ) ) ;
    public final void ruleRosettaSynonymRef() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3111:1: ( ( ( rule__RosettaSynonymRef__Alternatives ) ) )
            // InternalRosetta.g:3112:2: ( ( rule__RosettaSynonymRef__Alternatives ) )
            {
            // InternalRosetta.g:3112:2: ( ( rule__RosettaSynonymRef__Alternatives ) )
            // InternalRosetta.g:3113:3: ( rule__RosettaSynonymRef__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymRefAccess().getAlternatives()); }
            // InternalRosetta.g:3114:3: ( rule__RosettaSynonymRef__Alternatives )
            // InternalRosetta.g:3114:4: rule__RosettaSynonymRef__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymRef__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymRefAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaSynonymRef"
    // $ANTLR start "ruleRosettaQualifiableType"
    // InternalRosetta.g:3123:1: ruleRosettaQualifiableType : ( ( rule__RosettaQualifiableType__Alternatives ) ) ;
    public final void ruleRosettaQualifiableType() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3127:1: ( ( ( rule__RosettaQualifiableType__Alternatives ) ) )
            // InternalRosetta.g:3128:2: ( ( rule__RosettaQualifiableType__Alternatives ) )
            {
            // InternalRosetta.g:3128:2: ( ( rule__RosettaQualifiableType__Alternatives ) )
            // InternalRosetta.g:3129:3: ( rule__RosettaQualifiableType__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiableTypeAccess().getAlternatives()); }
            // InternalRosetta.g:3130:3: ( rule__RosettaQualifiableType__Alternatives )
            // InternalRosetta.g:3130:4: rule__RosettaQualifiableType__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiableType__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiableTypeAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleRosettaQualifiableType"
    // $ANTLR start "ruleCardinalityModifier"
    // InternalRosetta.g:3139:1: ruleCardinalityModifier : ( ( rule__CardinalityModifier__Alternatives ) ) ;
    public final void ruleCardinalityModifier() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3143:1: ( ( ( rule__CardinalityModifier__Alternatives ) ) )
            // InternalRosetta.g:3144:2: ( ( rule__CardinalityModifier__Alternatives ) )
            {
            // InternalRosetta.g:3144:2: ( ( rule__CardinalityModifier__Alternatives ) )
            // InternalRosetta.g:3145:3: ( rule__CardinalityModifier__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getCardinalityModifierAccess().getAlternatives()); }
            // InternalRosetta.g:3146:3: ( rule__CardinalityModifier__Alternatives )
            // InternalRosetta.g:3146:4: rule__CardinalityModifier__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__CardinalityModifier__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getCardinalityModifierAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleCardinalityModifier"
    // $ANTLR start "ruleExistsModifier"
    // InternalRosetta.g:3155:1: ruleExistsModifier : ( ( rule__ExistsModifier__Alternatives ) ) ;
    public final void ruleExistsModifier() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3159:1: ( ( ( rule__ExistsModifier__Alternatives ) ) )
            // InternalRosetta.g:3160:2: ( ( rule__ExistsModifier__Alternatives ) )
            {
            // InternalRosetta.g:3160:2: ( ( rule__ExistsModifier__Alternatives ) )
            // InternalRosetta.g:3161:3: ( rule__ExistsModifier__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getExistsModifierAccess().getAlternatives()); }
            // InternalRosetta.g:3162:3: ( rule__ExistsModifier__Alternatives )
            // InternalRosetta.g:3162:4: rule__ExistsModifier__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__ExistsModifier__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getExistsModifierAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleExistsModifier"
    // $ANTLR start "ruleExternalValueOperator"
    // InternalRosetta.g:3171:1: ruleExternalValueOperator : ( ( rule__ExternalValueOperator__Alternatives ) ) ;
    public final void ruleExternalValueOperator() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3175:1: ( ( ( rule__ExternalValueOperator__Alternatives ) ) )
            // InternalRosetta.g:3176:2: ( ( rule__ExternalValueOperator__Alternatives ) )
            {
            // InternalRosetta.g:3176:2: ( ( rule__ExternalValueOperator__Alternatives ) )
            // InternalRosetta.g:3177:3: ( rule__ExternalValueOperator__Alternatives )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getExternalValueOperatorAccess().getAlternatives()); }
            // InternalRosetta.g:3178:3: ( rule__ExternalValueOperator__Alternatives )
            // InternalRosetta.g:3178:4: rule__ExternalValueOperator__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__ExternalValueOperator__Alternatives(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getExternalValueOperatorAccess().getAlternatives()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "ruleExternalValueOperator"
    // $ANTLR start "rule__RosettaModel__NameAlternatives_2_0"
    // InternalRosetta.g:3186:1: rule__RosettaModel__NameAlternatives_2_0 : ( ( ruleQualifiedName ) | ( RULE_STRING ) );
    public final void rule__RosettaModel__NameAlternatives_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3190:1: ( ( ruleQualifiedName ) | ( RULE_STRING ) )
            int alt1=2;
            int LA1_0 = input.LA(1);
            if ( (LA1_0==RULE_ID||(LA1_0>=14 && LA1_0<=18)) ) {
                alt1=1;
            }
            else if ( (LA1_0==RULE_STRING) ) {
                alt1=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);
                throw nvae;
            }
            switch (alt1) {
                case 1 :
                    // InternalRosetta.g:3191:2: ( ruleQualifiedName )
                    {
                    // InternalRosetta.g:3191:2: ( ruleQualifiedName )
                    // InternalRosetta.g:3192:3: ruleQualifiedName
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaModelAccess().getNameQualifiedNameParserRuleCall_2_0_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleQualifiedName();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaModelAccess().getNameQualifiedNameParserRuleCall_2_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3197:2: ( RULE_STRING )
                    {
                    // InternalRosetta.g:3197:2: ( RULE_STRING )
                    // InternalRosetta.g:3198:3: RULE_STRING
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaModelAccess().getNameSTRINGTerminalRuleCall_2_0_1()); 
                    }
                    match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaModelAccess().getNameSTRINGTerminalRuleCall_2_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__NameAlternatives_2_0"
    // $ANTLR start "rule__AnnotationQualifier__Alternatives_2"
    // InternalRosetta.g:3207:1: rule__AnnotationQualifier__Alternatives_2 : ( ( ( rule__AnnotationQualifier__QualValueAssignment_2_0 ) ) | ( ( rule__AnnotationQualifier__QualPathAssignment_2_1 ) ) );
    public final void rule__AnnotationQualifier__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3211:1: ( ( ( rule__AnnotationQualifier__QualValueAssignment_2_0 ) ) | ( ( rule__AnnotationQualifier__QualPathAssignment_2_1 ) ) )
            int alt2=2;
            int LA2_0 = input.LA(1);
            if ( (LA2_0==RULE_STRING) ) {
                alt2=1;
            }
            else if ( (LA2_0==RULE_ID||(LA2_0>=14 && LA2_0<=18)) ) {
                alt2=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);
                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // InternalRosetta.g:3212:2: ( ( rule__AnnotationQualifier__QualValueAssignment_2_0 ) )
                    {
                    // InternalRosetta.g:3212:2: ( ( rule__AnnotationQualifier__QualValueAssignment_2_0 ) )
                    // InternalRosetta.g:3213:3: ( rule__AnnotationQualifier__QualValueAssignment_2_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAnnotationQualifierAccess().getQualValueAssignment_2_0()); 
                    }
                    // InternalRosetta.g:3214:3: ( rule__AnnotationQualifier__QualValueAssignment_2_0 )
                    // InternalRosetta.g:3214:4: rule__AnnotationQualifier__QualValueAssignment_2_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__AnnotationQualifier__QualValueAssignment_2_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAnnotationQualifierAccess().getQualValueAssignment_2_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3218:2: ( ( rule__AnnotationQualifier__QualPathAssignment_2_1 ) )
                    {
                    // InternalRosetta.g:3218:2: ( ( rule__AnnotationQualifier__QualPathAssignment_2_1 ) )
                    // InternalRosetta.g:3219:3: ( rule__AnnotationQualifier__QualPathAssignment_2_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAnnotationQualifierAccess().getQualPathAssignment_2_1()); 
                    }
                    // InternalRosetta.g:3220:3: ( rule__AnnotationQualifier__QualPathAssignment_2_1 )
                    // InternalRosetta.g:3220:4: rule__AnnotationQualifier__QualPathAssignment_2_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__AnnotationQualifier__QualPathAssignment_2_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAnnotationQualifierAccess().getQualPathAssignment_2_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationQualifier__Alternatives_2"
    // $ANTLR start "rule__Data__Alternatives_5"
    // InternalRosetta.g:3228:1: rule__Data__Alternatives_5 : ( ( ruleReferences ) | ( ruleAnnotations ) | ( ruleClassSynonyms ) );
    public final void rule__Data__Alternatives_5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3232:1: ( ( ruleReferences ) | ( ruleAnnotations ) | ( ruleClassSynonyms ) )
            int alt3=3;
            int LA3_0 = input.LA(1);
            if ( (LA3_0==65) ) {
                switch ( input.LA(2) ) {
                case RULE_ID:
                case 14:
                case 15:
                case 16:
                case 17:
                case 18:
                    {
                    alt3=2;
                    }
                    break;
                case 81:
                    {
                    alt3=3;
                    }
                    break;
                case 21:
                case 22:
                    {
                    alt3=1;
                    }
                    break;
                default:
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 3, 1, input);
                    throw nvae;
                }}
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);
                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // InternalRosetta.g:3233:2: ( ruleReferences )
                    {
                    // InternalRosetta.g:3233:2: ( ruleReferences )
                    // InternalRosetta.g:3234:3: ruleReferences
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDataAccess().getReferencesParserRuleCall_5_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleReferences();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDataAccess().getReferencesParserRuleCall_5_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3239:2: ( ruleAnnotations )
                    {
                    // InternalRosetta.g:3239:2: ( ruleAnnotations )
                    // InternalRosetta.g:3240:3: ruleAnnotations
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDataAccess().getAnnotationsParserRuleCall_5_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleAnnotations();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDataAccess().getAnnotationsParserRuleCall_5_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3245:2: ( ruleClassSynonyms )
                    {
                    // InternalRosetta.g:3245:2: ( ruleClassSynonyms )
                    // InternalRosetta.g:3246:3: ruleClassSynonyms
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDataAccess().getClassSynonymsParserRuleCall_5_2()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleClassSynonyms();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDataAccess().getClassSynonymsParserRuleCall_5_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Alternatives_5"
    // $ANTLR start "rule__Choice__Alternatives_4"
    // InternalRosetta.g:3255:1: rule__Choice__Alternatives_4 : ( ( ruleAnnotations ) | ( ruleClassSynonyms ) );
    public final void rule__Choice__Alternatives_4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3259:1: ( ( ruleAnnotations ) | ( ruleClassSynonyms ) )
            int alt4=2;
            int LA4_0 = input.LA(1);
            if ( (LA4_0==65) ) {
                int LA4_1 = input.LA(2);
                if ( (LA4_1==RULE_ID||(LA4_1>=14 && LA4_1<=18)) ) {
                    alt4=1;
                }
                else if ( (LA4_1==81) ) {
                    alt4=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 4, 1, input);
                    throw nvae;
                }}
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);
                throw nvae;
            }
            switch (alt4) {
                case 1 :
                    // InternalRosetta.g:3260:2: ( ruleAnnotations )
                    {
                    // InternalRosetta.g:3260:2: ( ruleAnnotations )
                    // InternalRosetta.g:3261:3: ruleAnnotations
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getChoiceAccess().getAnnotationsParserRuleCall_4_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleAnnotations();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getChoiceAccess().getAnnotationsParserRuleCall_4_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3266:2: ( ruleClassSynonyms )
                    {
                    // InternalRosetta.g:3266:2: ( ruleClassSynonyms )
                    // InternalRosetta.g:3267:3: ruleClassSynonyms
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getChoiceAccess().getClassSynonymsParserRuleCall_4_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleClassSynonyms();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getChoiceAccess().getClassSynonymsParserRuleCall_4_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Alternatives_4"
    // $ANTLR start "rule__ChoiceOption__Alternatives_2"
    // InternalRosetta.g:3276:1: rule__ChoiceOption__Alternatives_2 : ( ( ruleReferences ) | ( ruleAnnotations ) | ( ruleSynonyms ) );
    public final void rule__ChoiceOption__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3280:1: ( ( ruleReferences ) | ( ruleAnnotations ) | ( ruleSynonyms ) )
            int alt5=3;
            int LA5_0 = input.LA(1);
            if ( (LA5_0==65) ) {
                switch ( input.LA(2) ) {
                case RULE_ID:
                case 14:
                case 15:
                case 16:
                case 17:
                case 18:
                    {
                    alt5=2;
                    }
                    break;
                case 81:
                    {
                    alt5=3;
                    }
                    break;
                case 21:
                case 22:
                    {
                    alt5=1;
                    }
                    break;
                default:
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 5, 1, 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 :
                    // InternalRosetta.g:3281:2: ( ruleReferences )
                    {
                    // InternalRosetta.g:3281:2: ( ruleReferences )
                    // InternalRosetta.g:3282:3: ruleReferences
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getChoiceOptionAccess().getReferencesParserRuleCall_2_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleReferences();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getChoiceOptionAccess().getReferencesParserRuleCall_2_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3287:2: ( ruleAnnotations )
                    {
                    // InternalRosetta.g:3287:2: ( ruleAnnotations )
                    // InternalRosetta.g:3288:3: ruleAnnotations
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getChoiceOptionAccess().getAnnotationsParserRuleCall_2_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleAnnotations();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getChoiceOptionAccess().getAnnotationsParserRuleCall_2_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3293:2: ( ruleSynonyms )
                    {
                    // InternalRosetta.g:3293:2: ( ruleSynonyms )
                    // InternalRosetta.g:3294:3: ruleSynonyms
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getChoiceOptionAccess().getSynonymsParserRuleCall_2_2()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleSynonyms();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getChoiceOptionAccess().getSynonymsParserRuleCall_2_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ChoiceOption__Alternatives_2"
    // $ANTLR start "rule__Attribute__Alternatives_4"
    // InternalRosetta.g:3303:1: rule__Attribute__Alternatives_4 : ( ( ruleReferences ) | ( ruleAnnotations ) | ( ruleSynonyms ) );
    public final void rule__Attribute__Alternatives_4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3307:1: ( ( ruleReferences ) | ( ruleAnnotations ) | ( ruleSynonyms ) )
            int alt6=3;
            int LA6_0 = input.LA(1);
            if ( (LA6_0==65) ) {
                switch ( input.LA(2) ) {
                case RULE_ID:
                case 14:
                case 15:
                case 16:
                case 17:
                case 18:
                    {
                    alt6=2;
                    }
                    break;
                case 81:
                    {
                    alt6=3;
                    }
                    break;
                case 21:
                case 22:
                    {
                    alt6=1;
                    }
                    break;
                default:
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 6, 1, input);
                    throw nvae;
                }}
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);
                throw nvae;
            }
            switch (alt6) {
                case 1 :
                    // InternalRosetta.g:3308:2: ( ruleReferences )
                    {
                    // InternalRosetta.g:3308:2: ( ruleReferences )
                    // InternalRosetta.g:3309:3: ruleReferences
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAttributeAccess().getReferencesParserRuleCall_4_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleReferences();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAttributeAccess().getReferencesParserRuleCall_4_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3314:2: ( ruleAnnotations )
                    {
                    // InternalRosetta.g:3314:2: ( ruleAnnotations )
                    // InternalRosetta.g:3315:3: ruleAnnotations
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAttributeAccess().getAnnotationsParserRuleCall_4_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleAnnotations();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAttributeAccess().getAnnotationsParserRuleCall_4_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3320:2: ( ruleSynonyms )
                    {
                    // InternalRosetta.g:3320:2: ( ruleSynonyms )
                    // InternalRosetta.g:3321:3: ruleSynonyms
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAttributeAccess().getSynonymsParserRuleCall_4_2()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleSynonyms();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAttributeAccess().getSynonymsParserRuleCall_4_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Alternatives_4"
    // $ANTLR start "rule__Enumeration__Alternatives_5"
    // InternalRosetta.g:3330:1: rule__Enumeration__Alternatives_5 : ( ( ruleReferences ) | ( ruleAnnotations ) | ( ( rule__Enumeration__SynonymsAssignment_5_2 ) ) );
    public final void rule__Enumeration__Alternatives_5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3334:1: ( ( ruleReferences ) | ( ruleAnnotations ) | ( ( rule__Enumeration__SynonymsAssignment_5_2 ) ) )
            int alt7=3;
            int LA7_0 = input.LA(1);
            if ( (LA7_0==65) ) {
                switch ( input.LA(2) ) {
                case 81:
                    {
                    alt7=3;
                    }
                    break;
                case RULE_ID:
                case 14:
                case 15:
                case 16:
                case 17:
                case 18:
                    {
                    alt7=2;
                    }
                    break;
                case 21:
                case 22:
                    {
                    alt7=1;
                    }
                    break;
                default:
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 7, 1, input);
                    throw nvae;
                }}
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);
                throw nvae;
            }
            switch (alt7) {
                case 1 :
                    // InternalRosetta.g:3335:2: ( ruleReferences )
                    {
                    // InternalRosetta.g:3335:2: ( ruleReferences )
                    // InternalRosetta.g:3336:3: ruleReferences
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getEnumerationAccess().getReferencesParserRuleCall_5_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleReferences();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getEnumerationAccess().getReferencesParserRuleCall_5_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3341:2: ( ruleAnnotations )
                    {
                    // InternalRosetta.g:3341:2: ( ruleAnnotations )
                    // InternalRosetta.g:3342:3: ruleAnnotations
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getEnumerationAccess().getAnnotationsParserRuleCall_5_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleAnnotations();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getEnumerationAccess().getAnnotationsParserRuleCall_5_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3347:2: ( ( rule__Enumeration__SynonymsAssignment_5_2 ) )
                    {
                    // InternalRosetta.g:3347:2: ( ( rule__Enumeration__SynonymsAssignment_5_2 ) )
                    // InternalRosetta.g:3348:3: ( rule__Enumeration__SynonymsAssignment_5_2 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getEnumerationAccess().getSynonymsAssignment_5_2()); 
                    }
                    // InternalRosetta.g:3349:3: ( rule__Enumeration__SynonymsAssignment_5_2 )
                    // InternalRosetta.g:3349:4: rule__Enumeration__SynonymsAssignment_5_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__Enumeration__SynonymsAssignment_5_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getEnumerationAccess().getSynonymsAssignment_5_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Alternatives_5"
    // $ANTLR start "rule__Function__Alternatives_1"
    // InternalRosetta.g:3357:1: rule__Function__Alternatives_1 : ( ( ruleRosettaNamed ) | ( ( rule__Function__Group_1_1__0 ) ) );
    public final void rule__Function__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3361:1: ( ( ruleRosettaNamed ) | ( ( rule__Function__Group_1_1__0 ) ) )
            int alt8=2;
            switch ( input.LA(1) ) {
            case RULE_ID:
                {
                int LA8_1 = input.LA(2);
                if ( (LA8_1==60) ) {
                    alt8=1;
                }
                else if ( (LA8_1==73) ) {
                    alt8=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 8, 1, input);
                    throw nvae;
                }
                }
                break;
            case 14:
                {
                int LA8_2 = input.LA(2);
                if ( (LA8_2==60) ) {
                    alt8=1;
                }
                else if ( (LA8_2==73) ) {
                    alt8=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 8, 2, input);
                    throw nvae;
                }
                }
                break;
            case 15:
                {
                int LA8_3 = input.LA(2);
                if ( (LA8_3==60) ) {
                    alt8=1;
                }
                else if ( (LA8_3==73) ) {
                    alt8=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 8, 3, input);
                    throw nvae;
                }
                }
                break;
            case 16:
                {
                int LA8_4 = input.LA(2);
                if ( (LA8_4==73) ) {
                    alt8=2;
                }
                else if ( (LA8_4==60) ) {
                    alt8=1;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 8, 4, input);
                    throw nvae;
                }
                }
                break;
            case 17:
                {
                int LA8_5 = input.LA(2);
                if ( (LA8_5==60) ) {
                    alt8=1;
                }
                else if ( (LA8_5==73) ) {
                    alt8=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 8, 5, input);
                    throw nvae;
                }
                }
                break;
            case 18:
                {
                int LA8_6 = input.LA(2);
                if ( (LA8_6==73) ) {
                    alt8=2;
                }
                else if ( (LA8_6==60) ) {
                    alt8=1;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 8, 6, input);
                    throw nvae;
                }
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);
                throw nvae;
            }
            switch (alt8) {
                case 1 :
                    // InternalRosetta.g:3362:2: ( ruleRosettaNamed )
                    {
                    // InternalRosetta.g:3362:2: ( ruleRosettaNamed )
                    // InternalRosetta.g:3363:3: ruleRosettaNamed
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFunctionAccess().getRosettaNamedParserRuleCall_1_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaNamed();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFunctionAccess().getRosettaNamedParserRuleCall_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3368:2: ( ( rule__Function__Group_1_1__0 ) )
                    {
                    // InternalRosetta.g:3368:2: ( ( rule__Function__Group_1_1__0 ) )
                    // InternalRosetta.g:3369:3: ( rule__Function__Group_1_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFunctionAccess().getGroup_1_1()); 
                    }
                    // InternalRosetta.g:3370:3: ( rule__Function__Group_1_1__0 )
                    // InternalRosetta.g:3370:4: rule__Function__Group_1_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__Function__Group_1_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFunctionAccess().getGroup_1_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Alternatives_1"
    // $ANTLR start "rule__Function__Alternatives_4"
    // InternalRosetta.g:3378:1: rule__Function__Alternatives_4 : ( ( ruleReferences ) | ( ruleAnnotations ) );
    public final void rule__Function__Alternatives_4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3382:1: ( ( ruleReferences ) | ( ruleAnnotations ) )
            int alt9=2;
            int LA9_0 = input.LA(1);
            if ( (LA9_0==65) ) {
                int LA9_1 = input.LA(2);
                if ( ((LA9_1>=21 && LA9_1<=22)) ) {
                    alt9=1;
                }
                else if ( (LA9_1==RULE_ID||(LA9_1>=14 && LA9_1<=18)) ) {
                    alt9=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 9, 1, input);
                    throw nvae;
                }}
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);
                throw nvae;
            }
            switch (alt9) {
                case 1 :
                    // InternalRosetta.g:3383:2: ( ruleReferences )
                    {
                    // InternalRosetta.g:3383:2: ( ruleReferences )
                    // InternalRosetta.g:3384:3: ruleReferences
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFunctionAccess().getReferencesParserRuleCall_4_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleReferences();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFunctionAccess().getReferencesParserRuleCall_4_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3389:2: ( ruleAnnotations )
                    {
                    // InternalRosetta.g:3389:2: ( ruleAnnotations )
                    // InternalRosetta.g:3390:3: ruleAnnotations
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFunctionAccess().getAnnotationsParserRuleCall_4_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleAnnotations();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFunctionAccess().getAnnotationsParserRuleCall_4_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Alternatives_4"
    // $ANTLR start "rule__Condition__Alternatives_4_0"
    // InternalRosetta.g:3399:1: rule__Condition__Alternatives_4_0 : ( ( ruleReferences ) | ( ruleAnnotations ) );
    public final void rule__Condition__Alternatives_4_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3403:1: ( ( ruleReferences ) | ( ruleAnnotations ) )
            int alt10=2;
            int LA10_0 = input.LA(1);
            if ( (LA10_0==65) ) {
                int LA10_1 = input.LA(2);
                if ( ((LA10_1>=21 && LA10_1<=22)) ) {
                    alt10=1;
                }
                else if ( (LA10_1==RULE_ID||(LA10_1>=14 && LA10_1<=18)) ) {
                    alt10=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 10, 1, input);
                    throw nvae;
                }}
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 10, 0, input);
                throw nvae;
            }
            switch (alt10) {
                case 1 :
                    // InternalRosetta.g:3404:2: ( ruleReferences )
                    {
                    // InternalRosetta.g:3404:2: ( ruleReferences )
                    // InternalRosetta.g:3405:3: ruleReferences
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getConditionAccess().getReferencesParserRuleCall_4_0_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleReferences();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getConditionAccess().getReferencesParserRuleCall_4_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3410:2: ( ruleAnnotations )
                    {
                    // InternalRosetta.g:3410:2: ( ruleAnnotations )
                    // InternalRosetta.g:3411:3: ruleAnnotations
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getConditionAccess().getAnnotationsParserRuleCall_4_0_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleAnnotations();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getConditionAccess().getAnnotationsParserRuleCall_4_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Alternatives_4_0"
    // $ANTLR start "rule__Operation__Alternatives_0"
    // InternalRosetta.g:3420:1: rule__Operation__Alternatives_0 : ( ( 'set' ) | ( ( rule__Operation__AddAssignment_0_1 ) ) );
    public final void rule__Operation__Alternatives_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3424:1: ( ( 'set' ) | ( ( rule__Operation__AddAssignment_0_1 ) ) )
            int alt11=2;
            int LA11_0 = input.LA(1);
            if ( (LA11_0==11) ) {
                alt11=1;
            }
            else if ( (LA11_0==133) ) {
                alt11=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);
                throw nvae;
            }
            switch (alt11) {
                case 1 :
                    // InternalRosetta.g:3425:2: ( 'set' )
                    {
                    // InternalRosetta.g:3425:2: ( 'set' )
                    // InternalRosetta.g:3426:3: 'set'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getOperationAccess().getSetKeyword_0_0()); 
                    }
                    match(input,11,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getOperationAccess().getSetKeyword_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3431:2: ( ( rule__Operation__AddAssignment_0_1 ) )
                    {
                    // InternalRosetta.g:3431:2: ( ( rule__Operation__AddAssignment_0_1 ) )
                    // InternalRosetta.g:3432:3: ( rule__Operation__AddAssignment_0_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getOperationAccess().getAddAssignment_0_1()); 
                    }
                    // InternalRosetta.g:3433:3: ( rule__Operation__AddAssignment_0_1 )
                    // InternalRosetta.g:3433:4: rule__Operation__AddAssignment_0_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__Operation__AddAssignment_0_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getOperationAccess().getAddAssignment_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Alternatives_0"
    // $ANTLR start "rule__RosettaRootElement__Alternatives"
    // InternalRosetta.g:3441:1: rule__RosettaRootElement__Alternatives : ( ( ruleEnumeration ) | ( ruleRosettaBody ) | ( ruleRosettaCorpus ) | ( ruleRosettaSegment ) | ( ruleRosettaBasicType ) | ( ruleRosettaRecordType ) | ( ruleRosettaLibraryFunction ) | ( ruleRosettaSynonymSource ) | ( ruleRosettaRule ) | ( ruleRosettaMetaType ) | ( ruleRosettaExternalSynonymSource ) | ( ruleRosettaExternalRuleSource ) | ( ruleRosettaReport ) | ( ruleRosettaTypeAlias ) | ( ruleRosettaQualifiedType ) | ( ruleRosettaCalculationType ) | ( ruleAnnotation ) | ( ruleData ) | ( ruleChoice ) | ( ruleFunction ) );
    public final void rule__RosettaRootElement__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3445:1: ( ( ruleEnumeration ) | ( ruleRosettaBody ) | ( ruleRosettaCorpus ) | ( ruleRosettaSegment ) | ( ruleRosettaBasicType ) | ( ruleRosettaRecordType ) | ( ruleRosettaLibraryFunction ) | ( ruleRosettaSynonymSource ) | ( ruleRosettaRule ) | ( ruleRosettaMetaType ) | ( ruleRosettaExternalSynonymSource ) | ( ruleRosettaExternalRuleSource ) | ( ruleRosettaReport ) | ( ruleRosettaTypeAlias ) | ( ruleRosettaQualifiedType ) | ( ruleRosettaCalculationType ) | ( ruleAnnotation ) | ( ruleData ) | ( ruleChoice ) | ( ruleFunction ) )
            int alt12=20;
            alt12 = dfa12.predict(input);
            switch (alt12) {
                case 1 :
                    // InternalRosetta.g:3446:2: ( ruleEnumeration )
                    {
                    // InternalRosetta.g:3446:2: ( ruleEnumeration )
                    // InternalRosetta.g:3447:3: ruleEnumeration
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getEnumerationParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleEnumeration();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getEnumerationParserRuleCall_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3452:2: ( ruleRosettaBody )
                    {
                    // InternalRosetta.g:3452:2: ( ruleRosettaBody )
                    // InternalRosetta.g:3453:3: ruleRosettaBody
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaBodyParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaBody();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaBodyParserRuleCall_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3458:2: ( ruleRosettaCorpus )
                    {
                    // InternalRosetta.g:3458:2: ( ruleRosettaCorpus )
                    // InternalRosetta.g:3459:3: ruleRosettaCorpus
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaCorpusParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaCorpus();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaCorpusParserRuleCall_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:3464:2: ( ruleRosettaSegment )
                    {
                    // InternalRosetta.g:3464:2: ( ruleRosettaSegment )
                    // InternalRosetta.g:3465:3: ruleRosettaSegment
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaSegmentParserRuleCall_3()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaSegment();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaSegmentParserRuleCall_3()); 
                    }
                    }
                    }
                    break;
                case 5 :
                    // InternalRosetta.g:3470:2: ( ruleRosettaBasicType )
                    {
                    // InternalRosetta.g:3470:2: ( ruleRosettaBasicType )
                    // InternalRosetta.g:3471:3: ruleRosettaBasicType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaBasicTypeParserRuleCall_4()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaBasicType();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaBasicTypeParserRuleCall_4()); 
                    }
                    }
                    }
                    break;
                case 6 :
                    // InternalRosetta.g:3476:2: ( ruleRosettaRecordType )
                    {
                    // InternalRosetta.g:3476:2: ( ruleRosettaRecordType )
                    // InternalRosetta.g:3477:3: ruleRosettaRecordType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaRecordTypeParserRuleCall_5()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaRecordType();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaRecordTypeParserRuleCall_5()); 
                    }
                    }
                    }
                    break;
                case 7 :
                    // InternalRosetta.g:3482:2: ( ruleRosettaLibraryFunction )
                    {
                    // InternalRosetta.g:3482:2: ( ruleRosettaLibraryFunction )
                    // InternalRosetta.g:3483:3: ruleRosettaLibraryFunction
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaLibraryFunctionParserRuleCall_6()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaLibraryFunction();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaLibraryFunctionParserRuleCall_6()); 
                    }
                    }
                    }
                    break;
                case 8 :
                    // InternalRosetta.g:3488:2: ( ruleRosettaSynonymSource )
                    {
                    // InternalRosetta.g:3488:2: ( ruleRosettaSynonymSource )
                    // InternalRosetta.g:3489:3: ruleRosettaSynonymSource
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaSynonymSourceParserRuleCall_7()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaSynonymSource();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaSynonymSourceParserRuleCall_7()); 
                    }
                    }
                    }
                    break;
                case 9 :
                    // InternalRosetta.g:3494:2: ( ruleRosettaRule )
                    {
                    // InternalRosetta.g:3494:2: ( ruleRosettaRule )
                    // InternalRosetta.g:3495:3: ruleRosettaRule
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaRuleParserRuleCall_8()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaRule();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaRuleParserRuleCall_8()); 
                    }
                    }
                    }
                    break;
                case 10 :
                    // InternalRosetta.g:3500:2: ( ruleRosettaMetaType )
                    {
                    // InternalRosetta.g:3500:2: ( ruleRosettaMetaType )
                    // InternalRosetta.g:3501:3: ruleRosettaMetaType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaMetaTypeParserRuleCall_9()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaMetaType();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaMetaTypeParserRuleCall_9()); 
                    }
                    }
                    }
                    break;
                case 11 :
                    // InternalRosetta.g:3506:2: ( ruleRosettaExternalSynonymSource )
                    {
                    // InternalRosetta.g:3506:2: ( ruleRosettaExternalSynonymSource )
                    // InternalRosetta.g:3507:3: ruleRosettaExternalSynonymSource
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaExternalSynonymSourceParserRuleCall_10()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaExternalSynonymSource();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaExternalSynonymSourceParserRuleCall_10()); 
                    }
                    }
                    }
                    break;
                case 12 :
                    // InternalRosetta.g:3512:2: ( ruleRosettaExternalRuleSource )
                    {
                    // InternalRosetta.g:3512:2: ( ruleRosettaExternalRuleSource )
                    // InternalRosetta.g:3513:3: ruleRosettaExternalRuleSource
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaExternalRuleSourceParserRuleCall_11()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaExternalRuleSource();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaExternalRuleSourceParserRuleCall_11()); 
                    }
                    }
                    }
                    break;
                case 13 :
                    // InternalRosetta.g:3518:2: ( ruleRosettaReport )
                    {
                    // InternalRosetta.g:3518:2: ( ruleRosettaReport )
                    // InternalRosetta.g:3519:3: ruleRosettaReport
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaReportParserRuleCall_12()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaReport();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaReportParserRuleCall_12()); 
                    }
                    }
                    }
                    break;
                case 14 :
                    // InternalRosetta.g:3524:2: ( ruleRosettaTypeAlias )
                    {
                    // InternalRosetta.g:3524:2: ( ruleRosettaTypeAlias )
                    // InternalRosetta.g:3525:3: ruleRosettaTypeAlias
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaTypeAliasParserRuleCall_13()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaTypeAlias();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaTypeAliasParserRuleCall_13()); 
                    }
                    }
                    }
                    break;
                case 15 :
                    // InternalRosetta.g:3530:2: ( ruleRosettaQualifiedType )
                    {
                    // InternalRosetta.g:3530:2: ( ruleRosettaQualifiedType )
                    // InternalRosetta.g:3531:3: ruleRosettaQualifiedType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaQualifiedTypeParserRuleCall_14()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaQualifiedType();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaQualifiedTypeParserRuleCall_14()); 
                    }
                    }
                    }
                    break;
                case 16 :
                    // InternalRosetta.g:3536:2: ( ruleRosettaCalculationType )
                    {
                    // InternalRosetta.g:3536:2: ( ruleRosettaCalculationType )
                    // InternalRosetta.g:3537:3: ruleRosettaCalculationType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getRosettaCalculationTypeParserRuleCall_15()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaCalculationType();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getRosettaCalculationTypeParserRuleCall_15()); 
                    }
                    }
                    }
                    break;
                case 17 :
                    // InternalRosetta.g:3542:2: ( ruleAnnotation )
                    {
                    // InternalRosetta.g:3542:2: ( ruleAnnotation )
                    // InternalRosetta.g:3543:3: ruleAnnotation
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getAnnotationParserRuleCall_16()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleAnnotation();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getAnnotationParserRuleCall_16()); 
                    }
                    }
                    }
                    break;
                case 18 :
                    // InternalRosetta.g:3548:2: ( ruleData )
                    {
                    // InternalRosetta.g:3548:2: ( ruleData )
                    // InternalRosetta.g:3549:3: ruleData
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getDataParserRuleCall_17()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleData();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getDataParserRuleCall_17()); 
                    }
                    }
                    }
                    break;
                case 19 :
                    // InternalRosetta.g:3554:2: ( ruleChoice )
                    {
                    // InternalRosetta.g:3554:2: ( ruleChoice )
                    // InternalRosetta.g:3555:3: ruleChoice
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getChoiceParserRuleCall_18()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleChoice();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getChoiceParserRuleCall_18()); 
                    }
                    }
                    }
                    break;
                case 20 :
                    // InternalRosetta.g:3560:2: ( ruleFunction )
                    {
                    // InternalRosetta.g:3560:2: ( ruleFunction )
                    // InternalRosetta.g:3561:3: ruleFunction
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRootElementAccess().getFunctionParserRuleCall_19()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleFunction();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRootElementAccess().getFunctionParserRuleCall_19()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRootElement__Alternatives"
    // $ANTLR start "rule__TypeCallArgumentExpression__Alternatives"
    // InternalRosetta.g:3570:1: rule__TypeCallArgumentExpression__Alternatives : ( ( ruleTypeParameterReference ) | ( ruleRosettaLiteral ) );
    public final void rule__TypeCallArgumentExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3574:1: ( ( ruleTypeParameterReference ) | ( ruleRosettaLiteral ) )
            int alt13=2;
            int LA13_0 = input.LA(1);
            if ( (LA13_0==RULE_ID||(LA13_0>=12 && LA13_0<=18)) ) {
                alt13=1;
            }
            else if ( (LA13_0==RULE_STRING||LA13_0==RULE_INT||(LA13_0>=28 && LA13_0<=29)||LA13_0==61||LA13_0==114||LA13_0==136) ) {
                alt13=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 13, 0, input);
                throw nvae;
            }
            switch (alt13) {
                case 1 :
                    // InternalRosetta.g:3575:2: ( ruleTypeParameterReference )
                    {
                    // InternalRosetta.g:3575:2: ( ruleTypeParameterReference )
                    // InternalRosetta.g:3576:3: ruleTypeParameterReference
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTypeCallArgumentExpressionAccess().getTypeParameterReferenceParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleTypeParameterReference();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTypeCallArgumentExpressionAccess().getTypeParameterReferenceParserRuleCall_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3581:2: ( ruleRosettaLiteral )
                    {
                    // InternalRosetta.g:3581:2: ( ruleRosettaLiteral )
                    // InternalRosetta.g:3582:3: ruleRosettaLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTypeCallArgumentExpressionAccess().getRosettaLiteralParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTypeCallArgumentExpressionAccess().getRosettaLiteralParserRuleCall_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCallArgumentExpression__Alternatives"
    // $ANTLR start "rule__TypeParameterValidID__Alternatives"
    // InternalRosetta.g:3591:1: rule__TypeParameterValidID__Alternatives : ( ( ruleValidID ) | ( 'min' ) | ( 'max' ) );
    public final void rule__TypeParameterValidID__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3595:1: ( ( ruleValidID ) | ( 'min' ) | ( 'max' ) )
            int alt14=3;
            switch ( input.LA(1) ) {
            case RULE_ID:
            case 14:
            case 15:
            case 16:
            case 17:
            case 18:
                {
                alt14=1;
                }
                break;
            case 12:
                {
                alt14=2;
                }
                break;
            case 13:
                {
                alt14=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 14, 0, input);
                throw nvae;
            }
            switch (alt14) {
                case 1 :
                    // InternalRosetta.g:3596:2: ( ruleValidID )
                    {
                    // InternalRosetta.g:3596:2: ( ruleValidID )
                    // InternalRosetta.g:3597:3: ruleValidID
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTypeParameterValidIDAccess().getValidIDParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleValidID();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTypeParameterValidIDAccess().getValidIDParserRuleCall_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3602:2: ( 'min' )
                    {
                    // InternalRosetta.g:3602:2: ( 'min' )
                    // InternalRosetta.g:3603:3: 'min'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTypeParameterValidIDAccess().getMinKeyword_1()); 
                    }
                    match(input,12,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTypeParameterValidIDAccess().getMinKeyword_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3608:2: ( 'max' )
                    {
                    // InternalRosetta.g:3608:2: ( 'max' )
                    // InternalRosetta.g:3609:3: 'max'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTypeParameterValidIDAccess().getMaxKeyword_2()); 
                    }
                    match(input,13,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTypeParameterValidIDAccess().getMaxKeyword_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameterValidID__Alternatives"
    // $ANTLR start "rule__ValidID__Alternatives"
    // InternalRosetta.g:3618:1: rule__ValidID__Alternatives : ( ( RULE_ID ) | ( 'condition' ) | ( 'source' ) | ( 'value' ) | ( 'version' ) | ( 'pattern' ) );
    public final void rule__ValidID__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3622:1: ( ( RULE_ID ) | ( 'condition' ) | ( 'source' ) | ( 'value' ) | ( 'version' ) | ( 'pattern' ) )
            int alt15=6;
            switch ( input.LA(1) ) {
            case RULE_ID:
                {
                alt15=1;
                }
                break;
            case 14:
                {
                alt15=2;
                }
                break;
            case 15:
                {
                alt15=3;
                }
                break;
            case 16:
                {
                alt15=4;
                }
                break;
            case 17:
                {
                alt15=5;
                }
                break;
            case 18:
                {
                alt15=6;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 15, 0, input);
                throw nvae;
            }
            switch (alt15) {
                case 1 :
                    // InternalRosetta.g:3623:2: ( RULE_ID )
                    {
                    // InternalRosetta.g:3623:2: ( RULE_ID )
                    // InternalRosetta.g:3624:3: RULE_ID
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall_0()); 
                    }
                    match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3629:2: ( 'condition' )
                    {
                    // InternalRosetta.g:3629:2: ( 'condition' )
                    // InternalRosetta.g:3630:3: 'condition'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidIDAccess().getConditionKeyword_1()); 
                    }
                    match(input,14,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidIDAccess().getConditionKeyword_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3635:2: ( 'source' )
                    {
                    // InternalRosetta.g:3635:2: ( 'source' )
                    // InternalRosetta.g:3636:3: 'source'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidIDAccess().getSourceKeyword_2()); 
                    }
                    match(input,15,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidIDAccess().getSourceKeyword_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:3641:2: ( 'value' )
                    {
                    // InternalRosetta.g:3641:2: ( 'value' )
                    // InternalRosetta.g:3642:3: 'value'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidIDAccess().getValueKeyword_3()); 
                    }
                    match(input,16,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidIDAccess().getValueKeyword_3()); 
                    }
                    }
                    }
                    break;
                case 5 :
                    // InternalRosetta.g:3647:2: ( 'version' )
                    {
                    // InternalRosetta.g:3647:2: ( 'version' )
                    // InternalRosetta.g:3648:3: 'version'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidIDAccess().getVersionKeyword_4()); 
                    }
                    match(input,17,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidIDAccess().getVersionKeyword_4()); 
                    }
                    }
                    }
                    break;
                case 6 :
                    // InternalRosetta.g:3653:2: ( 'pattern' )
                    {
                    // InternalRosetta.g:3653:2: ( 'pattern' )
                    // InternalRosetta.g:3654:3: 'pattern'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidIDAccess().getPatternKeyword_5()); 
                    }
                    match(input,18,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidIDAccess().getPatternKeyword_5()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ValidID__Alternatives"
    // $ANTLR start "rule__RosettaEnumValue__Alternatives_3"
    // InternalRosetta.g:3663:1: rule__RosettaEnumValue__Alternatives_3 : ( ( ruleReferences ) | ( ruleAnnotations ) | ( ( rule__RosettaEnumValue__EnumSynonymsAssignment_3_2 ) ) );
    public final void rule__RosettaEnumValue__Alternatives_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3667:1: ( ( ruleReferences ) | ( ruleAnnotations ) | ( ( rule__RosettaEnumValue__EnumSynonymsAssignment_3_2 ) ) )
            int alt16=3;
            int LA16_0 = input.LA(1);
            if ( (LA16_0==65) ) {
                switch ( input.LA(2) ) {
                case RULE_ID:
                case 14:
                case 15:
                case 16:
                case 17:
                case 18:
                    {
                    alt16=2;
                    }
                    break;
                case 21:
                case 22:
                    {
                    alt16=1;
                    }
                    break;
                case 81:
                    {
                    alt16=3;
                    }
                    break;
                default:
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 16, 1, input);
                    throw nvae;
                }}
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 16, 0, input);
                throw nvae;
            }
            switch (alt16) {
                case 1 :
                    // InternalRosetta.g:3668:2: ( ruleReferences )
                    {
                    // InternalRosetta.g:3668:2: ( ruleReferences )
                    // InternalRosetta.g:3669:3: ruleReferences
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaEnumValueAccess().getReferencesParserRuleCall_3_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleReferences();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaEnumValueAccess().getReferencesParserRuleCall_3_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3674:2: ( ruleAnnotations )
                    {
                    // InternalRosetta.g:3674:2: ( ruleAnnotations )
                    // InternalRosetta.g:3675:3: ruleAnnotations
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaEnumValueAccess().getAnnotationsParserRuleCall_3_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleAnnotations();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaEnumValueAccess().getAnnotationsParserRuleCall_3_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3680:2: ( ( rule__RosettaEnumValue__EnumSynonymsAssignment_3_2 ) )
                    {
                    // InternalRosetta.g:3680:2: ( ( rule__RosettaEnumValue__EnumSynonymsAssignment_3_2 ) )
                    // InternalRosetta.g:3681:3: ( rule__RosettaEnumValue__EnumSynonymsAssignment_3_2 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaEnumValueAccess().getEnumSynonymsAssignment_3_2()); 
                    }
                    // InternalRosetta.g:3682:3: ( rule__RosettaEnumValue__EnumSynonymsAssignment_3_2 )
                    // InternalRosetta.g:3682:4: rule__RosettaEnumValue__EnumSynonymsAssignment_3_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaEnumValue__EnumSynonymsAssignment_3_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaEnumValueAccess().getEnumSynonymsAssignment_3_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Alternatives_3"
    // $ANTLR start "rule__RosettaCardinality__Alternatives_1"
    // InternalRosetta.g:3690:1: rule__RosettaCardinality__Alternatives_1 : ( ( ( rule__RosettaCardinality__Group_1_0__0 ) ) | ( ( rule__RosettaCardinality__Group_1_1__0 ) ) );
    public final void rule__RosettaCardinality__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3694:1: ( ( ( rule__RosettaCardinality__Group_1_0__0 ) ) | ( ( rule__RosettaCardinality__Group_1_1__0 ) ) )
            int alt17=2;
            int LA17_0 = input.LA(1);
            if ( (LA17_0==RULE_INT) ) {
                int LA17_1 = input.LA(2);
                if ( (LA17_1==92) ) {
                    int LA17_2 = input.LA(3);
                    if ( (LA17_2==36) ) {
                        alt17=2;
                    }
                    else if ( (LA17_2==RULE_INT) ) {
                        alt17=1;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 17, 2, input);
                        throw nvae;
                    }
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 17, 1, input);
                    throw nvae;
                }}
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 17, 0, input);
                throw nvae;
            }
            switch (alt17) {
                case 1 :
                    // InternalRosetta.g:3695:2: ( ( rule__RosettaCardinality__Group_1_0__0 ) )
                    {
                    // InternalRosetta.g:3695:2: ( ( rule__RosettaCardinality__Group_1_0__0 ) )
                    // InternalRosetta.g:3696:3: ( rule__RosettaCardinality__Group_1_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCardinalityAccess().getGroup_1_0()); 
                    }
                    // InternalRosetta.g:3697:3: ( rule__RosettaCardinality__Group_1_0__0 )
                    // InternalRosetta.g:3697:4: rule__RosettaCardinality__Group_1_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCardinality__Group_1_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCardinalityAccess().getGroup_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3701:2: ( ( rule__RosettaCardinality__Group_1_1__0 ) )
                    {
                    // InternalRosetta.g:3701:2: ( ( rule__RosettaCardinality__Group_1_1__0 ) )
                    // InternalRosetta.g:3702:3: ( rule__RosettaCardinality__Group_1_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCardinalityAccess().getGroup_1_1()); 
                    }
                    // InternalRosetta.g:3703:3: ( rule__RosettaCardinality__Group_1_1__0 )
                    // InternalRosetta.g:3703:4: rule__RosettaCardinality__Group_1_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCardinality__Group_1_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCardinalityAccess().getGroup_1_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Alternatives_1"
    // $ANTLR start "rule__RosettaSynonymBody__Alternatives_0"
    // InternalRosetta.g:3711:1: rule__RosettaSynonymBody__Alternatives_0 : ( ( ( rule__RosettaSynonymBody__Group_0_0__0 ) ) | ( ( rule__RosettaSynonymBody__Group_0_1__0 ) ) | ( ( rule__RosettaSynonymBody__Group_0_2__0 ) ) | ( ( rule__RosettaSynonymBody__MappingLogicAssignment_0_3 ) ) | ( ( rule__RosettaSynonymBody__Group_0_4__0 ) ) );
    public final void rule__RosettaSynonymBody__Alternatives_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3715:1: ( ( ( rule__RosettaSynonymBody__Group_0_0__0 ) ) | ( ( rule__RosettaSynonymBody__Group_0_1__0 ) ) | ( ( rule__RosettaSynonymBody__Group_0_2__0 ) ) | ( ( rule__RosettaSynonymBody__MappingLogicAssignment_0_3 ) ) | ( ( rule__RosettaSynonymBody__Group_0_4__0 ) ) )
            int alt18=5;
            switch ( input.LA(1) ) {
            case 16:
                {
                alt18=1;
                }
                break;
            case 95:
                {
                alt18=2;
                }
                break;
            case 96:
                {
                alt18=3;
                }
                break;
            case 11:
                {
                alt18=4;
                }
                break;
            case 93:
                {
                alt18=5;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 18, 0, input);
                throw nvae;
            }
            switch (alt18) {
                case 1 :
                    // InternalRosetta.g:3716:2: ( ( rule__RosettaSynonymBody__Group_0_0__0 ) )
                    {
                    // InternalRosetta.g:3716:2: ( ( rule__RosettaSynonymBody__Group_0_0__0 ) )
                    // InternalRosetta.g:3717:3: ( rule__RosettaSynonymBody__Group_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_0()); 
                    }
                    // InternalRosetta.g:3718:3: ( rule__RosettaSynonymBody__Group_0_0__0 )
                    // InternalRosetta.g:3718:4: rule__RosettaSynonymBody__Group_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymBody__Group_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3722:2: ( ( rule__RosettaSynonymBody__Group_0_1__0 ) )
                    {
                    // InternalRosetta.g:3722:2: ( ( rule__RosettaSynonymBody__Group_0_1__0 ) )
                    // InternalRosetta.g:3723:3: ( rule__RosettaSynonymBody__Group_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_1()); 
                    }
                    // InternalRosetta.g:3724:3: ( rule__RosettaSynonymBody__Group_0_1__0 )
                    // InternalRosetta.g:3724:4: rule__RosettaSynonymBody__Group_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymBody__Group_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3728:2: ( ( rule__RosettaSynonymBody__Group_0_2__0 ) )
                    {
                    // InternalRosetta.g:3728:2: ( ( rule__RosettaSynonymBody__Group_0_2__0 ) )
                    // InternalRosetta.g:3729:3: ( rule__RosettaSynonymBody__Group_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_2()); 
                    }
                    // InternalRosetta.g:3730:3: ( rule__RosettaSynonymBody__Group_0_2__0 )
                    // InternalRosetta.g:3730:4: rule__RosettaSynonymBody__Group_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymBody__Group_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:3734:2: ( ( rule__RosettaSynonymBody__MappingLogicAssignment_0_3 ) )
                    {
                    // InternalRosetta.g:3734:2: ( ( rule__RosettaSynonymBody__MappingLogicAssignment_0_3 ) )
                    // InternalRosetta.g:3735:3: ( rule__RosettaSynonymBody__MappingLogicAssignment_0_3 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaSynonymBodyAccess().getMappingLogicAssignment_0_3()); 
                    }
                    // InternalRosetta.g:3736:3: ( rule__RosettaSynonymBody__MappingLogicAssignment_0_3 )
                    // InternalRosetta.g:3736:4: rule__RosettaSynonymBody__MappingLogicAssignment_0_3
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymBody__MappingLogicAssignment_0_3();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaSynonymBodyAccess().getMappingLogicAssignment_0_3()); 
                    }
                    }
                    }
                    break;
                case 5 :
                    // InternalRosetta.g:3740:2: ( ( rule__RosettaSynonymBody__Group_0_4__0 ) )
                    {
                    // InternalRosetta.g:3740:2: ( ( rule__RosettaSynonymBody__Group_0_4__0 ) )
                    // InternalRosetta.g:3741:3: ( rule__RosettaSynonymBody__Group_0_4__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_4()); 
                    }
                    // InternalRosetta.g:3742:3: ( rule__RosettaSynonymBody__Group_0_4__0 )
                    // InternalRosetta.g:3742:4: rule__RosettaSynonymBody__Group_0_4__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymBody__Group_0_4__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_4()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Alternatives_0"
    // $ANTLR start "rule__RosettaMappingInstance__Alternatives"
    // InternalRosetta.g:3750:1: rule__RosettaMappingInstance__Alternatives : ( ( ( rule__RosettaMappingInstance__Group_0__0 ) ) | ( ( rule__RosettaMappingInstance__Group_1__0 ) ) );
    public final void rule__RosettaMappingInstance__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3754:1: ( ( ( rule__RosettaMappingInstance__Group_0__0 ) ) | ( ( rule__RosettaMappingInstance__Group_1__0 ) ) )
            int alt19=2;
            int LA19_0 = input.LA(1);
            if ( (LA19_0==11) ) {
                alt19=1;
            }
            else if ( (LA19_0==119) ) {
                alt19=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 19, 0, input);
                throw nvae;
            }
            switch (alt19) {
                case 1 :
                    // InternalRosetta.g:3755:2: ( ( rule__RosettaMappingInstance__Group_0__0 ) )
                    {
                    // InternalRosetta.g:3755:2: ( ( rule__RosettaMappingInstance__Group_0__0 ) )
                    // InternalRosetta.g:3756:3: ( rule__RosettaMappingInstance__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMappingInstanceAccess().getGroup_0()); 
                    }
                    // InternalRosetta.g:3757:3: ( rule__RosettaMappingInstance__Group_0__0 )
                    // InternalRosetta.g:3757:4: rule__RosettaMappingInstance__Group_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaMappingInstance__Group_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMappingInstanceAccess().getGroup_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3761:2: ( ( rule__RosettaMappingInstance__Group_1__0 ) )
                    {
                    // InternalRosetta.g:3761:2: ( ( rule__RosettaMappingInstance__Group_1__0 ) )
                    // InternalRosetta.g:3762:3: ( rule__RosettaMappingInstance__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMappingInstanceAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:3763:3: ( rule__RosettaMappingInstance__Group_1__0 )
                    // InternalRosetta.g:3763:4: rule__RosettaMappingInstance__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaMappingInstance__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMappingInstanceAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Alternatives"
    // $ANTLR start "rule__RosettaMapTest__Alternatives"
    // InternalRosetta.g:3771:1: rule__RosettaMapTest__Alternatives : ( ( ruleRosettaMapPath ) | ( ruleRosettaMapRosettaPath ) | ( ruleRosettaMapTestExpression ) | ( ruleRosettaMapTestFunc ) );
    public final void rule__RosettaMapTest__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3775:1: ( ( ruleRosettaMapPath ) | ( ruleRosettaMapRosettaPath ) | ( ruleRosettaMapTestExpression ) | ( ruleRosettaMapTestFunc ) )
            int alt20=4;
            switch ( input.LA(1) ) {
            case 94:
                {
                alt20=1;
                }
                break;
            case 104:
                {
                alt20=2;
                }
                break;
            case RULE_STRING:
                {
                alt20=3;
                }
                break;
            case 108:
                {
                alt20=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 20, 0, input);
                throw nvae;
            }
            switch (alt20) {
                case 1 :
                    // InternalRosetta.g:3776:2: ( ruleRosettaMapPath )
                    {
                    // InternalRosetta.g:3776:2: ( ruleRosettaMapPath )
                    // InternalRosetta.g:3777:3: ruleRosettaMapPath
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapTestAccess().getRosettaMapPathParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaMapPath();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapTestAccess().getRosettaMapPathParserRuleCall_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3782:2: ( ruleRosettaMapRosettaPath )
                    {
                    // InternalRosetta.g:3782:2: ( ruleRosettaMapRosettaPath )
                    // InternalRosetta.g:3783:3: ruleRosettaMapRosettaPath
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapTestAccess().getRosettaMapRosettaPathParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaMapRosettaPath();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapTestAccess().getRosettaMapRosettaPathParserRuleCall_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3788:2: ( ruleRosettaMapTestExpression )
                    {
                    // InternalRosetta.g:3788:2: ( ruleRosettaMapTestExpression )
                    // InternalRosetta.g:3789:3: ruleRosettaMapTestExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapTestAccess().getRosettaMapTestExpressionParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaMapTestExpression();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapTestAccess().getRosettaMapTestExpressionParserRuleCall_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:3794:2: ( ruleRosettaMapTestFunc )
                    {
                    // InternalRosetta.g:3794:2: ( ruleRosettaMapTestFunc )
                    // InternalRosetta.g:3795:3: ruleRosettaMapTestFunc
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapTestAccess().getRosettaMapTestFuncParserRuleCall_3()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaMapTestFunc();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapTestAccess().getRosettaMapTestFuncParserRuleCall_3()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTest__Alternatives"
    // $ANTLR start "rule__RosettaMapTestExpression__Alternatives_1"
    // InternalRosetta.g:3804:1: rule__RosettaMapTestExpression__Alternatives_1 : ( ( ( rule__RosettaMapTestExpression__Group_1_0__0 ) ) | ( ( rule__RosettaMapTestExpression__Group_1_1__0 ) ) | ( ( rule__RosettaMapTestExpression__Group_1_2__0 ) ) );
    public final void rule__RosettaMapTestExpression__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3808:1: ( ( ( rule__RosettaMapTestExpression__Group_1_0__0 ) ) | ( ( rule__RosettaMapTestExpression__Group_1_1__0 ) ) | ( ( rule__RosettaMapTestExpression__Group_1_2__0 ) ) )
            int alt21=3;
            switch ( input.LA(1) ) {
            case 105:
                {
                alt21=1;
                }
                break;
            case 106:
                {
                alt21=2;
                }
                break;
            case 19:
            case 20:
                {
                alt21=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 21, 0, input);
                throw nvae;
            }
            switch (alt21) {
                case 1 :
                    // InternalRosetta.g:3809:2: ( ( rule__RosettaMapTestExpression__Group_1_0__0 ) )
                    {
                    // InternalRosetta.g:3809:2: ( ( rule__RosettaMapTestExpression__Group_1_0__0 ) )
                    // InternalRosetta.g:3810:3: ( rule__RosettaMapTestExpression__Group_1_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapTestExpressionAccess().getGroup_1_0()); 
                    }
                    // InternalRosetta.g:3811:3: ( rule__RosettaMapTestExpression__Group_1_0__0 )
                    // InternalRosetta.g:3811:4: rule__RosettaMapTestExpression__Group_1_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaMapTestExpression__Group_1_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapTestExpressionAccess().getGroup_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3815:2: ( ( rule__RosettaMapTestExpression__Group_1_1__0 ) )
                    {
                    // InternalRosetta.g:3815:2: ( ( rule__RosettaMapTestExpression__Group_1_1__0 ) )
                    // InternalRosetta.g:3816:3: ( rule__RosettaMapTestExpression__Group_1_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapTestExpressionAccess().getGroup_1_1()); 
                    }
                    // InternalRosetta.g:3817:3: ( rule__RosettaMapTestExpression__Group_1_1__0 )
                    // InternalRosetta.g:3817:4: rule__RosettaMapTestExpression__Group_1_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaMapTestExpression__Group_1_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapTestExpressionAccess().getGroup_1_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3821:2: ( ( rule__RosettaMapTestExpression__Group_1_2__0 ) )
                    {
                    // InternalRosetta.g:3821:2: ( ( rule__RosettaMapTestExpression__Group_1_2__0 ) )
                    // InternalRosetta.g:3822:3: ( rule__RosettaMapTestExpression__Group_1_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapTestExpressionAccess().getGroup_1_2()); 
                    }
                    // InternalRosetta.g:3823:3: ( rule__RosettaMapTestExpression__Group_1_2__0 )
                    // InternalRosetta.g:3823:4: rule__RosettaMapTestExpression__Group_1_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaMapTestExpression__Group_1_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapTestExpressionAccess().getGroup_1_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Alternatives_1"
    // $ANTLR start "rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0"
    // InternalRosetta.g:3831:1: rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0 : ( ( '=' ) | ( '<>' ) );
    public final void rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3835:1: ( ( '=' ) | ( '<>' ) )
            int alt22=2;
            int LA22_0 = input.LA(1);
            if ( (LA22_0==19) ) {
                alt22=1;
            }
            else if ( (LA22_0==20) ) {
                alt22=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 22, 0, input);
                throw nvae;
            }
            switch (alt22) {
                case 1 :
                    // InternalRosetta.g:3836:2: ( '=' )
                    {
                    // InternalRosetta.g:3836:2: ( '=' )
                    // InternalRosetta.g:3837:3: '='
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapTestExpressionAccess().getOperatorEqualsSignKeyword_1_2_1_0_0()); 
                    }
                    match(input,19,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapTestExpressionAccess().getOperatorEqualsSignKeyword_1_2_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3842:2: ( '<>' )
                    {
                    // InternalRosetta.g:3842:2: ( '<>' )
                    // InternalRosetta.g:3843:3: '<>'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapTestExpressionAccess().getOperatorLessThanSignGreaterThanSignKeyword_1_2_1_0_1()); 
                    }
                    match(input,20,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapTestExpressionAccess().getOperatorLessThanSignGreaterThanSignKeyword_1_2_1_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0"
    // $ANTLR start "rule__RosettaMapPrimaryExpression__Alternatives"
    // InternalRosetta.g:3852:1: rule__RosettaMapPrimaryExpression__Alternatives : ( ( ruleEnumValueReference ) | ( ruleRosettaStringLiteral ) | ( ruleRosettaBooleanLiteral ) | ( ruleRosettaIntLiteral ) | ( ruleRosettaNumberLiteral ) );
    public final void rule__RosettaMapPrimaryExpression__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3856:1: ( ( ruleEnumValueReference ) | ( ruleRosettaStringLiteral ) | ( ruleRosettaBooleanLiteral ) | ( ruleRosettaIntLiteral ) | ( ruleRosettaNumberLiteral ) )
            int alt23=5;
            switch ( input.LA(1) ) {
            case RULE_ID:
            case 14:
            case 15:
            case 16:
            case 17:
            case 18:
                {
                alt23=1;
                }
                break;
            case RULE_STRING:
                {
                alt23=2;
                }
                break;
            case 114:
            case 136:
                {
                alt23=3;
                }
                break;
            case 28:
                {
                int LA23_4 = input.LA(2);
                if ( (LA23_4==RULE_INT) ) {
                    int LA23_6 = input.LA(3);
                    if ( (LA23_6==61) ) {
                        alt23=5;
                    }
                    else if ( (LA23_6==EOF||LA23_6==18||LA23_6==40||LA23_6==67||LA23_6==93||(LA23_6>=97 && LA23_6<=98)||LA23_6==100||LA23_6==103||LA23_6==134) ) {
                        alt23=4;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 23, 6, input);
                        throw nvae;
                    }
                }
                else if ( (LA23_4==61) ) {
                    alt23=5;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 23, 4, input);
                    throw nvae;
                }
                }
                break;
            case 29:
                {
                int LA23_5 = input.LA(2);
                if ( (LA23_5==61) ) {
                    alt23=5;
                }
                else if ( (LA23_5==RULE_INT) ) {
                    int LA23_6 = input.LA(3);
                    if ( (LA23_6==61) ) {
                        alt23=5;
                    }
                    else if ( (LA23_6==EOF||LA23_6==18||LA23_6==40||LA23_6==67||LA23_6==93||(LA23_6>=97 && LA23_6<=98)||LA23_6==100||LA23_6==103||LA23_6==134) ) {
                        alt23=4;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 23, 6, input);
                        throw nvae;
                    }
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 23, 5, input);
                    throw nvae;
                }
                }
                break;
            case RULE_INT:
                {
                int LA23_6 = input.LA(2);
                if ( (LA23_6==61) ) {
                    alt23=5;
                }
                else if ( (LA23_6==EOF||LA23_6==18||LA23_6==40||LA23_6==67||LA23_6==93||(LA23_6>=97 && LA23_6<=98)||LA23_6==100||LA23_6==103||LA23_6==134) ) {
                    alt23=4;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 23, 6, input);
                    throw nvae;
                }
                }
                break;
            case 61:
                {
                alt23=5;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 23, 0, input);
                throw nvae;
            }
            switch (alt23) {
                case 1 :
                    // InternalRosetta.g:3857:2: ( ruleEnumValueReference )
                    {
                    // InternalRosetta.g:3857:2: ( ruleEnumValueReference )
                    // InternalRosetta.g:3858:3: ruleEnumValueReference
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapPrimaryExpressionAccess().getEnumValueReferenceParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleEnumValueReference();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapPrimaryExpressionAccess().getEnumValueReferenceParserRuleCall_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3863:2: ( ruleRosettaStringLiteral )
                    {
                    // InternalRosetta.g:3863:2: ( ruleRosettaStringLiteral )
                    // InternalRosetta.g:3864:3: ruleRosettaStringLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapPrimaryExpressionAccess().getRosettaStringLiteralParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaStringLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapPrimaryExpressionAccess().getRosettaStringLiteralParserRuleCall_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3869:2: ( ruleRosettaBooleanLiteral )
                    {
                    // InternalRosetta.g:3869:2: ( ruleRosettaBooleanLiteral )
                    // InternalRosetta.g:3870:3: ruleRosettaBooleanLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapPrimaryExpressionAccess().getRosettaBooleanLiteralParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaBooleanLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapPrimaryExpressionAccess().getRosettaBooleanLiteralParserRuleCall_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:3875:2: ( ruleRosettaIntLiteral )
                    {
                    // InternalRosetta.g:3875:2: ( ruleRosettaIntLiteral )
                    // InternalRosetta.g:3876:3: ruleRosettaIntLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapPrimaryExpressionAccess().getRosettaIntLiteralParserRuleCall_3()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaIntLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapPrimaryExpressionAccess().getRosettaIntLiteralParserRuleCall_3()); 
                    }
                    }
                    }
                    break;
                case 5 :
                    // InternalRosetta.g:3881:2: ( ruleRosettaNumberLiteral )
                    {
                    // InternalRosetta.g:3881:2: ( ruleRosettaNumberLiteral )
                    // InternalRosetta.g:3882:3: ruleRosettaNumberLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaMapPrimaryExpressionAccess().getRosettaNumberLiteralParserRuleCall_4()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaNumberLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaMapPrimaryExpressionAccess().getRosettaNumberLiteralParserRuleCall_4()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapPrimaryExpression__Alternatives"
    // $ANTLR start "rule__RosettaDocReference__Alternatives_1"
    // InternalRosetta.g:3891:1: rule__RosettaDocReference__Alternatives_1 : ( ( 'regulatoryReference' ) | ( 'docReference' ) );
    public final void rule__RosettaDocReference__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3895:1: ( ( 'regulatoryReference' ) | ( 'docReference' ) )
            int alt24=2;
            int LA24_0 = input.LA(1);
            if ( (LA24_0==21) ) {
                alt24=1;
            }
            else if ( (LA24_0==22) ) {
                alt24=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 24, 0, input);
                throw nvae;
            }
            switch (alt24) {
                case 1 :
                    // InternalRosetta.g:3896:2: ( 'regulatoryReference' )
                    {
                    // InternalRosetta.g:3896:2: ( 'regulatoryReference' )
                    // InternalRosetta.g:3897:3: 'regulatoryReference'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaDocReferenceAccess().getRegulatoryReferenceKeyword_1_0()); 
                    }
                    match(input,21,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaDocReferenceAccess().getRegulatoryReferenceKeyword_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3902:2: ( 'docReference' )
                    {
                    // InternalRosetta.g:3902:2: ( 'docReference' )
                    // InternalRosetta.g:3903:3: 'docReference'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaDocReferenceAccess().getDocReferenceKeyword_1_1()); 
                    }
                    match(input,22,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaDocReferenceAccess().getDocReferenceKeyword_1_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Alternatives_1"
    // $ANTLR start "rule__DocumentRationale__Alternatives"
    // InternalRosetta.g:3912:1: rule__DocumentRationale__Alternatives : ( ( ( rule__DocumentRationale__Group_0__0 ) ) | ( ( rule__DocumentRationale__Group_1__0 ) ) );
    public final void rule__DocumentRationale__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3916:1: ( ( ( rule__DocumentRationale__Group_0__0 ) ) | ( ( rule__DocumentRationale__Group_1__0 ) ) )
            int alt25=2;
            int LA25_0 = input.LA(1);
            if ( (LA25_0==23) ) {
                alt25=1;
            }
            else if ( (LA25_0==24) ) {
                alt25=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 25, 0, input);
                throw nvae;
            }
            switch (alt25) {
                case 1 :
                    // InternalRosetta.g:3917:2: ( ( rule__DocumentRationale__Group_0__0 ) )
                    {
                    // InternalRosetta.g:3917:2: ( ( rule__DocumentRationale__Group_0__0 ) )
                    // InternalRosetta.g:3918:3: ( rule__DocumentRationale__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDocumentRationaleAccess().getGroup_0()); 
                    }
                    // InternalRosetta.g:3919:3: ( rule__DocumentRationale__Group_0__0 )
                    // InternalRosetta.g:3919:4: rule__DocumentRationale__Group_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__DocumentRationale__Group_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDocumentRationaleAccess().getGroup_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3923:2: ( ( rule__DocumentRationale__Group_1__0 ) )
                    {
                    // InternalRosetta.g:3923:2: ( ( rule__DocumentRationale__Group_1__0 ) )
                    // InternalRosetta.g:3924:3: ( rule__DocumentRationale__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDocumentRationaleAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:3925:3: ( rule__DocumentRationale__Group_1__0 )
                    // InternalRosetta.g:3925:4: rule__DocumentRationale__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__DocumentRationale__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDocumentRationaleAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Alternatives"
    // $ANTLR start "rule__RosettaSegment__NameAlternatives_1_0"
    // InternalRosetta.g:3933:1: rule__RosettaSegment__NameAlternatives_1_0 : ( ( ruleValidID ) | ( 'rationale' ) | ( 'rationale_author' ) | ( 'structured_provision' ) );
    public final void rule__RosettaSegment__NameAlternatives_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3937:1: ( ( ruleValidID ) | ( 'rationale' ) | ( 'rationale_author' ) | ( 'structured_provision' ) )
            int alt26=4;
            switch ( input.LA(1) ) {
            case RULE_ID:
            case 14:
            case 15:
            case 16:
            case 17:
            case 18:
                {
                alt26=1;
                }
                break;
            case 23:
                {
                alt26=2;
                }
                break;
            case 24:
                {
                alt26=3;
                }
                break;
            case 25:
                {
                alt26=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 26, 0, input);
                throw nvae;
            }
            switch (alt26) {
                case 1 :
                    // InternalRosetta.g:3938:2: ( ruleValidID )
                    {
                    // InternalRosetta.g:3938:2: ( ruleValidID )
                    // InternalRosetta.g:3939:3: ruleValidID
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaSegmentAccess().getNameValidIDParserRuleCall_1_0_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleValidID();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaSegmentAccess().getNameValidIDParserRuleCall_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3944:2: ( 'rationale' )
                    {
                    // InternalRosetta.g:3944:2: ( 'rationale' )
                    // InternalRosetta.g:3945:3: 'rationale'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaSegmentAccess().getNameRationaleKeyword_1_0_1()); 
                    }
                    match(input,23,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaSegmentAccess().getNameRationaleKeyword_1_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:3950:2: ( 'rationale_author' )
                    {
                    // InternalRosetta.g:3950:2: ( 'rationale_author' )
                    // InternalRosetta.g:3951:3: 'rationale_author'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaSegmentAccess().getNameRationale_authorKeyword_1_0_2()); 
                    }
                    match(input,24,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaSegmentAccess().getNameRationale_authorKeyword_1_0_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:3956:2: ( 'structured_provision' )
                    {
                    // InternalRosetta.g:3956:2: ( 'structured_provision' )
                    // InternalRosetta.g:3957:3: 'structured_provision'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaSegmentAccess().getNameStructured_provisionKeyword_1_0_3()); 
                    }
                    match(input,25,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaSegmentAccess().getNameStructured_provisionKeyword_1_0_3()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegment__NameAlternatives_1_0"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Alternatives"
    // InternalRosetta.g:3966:1: rule__RosettaReferenceOrFunctionCall__Alternatives : ( ( ( rule__RosettaReferenceOrFunctionCall__Group_0__0 ) ) | ( ( rule__RosettaReferenceOrFunctionCall__Group_1__0 ) ) );
    public final void rule__RosettaReferenceOrFunctionCall__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3970:1: ( ( ( rule__RosettaReferenceOrFunctionCall__Group_0__0 ) ) | ( ( rule__RosettaReferenceOrFunctionCall__Group_1__0 ) ) )
            int alt27=2;
            int LA27_0 = input.LA(1);
            if ( (LA27_0==RULE_ID||(LA27_0>=14 && LA27_0<=18)) ) {
                alt27=1;
            }
            else if ( ((LA27_0>=26 && LA27_0<=27)) ) {
                alt27=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 27, 0, input);
                throw nvae;
            }
            switch (alt27) {
                case 1 :
                    // InternalRosetta.g:3971:2: ( ( rule__RosettaReferenceOrFunctionCall__Group_0__0 ) )
                    {
                    // InternalRosetta.g:3971:2: ( ( rule__RosettaReferenceOrFunctionCall__Group_0__0 ) )
                    // InternalRosetta.g:3972:3: ( rule__RosettaReferenceOrFunctionCall__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getGroup_0()); 
                    }
                    // InternalRosetta.g:3973:3: ( rule__RosettaReferenceOrFunctionCall__Group_0__0 )
                    // InternalRosetta.g:3973:4: rule__RosettaReferenceOrFunctionCall__Group_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaReferenceOrFunctionCall__Group_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getGroup_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3977:2: ( ( rule__RosettaReferenceOrFunctionCall__Group_1__0 ) )
                    {
                    // InternalRosetta.g:3977:2: ( ( rule__RosettaReferenceOrFunctionCall__Group_1__0 ) )
                    // InternalRosetta.g:3978:3: ( rule__RosettaReferenceOrFunctionCall__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:3979:3: ( rule__RosettaReferenceOrFunctionCall__Group_1__0 )
                    // InternalRosetta.g:3979:4: rule__RosettaReferenceOrFunctionCall__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaReferenceOrFunctionCall__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Alternatives"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0"
    // InternalRosetta.g:3987:1: rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0 : ( ( 'item' ) | ( 'it' ) );
    public final void rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:3991:1: ( ( 'item' ) | ( 'it' ) )
            int alt28=2;
            int LA28_0 = input.LA(1);
            if ( (LA28_0==26) ) {
                alt28=1;
            }
            else if ( (LA28_0==27) ) {
                alt28=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 28, 0, input);
                throw nvae;
            }
            switch (alt28) {
                case 1 :
                    // InternalRosetta.g:3992:2: ( 'item' )
                    {
                    // InternalRosetta.g:3992:2: ( 'item' )
                    // InternalRosetta.g:3993:3: 'item'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getNameItemKeyword_1_1_0_0()); 
                    }
                    match(input,26,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getNameItemKeyword_1_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:3998:2: ( 'it' )
                    {
                    // InternalRosetta.g:3998:2: ( 'it' )
                    // InternalRosetta.g:3999:3: 'it'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getNameItKeyword_1_1_0_1()); 
                    }
                    match(input,27,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getNameItKeyword_1_1_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0"
    // $ANTLR start "rule__RosettaLiteral__Alternatives"
    // InternalRosetta.g:4008:1: rule__RosettaLiteral__Alternatives : ( ( ruleRosettaBooleanLiteral ) | ( ruleRosettaStringLiteral ) | ( ruleRosettaNumberLiteral ) | ( ruleRosettaIntLiteral ) );
    public final void rule__RosettaLiteral__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4012:1: ( ( ruleRosettaBooleanLiteral ) | ( ruleRosettaStringLiteral ) | ( ruleRosettaNumberLiteral ) | ( ruleRosettaIntLiteral ) )
            int alt29=4;
            switch ( input.LA(1) ) {
            case 114:
            case 136:
                {
                alt29=1;
                }
                break;
            case RULE_STRING:
                {
                alt29=2;
                }
                break;
            case 28:
                {
                int LA29_3 = input.LA(2);
                if ( (LA29_3==61) ) {
                    alt29=3;
                }
                else if ( (LA29_3==RULE_INT) ) {
                    int LA29_6 = input.LA(3);
                    if ( (LA29_6==61) ) {
                        alt29=3;
                    }
                    else if ( (LA29_6==EOF||(LA29_6>=11 && LA29_6<=14)||(LA29_6>=19 && LA29_6<=20)||(LA29_6>=28 && LA29_6<=29)||(LA29_6>=32 && LA29_6<=40)||(LA29_6>=48 && LA29_6<=50)||(LA29_6>=55 && LA29_6<=58)||(LA29_6>=63 && LA29_6<=64)||(LA29_6>=67 && LA29_6<=68)||(LA29_6>=70 && LA29_6<=72)||LA29_6==74||(LA29_6>=77 && LA29_6<=78)||(LA29_6>=80 && LA29_6<=82)||(LA29_6>=84 && LA29_6<=85)||(LA29_6>=87 && LA29_6<=90)||LA29_6==103||(LA29_6>=105 && LA29_6<=106)||(LA29_6>=111 && LA29_6<=113)||(LA29_6>=117 && LA29_6<=119)||(LA29_6>=123 && LA29_6<=124)||(LA29_6>=132 && LA29_6<=133)||(LA29_6>=137 && LA29_6<=162)||(LA29_6>=164 && LA29_6<=165)) ) {
                        alt29=4;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 29, 6, input);
                        throw nvae;
                    }
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 29, 3, input);
                    throw nvae;
                }
                }
                break;
            case 29:
                {
                int LA29_4 = input.LA(2);
                if ( (LA29_4==RULE_INT) ) {
                    int LA29_6 = input.LA(3);
                    if ( (LA29_6==61) ) {
                        alt29=3;
                    }
                    else if ( (LA29_6==EOF||(LA29_6>=11 && LA29_6<=14)||(LA29_6>=19 && LA29_6<=20)||(LA29_6>=28 && LA29_6<=29)||(LA29_6>=32 && LA29_6<=40)||(LA29_6>=48 && LA29_6<=50)||(LA29_6>=55 && LA29_6<=58)||(LA29_6>=63 && LA29_6<=64)||(LA29_6>=67 && LA29_6<=68)||(LA29_6>=70 && LA29_6<=72)||LA29_6==74||(LA29_6>=77 && LA29_6<=78)||(LA29_6>=80 && LA29_6<=82)||(LA29_6>=84 && LA29_6<=85)||(LA29_6>=87 && LA29_6<=90)||LA29_6==103||(LA29_6>=105 && LA29_6<=106)||(LA29_6>=111 && LA29_6<=113)||(LA29_6>=117 && LA29_6<=119)||(LA29_6>=123 && LA29_6<=124)||(LA29_6>=132 && LA29_6<=133)||(LA29_6>=137 && LA29_6<=162)||(LA29_6>=164 && LA29_6<=165)) ) {
                        alt29=4;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 29, 6, input);
                        throw nvae;
                    }
                }
                else if ( (LA29_4==61) ) {
                    alt29=3;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 29, 4, input);
                    throw nvae;
                }
                }
                break;
            case 61:
                {
                alt29=3;
                }
                break;
            case RULE_INT:
                {
                int LA29_6 = input.LA(2);
                if ( (LA29_6==61) ) {
                    alt29=3;
                }
                else if ( (LA29_6==EOF||(LA29_6>=11 && LA29_6<=14)||(LA29_6>=19 && LA29_6<=20)||(LA29_6>=28 && LA29_6<=29)||(LA29_6>=32 && LA29_6<=40)||(LA29_6>=48 && LA29_6<=50)||(LA29_6>=55 && LA29_6<=58)||(LA29_6>=63 && LA29_6<=64)||(LA29_6>=67 && LA29_6<=68)||(LA29_6>=70 && LA29_6<=72)||LA29_6==74||(LA29_6>=77 && LA29_6<=78)||(LA29_6>=80 && LA29_6<=82)||(LA29_6>=84 && LA29_6<=85)||(LA29_6>=87 && LA29_6<=90)||LA29_6==103||(LA29_6>=105 && LA29_6<=106)||(LA29_6>=111 && LA29_6<=113)||(LA29_6>=117 && LA29_6<=119)||(LA29_6>=123 && LA29_6<=124)||(LA29_6>=132 && LA29_6<=133)||(LA29_6>=137 && LA29_6<=162)||(LA29_6>=164 && LA29_6<=165)) ) {
                    alt29=4;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 29, 6, input);
                    throw nvae;
                }
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 29, 0, input);
                throw nvae;
            }
            switch (alt29) {
                case 1 :
                    // InternalRosetta.g:4013:2: ( ruleRosettaBooleanLiteral )
                    {
                    // InternalRosetta.g:4013:2: ( ruleRosettaBooleanLiteral )
                    // InternalRosetta.g:4014:3: ruleRosettaBooleanLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaLiteralAccess().getRosettaBooleanLiteralParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaBooleanLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaLiteralAccess().getRosettaBooleanLiteralParserRuleCall_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4019:2: ( ruleRosettaStringLiteral )
                    {
                    // InternalRosetta.g:4019:2: ( ruleRosettaStringLiteral )
                    // InternalRosetta.g:4020:3: ruleRosettaStringLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaLiteralAccess().getRosettaStringLiteralParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaStringLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaLiteralAccess().getRosettaStringLiteralParserRuleCall_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4025:2: ( ruleRosettaNumberLiteral )
                    {
                    // InternalRosetta.g:4025:2: ( ruleRosettaNumberLiteral )
                    // InternalRosetta.g:4026:3: ruleRosettaNumberLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaLiteralAccess().getRosettaNumberLiteralParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaNumberLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaLiteralAccess().getRosettaNumberLiteralParserRuleCall_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:4031:2: ( ruleRosettaIntLiteral )
                    {
                    // InternalRosetta.g:4031:2: ( ruleRosettaIntLiteral )
                    // InternalRosetta.g:4032:3: ruleRosettaIntLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaLiteralAccess().getRosettaIntLiteralParserRuleCall_3()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaIntLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaLiteralAccess().getRosettaIntLiteralParserRuleCall_3()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLiteral__Alternatives"
    // $ANTLR start "rule__RosettaBooleanLiteral__Alternatives"
    // InternalRosetta.g:4041:1: rule__RosettaBooleanLiteral__Alternatives : ( ( ( rule__RosettaBooleanLiteral__ValueAssignment_0 ) ) | ( ( rule__RosettaBooleanLiteral__Group_1__0 ) ) );
    public final void rule__RosettaBooleanLiteral__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4045:1: ( ( ( rule__RosettaBooleanLiteral__ValueAssignment_0 ) ) | ( ( rule__RosettaBooleanLiteral__Group_1__0 ) ) )
            int alt30=2;
            int LA30_0 = input.LA(1);
            if ( (LA30_0==136) ) {
                alt30=1;
            }
            else if ( (LA30_0==114) ) {
                alt30=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 30, 0, input);
                throw nvae;
            }
            switch (alt30) {
                case 1 :
                    // InternalRosetta.g:4046:2: ( ( rule__RosettaBooleanLiteral__ValueAssignment_0 ) )
                    {
                    // InternalRosetta.g:4046:2: ( ( rule__RosettaBooleanLiteral__ValueAssignment_0 ) )
                    // InternalRosetta.g:4047:3: ( rule__RosettaBooleanLiteral__ValueAssignment_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaBooleanLiteralAccess().getValueAssignment_0()); 
                    }
                    // InternalRosetta.g:4048:3: ( rule__RosettaBooleanLiteral__ValueAssignment_0 )
                    // InternalRosetta.g:4048:4: rule__RosettaBooleanLiteral__ValueAssignment_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaBooleanLiteral__ValueAssignment_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaBooleanLiteralAccess().getValueAssignment_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4052:2: ( ( rule__RosettaBooleanLiteral__Group_1__0 ) )
                    {
                    // InternalRosetta.g:4052:2: ( ( rule__RosettaBooleanLiteral__Group_1__0 ) )
                    // InternalRosetta.g:4053:3: ( rule__RosettaBooleanLiteral__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaBooleanLiteralAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:4054:3: ( rule__RosettaBooleanLiteral__Group_1__0 )
                    // InternalRosetta.g:4054:4: rule__RosettaBooleanLiteral__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaBooleanLiteral__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaBooleanLiteralAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBooleanLiteral__Alternatives"
    // $ANTLR start "rule__BigDecimal__Alternatives_0"
    // InternalRosetta.g:4062:1: rule__BigDecimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
    public final void rule__BigDecimal__Alternatives_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4066:1: ( ( '+' ) | ( '-' ) )
            int alt31=2;
            int LA31_0 = input.LA(1);
            if ( (LA31_0==28) ) {
                alt31=1;
            }
            else if ( (LA31_0==29) ) {
                alt31=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 31, 0, input);
                throw nvae;
            }
            switch (alt31) {
                case 1 :
                    // InternalRosetta.g:4067:2: ( '+' )
                    {
                    // InternalRosetta.g:4067:2: ( '+' )
                    // InternalRosetta.g:4068:3: '+'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBigDecimalAccess().getPlusSignKeyword_0_0()); 
                    }
                    match(input,28,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBigDecimalAccess().getPlusSignKeyword_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4073:2: ( '-' )
                    {
                    // InternalRosetta.g:4073:2: ( '-' )
                    // InternalRosetta.g:4074:3: '-'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBigDecimalAccess().getHyphenMinusKeyword_0_1()); 
                    }
                    match(input,29,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBigDecimalAccess().getHyphenMinusKeyword_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Alternatives_0"
    // $ANTLR start "rule__BigDecimal__Alternatives_1"
    // InternalRosetta.g:4083:1: rule__BigDecimal__Alternatives_1 : ( ( ( rule__BigDecimal__Group_1_0__0 ) ) | ( ( rule__BigDecimal__Group_1_1__0 ) ) | ( ( rule__BigDecimal__Group_1_2__0 ) ) );
    public final void rule__BigDecimal__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4087:1: ( ( ( rule__BigDecimal__Group_1_0__0 ) ) | ( ( rule__BigDecimal__Group_1_1__0 ) ) | ( ( rule__BigDecimal__Group_1_2__0 ) ) )
            int alt32=3;
            int LA32_0 = input.LA(1);
            if ( (LA32_0==61) ) {
                alt32=1;
            }
            else if ( (LA32_0==RULE_INT) ) {
                int LA32_2 = input.LA(2);
                if ( (LA32_2==61) ) {
                    int LA32_3 = input.LA(3);
                    if ( (LA32_3==EOF||LA32_3==RULE_ID||(LA32_3>=11 && LA32_3<=14)||(LA32_3>=18 && LA32_3<=20)||(LA32_3>=28 && LA32_3<=40)||(LA32_3>=48 && LA32_3<=50)||(LA32_3>=55 && LA32_3<=58)||(LA32_3>=63 && LA32_3<=64)||(LA32_3>=67 && LA32_3<=68)||(LA32_3>=70 && LA32_3<=72)||LA32_3==74||(LA32_3>=77 && LA32_3<=78)||(LA32_3>=80 && LA32_3<=82)||(LA32_3>=84 && LA32_3<=85)||(LA32_3>=87 && LA32_3<=90)||LA32_3==93||(LA32_3>=97 && LA32_3<=98)||LA32_3==100||LA32_3==103||(LA32_3>=105 && LA32_3<=106)||(LA32_3>=111 && LA32_3<=113)||(LA32_3>=117 && LA32_3<=119)||(LA32_3>=123 && LA32_3<=124)||(LA32_3>=132 && LA32_3<=134)||(LA32_3>=137 && LA32_3<=162)||(LA32_3>=164 && LA32_3<=165)) ) {
                        alt32=2;
                    }
                    else if ( (LA32_3==RULE_INT) ) {
                        alt32=3;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 32, 3, input);
                        throw nvae;
                    }
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 32, 2, input);
                    throw nvae;
                }}
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 32, 0, input);
                throw nvae;
            }
            switch (alt32) {
                case 1 :
                    // InternalRosetta.g:4088:2: ( ( rule__BigDecimal__Group_1_0__0 ) )
                    {
                    // InternalRosetta.g:4088:2: ( ( rule__BigDecimal__Group_1_0__0 ) )
                    // InternalRosetta.g:4089:3: ( rule__BigDecimal__Group_1_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBigDecimalAccess().getGroup_1_0()); 
                    }
                    // InternalRosetta.g:4090:3: ( rule__BigDecimal__Group_1_0__0 )
                    // InternalRosetta.g:4090:4: rule__BigDecimal__Group_1_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__BigDecimal__Group_1_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBigDecimalAccess().getGroup_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4094:2: ( ( rule__BigDecimal__Group_1_1__0 ) )
                    {
                    // InternalRosetta.g:4094:2: ( ( rule__BigDecimal__Group_1_1__0 ) )
                    // InternalRosetta.g:4095:3: ( rule__BigDecimal__Group_1_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBigDecimalAccess().getGroup_1_1()); 
                    }
                    // InternalRosetta.g:4096:3: ( rule__BigDecimal__Group_1_1__0 )
                    // InternalRosetta.g:4096:4: rule__BigDecimal__Group_1_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__BigDecimal__Group_1_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBigDecimalAccess().getGroup_1_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4100:2: ( ( rule__BigDecimal__Group_1_2__0 ) )
                    {
                    // InternalRosetta.g:4100:2: ( ( rule__BigDecimal__Group_1_2__0 ) )
                    // InternalRosetta.g:4101:3: ( rule__BigDecimal__Group_1_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBigDecimalAccess().getGroup_1_2()); 
                    }
                    // InternalRosetta.g:4102:3: ( rule__BigDecimal__Group_1_2__0 )
                    // InternalRosetta.g:4102:4: rule__BigDecimal__Group_1_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__BigDecimal__Group_1_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBigDecimalAccess().getGroup_1_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Alternatives_1"
    // $ANTLR start "rule__BigDecimal__Alternatives_2"
    // InternalRosetta.g:4110:1: rule__BigDecimal__Alternatives_2 : ( ( ( rule__BigDecimal__Group_2_0__0 ) ) | ( RULE_ID ) );
    public final void rule__BigDecimal__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4114:1: ( ( ( rule__BigDecimal__Group_2_0__0 ) ) | ( RULE_ID ) )
            int alt33=2;
            int LA33_0 = input.LA(1);
            if ( ((LA33_0>=30 && LA33_0<=31)) ) {
                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 :
                    // InternalRosetta.g:4115:2: ( ( rule__BigDecimal__Group_2_0__0 ) )
                    {
                    // InternalRosetta.g:4115:2: ( ( rule__BigDecimal__Group_2_0__0 ) )
                    // InternalRosetta.g:4116:3: ( rule__BigDecimal__Group_2_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBigDecimalAccess().getGroup_2_0()); 
                    }
                    // InternalRosetta.g:4117:3: ( rule__BigDecimal__Group_2_0__0 )
                    // InternalRosetta.g:4117:4: rule__BigDecimal__Group_2_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__BigDecimal__Group_2_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBigDecimalAccess().getGroup_2_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4121:2: ( RULE_ID )
                    {
                    // InternalRosetta.g:4121:2: ( RULE_ID )
                    // InternalRosetta.g:4122:3: RULE_ID
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBigDecimalAccess().getIDTerminalRuleCall_2_1()); 
                    }
                    match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBigDecimalAccess().getIDTerminalRuleCall_2_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Alternatives_2"
    // $ANTLR start "rule__BigDecimal__Alternatives_2_0_0"
    // InternalRosetta.g:4131:1: rule__BigDecimal__Alternatives_2_0_0 : ( ( 'e' ) | ( 'E' ) );
    public final void rule__BigDecimal__Alternatives_2_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4135:1: ( ( 'e' ) | ( 'E' ) )
            int alt34=2;
            int LA34_0 = input.LA(1);
            if ( (LA34_0==30) ) {
                alt34=1;
            }
            else if ( (LA34_0==31) ) {
                alt34=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 34, 0, input);
                throw nvae;
            }
            switch (alt34) {
                case 1 :
                    // InternalRosetta.g:4136:2: ( 'e' )
                    {
                    // InternalRosetta.g:4136:2: ( 'e' )
                    // InternalRosetta.g:4137:3: 'e'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBigDecimalAccess().getEKeyword_2_0_0_0()); 
                    }
                    match(input,30,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBigDecimalAccess().getEKeyword_2_0_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4142:2: ( 'E' )
                    {
                    // InternalRosetta.g:4142:2: ( 'E' )
                    // InternalRosetta.g:4143:3: 'E'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBigDecimalAccess().getEKeyword_2_0_0_1()); 
                    }
                    match(input,31,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBigDecimalAccess().getEKeyword_2_0_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Alternatives_2_0_0"
    // $ANTLR start "rule__BigDecimal__Alternatives_2_0_1"
    // InternalRosetta.g:4152:1: rule__BigDecimal__Alternatives_2_0_1 : ( ( '+' ) | ( '-' ) );
    public final void rule__BigDecimal__Alternatives_2_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4156:1: ( ( '+' ) | ( '-' ) )
            int alt35=2;
            int LA35_0 = input.LA(1);
            if ( (LA35_0==28) ) {
                alt35=1;
            }
            else if ( (LA35_0==29) ) {
                alt35=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 35, 0, input);
                throw nvae;
            }
            switch (alt35) {
                case 1 :
                    // InternalRosetta.g:4157:2: ( '+' )
                    {
                    // InternalRosetta.g:4157:2: ( '+' )
                    // InternalRosetta.g:4158:3: '+'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBigDecimalAccess().getPlusSignKeyword_2_0_1_0()); 
                    }
                    match(input,28,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBigDecimalAccess().getPlusSignKeyword_2_0_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4163:2: ( '-' )
                    {
                    // InternalRosetta.g:4163:2: ( '-' )
                    // InternalRosetta.g:4164:3: '-'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBigDecimalAccess().getHyphenMinusKeyword_2_0_1_1()); 
                    }
                    match(input,29,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBigDecimalAccess().getHyphenMinusKeyword_2_0_1_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Alternatives_2_0_1"
    // $ANTLR start "rule__Integer__Alternatives_0"
    // InternalRosetta.g:4173:1: rule__Integer__Alternatives_0 : ( ( '+' ) | ( '-' ) );
    public final void rule__Integer__Alternatives_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4177:1: ( ( '+' ) | ( '-' ) )
            int alt36=2;
            int LA36_0 = input.LA(1);
            if ( (LA36_0==28) ) {
                alt36=1;
            }
            else if ( (LA36_0==29) ) {
                alt36=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 36, 0, input);
                throw nvae;
            }
            switch (alt36) {
                case 1 :
                    // InternalRosetta.g:4178:2: ( '+' )
                    {
                    // InternalRosetta.g:4178:2: ( '+' )
                    // InternalRosetta.g:4179:3: '+'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0()); 
                    }
                    match(input,28,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4184:2: ( '-' )
                    {
                    // InternalRosetta.g:4184:2: ( '-' )
                    // InternalRosetta.g:4185:3: '-'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_1()); 
                    }
                    match(input,29,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Integer__Alternatives_0"
    // $ANTLR start "rule__ThenOperation__Alternatives_1_1"
    // InternalRosetta.g:4194:1: rule__ThenOperation__Alternatives_1_1 : ( ( ( rule__ThenOperation__FunctionAssignment_1_1_0 ) ) | ( ( rule__ThenOperation__FunctionAssignment_1_1_1 ) ) );
    public final void rule__ThenOperation__Alternatives_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4198:1: ( ( ( rule__ThenOperation__FunctionAssignment_1_1_0 ) ) | ( ( rule__ThenOperation__FunctionAssignment_1_1_1 ) ) )
            int alt37=2;
            alt37 = dfa37.predict(input);
            switch (alt37) {
                case 1 :
                    // InternalRosetta.g:4199:2: ( ( rule__ThenOperation__FunctionAssignment_1_1_0 ) )
                    {
                    // InternalRosetta.g:4199:2: ( ( rule__ThenOperation__FunctionAssignment_1_1_0 ) )
                    // InternalRosetta.g:4200:3: ( rule__ThenOperation__FunctionAssignment_1_1_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getThenOperationAccess().getFunctionAssignment_1_1_0()); 
                    }
                    // InternalRosetta.g:4201:3: ( rule__ThenOperation__FunctionAssignment_1_1_0 )
                    // InternalRosetta.g:4201:4: rule__ThenOperation__FunctionAssignment_1_1_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__ThenOperation__FunctionAssignment_1_1_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getThenOperationAccess().getFunctionAssignment_1_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4205:2: ( ( rule__ThenOperation__FunctionAssignment_1_1_1 ) )
                    {
                    // InternalRosetta.g:4205:2: ( ( rule__ThenOperation__FunctionAssignment_1_1_1 ) )
                    // InternalRosetta.g:4206:3: ( rule__ThenOperation__FunctionAssignment_1_1_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getThenOperationAccess().getFunctionAssignment_1_1_1()); 
                    }
                    // InternalRosetta.g:4207:3: ( rule__ThenOperation__FunctionAssignment_1_1_1 )
                    // InternalRosetta.g:4207:4: rule__ThenOperation__FunctionAssignment_1_1_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__ThenOperation__FunctionAssignment_1_1_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getThenOperationAccess().getFunctionAssignment_1_1_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Alternatives_1_1"
    // $ANTLR start "rule__RosettaCalcOr__Alternatives"
    // InternalRosetta.g:4215:1: rule__RosettaCalcOr__Alternatives : ( ( ( rule__RosettaCalcOr__Group_0__0 ) ) | ( ( rule__RosettaCalcOr__Group_1__0 ) ) );
    public final void rule__RosettaCalcOr__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4219:1: ( ( ( rule__RosettaCalcOr__Group_0__0 ) ) | ( ( rule__RosettaCalcOr__Group_1__0 ) ) )
            int alt38=2;
            int LA38_0 = input.LA(1);
            if ( ((LA38_0>=RULE_STRING && LA38_0<=RULE_INT)||(LA38_0>=12 && LA38_0<=20)||(LA38_0>=26 && LA38_0<=29)||(LA38_0>=32 && LA38_0<=39)||(LA38_0>=49 && LA38_0<=50)||(LA38_0>=55 && LA38_0<=58)||LA38_0==61||LA38_0==65||LA38_0==73||LA38_0==79||LA38_0==103||(LA38_0>=105 && LA38_0<=106)||LA38_0==114||(LA38_0>=119 && LA38_0<=120)||LA38_0==136||(LA38_0>=139 && LA38_0<=162)) ) {
                alt38=1;
            }
            else if ( (LA38_0==138) ) {
                alt38=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 38, 0, input);
                throw nvae;
            }
            switch (alt38) {
                case 1 :
                    // InternalRosetta.g:4220:2: ( ( rule__RosettaCalcOr__Group_0__0 ) )
                    {
                    // InternalRosetta.g:4220:2: ( ( rule__RosettaCalcOr__Group_0__0 ) )
                    // InternalRosetta.g:4221:3: ( rule__RosettaCalcOr__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcOrAccess().getGroup_0()); 
                    }
                    // InternalRosetta.g:4222:3: ( rule__RosettaCalcOr__Group_0__0 )
                    // InternalRosetta.g:4222:4: rule__RosettaCalcOr__Group_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcOr__Group_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcOrAccess().getGroup_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4226:2: ( ( rule__RosettaCalcOr__Group_1__0 ) )
                    {
                    // InternalRosetta.g:4226:2: ( ( rule__RosettaCalcOr__Group_1__0 ) )
                    // InternalRosetta.g:4227:3: ( rule__RosettaCalcOr__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcOrAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:4228:3: ( rule__RosettaCalcOr__Group_1__0 )
                    // InternalRosetta.g:4228:4: rule__RosettaCalcOr__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcOr__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcOrAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Alternatives"
    // $ANTLR start "rule__RosettaCalcAnd__Alternatives"
    // InternalRosetta.g:4236:1: rule__RosettaCalcAnd__Alternatives : ( ( ( rule__RosettaCalcAnd__Group_0__0 ) ) | ( ( rule__RosettaCalcAnd__Group_1__0 ) ) );
    public final void rule__RosettaCalcAnd__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4240:1: ( ( ( rule__RosettaCalcAnd__Group_0__0 ) ) | ( ( rule__RosettaCalcAnd__Group_1__0 ) ) )
            int alt39=2;
            int LA39_0 = input.LA(1);
            if ( ((LA39_0>=RULE_STRING && LA39_0<=RULE_INT)||(LA39_0>=12 && LA39_0<=20)||(LA39_0>=26 && LA39_0<=29)||(LA39_0>=32 && LA39_0<=39)||(LA39_0>=49 && LA39_0<=50)||(LA39_0>=55 && LA39_0<=58)||LA39_0==61||LA39_0==65||LA39_0==73||LA39_0==79||(LA39_0>=105 && LA39_0<=106)||LA39_0==114||(LA39_0>=119 && LA39_0<=120)||LA39_0==136||(LA39_0>=139 && LA39_0<=162)) ) {
                alt39=1;
            }
            else if ( (LA39_0==103) ) {
                alt39=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 39, 0, input);
                throw nvae;
            }
            switch (alt39) {
                case 1 :
                    // InternalRosetta.g:4241:2: ( ( rule__RosettaCalcAnd__Group_0__0 ) )
                    {
                    // InternalRosetta.g:4241:2: ( ( rule__RosettaCalcAnd__Group_0__0 ) )
                    // InternalRosetta.g:4242:3: ( rule__RosettaCalcAnd__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcAndAccess().getGroup_0()); 
                    }
                    // InternalRosetta.g:4243:3: ( rule__RosettaCalcAnd__Group_0__0 )
                    // InternalRosetta.g:4243:4: rule__RosettaCalcAnd__Group_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcAnd__Group_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcAndAccess().getGroup_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4247:2: ( ( rule__RosettaCalcAnd__Group_1__0 ) )
                    {
                    // InternalRosetta.g:4247:2: ( ( rule__RosettaCalcAnd__Group_1__0 ) )
                    // InternalRosetta.g:4248:3: ( rule__RosettaCalcAnd__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcAndAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:4249:3: ( rule__RosettaCalcAnd__Group_1__0 )
                    // InternalRosetta.g:4249:4: rule__RosettaCalcAnd__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcAnd__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcAndAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Alternatives"
    // $ANTLR start "rule__RosettaCalcEquality__Alternatives"
    // InternalRosetta.g:4257:1: rule__RosettaCalcEquality__Alternatives : ( ( ( rule__RosettaCalcEquality__Group_0__0 ) ) | ( ( rule__RosettaCalcEquality__Group_1__0 ) ) );
    public final void rule__RosettaCalcEquality__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4261:1: ( ( ( rule__RosettaCalcEquality__Group_0__0 ) ) | ( ( rule__RosettaCalcEquality__Group_1__0 ) ) )
            int alt40=2;
            switch ( input.LA(1) ) {
            case RULE_STRING:
            case RULE_ID:
            case RULE_INT:
            case 12:
            case 13:
            case 14:
            case 15:
            case 16:
            case 17:
            case 18:
            case 26:
            case 27:
            case 28:
            case 29:
            case 32:
            case 33:
            case 34:
            case 35:
            case 36:
            case 37:
            case 38:
            case 39:
            case 49:
            case 50:
            case 57:
            case 58:
            case 61:
            case 65:
            case 73:
            case 79:
            case 105:
            case 106:
            case 114:
            case 119:
            case 120:
            case 136:
            case 139:
            case 140:
            case 141:
            case 142:
            case 143:
            case 144:
            case 145:
            case 146:
            case 147:
            case 148:
            case 149:
            case 150:
            case 151:
            case 152:
            case 153:
            case 154:
            case 155:
            case 156:
            case 157:
            case 158:
            case 159:
            case 160:
            case 161:
            case 162:
                {
                alt40=1;
                }
                break;
            case 55:
                {
                int LA40_2 = input.LA(2);
                if ( ((LA40_2>=32 && LA40_2<=35)) ) {
                    alt40=1;
                }
                else if ( ((LA40_2>=19 && LA40_2<=20)) ) {
                    alt40=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 40, 2, input);
                    throw nvae;
                }
                }
                break;
            case 56:
                {
                int LA40_3 = input.LA(2);
                if ( ((LA40_3>=19 && LA40_3<=20)) ) {
                    alt40=2;
                }
                else if ( ((LA40_3>=32 && LA40_3<=35)) ) {
                    alt40=1;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 40, 3, input);
                    throw nvae;
                }
                }
                break;
            case 19:
            case 20:
                {
                alt40=2;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 40, 0, input);
                throw nvae;
            }
            switch (alt40) {
                case 1 :
                    // InternalRosetta.g:4262:2: ( ( rule__RosettaCalcEquality__Group_0__0 ) )
                    {
                    // InternalRosetta.g:4262:2: ( ( rule__RosettaCalcEquality__Group_0__0 ) )
                    // InternalRosetta.g:4263:3: ( rule__RosettaCalcEquality__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcEqualityAccess().getGroup_0()); 
                    }
                    // InternalRosetta.g:4264:3: ( rule__RosettaCalcEquality__Group_0__0 )
                    // InternalRosetta.g:4264:4: rule__RosettaCalcEquality__Group_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcEquality__Group_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcEqualityAccess().getGroup_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4268:2: ( ( rule__RosettaCalcEquality__Group_1__0 ) )
                    {
                    // InternalRosetta.g:4268:2: ( ( rule__RosettaCalcEquality__Group_1__0 ) )
                    // InternalRosetta.g:4269:3: ( rule__RosettaCalcEquality__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcEqualityAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:4270:3: ( rule__RosettaCalcEquality__Group_1__0 )
                    // InternalRosetta.g:4270:4: rule__RosettaCalcEquality__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcEquality__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcEqualityAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Alternatives"
    // $ANTLR start "rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0"
    // InternalRosetta.g:4278:1: rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0 : ( ( '=' ) | ( '<>' ) );
    public final void rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4282:1: ( ( '=' ) | ( '<>' ) )
            int alt41=2;
            int LA41_0 = input.LA(1);
            if ( (LA41_0==19) ) {
                alt41=1;
            }
            else if ( (LA41_0==20) ) {
                alt41=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 41, 0, input);
                throw nvae;
            }
            switch (alt41) {
                case 1 :
                    // InternalRosetta.g:4283:2: ( '=' )
                    {
                    // InternalRosetta.g:4283:2: ( '=' )
                    // InternalRosetta.g:4284:3: '='
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorEqualsSignKeyword_0_1_0_0_2_0_0()); 
                    }
                    match(input,19,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorEqualsSignKeyword_0_1_0_0_2_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4289:2: ( '<>' )
                    {
                    // InternalRosetta.g:4289:2: ( '<>' )
                    // InternalRosetta.g:4290:3: '<>'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorLessThanSignGreaterThanSignKeyword_0_1_0_0_2_0_1()); 
                    }
                    match(input,20,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorLessThanSignGreaterThanSignKeyword_0_1_0_0_2_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0"
    // $ANTLR start "rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0"
    // InternalRosetta.g:4299:1: rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0 : ( ( '=' ) | ( '<>' ) );
    public final void rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4303:1: ( ( '=' ) | ( '<>' ) )
            int alt42=2;
            int LA42_0 = input.LA(1);
            if ( (LA42_0==19) ) {
                alt42=1;
            }
            else if ( (LA42_0==20) ) {
                alt42=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 42, 0, input);
                throw nvae;
            }
            switch (alt42) {
                case 1 :
                    // InternalRosetta.g:4304:2: ( '=' )
                    {
                    // InternalRosetta.g:4304:2: ( '=' )
                    // InternalRosetta.g:4305:3: '='
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorEqualsSignKeyword_1_0_2_0_0()); 
                    }
                    match(input,19,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorEqualsSignKeyword_1_0_2_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4310:2: ( '<>' )
                    {
                    // InternalRosetta.g:4310:2: ( '<>' )
                    // InternalRosetta.g:4311:3: '<>'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorLessThanSignGreaterThanSignKeyword_1_0_2_0_1()); 
                    }
                    match(input,20,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorLessThanSignGreaterThanSignKeyword_1_0_2_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0"
    // $ANTLR start "rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0"
    // InternalRosetta.g:4320:1: rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0 : ( ( '=' ) | ( '<>' ) );
    public final void rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4324:1: ( ( '=' ) | ( '<>' ) )
            int alt43=2;
            int LA43_0 = input.LA(1);
            if ( (LA43_0==19) ) {
                alt43=1;
            }
            else if ( (LA43_0==20) ) {
                alt43=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 43, 0, input);
                throw nvae;
            }
            switch (alt43) {
                case 1 :
                    // InternalRosetta.g:4325:2: ( '=' )
                    {
                    // InternalRosetta.g:4325:2: ( '=' )
                    // InternalRosetta.g:4326:3: '='
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorEqualsSignKeyword_1_1_0_0_2_0_0()); 
                    }
                    match(input,19,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorEqualsSignKeyword_1_1_0_0_2_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4331:2: ( '<>' )
                    {
                    // InternalRosetta.g:4331:2: ( '<>' )
                    // InternalRosetta.g:4332:3: '<>'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorLessThanSignGreaterThanSignKeyword_1_1_0_0_2_0_1()); 
                    }
                    match(input,20,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorLessThanSignGreaterThanSignKeyword_1_1_0_0_2_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0"
    // $ANTLR start "rule__RosettaCalcComparison__Alternatives"
    // InternalRosetta.g:4341:1: rule__RosettaCalcComparison__Alternatives : ( ( ( rule__RosettaCalcComparison__Group_0__0 ) ) | ( ( rule__RosettaCalcComparison__Group_1__0 ) ) );
    public final void rule__RosettaCalcComparison__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4345:1: ( ( ( rule__RosettaCalcComparison__Group_0__0 ) ) | ( ( rule__RosettaCalcComparison__Group_1__0 ) ) )
            int alt44=2;
            int LA44_0 = input.LA(1);
            if ( ((LA44_0>=RULE_STRING && LA44_0<=RULE_INT)||(LA44_0>=12 && LA44_0<=18)||(LA44_0>=26 && LA44_0<=29)||(LA44_0>=36 && LA44_0<=39)||(LA44_0>=49 && LA44_0<=50)||(LA44_0>=57 && LA44_0<=58)||LA44_0==61||LA44_0==65||LA44_0==73||LA44_0==79||(LA44_0>=105 && LA44_0<=106)||LA44_0==114||(LA44_0>=119 && LA44_0<=120)||LA44_0==136||(LA44_0>=139 && LA44_0<=162)) ) {
                alt44=1;
            }
            else if ( ((LA44_0>=32 && LA44_0<=35)||(LA44_0>=55 && LA44_0<=56)) ) {
                alt44=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 44, 0, input);
                throw nvae;
            }
            switch (alt44) {
                case 1 :
                    // InternalRosetta.g:4346:2: ( ( rule__RosettaCalcComparison__Group_0__0 ) )
                    {
                    // InternalRosetta.g:4346:2: ( ( rule__RosettaCalcComparison__Group_0__0 ) )
                    // InternalRosetta.g:4347:3: ( rule__RosettaCalcComparison__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getGroup_0()); 
                    }
                    // InternalRosetta.g:4348:3: ( rule__RosettaCalcComparison__Group_0__0 )
                    // InternalRosetta.g:4348:4: rule__RosettaCalcComparison__Group_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcComparison__Group_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getGroup_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4352:2: ( ( rule__RosettaCalcComparison__Group_1__0 ) )
                    {
                    // InternalRosetta.g:4352:2: ( ( rule__RosettaCalcComparison__Group_1__0 ) )
                    // InternalRosetta.g:4353:3: ( rule__RosettaCalcComparison__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:4354:3: ( rule__RosettaCalcComparison__Group_1__0 )
                    // InternalRosetta.g:4354:4: rule__RosettaCalcComparison__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcComparison__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Alternatives"
    // $ANTLR start "rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0"
    // InternalRosetta.g:4362:1: rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0 : ( ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) );
    public final void rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4366:1: ( ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) )
            int alt45=4;
            switch ( input.LA(1) ) {
            case 32:
                {
                alt45=1;
                }
                break;
            case 33:
                {
                alt45=2;
                }
                break;
            case 34:
                {
                alt45=3;
                }
                break;
            case 35:
                {
                alt45=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 45, 0, input);
                throw nvae;
            }
            switch (alt45) {
                case 1 :
                    // InternalRosetta.g:4367:2: ( '>=' )
                    {
                    // InternalRosetta.g:4367:2: ( '>=' )
                    // InternalRosetta.g:4368:3: '>='
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignEqualsSignKeyword_0_1_0_0_2_0_0()); 
                    }
                    match(input,32,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignEqualsSignKeyword_0_1_0_0_2_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4373:2: ( '<=' )
                    {
                    // InternalRosetta.g:4373:2: ( '<=' )
                    // InternalRosetta.g:4374:3: '<='
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignEqualsSignKeyword_0_1_0_0_2_0_1()); 
                    }
                    match(input,33,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignEqualsSignKeyword_0_1_0_0_2_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4379:2: ( '>' )
                    {
                    // InternalRosetta.g:4379:2: ( '>' )
                    // InternalRosetta.g:4380:3: '>'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignKeyword_0_1_0_0_2_0_2()); 
                    }
                    match(input,34,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignKeyword_0_1_0_0_2_0_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:4385:2: ( '<' )
                    {
                    // InternalRosetta.g:4385:2: ( '<' )
                    // InternalRosetta.g:4386:3: '<'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignKeyword_0_1_0_0_2_0_3()); 
                    }
                    match(input,35,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignKeyword_0_1_0_0_2_0_3()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0"
    // $ANTLR start "rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0"
    // InternalRosetta.g:4395:1: rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0 : ( ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) );
    public final void rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4399:1: ( ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) )
            int alt46=4;
            switch ( input.LA(1) ) {
            case 32:
                {
                alt46=1;
                }
                break;
            case 33:
                {
                alt46=2;
                }
                break;
            case 34:
                {
                alt46=3;
                }
                break;
            case 35:
                {
                alt46=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 46, 0, input);
                throw nvae;
            }
            switch (alt46) {
                case 1 :
                    // InternalRosetta.g:4400:2: ( '>=' )
                    {
                    // InternalRosetta.g:4400:2: ( '>=' )
                    // InternalRosetta.g:4401:3: '>='
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_0_2_0_0()); 
                    }
                    match(input,32,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_0_2_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4406:2: ( '<=' )
                    {
                    // InternalRosetta.g:4406:2: ( '<=' )
                    // InternalRosetta.g:4407:3: '<='
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignEqualsSignKeyword_1_0_2_0_1()); 
                    }
                    match(input,33,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignEqualsSignKeyword_1_0_2_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4412:2: ( '>' )
                    {
                    // InternalRosetta.g:4412:2: ( '>' )
                    // InternalRosetta.g:4413:3: '>'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignKeyword_1_0_2_0_2()); 
                    }
                    match(input,34,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignKeyword_1_0_2_0_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:4418:2: ( '<' )
                    {
                    // InternalRosetta.g:4418:2: ( '<' )
                    // InternalRosetta.g:4419:3: '<'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignKeyword_1_0_2_0_3()); 
                    }
                    match(input,35,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignKeyword_1_0_2_0_3()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0"
    // $ANTLR start "rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0"
    // InternalRosetta.g:4428:1: rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0 : ( ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) );
    public final void rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4432:1: ( ( '>=' ) | ( '<=' ) | ( '>' ) | ( '<' ) )
            int alt47=4;
            switch ( input.LA(1) ) {
            case 32:
                {
                alt47=1;
                }
                break;
            case 33:
                {
                alt47=2;
                }
                break;
            case 34:
                {
                alt47=3;
                }
                break;
            case 35:
                {
                alt47=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 47, 0, input);
                throw nvae;
            }
            switch (alt47) {
                case 1 :
                    // InternalRosetta.g:4433:2: ( '>=' )
                    {
                    // InternalRosetta.g:4433:2: ( '>=' )
                    // InternalRosetta.g:4434:3: '>='
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_0_2_0_0()); 
                    }
                    match(input,32,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignEqualsSignKeyword_1_1_0_0_2_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4439:2: ( '<=' )
                    {
                    // InternalRosetta.g:4439:2: ( '<=' )
                    // InternalRosetta.g:4440:3: '<='
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_0_2_0_1()); 
                    }
                    match(input,33,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignEqualsSignKeyword_1_1_0_0_2_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4445:2: ( '>' )
                    {
                    // InternalRosetta.g:4445:2: ( '>' )
                    // InternalRosetta.g:4446:3: '>'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignKeyword_1_1_0_0_2_0_2()); 
                    }
                    match(input,34,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorGreaterThanSignKeyword_1_1_0_0_2_0_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:4451:2: ( '<' )
                    {
                    // InternalRosetta.g:4451:2: ( '<' )
                    // InternalRosetta.g:4452:3: '<'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignKeyword_1_1_0_0_2_0_3()); 
                    }
                    match(input,35,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorLessThanSignKeyword_1_1_0_0_2_0_3()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0"
    // $ANTLR start "rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0"
    // InternalRosetta.g:4461:1: rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0 : ( ( '+' ) | ( '-' ) );
    public final void rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4465:1: ( ( '+' ) | ( '-' ) )
            int alt48=2;
            int LA48_0 = input.LA(1);
            if ( (LA48_0==28) ) {
                alt48=1;
            }
            else if ( (LA48_0==29) ) {
                alt48=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 48, 0, input);
                throw nvae;
            }
            switch (alt48) {
                case 1 :
                    // InternalRosetta.g:4466:2: ( '+' )
                    {
                    // InternalRosetta.g:4466:2: ( '+' )
                    // InternalRosetta.g:4467:3: '+'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcAdditiveAccess().getOperatorPlusSignKeyword_1_0_0_1_0_0()); 
                    }
                    match(input,28,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcAdditiveAccess().getOperatorPlusSignKeyword_1_0_0_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4472:2: ( '-' )
                    {
                    // InternalRosetta.g:4472:2: ( '-' )
                    // InternalRosetta.g:4473:3: '-'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcAdditiveAccess().getOperatorHyphenMinusKeyword_1_0_0_1_0_1()); 
                    }
                    match(input,29,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcAdditiveAccess().getOperatorHyphenMinusKeyword_1_0_0_1_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Alternatives"
    // InternalRosetta.g:4482:1: rule__RosettaCalcMultiplicative__Alternatives : ( ( ( rule__RosettaCalcMultiplicative__Group_0__0 ) ) | ( ( rule__RosettaCalcMultiplicative__Group_1__0 ) ) );
    public final void rule__RosettaCalcMultiplicative__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4486:1: ( ( ( rule__RosettaCalcMultiplicative__Group_0__0 ) ) | ( ( rule__RosettaCalcMultiplicative__Group_1__0 ) ) )
            int alt49=2;
            int LA49_0 = input.LA(1);
            if ( ((LA49_0>=RULE_STRING && LA49_0<=RULE_INT)||(LA49_0>=12 && LA49_0<=18)||(LA49_0>=26 && LA49_0<=29)||(LA49_0>=38 && LA49_0<=39)||(LA49_0>=49 && LA49_0<=50)||(LA49_0>=57 && LA49_0<=58)||LA49_0==61||LA49_0==65||LA49_0==73||LA49_0==79||(LA49_0>=105 && LA49_0<=106)||LA49_0==114||(LA49_0>=119 && LA49_0<=120)||LA49_0==136||(LA49_0>=139 && LA49_0<=162)) ) {
                alt49=1;
            }
            else if ( ((LA49_0>=36 && LA49_0<=37)) ) {
                alt49=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 49, 0, input);
                throw nvae;
            }
            switch (alt49) {
                case 1 :
                    // InternalRosetta.g:4487:2: ( ( rule__RosettaCalcMultiplicative__Group_0__0 ) )
                    {
                    // InternalRosetta.g:4487:2: ( ( rule__RosettaCalcMultiplicative__Group_0__0 ) )
                    // InternalRosetta.g:4488:3: ( rule__RosettaCalcMultiplicative__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_0()); 
                    }
                    // InternalRosetta.g:4489:3: ( rule__RosettaCalcMultiplicative__Group_0__0 )
                    // InternalRosetta.g:4489:4: rule__RosettaCalcMultiplicative__Group_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcMultiplicative__Group_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4493:2: ( ( rule__RosettaCalcMultiplicative__Group_1__0 ) )
                    {
                    // InternalRosetta.g:4493:2: ( ( rule__RosettaCalcMultiplicative__Group_1__0 ) )
                    // InternalRosetta.g:4494:3: ( rule__RosettaCalcMultiplicative__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:4495:3: ( rule__RosettaCalcMultiplicative__Group_1__0 )
                    // InternalRosetta.g:4495:4: rule__RosettaCalcMultiplicative__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcMultiplicative__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Alternatives"
    // $ANTLR start "rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0"
    // InternalRosetta.g:4503:1: rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0 : ( ( '*' ) | ( '/' ) );
    public final void rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4507:1: ( ( '*' ) | ( '/' ) )
            int alt50=2;
            int LA50_0 = input.LA(1);
            if ( (LA50_0==36) ) {
                alt50=1;
            }
            else if ( (LA50_0==37) ) {
                alt50=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 50, 0, input);
                throw nvae;
            }
            switch (alt50) {
                case 1 :
                    // InternalRosetta.g:4508:2: ( '*' )
                    {
                    // InternalRosetta.g:4508:2: ( '*' )
                    // InternalRosetta.g:4509:3: '*'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAsteriskKeyword_0_1_0_0_1_0_0()); 
                    }
                    match(input,36,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAsteriskKeyword_0_1_0_0_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4514:2: ( '/' )
                    {
                    // InternalRosetta.g:4514:2: ( '/' )
                    // InternalRosetta.g:4515:3: '/'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorSolidusKeyword_0_1_0_0_1_0_1()); 
                    }
                    match(input,37,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorSolidusKeyword_0_1_0_0_1_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0"
    // InternalRosetta.g:4524:1: rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0 : ( ( '*' ) | ( '/' ) );
    public final void rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4528:1: ( ( '*' ) | ( '/' ) )
            int alt51=2;
            int LA51_0 = input.LA(1);
            if ( (LA51_0==36) ) {
                alt51=1;
            }
            else if ( (LA51_0==37) ) {
                alt51=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 51, 0, input);
                throw nvae;
            }
            switch (alt51) {
                case 1 :
                    // InternalRosetta.g:4529:2: ( '*' )
                    {
                    // InternalRosetta.g:4529:2: ( '*' )
                    // InternalRosetta.g:4530:3: '*'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAsteriskKeyword_1_0_1_0_0()); 
                    }
                    match(input,36,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAsteriskKeyword_1_0_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4535:2: ( '/' )
                    {
                    // InternalRosetta.g:4535:2: ( '/' )
                    // InternalRosetta.g:4536:3: '/'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorSolidusKeyword_1_0_1_0_1()); 
                    }
                    match(input,37,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorSolidusKeyword_1_0_1_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0"
    // InternalRosetta.g:4545:1: rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0 : ( ( '*' ) | ( '/' ) );
    public final void rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4549:1: ( ( '*' ) | ( '/' ) )
            int alt52=2;
            int LA52_0 = input.LA(1);
            if ( (LA52_0==36) ) {
                alt52=1;
            }
            else if ( (LA52_0==37) ) {
                alt52=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 52, 0, input);
                throw nvae;
            }
            switch (alt52) {
                case 1 :
                    // InternalRosetta.g:4550:2: ( '*' )
                    {
                    // InternalRosetta.g:4550:2: ( '*' )
                    // InternalRosetta.g:4551:3: '*'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAsteriskKeyword_1_1_0_0_1_0_0()); 
                    }
                    match(input,36,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAsteriskKeyword_1_1_0_0_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4556:2: ( '/' )
                    {
                    // InternalRosetta.g:4556:2: ( '/' )
                    // InternalRosetta.g:4557:3: '/'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorSolidusKeyword_1_1_0_0_1_0_1()); 
                    }
                    match(input,37,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorSolidusKeyword_1_1_0_0_1_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0"
    // $ANTLR start "rule__RosettaCalcBinary__Alternatives"
    // InternalRosetta.g:4566:1: rule__RosettaCalcBinary__Alternatives : ( ( ( rule__RosettaCalcBinary__Group_0__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1__0 ) ) );
    public final void rule__RosettaCalcBinary__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4570:1: ( ( ( rule__RosettaCalcBinary__Group_0__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1__0 ) ) )
            int alt53=2;
            int LA53_0 = input.LA(1);
            if ( ((LA53_0>=RULE_STRING && LA53_0<=RULE_INT)||(LA53_0>=12 && LA53_0<=18)||(LA53_0>=26 && LA53_0<=29)||(LA53_0>=38 && LA53_0<=39)||(LA53_0>=49 && LA53_0<=50)||(LA53_0>=57 && LA53_0<=58)||LA53_0==61||LA53_0==65||LA53_0==73||LA53_0==79||(LA53_0>=105 && LA53_0<=106)||LA53_0==114||LA53_0==120||LA53_0==136||(LA53_0>=142 && LA53_0<=162)) ) {
                alt53=1;
            }
            else if ( (LA53_0==119||(LA53_0>=139 && LA53_0<=141)) ) {
                alt53=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 53, 0, input);
                throw nvae;
            }
            switch (alt53) {
                case 1 :
                    // InternalRosetta.g:4571:2: ( ( rule__RosettaCalcBinary__Group_0__0 ) )
                    {
                    // InternalRosetta.g:4571:2: ( ( rule__RosettaCalcBinary__Group_0__0 ) )
                    // InternalRosetta.g:4572:3: ( rule__RosettaCalcBinary__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0()); 
                    }
                    // InternalRosetta.g:4573:3: ( rule__RosettaCalcBinary__Group_0__0 )
                    // InternalRosetta.g:4573:4: rule__RosettaCalcBinary__Group_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4577:2: ( ( rule__RosettaCalcBinary__Group_1__0 ) )
                    {
                    // InternalRosetta.g:4577:2: ( ( rule__RosettaCalcBinary__Group_1__0 ) )
                    // InternalRosetta.g:4578:3: ( rule__RosettaCalcBinary__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:4579:3: ( rule__RosettaCalcBinary__Group_1__0 )
                    // InternalRosetta.g:4579:4: rule__RosettaCalcBinary__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Alternatives"
    // $ANTLR start "rule__RosettaCalcBinary__Alternatives_0_1_0"
    // InternalRosetta.g:4587:1: rule__RosettaCalcBinary__Alternatives_0_1_0 : ( ( ( rule__RosettaCalcBinary__Group_0_1_0_0__0 ) ) | ( ( rule__RosettaCalcBinary__Group_0_1_0_1__0 ) ) | ( ( rule__RosettaCalcBinary__Group_0_1_0_2__0 ) ) | ( ( rule__RosettaCalcBinary__Group_0_1_0_3__0 ) ) );
    public final void rule__RosettaCalcBinary__Alternatives_0_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4591:1: ( ( ( rule__RosettaCalcBinary__Group_0_1_0_0__0 ) ) | ( ( rule__RosettaCalcBinary__Group_0_1_0_1__0 ) ) | ( ( rule__RosettaCalcBinary__Group_0_1_0_2__0 ) ) | ( ( rule__RosettaCalcBinary__Group_0_1_0_3__0 ) ) )
            int alt54=4;
            switch ( input.LA(1) ) {
            case 139:
                {
                alt54=1;
                }
                break;
            case 140:
                {
                alt54=2;
                }
                break;
            case 119:
                {
                alt54=3;
                }
                break;
            case 141:
                {
                alt54=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 54, 0, input);
                throw nvae;
            }
            switch (alt54) {
                case 1 :
                    // InternalRosetta.g:4592:2: ( ( rule__RosettaCalcBinary__Group_0_1_0_0__0 ) )
                    {
                    // InternalRosetta.g:4592:2: ( ( rule__RosettaCalcBinary__Group_0_1_0_0__0 ) )
                    // InternalRosetta.g:4593:3: ( rule__RosettaCalcBinary__Group_0_1_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0_1_0_0()); 
                    }
                    // InternalRosetta.g:4594:3: ( rule__RosettaCalcBinary__Group_0_1_0_0__0 )
                    // InternalRosetta.g:4594:4: rule__RosettaCalcBinary__Group_0_1_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_0_1_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4598:2: ( ( rule__RosettaCalcBinary__Group_0_1_0_1__0 ) )
                    {
                    // InternalRosetta.g:4598:2: ( ( rule__RosettaCalcBinary__Group_0_1_0_1__0 ) )
                    // InternalRosetta.g:4599:3: ( rule__RosettaCalcBinary__Group_0_1_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0_1_0_1()); 
                    }
                    // InternalRosetta.g:4600:3: ( rule__RosettaCalcBinary__Group_0_1_0_1__0 )
                    // InternalRosetta.g:4600:4: rule__RosettaCalcBinary__Group_0_1_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_0_1_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0_1_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4604:2: ( ( rule__RosettaCalcBinary__Group_0_1_0_2__0 ) )
                    {
                    // InternalRosetta.g:4604:2: ( ( rule__RosettaCalcBinary__Group_0_1_0_2__0 ) )
                    // InternalRosetta.g:4605:3: ( rule__RosettaCalcBinary__Group_0_1_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0_1_0_2()); 
                    }
                    // InternalRosetta.g:4606:3: ( rule__RosettaCalcBinary__Group_0_1_0_2__0 )
                    // InternalRosetta.g:4606:4: rule__RosettaCalcBinary__Group_0_1_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_0_1_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0_1_0_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:4610:2: ( ( rule__RosettaCalcBinary__Group_0_1_0_3__0 ) )
                    {
                    // InternalRosetta.g:4610:2: ( ( rule__RosettaCalcBinary__Group_0_1_0_3__0 ) )
                    // InternalRosetta.g:4611:3: ( rule__RosettaCalcBinary__Group_0_1_0_3__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0_1_0_3()); 
                    }
                    // InternalRosetta.g:4612:3: ( rule__RosettaCalcBinary__Group_0_1_0_3__0 )
                    // InternalRosetta.g:4612:4: rule__RosettaCalcBinary__Group_0_1_0_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_0_1_0_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0_1_0_3()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Alternatives_0_1_0"
    // $ANTLR start "rule__RosettaCalcBinary__Alternatives_1_0_0"
    // InternalRosetta.g:4620:1: rule__RosettaCalcBinary__Alternatives_1_0_0 : ( ( ( rule__RosettaCalcBinary__Group_1_0_0_0__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_0_0_1__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_0_0_2__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_0_0_3__0 ) ) );
    public final void rule__RosettaCalcBinary__Alternatives_1_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4624:1: ( ( ( rule__RosettaCalcBinary__Group_1_0_0_0__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_0_0_1__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_0_0_2__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_0_0_3__0 ) ) )
            int alt55=4;
            switch ( input.LA(1) ) {
            case 139:
                {
                alt55=1;
                }
                break;
            case 140:
                {
                alt55=2;
                }
                break;
            case 119:
                {
                alt55=3;
                }
                break;
            case 141:
                {
                alt55=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 55, 0, input);
                throw nvae;
            }
            switch (alt55) {
                case 1 :
                    // InternalRosetta.g:4625:2: ( ( rule__RosettaCalcBinary__Group_1_0_0_0__0 ) )
                    {
                    // InternalRosetta.g:4625:2: ( ( rule__RosettaCalcBinary__Group_1_0_0_0__0 ) )
                    // InternalRosetta.g:4626:3: ( rule__RosettaCalcBinary__Group_1_0_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_0_0_0()); 
                    }
                    // InternalRosetta.g:4627:3: ( rule__RosettaCalcBinary__Group_1_0_0_0__0 )
                    // InternalRosetta.g:4627:4: rule__RosettaCalcBinary__Group_1_0_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_1_0_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_0_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4631:2: ( ( rule__RosettaCalcBinary__Group_1_0_0_1__0 ) )
                    {
                    // InternalRosetta.g:4631:2: ( ( rule__RosettaCalcBinary__Group_1_0_0_1__0 ) )
                    // InternalRosetta.g:4632:3: ( rule__RosettaCalcBinary__Group_1_0_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_0_0_1()); 
                    }
                    // InternalRosetta.g:4633:3: ( rule__RosettaCalcBinary__Group_1_0_0_1__0 )
                    // InternalRosetta.g:4633:4: rule__RosettaCalcBinary__Group_1_0_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_1_0_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_0_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4637:2: ( ( rule__RosettaCalcBinary__Group_1_0_0_2__0 ) )
                    {
                    // InternalRosetta.g:4637:2: ( ( rule__RosettaCalcBinary__Group_1_0_0_2__0 ) )
                    // InternalRosetta.g:4638:3: ( rule__RosettaCalcBinary__Group_1_0_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_0_0_2()); 
                    }
                    // InternalRosetta.g:4639:3: ( rule__RosettaCalcBinary__Group_1_0_0_2__0 )
                    // InternalRosetta.g:4639:4: rule__RosettaCalcBinary__Group_1_0_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_1_0_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_0_0_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:4643:2: ( ( rule__RosettaCalcBinary__Group_1_0_0_3__0 ) )
                    {
                    // InternalRosetta.g:4643:2: ( ( rule__RosettaCalcBinary__Group_1_0_0_3__0 ) )
                    // InternalRosetta.g:4644:3: ( rule__RosettaCalcBinary__Group_1_0_0_3__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_0_0_3()); 
                    }
                    // InternalRosetta.g:4645:3: ( rule__RosettaCalcBinary__Group_1_0_0_3__0 )
                    // InternalRosetta.g:4645:4: rule__RosettaCalcBinary__Group_1_0_0_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_1_0_0_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_0_0_3()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Alternatives_1_0_0"
    // $ANTLR start "rule__RosettaCalcBinary__Alternatives_1_1_0"
    // InternalRosetta.g:4653:1: rule__RosettaCalcBinary__Alternatives_1_1_0 : ( ( ( rule__RosettaCalcBinary__Group_1_1_0_0__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_1_0_1__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_1_0_2__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_1_0_3__0 ) ) );
    public final void rule__RosettaCalcBinary__Alternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4657:1: ( ( ( rule__RosettaCalcBinary__Group_1_1_0_0__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_1_0_1__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_1_0_2__0 ) ) | ( ( rule__RosettaCalcBinary__Group_1_1_0_3__0 ) ) )
            int alt56=4;
            switch ( input.LA(1) ) {
            case 139:
                {
                alt56=1;
                }
                break;
            case 140:
                {
                alt56=2;
                }
                break;
            case 119:
                {
                alt56=3;
                }
                break;
            case 141:
                {
                alt56=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 56, 0, input);
                throw nvae;
            }
            switch (alt56) {
                case 1 :
                    // InternalRosetta.g:4658:2: ( ( rule__RosettaCalcBinary__Group_1_1_0_0__0 ) )
                    {
                    // InternalRosetta.g:4658:2: ( ( rule__RosettaCalcBinary__Group_1_1_0_0__0 ) )
                    // InternalRosetta.g:4659:3: ( rule__RosettaCalcBinary__Group_1_1_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_1_0_0()); 
                    }
                    // InternalRosetta.g:4660:3: ( rule__RosettaCalcBinary__Group_1_1_0_0__0 )
                    // InternalRosetta.g:4660:4: rule__RosettaCalcBinary__Group_1_1_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_1_1_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4664:2: ( ( rule__RosettaCalcBinary__Group_1_1_0_1__0 ) )
                    {
                    // InternalRosetta.g:4664:2: ( ( rule__RosettaCalcBinary__Group_1_1_0_1__0 ) )
                    // InternalRosetta.g:4665:3: ( rule__RosettaCalcBinary__Group_1_1_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_1_0_1()); 
                    }
                    // InternalRosetta.g:4666:3: ( rule__RosettaCalcBinary__Group_1_1_0_1__0 )
                    // InternalRosetta.g:4666:4: rule__RosettaCalcBinary__Group_1_1_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_1_1_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_1_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4670:2: ( ( rule__RosettaCalcBinary__Group_1_1_0_2__0 ) )
                    {
                    // InternalRosetta.g:4670:2: ( ( rule__RosettaCalcBinary__Group_1_1_0_2__0 ) )
                    // InternalRosetta.g:4671:3: ( rule__RosettaCalcBinary__Group_1_1_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_1_0_2()); 
                    }
                    // InternalRosetta.g:4672:3: ( rule__RosettaCalcBinary__Group_1_1_0_2__0 )
                    // InternalRosetta.g:4672:4: rule__RosettaCalcBinary__Group_1_1_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_1_1_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_1_0_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:4676:2: ( ( rule__RosettaCalcBinary__Group_1_1_0_3__0 ) )
                    {
                    // InternalRosetta.g:4676:2: ( ( rule__RosettaCalcBinary__Group_1_1_0_3__0 ) )
                    // InternalRosetta.g:4677:3: ( rule__RosettaCalcBinary__Group_1_1_0_3__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_1_0_3()); 
                    }
                    // InternalRosetta.g:4678:3: ( rule__RosettaCalcBinary__Group_1_1_0_3__0 )
                    // InternalRosetta.g:4678:4: rule__RosettaCalcBinary__Group_1_1_0_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_1_1_0_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_1_0_3()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Alternatives_1_1_0"
    // $ANTLR start "rule__SwitchCaseGuard__Alternatives"
    // InternalRosetta.g:4686:1: rule__SwitchCaseGuard__Alternatives : ( ( ( rule__SwitchCaseGuard__LiteralGuardAssignment_0 ) ) | ( ( rule__SwitchCaseGuard__SymbolGuardAssignment_1 ) ) );
    public final void rule__SwitchCaseGuard__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4690:1: ( ( ( rule__SwitchCaseGuard__LiteralGuardAssignment_0 ) ) | ( ( rule__SwitchCaseGuard__SymbolGuardAssignment_1 ) ) )
            int alt57=2;
            int LA57_0 = input.LA(1);
            if ( (LA57_0==RULE_STRING||LA57_0==RULE_INT||(LA57_0>=28 && LA57_0<=29)||LA57_0==61||LA57_0==114||LA57_0==136) ) {
                alt57=1;
            }
            else if ( (LA57_0==RULE_ID||(LA57_0>=14 && LA57_0<=18)) ) {
                alt57=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 57, 0, input);
                throw nvae;
            }
            switch (alt57) {
                case 1 :
                    // InternalRosetta.g:4691:2: ( ( rule__SwitchCaseGuard__LiteralGuardAssignment_0 ) )
                    {
                    // InternalRosetta.g:4691:2: ( ( rule__SwitchCaseGuard__LiteralGuardAssignment_0 ) )
                    // InternalRosetta.g:4692:3: ( rule__SwitchCaseGuard__LiteralGuardAssignment_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getSwitchCaseGuardAccess().getLiteralGuardAssignment_0()); 
                    }
                    // InternalRosetta.g:4693:3: ( rule__SwitchCaseGuard__LiteralGuardAssignment_0 )
                    // InternalRosetta.g:4693:4: rule__SwitchCaseGuard__LiteralGuardAssignment_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__SwitchCaseGuard__LiteralGuardAssignment_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getSwitchCaseGuardAccess().getLiteralGuardAssignment_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4697:2: ( ( rule__SwitchCaseGuard__SymbolGuardAssignment_1 ) )
                    {
                    // InternalRosetta.g:4697:2: ( ( rule__SwitchCaseGuard__SymbolGuardAssignment_1 ) )
                    // InternalRosetta.g:4698:3: ( rule__SwitchCaseGuard__SymbolGuardAssignment_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getSwitchCaseGuardAccess().getSymbolGuardAssignment_1()); 
                    }
                    // InternalRosetta.g:4699:3: ( rule__SwitchCaseGuard__SymbolGuardAssignment_1 )
                    // InternalRosetta.g:4699:4: rule__SwitchCaseGuard__SymbolGuardAssignment_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__SwitchCaseGuard__SymbolGuardAssignment_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getSwitchCaseGuardAccess().getSymbolGuardAssignment_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__SwitchCaseGuard__Alternatives"
    // $ANTLR start "rule__UnaryOperation__Alternatives"
    // InternalRosetta.g:4707:1: rule__UnaryOperation__Alternatives : ( ( ( rule__UnaryOperation__Group_0__0 ) ) | ( ( rule__UnaryOperation__Group_1__0 ) ) );
    public final void rule__UnaryOperation__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4711:1: ( ( ( rule__UnaryOperation__Group_0__0 ) ) | ( ( rule__UnaryOperation__Group_1__0 ) ) )
            int alt58=2;
            int LA58_0 = input.LA(1);
            if ( ((LA58_0>=RULE_STRING && LA58_0<=RULE_INT)||(LA58_0>=14 && LA58_0<=18)||(LA58_0>=26 && LA58_0<=29)||LA58_0==61||LA58_0==65||LA58_0==73||LA58_0==79||LA58_0==114||LA58_0==120||LA58_0==136) ) {
                alt58=1;
            }
            else if ( ((LA58_0>=12 && LA58_0<=13)||(LA58_0>=38 && LA58_0<=39)||(LA58_0>=49 && LA58_0<=50)||(LA58_0>=57 && LA58_0<=58)||(LA58_0>=105 && LA58_0<=106)||(LA58_0>=142 && LA58_0<=162)) ) {
                alt58=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 58, 0, input);
                throw nvae;
            }
            switch (alt58) {
                case 1 :
                    // InternalRosetta.g:4712:2: ( ( rule__UnaryOperation__Group_0__0 ) )
                    {
                    // InternalRosetta.g:4712:2: ( ( rule__UnaryOperation__Group_0__0 ) )
                    // InternalRosetta.g:4713:3: ( rule__UnaryOperation__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0()); 
                    }
                    // InternalRosetta.g:4714:3: ( rule__UnaryOperation__Group_0__0 )
                    // InternalRosetta.g:4714:4: rule__UnaryOperation__Group_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4718:2: ( ( rule__UnaryOperation__Group_1__0 ) )
                    {
                    // InternalRosetta.g:4718:2: ( ( rule__UnaryOperation__Group_1__0 ) )
                    // InternalRosetta.g:4719:3: ( rule__UnaryOperation__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:4720:3: ( rule__UnaryOperation__Group_1__0 )
                    // InternalRosetta.g:4720:4: rule__UnaryOperation__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives"
    // $ANTLR start "rule__UnaryOperation__Alternatives_0_1"
    // InternalRosetta.g:4728:1: rule__UnaryOperation__Alternatives_0_1 : ( ( ( rule__UnaryOperation__Group_0_1_0__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_1__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_2__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4732:1: ( ( ( rule__UnaryOperation__Group_0_1_0__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_1__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_2__0 ) ) )
            int alt59=3;
            switch ( input.LA(1) ) {
            case 49:
            case 50:
            case 57:
            case 58:
            case 78:
            case 105:
            case 106:
            case 118:
            case 142:
            case 143:
            case 144:
            case 145:
            case 146:
            case 147:
            case 148:
            case 149:
            case 150:
            case 151:
            case 152:
            case 153:
            case 154:
            case 155:
            case 156:
            case 157:
            case 158:
            case 159:
                {
                alt59=1;
                }
                break;
            case 12:
            case 13:
            case 160:
                {
                alt59=2;
                }
                break;
            case 38:
            case 39:
            case 161:
            case 162:
                {
                alt59=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 59, 0, input);
                throw nvae;
            }
            switch (alt59) {
                case 1 :
                    // InternalRosetta.g:4733:2: ( ( rule__UnaryOperation__Group_0_1_0__0 ) )
                    {
                    // InternalRosetta.g:4733:2: ( ( rule__UnaryOperation__Group_0_1_0__0 ) )
                    // InternalRosetta.g:4734:3: ( rule__UnaryOperation__Group_0_1_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0()); 
                    }
                    // InternalRosetta.g:4735:3: ( rule__UnaryOperation__Group_0_1_0__0 )
                    // InternalRosetta.g:4735:4: rule__UnaryOperation__Group_0_1_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4739:2: ( ( rule__UnaryOperation__Group_0_1_1__0 ) )
                    {
                    // InternalRosetta.g:4739:2: ( ( rule__UnaryOperation__Group_0_1_1__0 ) )
                    // InternalRosetta.g:4740:3: ( rule__UnaryOperation__Group_0_1_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_1()); 
                    }
                    // InternalRosetta.g:4741:3: ( rule__UnaryOperation__Group_0_1_1__0 )
                    // InternalRosetta.g:4741:4: rule__UnaryOperation__Group_0_1_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4745:2: ( ( rule__UnaryOperation__Group_0_1_2__0 ) )
                    {
                    // InternalRosetta.g:4745:2: ( ( rule__UnaryOperation__Group_0_1_2__0 ) )
                    // InternalRosetta.g:4746:3: ( rule__UnaryOperation__Group_0_1_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_2()); 
                    }
                    // InternalRosetta.g:4747:3: ( rule__UnaryOperation__Group_0_1_2__0 )
                    // InternalRosetta.g:4747:4: rule__UnaryOperation__Group_0_1_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_0_1"
    // $ANTLR start "rule__UnaryOperation__Alternatives_0_1_0_0"
    // InternalRosetta.g:4755:1: rule__UnaryOperation__Alternatives_0_1_0_0 : ( ( ( rule__UnaryOperation__Group_0_1_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_2__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_3__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_4__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_5__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_6__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_7__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_8__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_9__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_10__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_11__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_12__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_13__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_14__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_15__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_16__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_17__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_18__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_19__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_20__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_21__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_22__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_0_1_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4759:1: ( ( ( rule__UnaryOperation__Group_0_1_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_2__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_3__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_4__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_5__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_6__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_7__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_8__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_9__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_10__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_11__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_12__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_13__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_14__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_15__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_16__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_17__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_18__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_19__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_20__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_21__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_22__0 ) ) )
            int alt60=23;
            switch ( input.LA(1) ) {
            case 78:
                {
                alt60=1;
                }
                break;
            case 118:
                {
                alt60=2;
                }
                break;
            case 57:
            case 58:
            case 105:
                {
                alt60=3;
                }
                break;
            case 106:
                {
                alt60=4;
                }
                break;
            case 142:
                {
                alt60=5;
                }
                break;
            case 143:
                {
                alt60=6;
                }
                break;
            case 144:
                {
                alt60=7;
                }
                break;
            case 145:
                {
                alt60=8;
                }
                break;
            case 146:
                {
                alt60=9;
                }
                break;
            case 147:
                {
                alt60=10;
                }
                break;
            case 148:
                {
                alt60=11;
                }
                break;
            case 149:
                {
                alt60=12;
                }
                break;
            case 150:
                {
                alt60=13;
                }
                break;
            case 49:
            case 50:
                {
                alt60=14;
                }
                break;
            case 151:
                {
                alt60=15;
                }
                break;
            case 152:
                {
                alt60=16;
                }
                break;
            case 153:
                {
                alt60=17;
                }
                break;
            case 154:
                {
                alt60=18;
                }
                break;
            case 155:
                {
                alt60=19;
                }
                break;
            case 156:
                {
                alt60=20;
                }
                break;
            case 157:
                {
                alt60=21;
                }
                break;
            case 158:
                {
                alt60=22;
                }
                break;
            case 159:
                {
                alt60=23;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 60, 0, input);
                throw nvae;
            }
            switch (alt60) {
                case 1 :
                    // InternalRosetta.g:4760:2: ( ( rule__UnaryOperation__Group_0_1_0_0_0__0 ) )
                    {
                    // InternalRosetta.g:4760:2: ( ( rule__UnaryOperation__Group_0_1_0_0_0__0 ) )
                    // InternalRosetta.g:4761:3: ( rule__UnaryOperation__Group_0_1_0_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_0()); 
                    }
                    // InternalRosetta.g:4762:3: ( rule__UnaryOperation__Group_0_1_0_0_0__0 )
                    // InternalRosetta.g:4762:4: rule__UnaryOperation__Group_0_1_0_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4766:2: ( ( rule__UnaryOperation__Group_0_1_0_0_1__0 ) )
                    {
                    // InternalRosetta.g:4766:2: ( ( rule__UnaryOperation__Group_0_1_0_0_1__0 ) )
                    // InternalRosetta.g:4767:3: ( rule__UnaryOperation__Group_0_1_0_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_1()); 
                    }
                    // InternalRosetta.g:4768:3: ( rule__UnaryOperation__Group_0_1_0_0_1__0 )
                    // InternalRosetta.g:4768:4: rule__UnaryOperation__Group_0_1_0_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4772:2: ( ( rule__UnaryOperation__Group_0_1_0_0_2__0 ) )
                    {
                    // InternalRosetta.g:4772:2: ( ( rule__UnaryOperation__Group_0_1_0_0_2__0 ) )
                    // InternalRosetta.g:4773:3: ( rule__UnaryOperation__Group_0_1_0_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_2()); 
                    }
                    // InternalRosetta.g:4774:3: ( rule__UnaryOperation__Group_0_1_0_0_2__0 )
                    // InternalRosetta.g:4774:4: rule__UnaryOperation__Group_0_1_0_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:4778:2: ( ( rule__UnaryOperation__Group_0_1_0_0_3__0 ) )
                    {
                    // InternalRosetta.g:4778:2: ( ( rule__UnaryOperation__Group_0_1_0_0_3__0 ) )
                    // InternalRosetta.g:4779:3: ( rule__UnaryOperation__Group_0_1_0_0_3__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_3()); 
                    }
                    // InternalRosetta.g:4780:3: ( rule__UnaryOperation__Group_0_1_0_0_3__0 )
                    // InternalRosetta.g:4780:4: rule__UnaryOperation__Group_0_1_0_0_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_3()); 
                    }
                    }
                    }
                    break;
                case 5 :
                    // InternalRosetta.g:4784:2: ( ( rule__UnaryOperation__Group_0_1_0_0_4__0 ) )
                    {
                    // InternalRosetta.g:4784:2: ( ( rule__UnaryOperation__Group_0_1_0_0_4__0 ) )
                    // InternalRosetta.g:4785:3: ( rule__UnaryOperation__Group_0_1_0_0_4__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_4()); 
                    }
                    // InternalRosetta.g:4786:3: ( rule__UnaryOperation__Group_0_1_0_0_4__0 )
                    // InternalRosetta.g:4786:4: rule__UnaryOperation__Group_0_1_0_0_4__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_4__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_4()); 
                    }
                    }
                    }
                    break;
                case 6 :
                    // InternalRosetta.g:4790:2: ( ( rule__UnaryOperation__Group_0_1_0_0_5__0 ) )
                    {
                    // InternalRosetta.g:4790:2: ( ( rule__UnaryOperation__Group_0_1_0_0_5__0 ) )
                    // InternalRosetta.g:4791:3: ( rule__UnaryOperation__Group_0_1_0_0_5__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_5()); 
                    }
                    // InternalRosetta.g:4792:3: ( rule__UnaryOperation__Group_0_1_0_0_5__0 )
                    // InternalRosetta.g:4792:4: rule__UnaryOperation__Group_0_1_0_0_5__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_5__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_5()); 
                    }
                    }
                    }
                    break;
                case 7 :
                    // InternalRosetta.g:4796:2: ( ( rule__UnaryOperation__Group_0_1_0_0_6__0 ) )
                    {
                    // InternalRosetta.g:4796:2: ( ( rule__UnaryOperation__Group_0_1_0_0_6__0 ) )
                    // InternalRosetta.g:4797:3: ( rule__UnaryOperation__Group_0_1_0_0_6__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_6()); 
                    }
                    // InternalRosetta.g:4798:3: ( rule__UnaryOperation__Group_0_1_0_0_6__0 )
                    // InternalRosetta.g:4798:4: rule__UnaryOperation__Group_0_1_0_0_6__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_6__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_6()); 
                    }
                    }
                    }
                    break;
                case 8 :
                    // InternalRosetta.g:4802:2: ( ( rule__UnaryOperation__Group_0_1_0_0_7__0 ) )
                    {
                    // InternalRosetta.g:4802:2: ( ( rule__UnaryOperation__Group_0_1_0_0_7__0 ) )
                    // InternalRosetta.g:4803:3: ( rule__UnaryOperation__Group_0_1_0_0_7__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_7()); 
                    }
                    // InternalRosetta.g:4804:3: ( rule__UnaryOperation__Group_0_1_0_0_7__0 )
                    // InternalRosetta.g:4804:4: rule__UnaryOperation__Group_0_1_0_0_7__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_7__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_7()); 
                    }
                    }
                    }
                    break;
                case 9 :
                    // InternalRosetta.g:4808:2: ( ( rule__UnaryOperation__Group_0_1_0_0_8__0 ) )
                    {
                    // InternalRosetta.g:4808:2: ( ( rule__UnaryOperation__Group_0_1_0_0_8__0 ) )
                    // InternalRosetta.g:4809:3: ( rule__UnaryOperation__Group_0_1_0_0_8__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_8()); 
                    }
                    // InternalRosetta.g:4810:3: ( rule__UnaryOperation__Group_0_1_0_0_8__0 )
                    // InternalRosetta.g:4810:4: rule__UnaryOperation__Group_0_1_0_0_8__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_8__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_8()); 
                    }
                    }
                    }
                    break;
                case 10 :
                    // InternalRosetta.g:4814:2: ( ( rule__UnaryOperation__Group_0_1_0_0_9__0 ) )
                    {
                    // InternalRosetta.g:4814:2: ( ( rule__UnaryOperation__Group_0_1_0_0_9__0 ) )
                    // InternalRosetta.g:4815:3: ( rule__UnaryOperation__Group_0_1_0_0_9__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_9()); 
                    }
                    // InternalRosetta.g:4816:3: ( rule__UnaryOperation__Group_0_1_0_0_9__0 )
                    // InternalRosetta.g:4816:4: rule__UnaryOperation__Group_0_1_0_0_9__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_9__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_9()); 
                    }
                    }
                    }
                    break;
                case 11 :
                    // InternalRosetta.g:4820:2: ( ( rule__UnaryOperation__Group_0_1_0_0_10__0 ) )
                    {
                    // InternalRosetta.g:4820:2: ( ( rule__UnaryOperation__Group_0_1_0_0_10__0 ) )
                    // InternalRosetta.g:4821:3: ( rule__UnaryOperation__Group_0_1_0_0_10__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_10()); 
                    }
                    // InternalRosetta.g:4822:3: ( rule__UnaryOperation__Group_0_1_0_0_10__0 )
                    // InternalRosetta.g:4822:4: rule__UnaryOperation__Group_0_1_0_0_10__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_10__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_10()); 
                    }
                    }
                    }
                    break;
                case 12 :
                    // InternalRosetta.g:4826:2: ( ( rule__UnaryOperation__Group_0_1_0_0_11__0 ) )
                    {
                    // InternalRosetta.g:4826:2: ( ( rule__UnaryOperation__Group_0_1_0_0_11__0 ) )
                    // InternalRosetta.g:4827:3: ( rule__UnaryOperation__Group_0_1_0_0_11__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_11()); 
                    }
                    // InternalRosetta.g:4828:3: ( rule__UnaryOperation__Group_0_1_0_0_11__0 )
                    // InternalRosetta.g:4828:4: rule__UnaryOperation__Group_0_1_0_0_11__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_11__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_11()); 
                    }
                    }
                    }
                    break;
                case 13 :
                    // InternalRosetta.g:4832:2: ( ( rule__UnaryOperation__Group_0_1_0_0_12__0 ) )
                    {
                    // InternalRosetta.g:4832:2: ( ( rule__UnaryOperation__Group_0_1_0_0_12__0 ) )
                    // InternalRosetta.g:4833:3: ( rule__UnaryOperation__Group_0_1_0_0_12__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_12()); 
                    }
                    // InternalRosetta.g:4834:3: ( rule__UnaryOperation__Group_0_1_0_0_12__0 )
                    // InternalRosetta.g:4834:4: rule__UnaryOperation__Group_0_1_0_0_12__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_12__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_12()); 
                    }
                    }
                    }
                    break;
                case 14 :
                    // InternalRosetta.g:4838:2: ( ( rule__UnaryOperation__Group_0_1_0_0_13__0 ) )
                    {
                    // InternalRosetta.g:4838:2: ( ( rule__UnaryOperation__Group_0_1_0_0_13__0 ) )
                    // InternalRosetta.g:4839:3: ( rule__UnaryOperation__Group_0_1_0_0_13__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_13()); 
                    }
                    // InternalRosetta.g:4840:3: ( rule__UnaryOperation__Group_0_1_0_0_13__0 )
                    // InternalRosetta.g:4840:4: rule__UnaryOperation__Group_0_1_0_0_13__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_13__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_13()); 
                    }
                    }
                    }
                    break;
                case 15 :
                    // InternalRosetta.g:4844:2: ( ( rule__UnaryOperation__Group_0_1_0_0_14__0 ) )
                    {
                    // InternalRosetta.g:4844:2: ( ( rule__UnaryOperation__Group_0_1_0_0_14__0 ) )
                    // InternalRosetta.g:4845:3: ( rule__UnaryOperation__Group_0_1_0_0_14__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_14()); 
                    }
                    // InternalRosetta.g:4846:3: ( rule__UnaryOperation__Group_0_1_0_0_14__0 )
                    // InternalRosetta.g:4846:4: rule__UnaryOperation__Group_0_1_0_0_14__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_14__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_14()); 
                    }
                    }
                    }
                    break;
                case 16 :
                    // InternalRosetta.g:4850:2: ( ( rule__UnaryOperation__Group_0_1_0_0_15__0 ) )
                    {
                    // InternalRosetta.g:4850:2: ( ( rule__UnaryOperation__Group_0_1_0_0_15__0 ) )
                    // InternalRosetta.g:4851:3: ( rule__UnaryOperation__Group_0_1_0_0_15__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_15()); 
                    }
                    // InternalRosetta.g:4852:3: ( rule__UnaryOperation__Group_0_1_0_0_15__0 )
                    // InternalRosetta.g:4852:4: rule__UnaryOperation__Group_0_1_0_0_15__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_15__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_15()); 
                    }
                    }
                    }
                    break;
                case 17 :
                    // InternalRosetta.g:4856:2: ( ( rule__UnaryOperation__Group_0_1_0_0_16__0 ) )
                    {
                    // InternalRosetta.g:4856:2: ( ( rule__UnaryOperation__Group_0_1_0_0_16__0 ) )
                    // InternalRosetta.g:4857:3: ( rule__UnaryOperation__Group_0_1_0_0_16__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_16()); 
                    }
                    // InternalRosetta.g:4858:3: ( rule__UnaryOperation__Group_0_1_0_0_16__0 )
                    // InternalRosetta.g:4858:4: rule__UnaryOperation__Group_0_1_0_0_16__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_16__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_16()); 
                    }
                    }
                    }
                    break;
                case 18 :
                    // InternalRosetta.g:4862:2: ( ( rule__UnaryOperation__Group_0_1_0_0_17__0 ) )
                    {
                    // InternalRosetta.g:4862:2: ( ( rule__UnaryOperation__Group_0_1_0_0_17__0 ) )
                    // InternalRosetta.g:4863:3: ( rule__UnaryOperation__Group_0_1_0_0_17__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_17()); 
                    }
                    // InternalRosetta.g:4864:3: ( rule__UnaryOperation__Group_0_1_0_0_17__0 )
                    // InternalRosetta.g:4864:4: rule__UnaryOperation__Group_0_1_0_0_17__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_17__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_17()); 
                    }
                    }
                    }
                    break;
                case 19 :
                    // InternalRosetta.g:4868:2: ( ( rule__UnaryOperation__Group_0_1_0_0_18__0 ) )
                    {
                    // InternalRosetta.g:4868:2: ( ( rule__UnaryOperation__Group_0_1_0_0_18__0 ) )
                    // InternalRosetta.g:4869:3: ( rule__UnaryOperation__Group_0_1_0_0_18__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_18()); 
                    }
                    // InternalRosetta.g:4870:3: ( rule__UnaryOperation__Group_0_1_0_0_18__0 )
                    // InternalRosetta.g:4870:4: rule__UnaryOperation__Group_0_1_0_0_18__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_18__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_18()); 
                    }
                    }
                    }
                    break;
                case 20 :
                    // InternalRosetta.g:4874:2: ( ( rule__UnaryOperation__Group_0_1_0_0_19__0 ) )
                    {
                    // InternalRosetta.g:4874:2: ( ( rule__UnaryOperation__Group_0_1_0_0_19__0 ) )
                    // InternalRosetta.g:4875:3: ( rule__UnaryOperation__Group_0_1_0_0_19__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_19()); 
                    }
                    // InternalRosetta.g:4876:3: ( rule__UnaryOperation__Group_0_1_0_0_19__0 )
                    // InternalRosetta.g:4876:4: rule__UnaryOperation__Group_0_1_0_0_19__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_19__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_19()); 
                    }
                    }
                    }
                    break;
                case 21 :
                    // InternalRosetta.g:4880:2: ( ( rule__UnaryOperation__Group_0_1_0_0_20__0 ) )
                    {
                    // InternalRosetta.g:4880:2: ( ( rule__UnaryOperation__Group_0_1_0_0_20__0 ) )
                    // InternalRosetta.g:4881:3: ( rule__UnaryOperation__Group_0_1_0_0_20__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_20()); 
                    }
                    // InternalRosetta.g:4882:3: ( rule__UnaryOperation__Group_0_1_0_0_20__0 )
                    // InternalRosetta.g:4882:4: rule__UnaryOperation__Group_0_1_0_0_20__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_20__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_20()); 
                    }
                    }
                    }
                    break;
                case 22 :
                    // InternalRosetta.g:4886:2: ( ( rule__UnaryOperation__Group_0_1_0_0_21__0 ) )
                    {
                    // InternalRosetta.g:4886:2: ( ( rule__UnaryOperation__Group_0_1_0_0_21__0 ) )
                    // InternalRosetta.g:4887:3: ( rule__UnaryOperation__Group_0_1_0_0_21__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_21()); 
                    }
                    // InternalRosetta.g:4888:3: ( rule__UnaryOperation__Group_0_1_0_0_21__0 )
                    // InternalRosetta.g:4888:4: rule__UnaryOperation__Group_0_1_0_0_21__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_21__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_21()); 
                    }
                    }
                    }
                    break;
                case 23 :
                    // InternalRosetta.g:4892:2: ( ( rule__UnaryOperation__Group_0_1_0_0_22__0 ) )
                    {
                    // InternalRosetta.g:4892:2: ( ( rule__UnaryOperation__Group_0_1_0_0_22__0 ) )
                    // InternalRosetta.g:4893:3: ( rule__UnaryOperation__Group_0_1_0_0_22__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22()); 
                    }
                    // InternalRosetta.g:4894:3: ( rule__UnaryOperation__Group_0_1_0_0_22__0 )
                    // InternalRosetta.g:4894:4: rule__UnaryOperation__Group_0_1_0_0_22__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_22__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_0_1_0_0"
    // $ANTLR start "rule__UnaryOperation__Alternatives_0_1_0_0_22_2"
    // InternalRosetta.g:4902:1: rule__UnaryOperation__Alternatives_0_1_0_0_22_2 : ( ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_1__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_0_1_0_0_22_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4906:1: ( ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_1__0 ) ) )
            int alt61=2;
            int LA61_0 = input.LA(1);
            if ( ((LA61_0>=RULE_STRING && LA61_0<=RULE_INT)||(LA61_0>=14 && LA61_0<=18)||(LA61_0>=28 && LA61_0<=29)||LA61_0==61||LA61_0==114||LA61_0==136) ) {
                alt61=1;
            }
            else if ( (LA61_0==119) ) {
                alt61=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 61, 0, input);
                throw nvae;
            }
            switch (alt61) {
                case 1 :
                    // InternalRosetta.g:4907:2: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0__0 ) )
                    {
                    // InternalRosetta.g:4907:2: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0__0 ) )
                    // InternalRosetta.g:4908:3: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_0()); 
                    }
                    // InternalRosetta.g:4909:3: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0__0 )
                    // InternalRosetta.g:4909:4: rule__UnaryOperation__Group_0_1_0_0_22_2_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_22_2_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4913:2: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_1__0 ) )
                    {
                    // InternalRosetta.g:4913:2: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_1__0 ) )
                    // InternalRosetta.g:4914:3: ( rule__UnaryOperation__Group_0_1_0_0_22_2_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_1()); 
                    }
                    // InternalRosetta.g:4915:3: ( rule__UnaryOperation__Group_0_1_0_0_22_2_1__0 )
                    // InternalRosetta.g:4915:4: rule__UnaryOperation__Group_0_1_0_0_22_2_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_22_2_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_0_1_0_0_22_2"
    // $ANTLR start "rule__UnaryOperation__Alternatives_0_1_1_0_0"
    // InternalRosetta.g:4923:1: rule__UnaryOperation__Alternatives_0_1_1_0_0 : ( ( ( rule__UnaryOperation__Group_0_1_1_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_1_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_1_0_0_2__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_0_1_1_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4927:1: ( ( ( rule__UnaryOperation__Group_0_1_1_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_1_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_1_0_0_2__0 ) ) )
            int alt62=3;
            switch ( input.LA(1) ) {
            case 160:
                {
                alt62=1;
                }
                break;
            case 12:
                {
                alt62=2;
                }
                break;
            case 13:
                {
                alt62=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 62, 0, input);
                throw nvae;
            }
            switch (alt62) {
                case 1 :
                    // InternalRosetta.g:4928:2: ( ( rule__UnaryOperation__Group_0_1_1_0_0_0__0 ) )
                    {
                    // InternalRosetta.g:4928:2: ( ( rule__UnaryOperation__Group_0_1_1_0_0_0__0 ) )
                    // InternalRosetta.g:4929:3: ( rule__UnaryOperation__Group_0_1_1_0_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_1_0_0_0()); 
                    }
                    // InternalRosetta.g:4930:3: ( rule__UnaryOperation__Group_0_1_1_0_0_0__0 )
                    // InternalRosetta.g:4930:4: rule__UnaryOperation__Group_0_1_1_0_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_1_0_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_1_0_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4934:2: ( ( rule__UnaryOperation__Group_0_1_1_0_0_1__0 ) )
                    {
                    // InternalRosetta.g:4934:2: ( ( rule__UnaryOperation__Group_0_1_1_0_0_1__0 ) )
                    // InternalRosetta.g:4935:3: ( rule__UnaryOperation__Group_0_1_1_0_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_1_0_0_1()); 
                    }
                    // InternalRosetta.g:4936:3: ( rule__UnaryOperation__Group_0_1_1_0_0_1__0 )
                    // InternalRosetta.g:4936:4: rule__UnaryOperation__Group_0_1_1_0_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_1_0_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_1_0_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4940:2: ( ( rule__UnaryOperation__Group_0_1_1_0_0_2__0 ) )
                    {
                    // InternalRosetta.g:4940:2: ( ( rule__UnaryOperation__Group_0_1_1_0_0_2__0 ) )
                    // InternalRosetta.g:4941:3: ( rule__UnaryOperation__Group_0_1_1_0_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_1_0_0_2()); 
                    }
                    // InternalRosetta.g:4942:3: ( rule__UnaryOperation__Group_0_1_1_0_0_2__0 )
                    // InternalRosetta.g:4942:4: rule__UnaryOperation__Group_0_1_1_0_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_1_0_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_1_0_0_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_0_1_1_0_0"
    // $ANTLR start "rule__UnaryOperation__Alternatives_0_1_2_0_0"
    // InternalRosetta.g:4950:1: rule__UnaryOperation__Alternatives_0_1_2_0_0 : ( ( ( rule__UnaryOperation__Group_0_1_2_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_2_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_2_0_0_2__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_0_1_2_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4954:1: ( ( ( rule__UnaryOperation__Group_0_1_2_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_2_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_0_1_2_0_0_2__0 ) ) )
            int alt63=3;
            switch ( input.LA(1) ) {
            case 161:
                {
                alt63=1;
                }
                break;
            case 162:
                {
                alt63=2;
                }
                break;
            case 38:
            case 39:
                {
                alt63=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 63, 0, input);
                throw nvae;
            }
            switch (alt63) {
                case 1 :
                    // InternalRosetta.g:4955:2: ( ( rule__UnaryOperation__Group_0_1_2_0_0_0__0 ) )
                    {
                    // InternalRosetta.g:4955:2: ( ( rule__UnaryOperation__Group_0_1_2_0_0_0__0 ) )
                    // InternalRosetta.g:4956:3: ( rule__UnaryOperation__Group_0_1_2_0_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_2_0_0_0()); 
                    }
                    // InternalRosetta.g:4957:3: ( rule__UnaryOperation__Group_0_1_2_0_0_0__0 )
                    // InternalRosetta.g:4957:4: rule__UnaryOperation__Group_0_1_2_0_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_2_0_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_2_0_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4961:2: ( ( rule__UnaryOperation__Group_0_1_2_0_0_1__0 ) )
                    {
                    // InternalRosetta.g:4961:2: ( ( rule__UnaryOperation__Group_0_1_2_0_0_1__0 ) )
                    // InternalRosetta.g:4962:3: ( rule__UnaryOperation__Group_0_1_2_0_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_2_0_0_1()); 
                    }
                    // InternalRosetta.g:4963:3: ( rule__UnaryOperation__Group_0_1_2_0_0_1__0 )
                    // InternalRosetta.g:4963:4: rule__UnaryOperation__Group_0_1_2_0_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_2_0_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_2_0_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:4967:2: ( ( rule__UnaryOperation__Group_0_1_2_0_0_2__0 ) )
                    {
                    // InternalRosetta.g:4967:2: ( ( rule__UnaryOperation__Group_0_1_2_0_0_2__0 ) )
                    // InternalRosetta.g:4968:3: ( rule__UnaryOperation__Group_0_1_2_0_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_2_0_0_2()); 
                    }
                    // InternalRosetta.g:4969:3: ( rule__UnaryOperation__Group_0_1_2_0_0_2__0 )
                    // InternalRosetta.g:4969:4: rule__UnaryOperation__Group_0_1_2_0_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_2_0_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_2_0_0_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_0_1_2_0_0"
    // $ANTLR start "rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0"
    // InternalRosetta.g:4977:1: rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0 : ( ( 'map' ) | ( 'extract' ) );
    public final void rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:4981:1: ( ( 'map' ) | ( 'extract' ) )
            int alt64=2;
            int LA64_0 = input.LA(1);
            if ( (LA64_0==38) ) {
                alt64=1;
            }
            else if ( (LA64_0==39) ) {
                alt64=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 64, 0, input);
                throw nvae;
            }
            switch (alt64) {
                case 1 :
                    // InternalRosetta.g:4982:2: ( 'map' )
                    {
                    // InternalRosetta.g:4982:2: ( 'map' )
                    // InternalRosetta.g:4983:3: 'map'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getOperatorMapKeyword_0_1_2_0_0_2_1_0_0()); 
                    }
                    match(input,38,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getOperatorMapKeyword_0_1_2_0_0_2_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:4988:2: ( 'extract' )
                    {
                    // InternalRosetta.g:4988:2: ( 'extract' )
                    // InternalRosetta.g:4989:3: 'extract'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getOperatorExtractKeyword_0_1_2_0_0_2_1_0_1()); 
                    }
                    match(input,39,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getOperatorExtractKeyword_0_1_2_0_0_2_1_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0"
    // $ANTLR start "rule__UnaryOperation__Alternatives_0_1_2_1"
    // InternalRosetta.g:4998:1: rule__UnaryOperation__Alternatives_0_1_2_1 : ( ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 ) ) | ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_1 ) ) );
    public final void rule__UnaryOperation__Alternatives_0_1_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5002:1: ( ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 ) ) | ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_1 ) ) )
            int alt65=2;
            alt65 = dfa65.predict(input);
            switch (alt65) {
                case 1 :
                    // InternalRosetta.g:5003:2: ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 ) )
                    {
                    // InternalRosetta.g:5003:2: ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 ) )
                    // InternalRosetta.g:5004:3: ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_0_1_2_1_0()); 
                    }
                    // InternalRosetta.g:5005:3: ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 )
                    // InternalRosetta.g:5005:4: rule__UnaryOperation__FunctionAssignment_0_1_2_1_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FunctionAssignment_0_1_2_1_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_0_1_2_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5009:2: ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_1 ) )
                    {
                    // InternalRosetta.g:5009:2: ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_1 ) )
                    // InternalRosetta.g:5010:3: ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_0_1_2_1_1()); 
                    }
                    // InternalRosetta.g:5011:3: ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_1 )
                    // InternalRosetta.g:5011:4: rule__UnaryOperation__FunctionAssignment_0_1_2_1_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FunctionAssignment_0_1_2_1_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_0_1_2_1_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_0_1_2_1"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_0"
    // InternalRosetta.g:5019:1: rule__UnaryOperation__Alternatives_1_0 : ( ( ( rule__UnaryOperation__Alternatives_1_0_0 ) ) | ( ( rule__UnaryOperation__Group_1_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_2__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5023:1: ( ( ( rule__UnaryOperation__Alternatives_1_0_0 ) ) | ( ( rule__UnaryOperation__Group_1_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_2__0 ) ) )
            int alt66=3;
            switch ( input.LA(1) ) {
            case 49:
            case 50:
            case 57:
            case 58:
            case 105:
            case 106:
            case 142:
            case 143:
            case 144:
            case 145:
            case 146:
            case 147:
            case 148:
            case 149:
            case 150:
            case 151:
            case 152:
            case 153:
            case 154:
            case 155:
            case 156:
            case 157:
            case 158:
            case 159:
                {
                alt66=1;
                }
                break;
            case 12:
            case 13:
            case 160:
                {
                alt66=2;
                }
                break;
            case 38:
            case 39:
            case 161:
            case 162:
                {
                alt66=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 66, 0, input);
                throw nvae;
            }
            switch (alt66) {
                case 1 :
                    // InternalRosetta.g:5024:2: ( ( rule__UnaryOperation__Alternatives_1_0_0 ) )
                    {
                    // InternalRosetta.g:5024:2: ( ( rule__UnaryOperation__Alternatives_1_0_0 ) )
                    // InternalRosetta.g:5025:3: ( rule__UnaryOperation__Alternatives_1_0_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0_0()); 
                    }
                    // InternalRosetta.g:5026:3: ( rule__UnaryOperation__Alternatives_1_0_0 )
                    // InternalRosetta.g:5026:4: rule__UnaryOperation__Alternatives_1_0_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Alternatives_1_0_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5030:2: ( ( rule__UnaryOperation__Group_1_0_1__0 ) )
                    {
                    // InternalRosetta.g:5030:2: ( ( rule__UnaryOperation__Group_1_0_1__0 ) )
                    // InternalRosetta.g:5031:3: ( rule__UnaryOperation__Group_1_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_1()); 
                    }
                    // InternalRosetta.g:5032:3: ( rule__UnaryOperation__Group_1_0_1__0 )
                    // InternalRosetta.g:5032:4: rule__UnaryOperation__Group_1_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:5036:2: ( ( rule__UnaryOperation__Group_1_0_2__0 ) )
                    {
                    // InternalRosetta.g:5036:2: ( ( rule__UnaryOperation__Group_1_0_2__0 ) )
                    // InternalRosetta.g:5037:3: ( rule__UnaryOperation__Group_1_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_2()); 
                    }
                    // InternalRosetta.g:5038:3: ( rule__UnaryOperation__Group_1_0_2__0 )
                    // InternalRosetta.g:5038:4: rule__UnaryOperation__Group_1_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_0"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_0_0"
    // InternalRosetta.g:5046:1: rule__UnaryOperation__Alternatives_1_0_0 : ( ( ( rule__UnaryOperation__Group_1_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_2__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_3__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_4__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_5__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_6__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_7__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_8__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_9__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_10__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_11__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_12__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_13__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_14__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_15__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_16__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_17__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_18__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_19__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_20__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5050:1: ( ( ( rule__UnaryOperation__Group_1_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_2__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_3__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_4__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_5__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_6__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_7__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_8__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_9__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_10__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_11__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_12__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_13__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_14__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_15__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_16__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_17__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_18__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_19__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_20__0 ) ) )
            int alt67=21;
            switch ( input.LA(1) ) {
            case 57:
            case 58:
            case 105:
                {
                alt67=1;
                }
                break;
            case 106:
                {
                alt67=2;
                }
                break;
            case 142:
                {
                alt67=3;
                }
                break;
            case 143:
                {
                alt67=4;
                }
                break;
            case 144:
                {
                alt67=5;
                }
                break;
            case 145:
                {
                alt67=6;
                }
                break;
            case 146:
                {
                alt67=7;
                }
                break;
            case 147:
                {
                alt67=8;
                }
                break;
            case 148:
                {
                alt67=9;
                }
                break;
            case 149:
                {
                alt67=10;
                }
                break;
            case 150:
                {
                alt67=11;
                }
                break;
            case 49:
            case 50:
                {
                alt67=12;
                }
                break;
            case 151:
                {
                alt67=13;
                }
                break;
            case 152:
                {
                alt67=14;
                }
                break;
            case 153:
                {
                alt67=15;
                }
                break;
            case 154:
                {
                alt67=16;
                }
                break;
            case 155:
                {
                alt67=17;
                }
                break;
            case 156:
                {
                alt67=18;
                }
                break;
            case 157:
                {
                alt67=19;
                }
                break;
            case 158:
                {
                alt67=20;
                }
                break;
            case 159:
                {
                alt67=21;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 67, 0, input);
                throw nvae;
            }
            switch (alt67) {
                case 1 :
                    // InternalRosetta.g:5051:2: ( ( rule__UnaryOperation__Group_1_0_0_0__0 ) )
                    {
                    // InternalRosetta.g:5051:2: ( ( rule__UnaryOperation__Group_1_0_0_0__0 ) )
                    // InternalRosetta.g:5052:3: ( rule__UnaryOperation__Group_1_0_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_0()); 
                    }
                    // InternalRosetta.g:5053:3: ( rule__UnaryOperation__Group_1_0_0_0__0 )
                    // InternalRosetta.g:5053:4: rule__UnaryOperation__Group_1_0_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5057:2: ( ( rule__UnaryOperation__Group_1_0_0_1__0 ) )
                    {
                    // InternalRosetta.g:5057:2: ( ( rule__UnaryOperation__Group_1_0_0_1__0 ) )
                    // InternalRosetta.g:5058:3: ( rule__UnaryOperation__Group_1_0_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_1()); 
                    }
                    // InternalRosetta.g:5059:3: ( rule__UnaryOperation__Group_1_0_0_1__0 )
                    // InternalRosetta.g:5059:4: rule__UnaryOperation__Group_1_0_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:5063:2: ( ( rule__UnaryOperation__Group_1_0_0_2__0 ) )
                    {
                    // InternalRosetta.g:5063:2: ( ( rule__UnaryOperation__Group_1_0_0_2__0 ) )
                    // InternalRosetta.g:5064:3: ( rule__UnaryOperation__Group_1_0_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_2()); 
                    }
                    // InternalRosetta.g:5065:3: ( rule__UnaryOperation__Group_1_0_0_2__0 )
                    // InternalRosetta.g:5065:4: rule__UnaryOperation__Group_1_0_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:5069:2: ( ( rule__UnaryOperation__Group_1_0_0_3__0 ) )
                    {
                    // InternalRosetta.g:5069:2: ( ( rule__UnaryOperation__Group_1_0_0_3__0 ) )
                    // InternalRosetta.g:5070:3: ( rule__UnaryOperation__Group_1_0_0_3__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_3()); 
                    }
                    // InternalRosetta.g:5071:3: ( rule__UnaryOperation__Group_1_0_0_3__0 )
                    // InternalRosetta.g:5071:4: rule__UnaryOperation__Group_1_0_0_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_3()); 
                    }
                    }
                    }
                    break;
                case 5 :
                    // InternalRosetta.g:5075:2: ( ( rule__UnaryOperation__Group_1_0_0_4__0 ) )
                    {
                    // InternalRosetta.g:5075:2: ( ( rule__UnaryOperation__Group_1_0_0_4__0 ) )
                    // InternalRosetta.g:5076:3: ( rule__UnaryOperation__Group_1_0_0_4__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_4()); 
                    }
                    // InternalRosetta.g:5077:3: ( rule__UnaryOperation__Group_1_0_0_4__0 )
                    // InternalRosetta.g:5077:4: rule__UnaryOperation__Group_1_0_0_4__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_4__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_4()); 
                    }
                    }
                    }
                    break;
                case 6 :
                    // InternalRosetta.g:5081:2: ( ( rule__UnaryOperation__Group_1_0_0_5__0 ) )
                    {
                    // InternalRosetta.g:5081:2: ( ( rule__UnaryOperation__Group_1_0_0_5__0 ) )
                    // InternalRosetta.g:5082:3: ( rule__UnaryOperation__Group_1_0_0_5__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_5()); 
                    }
                    // InternalRosetta.g:5083:3: ( rule__UnaryOperation__Group_1_0_0_5__0 )
                    // InternalRosetta.g:5083:4: rule__UnaryOperation__Group_1_0_0_5__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_5__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_5()); 
                    }
                    }
                    }
                    break;
                case 7 :
                    // InternalRosetta.g:5087:2: ( ( rule__UnaryOperation__Group_1_0_0_6__0 ) )
                    {
                    // InternalRosetta.g:5087:2: ( ( rule__UnaryOperation__Group_1_0_0_6__0 ) )
                    // InternalRosetta.g:5088:3: ( rule__UnaryOperation__Group_1_0_0_6__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_6()); 
                    }
                    // InternalRosetta.g:5089:3: ( rule__UnaryOperation__Group_1_0_0_6__0 )
                    // InternalRosetta.g:5089:4: rule__UnaryOperation__Group_1_0_0_6__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_6__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_6()); 
                    }
                    }
                    }
                    break;
                case 8 :
                    // InternalRosetta.g:5093:2: ( ( rule__UnaryOperation__Group_1_0_0_7__0 ) )
                    {
                    // InternalRosetta.g:5093:2: ( ( rule__UnaryOperation__Group_1_0_0_7__0 ) )
                    // InternalRosetta.g:5094:3: ( rule__UnaryOperation__Group_1_0_0_7__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_7()); 
                    }
                    // InternalRosetta.g:5095:3: ( rule__UnaryOperation__Group_1_0_0_7__0 )
                    // InternalRosetta.g:5095:4: rule__UnaryOperation__Group_1_0_0_7__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_7__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_7()); 
                    }
                    }
                    }
                    break;
                case 9 :
                    // InternalRosetta.g:5099:2: ( ( rule__UnaryOperation__Group_1_0_0_8__0 ) )
                    {
                    // InternalRosetta.g:5099:2: ( ( rule__UnaryOperation__Group_1_0_0_8__0 ) )
                    // InternalRosetta.g:5100:3: ( rule__UnaryOperation__Group_1_0_0_8__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_8()); 
                    }
                    // InternalRosetta.g:5101:3: ( rule__UnaryOperation__Group_1_0_0_8__0 )
                    // InternalRosetta.g:5101:4: rule__UnaryOperation__Group_1_0_0_8__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_8__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_8()); 
                    }
                    }
                    }
                    break;
                case 10 :
                    // InternalRosetta.g:5105:2: ( ( rule__UnaryOperation__Group_1_0_0_9__0 ) )
                    {
                    // InternalRosetta.g:5105:2: ( ( rule__UnaryOperation__Group_1_0_0_9__0 ) )
                    // InternalRosetta.g:5106:3: ( rule__UnaryOperation__Group_1_0_0_9__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_9()); 
                    }
                    // InternalRosetta.g:5107:3: ( rule__UnaryOperation__Group_1_0_0_9__0 )
                    // InternalRosetta.g:5107:4: rule__UnaryOperation__Group_1_0_0_9__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_9__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_9()); 
                    }
                    }
                    }
                    break;
                case 11 :
                    // InternalRosetta.g:5111:2: ( ( rule__UnaryOperation__Group_1_0_0_10__0 ) )
                    {
                    // InternalRosetta.g:5111:2: ( ( rule__UnaryOperation__Group_1_0_0_10__0 ) )
                    // InternalRosetta.g:5112:3: ( rule__UnaryOperation__Group_1_0_0_10__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_10()); 
                    }
                    // InternalRosetta.g:5113:3: ( rule__UnaryOperation__Group_1_0_0_10__0 )
                    // InternalRosetta.g:5113:4: rule__UnaryOperation__Group_1_0_0_10__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_10__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_10()); 
                    }
                    }
                    }
                    break;
                case 12 :
                    // InternalRosetta.g:5117:2: ( ( rule__UnaryOperation__Group_1_0_0_11__0 ) )
                    {
                    // InternalRosetta.g:5117:2: ( ( rule__UnaryOperation__Group_1_0_0_11__0 ) )
                    // InternalRosetta.g:5118:3: ( rule__UnaryOperation__Group_1_0_0_11__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_11()); 
                    }
                    // InternalRosetta.g:5119:3: ( rule__UnaryOperation__Group_1_0_0_11__0 )
                    // InternalRosetta.g:5119:4: rule__UnaryOperation__Group_1_0_0_11__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_11__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_11()); 
                    }
                    }
                    }
                    break;
                case 13 :
                    // InternalRosetta.g:5123:2: ( ( rule__UnaryOperation__Group_1_0_0_12__0 ) )
                    {
                    // InternalRosetta.g:5123:2: ( ( rule__UnaryOperation__Group_1_0_0_12__0 ) )
                    // InternalRosetta.g:5124:3: ( rule__UnaryOperation__Group_1_0_0_12__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_12()); 
                    }
                    // InternalRosetta.g:5125:3: ( rule__UnaryOperation__Group_1_0_0_12__0 )
                    // InternalRosetta.g:5125:4: rule__UnaryOperation__Group_1_0_0_12__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_12__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_12()); 
                    }
                    }
                    }
                    break;
                case 14 :
                    // InternalRosetta.g:5129:2: ( ( rule__UnaryOperation__Group_1_0_0_13__0 ) )
                    {
                    // InternalRosetta.g:5129:2: ( ( rule__UnaryOperation__Group_1_0_0_13__0 ) )
                    // InternalRosetta.g:5130:3: ( rule__UnaryOperation__Group_1_0_0_13__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_13()); 
                    }
                    // InternalRosetta.g:5131:3: ( rule__UnaryOperation__Group_1_0_0_13__0 )
                    // InternalRosetta.g:5131:4: rule__UnaryOperation__Group_1_0_0_13__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_13__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_13()); 
                    }
                    }
                    }
                    break;
                case 15 :
                    // InternalRosetta.g:5135:2: ( ( rule__UnaryOperation__Group_1_0_0_14__0 ) )
                    {
                    // InternalRosetta.g:5135:2: ( ( rule__UnaryOperation__Group_1_0_0_14__0 ) )
                    // InternalRosetta.g:5136:3: ( rule__UnaryOperation__Group_1_0_0_14__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_14()); 
                    }
                    // InternalRosetta.g:5137:3: ( rule__UnaryOperation__Group_1_0_0_14__0 )
                    // InternalRosetta.g:5137:4: rule__UnaryOperation__Group_1_0_0_14__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_14__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_14()); 
                    }
                    }
                    }
                    break;
                case 16 :
                    // InternalRosetta.g:5141:2: ( ( rule__UnaryOperation__Group_1_0_0_15__0 ) )
                    {
                    // InternalRosetta.g:5141:2: ( ( rule__UnaryOperation__Group_1_0_0_15__0 ) )
                    // InternalRosetta.g:5142:3: ( rule__UnaryOperation__Group_1_0_0_15__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_15()); 
                    }
                    // InternalRosetta.g:5143:3: ( rule__UnaryOperation__Group_1_0_0_15__0 )
                    // InternalRosetta.g:5143:4: rule__UnaryOperation__Group_1_0_0_15__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_15__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_15()); 
                    }
                    }
                    }
                    break;
                case 17 :
                    // InternalRosetta.g:5147:2: ( ( rule__UnaryOperation__Group_1_0_0_16__0 ) )
                    {
                    // InternalRosetta.g:5147:2: ( ( rule__UnaryOperation__Group_1_0_0_16__0 ) )
                    // InternalRosetta.g:5148:3: ( rule__UnaryOperation__Group_1_0_0_16__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_16()); 
                    }
                    // InternalRosetta.g:5149:3: ( rule__UnaryOperation__Group_1_0_0_16__0 )
                    // InternalRosetta.g:5149:4: rule__UnaryOperation__Group_1_0_0_16__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_16__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_16()); 
                    }
                    }
                    }
                    break;
                case 18 :
                    // InternalRosetta.g:5153:2: ( ( rule__UnaryOperation__Group_1_0_0_17__0 ) )
                    {
                    // InternalRosetta.g:5153:2: ( ( rule__UnaryOperation__Group_1_0_0_17__0 ) )
                    // InternalRosetta.g:5154:3: ( rule__UnaryOperation__Group_1_0_0_17__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_17()); 
                    }
                    // InternalRosetta.g:5155:3: ( rule__UnaryOperation__Group_1_0_0_17__0 )
                    // InternalRosetta.g:5155:4: rule__UnaryOperation__Group_1_0_0_17__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_17__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_17()); 
                    }
                    }
                    }
                    break;
                case 19 :
                    // InternalRosetta.g:5159:2: ( ( rule__UnaryOperation__Group_1_0_0_18__0 ) )
                    {
                    // InternalRosetta.g:5159:2: ( ( rule__UnaryOperation__Group_1_0_0_18__0 ) )
                    // InternalRosetta.g:5160:3: ( rule__UnaryOperation__Group_1_0_0_18__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_18()); 
                    }
                    // InternalRosetta.g:5161:3: ( rule__UnaryOperation__Group_1_0_0_18__0 )
                    // InternalRosetta.g:5161:4: rule__UnaryOperation__Group_1_0_0_18__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_18__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_18()); 
                    }
                    }
                    }
                    break;
                case 20 :
                    // InternalRosetta.g:5165:2: ( ( rule__UnaryOperation__Group_1_0_0_19__0 ) )
                    {
                    // InternalRosetta.g:5165:2: ( ( rule__UnaryOperation__Group_1_0_0_19__0 ) )
                    // InternalRosetta.g:5166:3: ( rule__UnaryOperation__Group_1_0_0_19__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_19()); 
                    }
                    // InternalRosetta.g:5167:3: ( rule__UnaryOperation__Group_1_0_0_19__0 )
                    // InternalRosetta.g:5167:4: rule__UnaryOperation__Group_1_0_0_19__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_19__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_19()); 
                    }
                    }
                    }
                    break;
                case 21 :
                    // InternalRosetta.g:5171:2: ( ( rule__UnaryOperation__Group_1_0_0_20__0 ) )
                    {
                    // InternalRosetta.g:5171:2: ( ( rule__UnaryOperation__Group_1_0_0_20__0 ) )
                    // InternalRosetta.g:5172:3: ( rule__UnaryOperation__Group_1_0_0_20__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20()); 
                    }
                    // InternalRosetta.g:5173:3: ( rule__UnaryOperation__Group_1_0_0_20__0 )
                    // InternalRosetta.g:5173:4: rule__UnaryOperation__Group_1_0_0_20__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_20__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_0_0"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_0_0_20_2"
    // InternalRosetta.g:5181:1: rule__UnaryOperation__Alternatives_1_0_0_20_2 : ( ( ( rule__UnaryOperation__Group_1_0_0_20_2_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_20_2_1__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_0_0_20_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5185:1: ( ( ( rule__UnaryOperation__Group_1_0_0_20_2_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_0_20_2_1__0 ) ) )
            int alt68=2;
            int LA68_0 = input.LA(1);
            if ( ((LA68_0>=RULE_STRING && LA68_0<=RULE_INT)||(LA68_0>=14 && LA68_0<=18)||(LA68_0>=28 && LA68_0<=29)||LA68_0==61||LA68_0==114||LA68_0==136) ) {
                alt68=1;
            }
            else if ( (LA68_0==119) ) {
                alt68=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 68, 0, input);
                throw nvae;
            }
            switch (alt68) {
                case 1 :
                    // InternalRosetta.g:5186:2: ( ( rule__UnaryOperation__Group_1_0_0_20_2_0__0 ) )
                    {
                    // InternalRosetta.g:5186:2: ( ( rule__UnaryOperation__Group_1_0_0_20_2_0__0 ) )
                    // InternalRosetta.g:5187:3: ( rule__UnaryOperation__Group_1_0_0_20_2_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_0()); 
                    }
                    // InternalRosetta.g:5188:3: ( rule__UnaryOperation__Group_1_0_0_20_2_0__0 )
                    // InternalRosetta.g:5188:4: rule__UnaryOperation__Group_1_0_0_20_2_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_20_2_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5192:2: ( ( rule__UnaryOperation__Group_1_0_0_20_2_1__0 ) )
                    {
                    // InternalRosetta.g:5192:2: ( ( rule__UnaryOperation__Group_1_0_0_20_2_1__0 ) )
                    // InternalRosetta.g:5193:3: ( rule__UnaryOperation__Group_1_0_0_20_2_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_1()); 
                    }
                    // InternalRosetta.g:5194:3: ( rule__UnaryOperation__Group_1_0_0_20_2_1__0 )
                    // InternalRosetta.g:5194:4: rule__UnaryOperation__Group_1_0_0_20_2_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_20_2_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_0_0_20_2"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_0_1_0"
    // InternalRosetta.g:5202:1: rule__UnaryOperation__Alternatives_1_0_1_0 : ( ( ( rule__UnaryOperation__Group_1_0_1_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_1_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_1_0_2__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_0_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5206:1: ( ( ( rule__UnaryOperation__Group_1_0_1_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_1_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_1_0_2__0 ) ) )
            int alt69=3;
            switch ( input.LA(1) ) {
            case 160:
                {
                alt69=1;
                }
                break;
            case 12:
                {
                alt69=2;
                }
                break;
            case 13:
                {
                alt69=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 69, 0, input);
                throw nvae;
            }
            switch (alt69) {
                case 1 :
                    // InternalRosetta.g:5207:2: ( ( rule__UnaryOperation__Group_1_0_1_0_0__0 ) )
                    {
                    // InternalRosetta.g:5207:2: ( ( rule__UnaryOperation__Group_1_0_1_0_0__0 ) )
                    // InternalRosetta.g:5208:3: ( rule__UnaryOperation__Group_1_0_1_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_1_0_0()); 
                    }
                    // InternalRosetta.g:5209:3: ( rule__UnaryOperation__Group_1_0_1_0_0__0 )
                    // InternalRosetta.g:5209:4: rule__UnaryOperation__Group_1_0_1_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_1_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5213:2: ( ( rule__UnaryOperation__Group_1_0_1_0_1__0 ) )
                    {
                    // InternalRosetta.g:5213:2: ( ( rule__UnaryOperation__Group_1_0_1_0_1__0 ) )
                    // InternalRosetta.g:5214:3: ( rule__UnaryOperation__Group_1_0_1_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_1_0_1()); 
                    }
                    // InternalRosetta.g:5215:3: ( rule__UnaryOperation__Group_1_0_1_0_1__0 )
                    // InternalRosetta.g:5215:4: rule__UnaryOperation__Group_1_0_1_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_1_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_1_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:5219:2: ( ( rule__UnaryOperation__Group_1_0_1_0_2__0 ) )
                    {
                    // InternalRosetta.g:5219:2: ( ( rule__UnaryOperation__Group_1_0_1_0_2__0 ) )
                    // InternalRosetta.g:5220:3: ( rule__UnaryOperation__Group_1_0_1_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_1_0_2()); 
                    }
                    // InternalRosetta.g:5221:3: ( rule__UnaryOperation__Group_1_0_1_0_2__0 )
                    // InternalRosetta.g:5221:4: rule__UnaryOperation__Group_1_0_1_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_1_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_1_0_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_0_1_0"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_0_2_0"
    // InternalRosetta.g:5229:1: rule__UnaryOperation__Alternatives_1_0_2_0 : ( ( ( rule__UnaryOperation__Group_1_0_2_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_2_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_2_0_2__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_0_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5233:1: ( ( ( rule__UnaryOperation__Group_1_0_2_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_2_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_0_2_0_2__0 ) ) )
            int alt70=3;
            switch ( input.LA(1) ) {
            case 161:
                {
                alt70=1;
                }
                break;
            case 162:
                {
                alt70=2;
                }
                break;
            case 38:
            case 39:
                {
                alt70=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 70, 0, input);
                throw nvae;
            }
            switch (alt70) {
                case 1 :
                    // InternalRosetta.g:5234:2: ( ( rule__UnaryOperation__Group_1_0_2_0_0__0 ) )
                    {
                    // InternalRosetta.g:5234:2: ( ( rule__UnaryOperation__Group_1_0_2_0_0__0 ) )
                    // InternalRosetta.g:5235:3: ( rule__UnaryOperation__Group_1_0_2_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_2_0_0()); 
                    }
                    // InternalRosetta.g:5236:3: ( rule__UnaryOperation__Group_1_0_2_0_0__0 )
                    // InternalRosetta.g:5236:4: rule__UnaryOperation__Group_1_0_2_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_2_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_2_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5240:2: ( ( rule__UnaryOperation__Group_1_0_2_0_1__0 ) )
                    {
                    // InternalRosetta.g:5240:2: ( ( rule__UnaryOperation__Group_1_0_2_0_1__0 ) )
                    // InternalRosetta.g:5241:3: ( rule__UnaryOperation__Group_1_0_2_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_2_0_1()); 
                    }
                    // InternalRosetta.g:5242:3: ( rule__UnaryOperation__Group_1_0_2_0_1__0 )
                    // InternalRosetta.g:5242:4: rule__UnaryOperation__Group_1_0_2_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_2_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_2_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:5246:2: ( ( rule__UnaryOperation__Group_1_0_2_0_2__0 ) )
                    {
                    // InternalRosetta.g:5246:2: ( ( rule__UnaryOperation__Group_1_0_2_0_2__0 ) )
                    // InternalRosetta.g:5247:3: ( rule__UnaryOperation__Group_1_0_2_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_2_0_2()); 
                    }
                    // InternalRosetta.g:5248:3: ( rule__UnaryOperation__Group_1_0_2_0_2__0 )
                    // InternalRosetta.g:5248:4: rule__UnaryOperation__Group_1_0_2_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_2_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_2_0_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_0_2_0"
    // $ANTLR start "rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0"
    // InternalRosetta.g:5256:1: rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0 : ( ( 'map' ) | ( 'extract' ) );
    public final void rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5260:1: ( ( 'map' ) | ( 'extract' ) )
            int alt71=2;
            int LA71_0 = input.LA(1);
            if ( (LA71_0==38) ) {
                alt71=1;
            }
            else if ( (LA71_0==39) ) {
                alt71=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 71, 0, input);
                throw nvae;
            }
            switch (alt71) {
                case 1 :
                    // InternalRosetta.g:5261:2: ( 'map' )
                    {
                    // InternalRosetta.g:5261:2: ( 'map' )
                    // InternalRosetta.g:5262:3: 'map'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getOperatorMapKeyword_1_0_2_0_2_1_0_0()); 
                    }
                    match(input,38,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getOperatorMapKeyword_1_0_2_0_2_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5267:2: ( 'extract' )
                    {
                    // InternalRosetta.g:5267:2: ( 'extract' )
                    // InternalRosetta.g:5268:3: 'extract'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getOperatorExtractKeyword_1_0_2_0_2_1_0_1()); 
                    }
                    match(input,39,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getOperatorExtractKeyword_1_0_2_0_2_1_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_0_2_1"
    // InternalRosetta.g:5277:1: rule__UnaryOperation__Alternatives_1_0_2_1 : ( ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 ) ) | ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_1 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5281:1: ( ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 ) ) | ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_1 ) ) )
            int alt72=2;
            alt72 = dfa72.predict(input);
            switch (alt72) {
                case 1 :
                    // InternalRosetta.g:5282:2: ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 ) )
                    {
                    // InternalRosetta.g:5282:2: ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 ) )
                    // InternalRosetta.g:5283:3: ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_0_2_1_0()); 
                    }
                    // InternalRosetta.g:5284:3: ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 )
                    // InternalRosetta.g:5284:4: rule__UnaryOperation__FunctionAssignment_1_0_2_1_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FunctionAssignment_1_0_2_1_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_0_2_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5288:2: ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_1 ) )
                    {
                    // InternalRosetta.g:5288:2: ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_1 ) )
                    // InternalRosetta.g:5289:3: ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_0_2_1_1()); 
                    }
                    // InternalRosetta.g:5290:3: ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_1 )
                    // InternalRosetta.g:5290:4: rule__UnaryOperation__FunctionAssignment_1_0_2_1_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FunctionAssignment_1_0_2_1_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_0_2_1_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_0_2_1"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_1"
    // InternalRosetta.g:5298:1: rule__UnaryOperation__Alternatives_1_1 : ( ( ( rule__UnaryOperation__Group_1_1_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_2__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5302:1: ( ( ( rule__UnaryOperation__Group_1_1_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_2__0 ) ) )
            int alt73=3;
            switch ( input.LA(1) ) {
            case 49:
            case 50:
            case 57:
            case 58:
            case 78:
            case 105:
            case 106:
            case 118:
            case 142:
            case 143:
            case 144:
            case 145:
            case 146:
            case 147:
            case 148:
            case 149:
            case 150:
            case 151:
            case 152:
            case 153:
            case 154:
            case 155:
            case 156:
            case 157:
            case 158:
            case 159:
                {
                alt73=1;
                }
                break;
            case 12:
            case 13:
            case 160:
                {
                alt73=2;
                }
                break;
            case 38:
            case 39:
            case 161:
            case 162:
                {
                alt73=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 73, 0, input);
                throw nvae;
            }
            switch (alt73) {
                case 1 :
                    // InternalRosetta.g:5303:2: ( ( rule__UnaryOperation__Group_1_1_0__0 ) )
                    {
                    // InternalRosetta.g:5303:2: ( ( rule__UnaryOperation__Group_1_1_0__0 ) )
                    // InternalRosetta.g:5304:3: ( rule__UnaryOperation__Group_1_1_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0()); 
                    }
                    // InternalRosetta.g:5305:3: ( rule__UnaryOperation__Group_1_1_0__0 )
                    // InternalRosetta.g:5305:4: rule__UnaryOperation__Group_1_1_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5309:2: ( ( rule__UnaryOperation__Group_1_1_1__0 ) )
                    {
                    // InternalRosetta.g:5309:2: ( ( rule__UnaryOperation__Group_1_1_1__0 ) )
                    // InternalRosetta.g:5310:3: ( rule__UnaryOperation__Group_1_1_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_1()); 
                    }
                    // InternalRosetta.g:5311:3: ( rule__UnaryOperation__Group_1_1_1__0 )
                    // InternalRosetta.g:5311:4: rule__UnaryOperation__Group_1_1_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:5315:2: ( ( rule__UnaryOperation__Group_1_1_2__0 ) )
                    {
                    // InternalRosetta.g:5315:2: ( ( rule__UnaryOperation__Group_1_1_2__0 ) )
                    // InternalRosetta.g:5316:3: ( rule__UnaryOperation__Group_1_1_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_2()); 
                    }
                    // InternalRosetta.g:5317:3: ( rule__UnaryOperation__Group_1_1_2__0 )
                    // InternalRosetta.g:5317:4: rule__UnaryOperation__Group_1_1_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_1"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_1_0_0"
    // InternalRosetta.g:5325:1: rule__UnaryOperation__Alternatives_1_1_0_0 : ( ( ( rule__UnaryOperation__Group_1_1_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_2__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_3__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_4__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_5__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_6__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_7__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_8__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_9__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_10__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_11__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_12__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_13__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_14__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_15__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_16__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_17__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_18__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_19__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_20__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_21__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_22__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_1_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5329:1: ( ( ( rule__UnaryOperation__Group_1_1_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_2__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_3__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_4__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_5__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_6__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_7__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_8__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_9__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_10__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_11__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_12__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_13__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_14__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_15__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_16__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_17__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_18__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_19__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_20__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_21__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_22__0 ) ) )
            int alt74=23;
            switch ( input.LA(1) ) {
            case 78:
                {
                alt74=1;
                }
                break;
            case 118:
                {
                alt74=2;
                }
                break;
            case 57:
            case 58:
            case 105:
                {
                alt74=3;
                }
                break;
            case 106:
                {
                alt74=4;
                }
                break;
            case 142:
                {
                alt74=5;
                }
                break;
            case 143:
                {
                alt74=6;
                }
                break;
            case 144:
                {
                alt74=7;
                }
                break;
            case 145:
                {
                alt74=8;
                }
                break;
            case 146:
                {
                alt74=9;
                }
                break;
            case 147:
                {
                alt74=10;
                }
                break;
            case 148:
                {
                alt74=11;
                }
                break;
            case 149:
                {
                alt74=12;
                }
                break;
            case 150:
                {
                alt74=13;
                }
                break;
            case 49:
            case 50:
                {
                alt74=14;
                }
                break;
            case 151:
                {
                alt74=15;
                }
                break;
            case 152:
                {
                alt74=16;
                }
                break;
            case 153:
                {
                alt74=17;
                }
                break;
            case 154:
                {
                alt74=18;
                }
                break;
            case 155:
                {
                alt74=19;
                }
                break;
            case 156:
                {
                alt74=20;
                }
                break;
            case 157:
                {
                alt74=21;
                }
                break;
            case 158:
                {
                alt74=22;
                }
                break;
            case 159:
                {
                alt74=23;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 74, 0, input);
                throw nvae;
            }
            switch (alt74) {
                case 1 :
                    // InternalRosetta.g:5330:2: ( ( rule__UnaryOperation__Group_1_1_0_0_0__0 ) )
                    {
                    // InternalRosetta.g:5330:2: ( ( rule__UnaryOperation__Group_1_1_0_0_0__0 ) )
                    // InternalRosetta.g:5331:3: ( rule__UnaryOperation__Group_1_1_0_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_0()); 
                    }
                    // InternalRosetta.g:5332:3: ( rule__UnaryOperation__Group_1_1_0_0_0__0 )
                    // InternalRosetta.g:5332:4: rule__UnaryOperation__Group_1_1_0_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5336:2: ( ( rule__UnaryOperation__Group_1_1_0_0_1__0 ) )
                    {
                    // InternalRosetta.g:5336:2: ( ( rule__UnaryOperation__Group_1_1_0_0_1__0 ) )
                    // InternalRosetta.g:5337:3: ( rule__UnaryOperation__Group_1_1_0_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_1()); 
                    }
                    // InternalRosetta.g:5338:3: ( rule__UnaryOperation__Group_1_1_0_0_1__0 )
                    // InternalRosetta.g:5338:4: rule__UnaryOperation__Group_1_1_0_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:5342:2: ( ( rule__UnaryOperation__Group_1_1_0_0_2__0 ) )
                    {
                    // InternalRosetta.g:5342:2: ( ( rule__UnaryOperation__Group_1_1_0_0_2__0 ) )
                    // InternalRosetta.g:5343:3: ( rule__UnaryOperation__Group_1_1_0_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_2()); 
                    }
                    // InternalRosetta.g:5344:3: ( rule__UnaryOperation__Group_1_1_0_0_2__0 )
                    // InternalRosetta.g:5344:4: rule__UnaryOperation__Group_1_1_0_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:5348:2: ( ( rule__UnaryOperation__Group_1_1_0_0_3__0 ) )
                    {
                    // InternalRosetta.g:5348:2: ( ( rule__UnaryOperation__Group_1_1_0_0_3__0 ) )
                    // InternalRosetta.g:5349:3: ( rule__UnaryOperation__Group_1_1_0_0_3__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_3()); 
                    }
                    // InternalRosetta.g:5350:3: ( rule__UnaryOperation__Group_1_1_0_0_3__0 )
                    // InternalRosetta.g:5350:4: rule__UnaryOperation__Group_1_1_0_0_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_3()); 
                    }
                    }
                    }
                    break;
                case 5 :
                    // InternalRosetta.g:5354:2: ( ( rule__UnaryOperation__Group_1_1_0_0_4__0 ) )
                    {
                    // InternalRosetta.g:5354:2: ( ( rule__UnaryOperation__Group_1_1_0_0_4__0 ) )
                    // InternalRosetta.g:5355:3: ( rule__UnaryOperation__Group_1_1_0_0_4__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_4()); 
                    }
                    // InternalRosetta.g:5356:3: ( rule__UnaryOperation__Group_1_1_0_0_4__0 )
                    // InternalRosetta.g:5356:4: rule__UnaryOperation__Group_1_1_0_0_4__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_4__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_4()); 
                    }
                    }
                    }
                    break;
                case 6 :
                    // InternalRosetta.g:5360:2: ( ( rule__UnaryOperation__Group_1_1_0_0_5__0 ) )
                    {
                    // InternalRosetta.g:5360:2: ( ( rule__UnaryOperation__Group_1_1_0_0_5__0 ) )
                    // InternalRosetta.g:5361:3: ( rule__UnaryOperation__Group_1_1_0_0_5__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_5()); 
                    }
                    // InternalRosetta.g:5362:3: ( rule__UnaryOperation__Group_1_1_0_0_5__0 )
                    // InternalRosetta.g:5362:4: rule__UnaryOperation__Group_1_1_0_0_5__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_5__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_5()); 
                    }
                    }
                    }
                    break;
                case 7 :
                    // InternalRosetta.g:5366:2: ( ( rule__UnaryOperation__Group_1_1_0_0_6__0 ) )
                    {
                    // InternalRosetta.g:5366:2: ( ( rule__UnaryOperation__Group_1_1_0_0_6__0 ) )
                    // InternalRosetta.g:5367:3: ( rule__UnaryOperation__Group_1_1_0_0_6__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_6()); 
                    }
                    // InternalRosetta.g:5368:3: ( rule__UnaryOperation__Group_1_1_0_0_6__0 )
                    // InternalRosetta.g:5368:4: rule__UnaryOperation__Group_1_1_0_0_6__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_6__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_6()); 
                    }
                    }
                    }
                    break;
                case 8 :
                    // InternalRosetta.g:5372:2: ( ( rule__UnaryOperation__Group_1_1_0_0_7__0 ) )
                    {
                    // InternalRosetta.g:5372:2: ( ( rule__UnaryOperation__Group_1_1_0_0_7__0 ) )
                    // InternalRosetta.g:5373:3: ( rule__UnaryOperation__Group_1_1_0_0_7__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_7()); 
                    }
                    // InternalRosetta.g:5374:3: ( rule__UnaryOperation__Group_1_1_0_0_7__0 )
                    // InternalRosetta.g:5374:4: rule__UnaryOperation__Group_1_1_0_0_7__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_7__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_7()); 
                    }
                    }
                    }
                    break;
                case 9 :
                    // InternalRosetta.g:5378:2: ( ( rule__UnaryOperation__Group_1_1_0_0_8__0 ) )
                    {
                    // InternalRosetta.g:5378:2: ( ( rule__UnaryOperation__Group_1_1_0_0_8__0 ) )
                    // InternalRosetta.g:5379:3: ( rule__UnaryOperation__Group_1_1_0_0_8__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_8()); 
                    }
                    // InternalRosetta.g:5380:3: ( rule__UnaryOperation__Group_1_1_0_0_8__0 )
                    // InternalRosetta.g:5380:4: rule__UnaryOperation__Group_1_1_0_0_8__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_8__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_8()); 
                    }
                    }
                    }
                    break;
                case 10 :
                    // InternalRosetta.g:5384:2: ( ( rule__UnaryOperation__Group_1_1_0_0_9__0 ) )
                    {
                    // InternalRosetta.g:5384:2: ( ( rule__UnaryOperation__Group_1_1_0_0_9__0 ) )
                    // InternalRosetta.g:5385:3: ( rule__UnaryOperation__Group_1_1_0_0_9__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_9()); 
                    }
                    // InternalRosetta.g:5386:3: ( rule__UnaryOperation__Group_1_1_0_0_9__0 )
                    // InternalRosetta.g:5386:4: rule__UnaryOperation__Group_1_1_0_0_9__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_9__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_9()); 
                    }
                    }
                    }
                    break;
                case 11 :
                    // InternalRosetta.g:5390:2: ( ( rule__UnaryOperation__Group_1_1_0_0_10__0 ) )
                    {
                    // InternalRosetta.g:5390:2: ( ( rule__UnaryOperation__Group_1_1_0_0_10__0 ) )
                    // InternalRosetta.g:5391:3: ( rule__UnaryOperation__Group_1_1_0_0_10__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_10()); 
                    }
                    // InternalRosetta.g:5392:3: ( rule__UnaryOperation__Group_1_1_0_0_10__0 )
                    // InternalRosetta.g:5392:4: rule__UnaryOperation__Group_1_1_0_0_10__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_10__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_10()); 
                    }
                    }
                    }
                    break;
                case 12 :
                    // InternalRosetta.g:5396:2: ( ( rule__UnaryOperation__Group_1_1_0_0_11__0 ) )
                    {
                    // InternalRosetta.g:5396:2: ( ( rule__UnaryOperation__Group_1_1_0_0_11__0 ) )
                    // InternalRosetta.g:5397:3: ( rule__UnaryOperation__Group_1_1_0_0_11__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_11()); 
                    }
                    // InternalRosetta.g:5398:3: ( rule__UnaryOperation__Group_1_1_0_0_11__0 )
                    // InternalRosetta.g:5398:4: rule__UnaryOperation__Group_1_1_0_0_11__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_11__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_11()); 
                    }
                    }
                    }
                    break;
                case 13 :
                    // InternalRosetta.g:5402:2: ( ( rule__UnaryOperation__Group_1_1_0_0_12__0 ) )
                    {
                    // InternalRosetta.g:5402:2: ( ( rule__UnaryOperation__Group_1_1_0_0_12__0 ) )
                    // InternalRosetta.g:5403:3: ( rule__UnaryOperation__Group_1_1_0_0_12__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_12()); 
                    }
                    // InternalRosetta.g:5404:3: ( rule__UnaryOperation__Group_1_1_0_0_12__0 )
                    // InternalRosetta.g:5404:4: rule__UnaryOperation__Group_1_1_0_0_12__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_12__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_12()); 
                    }
                    }
                    }
                    break;
                case 14 :
                    // InternalRosetta.g:5408:2: ( ( rule__UnaryOperation__Group_1_1_0_0_13__0 ) )
                    {
                    // InternalRosetta.g:5408:2: ( ( rule__UnaryOperation__Group_1_1_0_0_13__0 ) )
                    // InternalRosetta.g:5409:3: ( rule__UnaryOperation__Group_1_1_0_0_13__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_13()); 
                    }
                    // InternalRosetta.g:5410:3: ( rule__UnaryOperation__Group_1_1_0_0_13__0 )
                    // InternalRosetta.g:5410:4: rule__UnaryOperation__Group_1_1_0_0_13__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_13__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_13()); 
                    }
                    }
                    }
                    break;
                case 15 :
                    // InternalRosetta.g:5414:2: ( ( rule__UnaryOperation__Group_1_1_0_0_14__0 ) )
                    {
                    // InternalRosetta.g:5414:2: ( ( rule__UnaryOperation__Group_1_1_0_0_14__0 ) )
                    // InternalRosetta.g:5415:3: ( rule__UnaryOperation__Group_1_1_0_0_14__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_14()); 
                    }
                    // InternalRosetta.g:5416:3: ( rule__UnaryOperation__Group_1_1_0_0_14__0 )
                    // InternalRosetta.g:5416:4: rule__UnaryOperation__Group_1_1_0_0_14__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_14__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_14()); 
                    }
                    }
                    }
                    break;
                case 16 :
                    // InternalRosetta.g:5420:2: ( ( rule__UnaryOperation__Group_1_1_0_0_15__0 ) )
                    {
                    // InternalRosetta.g:5420:2: ( ( rule__UnaryOperation__Group_1_1_0_0_15__0 ) )
                    // InternalRosetta.g:5421:3: ( rule__UnaryOperation__Group_1_1_0_0_15__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_15()); 
                    }
                    // InternalRosetta.g:5422:3: ( rule__UnaryOperation__Group_1_1_0_0_15__0 )
                    // InternalRosetta.g:5422:4: rule__UnaryOperation__Group_1_1_0_0_15__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_15__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_15()); 
                    }
                    }
                    }
                    break;
                case 17 :
                    // InternalRosetta.g:5426:2: ( ( rule__UnaryOperation__Group_1_1_0_0_16__0 ) )
                    {
                    // InternalRosetta.g:5426:2: ( ( rule__UnaryOperation__Group_1_1_0_0_16__0 ) )
                    // InternalRosetta.g:5427:3: ( rule__UnaryOperation__Group_1_1_0_0_16__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_16()); 
                    }
                    // InternalRosetta.g:5428:3: ( rule__UnaryOperation__Group_1_1_0_0_16__0 )
                    // InternalRosetta.g:5428:4: rule__UnaryOperation__Group_1_1_0_0_16__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_16__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_16()); 
                    }
                    }
                    }
                    break;
                case 18 :
                    // InternalRosetta.g:5432:2: ( ( rule__UnaryOperation__Group_1_1_0_0_17__0 ) )
                    {
                    // InternalRosetta.g:5432:2: ( ( rule__UnaryOperation__Group_1_1_0_0_17__0 ) )
                    // InternalRosetta.g:5433:3: ( rule__UnaryOperation__Group_1_1_0_0_17__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_17()); 
                    }
                    // InternalRosetta.g:5434:3: ( rule__UnaryOperation__Group_1_1_0_0_17__0 )
                    // InternalRosetta.g:5434:4: rule__UnaryOperation__Group_1_1_0_0_17__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_17__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_17()); 
                    }
                    }
                    }
                    break;
                case 19 :
                    // InternalRosetta.g:5438:2: ( ( rule__UnaryOperation__Group_1_1_0_0_18__0 ) )
                    {
                    // InternalRosetta.g:5438:2: ( ( rule__UnaryOperation__Group_1_1_0_0_18__0 ) )
                    // InternalRosetta.g:5439:3: ( rule__UnaryOperation__Group_1_1_0_0_18__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_18()); 
                    }
                    // InternalRosetta.g:5440:3: ( rule__UnaryOperation__Group_1_1_0_0_18__0 )
                    // InternalRosetta.g:5440:4: rule__UnaryOperation__Group_1_1_0_0_18__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_18__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_18()); 
                    }
                    }
                    }
                    break;
                case 20 :
                    // InternalRosetta.g:5444:2: ( ( rule__UnaryOperation__Group_1_1_0_0_19__0 ) )
                    {
                    // InternalRosetta.g:5444:2: ( ( rule__UnaryOperation__Group_1_1_0_0_19__0 ) )
                    // InternalRosetta.g:5445:3: ( rule__UnaryOperation__Group_1_1_0_0_19__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_19()); 
                    }
                    // InternalRosetta.g:5446:3: ( rule__UnaryOperation__Group_1_1_0_0_19__0 )
                    // InternalRosetta.g:5446:4: rule__UnaryOperation__Group_1_1_0_0_19__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_19__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_19()); 
                    }
                    }
                    }
                    break;
                case 21 :
                    // InternalRosetta.g:5450:2: ( ( rule__UnaryOperation__Group_1_1_0_0_20__0 ) )
                    {
                    // InternalRosetta.g:5450:2: ( ( rule__UnaryOperation__Group_1_1_0_0_20__0 ) )
                    // InternalRosetta.g:5451:3: ( rule__UnaryOperation__Group_1_1_0_0_20__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_20()); 
                    }
                    // InternalRosetta.g:5452:3: ( rule__UnaryOperation__Group_1_1_0_0_20__0 )
                    // InternalRosetta.g:5452:4: rule__UnaryOperation__Group_1_1_0_0_20__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_20__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_20()); 
                    }
                    }
                    }
                    break;
                case 22 :
                    // InternalRosetta.g:5456:2: ( ( rule__UnaryOperation__Group_1_1_0_0_21__0 ) )
                    {
                    // InternalRosetta.g:5456:2: ( ( rule__UnaryOperation__Group_1_1_0_0_21__0 ) )
                    // InternalRosetta.g:5457:3: ( rule__UnaryOperation__Group_1_1_0_0_21__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_21()); 
                    }
                    // InternalRosetta.g:5458:3: ( rule__UnaryOperation__Group_1_1_0_0_21__0 )
                    // InternalRosetta.g:5458:4: rule__UnaryOperation__Group_1_1_0_0_21__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_21__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_21()); 
                    }
                    }
                    }
                    break;
                case 23 :
                    // InternalRosetta.g:5462:2: ( ( rule__UnaryOperation__Group_1_1_0_0_22__0 ) )
                    {
                    // InternalRosetta.g:5462:2: ( ( rule__UnaryOperation__Group_1_1_0_0_22__0 ) )
                    // InternalRosetta.g:5463:3: ( rule__UnaryOperation__Group_1_1_0_0_22__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22()); 
                    }
                    // InternalRosetta.g:5464:3: ( rule__UnaryOperation__Group_1_1_0_0_22__0 )
                    // InternalRosetta.g:5464:4: rule__UnaryOperation__Group_1_1_0_0_22__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_22__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_1_0_0"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_1_0_0_22_2"
    // InternalRosetta.g:5472:1: rule__UnaryOperation__Alternatives_1_1_0_0_22_2 : ( ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_1__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_1_0_0_22_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5476:1: ( ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_1__0 ) ) )
            int alt75=2;
            int LA75_0 = input.LA(1);
            if ( ((LA75_0>=RULE_STRING && LA75_0<=RULE_INT)||(LA75_0>=14 && LA75_0<=18)||(LA75_0>=28 && LA75_0<=29)||LA75_0==61||LA75_0==114||LA75_0==136) ) {
                alt75=1;
            }
            else if ( (LA75_0==119) ) {
                alt75=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 75, 0, input);
                throw nvae;
            }
            switch (alt75) {
                case 1 :
                    // InternalRosetta.g:5477:2: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0__0 ) )
                    {
                    // InternalRosetta.g:5477:2: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0__0 ) )
                    // InternalRosetta.g:5478:3: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_0()); 
                    }
                    // InternalRosetta.g:5479:3: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0__0 )
                    // InternalRosetta.g:5479:4: rule__UnaryOperation__Group_1_1_0_0_22_2_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_22_2_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5483:2: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_1__0 ) )
                    {
                    // InternalRosetta.g:5483:2: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_1__0 ) )
                    // InternalRosetta.g:5484:3: ( rule__UnaryOperation__Group_1_1_0_0_22_2_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_1()); 
                    }
                    // InternalRosetta.g:5485:3: ( rule__UnaryOperation__Group_1_1_0_0_22_2_1__0 )
                    // InternalRosetta.g:5485:4: rule__UnaryOperation__Group_1_1_0_0_22_2_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_22_2_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_1_0_0_22_2"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_1_1_0_0"
    // InternalRosetta.g:5493:1: rule__UnaryOperation__Alternatives_1_1_1_0_0 : ( ( ( rule__UnaryOperation__Group_1_1_1_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_1_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_1_0_0_2__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_1_1_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5497:1: ( ( ( rule__UnaryOperation__Group_1_1_1_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_1_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_1_0_0_2__0 ) ) )
            int alt76=3;
            switch ( input.LA(1) ) {
            case 160:
                {
                alt76=1;
                }
                break;
            case 12:
                {
                alt76=2;
                }
                break;
            case 13:
                {
                alt76=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 76, 0, input);
                throw nvae;
            }
            switch (alt76) {
                case 1 :
                    // InternalRosetta.g:5498:2: ( ( rule__UnaryOperation__Group_1_1_1_0_0_0__0 ) )
                    {
                    // InternalRosetta.g:5498:2: ( ( rule__UnaryOperation__Group_1_1_1_0_0_0__0 ) )
                    // InternalRosetta.g:5499:3: ( rule__UnaryOperation__Group_1_1_1_0_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_1_0_0_0()); 
                    }
                    // InternalRosetta.g:5500:3: ( rule__UnaryOperation__Group_1_1_1_0_0_0__0 )
                    // InternalRosetta.g:5500:4: rule__UnaryOperation__Group_1_1_1_0_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_1_0_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_1_0_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5504:2: ( ( rule__UnaryOperation__Group_1_1_1_0_0_1__0 ) )
                    {
                    // InternalRosetta.g:5504:2: ( ( rule__UnaryOperation__Group_1_1_1_0_0_1__0 ) )
                    // InternalRosetta.g:5505:3: ( rule__UnaryOperation__Group_1_1_1_0_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_1_0_0_1()); 
                    }
                    // InternalRosetta.g:5506:3: ( rule__UnaryOperation__Group_1_1_1_0_0_1__0 )
                    // InternalRosetta.g:5506:4: rule__UnaryOperation__Group_1_1_1_0_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_1_0_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_1_0_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:5510:2: ( ( rule__UnaryOperation__Group_1_1_1_0_0_2__0 ) )
                    {
                    // InternalRosetta.g:5510:2: ( ( rule__UnaryOperation__Group_1_1_1_0_0_2__0 ) )
                    // InternalRosetta.g:5511:3: ( rule__UnaryOperation__Group_1_1_1_0_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_1_0_0_2()); 
                    }
                    // InternalRosetta.g:5512:3: ( rule__UnaryOperation__Group_1_1_1_0_0_2__0 )
                    // InternalRosetta.g:5512:4: rule__UnaryOperation__Group_1_1_1_0_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_1_0_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_1_0_0_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_1_1_0_0"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_1_2_0_0"
    // InternalRosetta.g:5520:1: rule__UnaryOperation__Alternatives_1_1_2_0_0 : ( ( ( rule__UnaryOperation__Group_1_1_2_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_2_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_2_0_0_2__0 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_1_2_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5524:1: ( ( ( rule__UnaryOperation__Group_1_1_2_0_0_0__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_2_0_0_1__0 ) ) | ( ( rule__UnaryOperation__Group_1_1_2_0_0_2__0 ) ) )
            int alt77=3;
            switch ( input.LA(1) ) {
            case 161:
                {
                alt77=1;
                }
                break;
            case 162:
                {
                alt77=2;
                }
                break;
            case 38:
            case 39:
                {
                alt77=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 77, 0, input);
                throw nvae;
            }
            switch (alt77) {
                case 1 :
                    // InternalRosetta.g:5525:2: ( ( rule__UnaryOperation__Group_1_1_2_0_0_0__0 ) )
                    {
                    // InternalRosetta.g:5525:2: ( ( rule__UnaryOperation__Group_1_1_2_0_0_0__0 ) )
                    // InternalRosetta.g:5526:3: ( rule__UnaryOperation__Group_1_1_2_0_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_2_0_0_0()); 
                    }
                    // InternalRosetta.g:5527:3: ( rule__UnaryOperation__Group_1_1_2_0_0_0__0 )
                    // InternalRosetta.g:5527:4: rule__UnaryOperation__Group_1_1_2_0_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_2_0_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_2_0_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5531:2: ( ( rule__UnaryOperation__Group_1_1_2_0_0_1__0 ) )
                    {
                    // InternalRosetta.g:5531:2: ( ( rule__UnaryOperation__Group_1_1_2_0_0_1__0 ) )
                    // InternalRosetta.g:5532:3: ( rule__UnaryOperation__Group_1_1_2_0_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_2_0_0_1()); 
                    }
                    // InternalRosetta.g:5533:3: ( rule__UnaryOperation__Group_1_1_2_0_0_1__0 )
                    // InternalRosetta.g:5533:4: rule__UnaryOperation__Group_1_1_2_0_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_2_0_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_2_0_0_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:5537:2: ( ( rule__UnaryOperation__Group_1_1_2_0_0_2__0 ) )
                    {
                    // InternalRosetta.g:5537:2: ( ( rule__UnaryOperation__Group_1_1_2_0_0_2__0 ) )
                    // InternalRosetta.g:5538:3: ( rule__UnaryOperation__Group_1_1_2_0_0_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_2_0_0_2()); 
                    }
                    // InternalRosetta.g:5539:3: ( rule__UnaryOperation__Group_1_1_2_0_0_2__0 )
                    // InternalRosetta.g:5539:4: rule__UnaryOperation__Group_1_1_2_0_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_2_0_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_2_0_0_2()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_1_2_0_0"
    // $ANTLR start "rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0"
    // InternalRosetta.g:5547:1: rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0 : ( ( 'map' ) | ( 'extract' ) );
    public final void rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5551:1: ( ( 'map' ) | ( 'extract' ) )
            int alt78=2;
            int LA78_0 = input.LA(1);
            if ( (LA78_0==38) ) {
                alt78=1;
            }
            else if ( (LA78_0==39) ) {
                alt78=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 78, 0, input);
                throw nvae;
            }
            switch (alt78) {
                case 1 :
                    // InternalRosetta.g:5552:2: ( 'map' )
                    {
                    // InternalRosetta.g:5552:2: ( 'map' )
                    // InternalRosetta.g:5553:3: 'map'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getOperatorMapKeyword_1_1_2_0_0_2_1_0_0()); 
                    }
                    match(input,38,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getOperatorMapKeyword_1_1_2_0_0_2_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5558:2: ( 'extract' )
                    {
                    // InternalRosetta.g:5558:2: ( 'extract' )
                    // InternalRosetta.g:5559:3: 'extract'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getOperatorExtractKeyword_1_1_2_0_0_2_1_0_1()); 
                    }
                    match(input,39,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getOperatorExtractKeyword_1_1_2_0_0_2_1_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0"
    // $ANTLR start "rule__UnaryOperation__Alternatives_1_1_2_1"
    // InternalRosetta.g:5568:1: rule__UnaryOperation__Alternatives_1_1_2_1 : ( ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 ) ) | ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_1 ) ) );
    public final void rule__UnaryOperation__Alternatives_1_1_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5572:1: ( ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 ) ) | ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_1 ) ) )
            int alt79=2;
            alt79 = dfa79.predict(input);
            switch (alt79) {
                case 1 :
                    // InternalRosetta.g:5573:2: ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 ) )
                    {
                    // InternalRosetta.g:5573:2: ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 ) )
                    // InternalRosetta.g:5574:3: ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_1_2_1_0()); 
                    }
                    // InternalRosetta.g:5575:3: ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 )
                    // InternalRosetta.g:5575:4: rule__UnaryOperation__FunctionAssignment_1_1_2_1_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FunctionAssignment_1_1_2_1_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_1_2_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5579:2: ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_1 ) )
                    {
                    // InternalRosetta.g:5579:2: ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_1 ) )
                    // InternalRosetta.g:5580:3: ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_1_2_1_1()); 
                    }
                    // InternalRosetta.g:5581:3: ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_1 )
                    // InternalRosetta.g:5581:4: rule__UnaryOperation__FunctionAssignment_1_1_2_1_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FunctionAssignment_1_1_2_1_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_1_2_1_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Alternatives_1_1_2_1"
    // $ANTLR start "rule__RosettaCalcPrimary__Alternatives"
    // InternalRosetta.g:5589:1: rule__RosettaCalcPrimary__Alternatives : ( ( ruleRosettaCalcConstructorExpression ) | ( ruleRosettaCalcConditionalExpression ) | ( ruleRosettaCalcOnlyExists ) | ( ruleRosettaReferenceOrFunctionCall ) | ( ruleRosettaLiteral ) | ( ruleEmptyLiteral ) | ( ruleListLiteral ) | ( ( rule__RosettaCalcPrimary__Group_7__0 ) ) );
    public final void rule__RosettaCalcPrimary__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5593:1: ( ( ruleRosettaCalcConstructorExpression ) | ( ruleRosettaCalcConditionalExpression ) | ( ruleRosettaCalcOnlyExists ) | ( ruleRosettaReferenceOrFunctionCall ) | ( ruleRosettaLiteral ) | ( ruleEmptyLiteral ) | ( ruleListLiteral ) | ( ( rule__RosettaCalcPrimary__Group_7__0 ) ) )
            int alt80=8;
            alt80 = dfa80.predict(input);
            switch (alt80) {
                case 1 :
                    // InternalRosetta.g:5594:2: ( ruleRosettaCalcConstructorExpression )
                    {
                    // InternalRosetta.g:5594:2: ( ruleRosettaCalcConstructorExpression )
                    // InternalRosetta.g:5595:3: ruleRosettaCalcConstructorExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaCalcConstructorExpressionParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaCalcConstructorExpression();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaCalcConstructorExpressionParserRuleCall_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5600:2: ( ruleRosettaCalcConditionalExpression )
                    {
                    // InternalRosetta.g:5600:2: ( ruleRosettaCalcConditionalExpression )
                    // InternalRosetta.g:5601:3: ruleRosettaCalcConditionalExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaCalcConditionalExpressionParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaCalcConditionalExpression();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaCalcConditionalExpressionParserRuleCall_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:5606:2: ( ruleRosettaCalcOnlyExists )
                    {
                    // InternalRosetta.g:5606:2: ( ruleRosettaCalcOnlyExists )
                    // InternalRosetta.g:5607:3: ruleRosettaCalcOnlyExists
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaCalcOnlyExistsParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaCalcOnlyExists();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaCalcOnlyExistsParserRuleCall_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:5612:2: ( ruleRosettaReferenceOrFunctionCall )
                    {
                    // InternalRosetta.g:5612:2: ( ruleRosettaReferenceOrFunctionCall )
                    // InternalRosetta.g:5613:3: ruleRosettaReferenceOrFunctionCall
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaReferenceOrFunctionCallParserRuleCall_3()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaReferenceOrFunctionCall();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaReferenceOrFunctionCallParserRuleCall_3()); 
                    }
                    }
                    }
                    break;
                case 5 :
                    // InternalRosetta.g:5618:2: ( ruleRosettaLiteral )
                    {
                    // InternalRosetta.g:5618:2: ( ruleRosettaLiteral )
                    // InternalRosetta.g:5619:3: ruleRosettaLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaLiteralParserRuleCall_4()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleRosettaLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaLiteralParserRuleCall_4()); 
                    }
                    }
                    }
                    break;
                case 6 :
                    // InternalRosetta.g:5624:2: ( ruleEmptyLiteral )
                    {
                    // InternalRosetta.g:5624:2: ( ruleEmptyLiteral )
                    // InternalRosetta.g:5625:3: ruleEmptyLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcPrimaryAccess().getEmptyLiteralParserRuleCall_5()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleEmptyLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcPrimaryAccess().getEmptyLiteralParserRuleCall_5()); 
                    }
                    }
                    }
                    break;
                case 7 :
                    // InternalRosetta.g:5630:2: ( ruleListLiteral )
                    {
                    // InternalRosetta.g:5630:2: ( ruleListLiteral )
                    // InternalRosetta.g:5631:3: ruleListLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcPrimaryAccess().getListLiteralParserRuleCall_6()); 
                    }
                    pushFollow(FOLLOW_2);
                    ruleListLiteral();
                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcPrimaryAccess().getListLiteralParserRuleCall_6()); 
                    }
                    }
                    }
                    break;
                case 8 :
                    // InternalRosetta.g:5636:2: ( ( rule__RosettaCalcPrimary__Group_7__0 ) )
                    {
                    // InternalRosetta.g:5636:2: ( ( rule__RosettaCalcPrimary__Group_7__0 ) )
                    // InternalRosetta.g:5637:3: ( rule__RosettaCalcPrimary__Group_7__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcPrimaryAccess().getGroup_7()); 
                    }
                    // InternalRosetta.g:5638:3: ( rule__RosettaCalcPrimary__Group_7__0 )
                    // InternalRosetta.g:5638:4: rule__RosettaCalcPrimary__Group_7__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcPrimary__Group_7__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcPrimaryAccess().getGroup_7()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcPrimary__Alternatives"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Alternatives_3"
    // InternalRosetta.g:5646:1: rule__RosettaCalcConstructorExpression__Alternatives_3 : ( ( ( rule__RosettaCalcConstructorExpression__Group_3_0__0 ) ) | ( ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1 ) ) );
    public final void rule__RosettaCalcConstructorExpression__Alternatives_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5650:1: ( ( ( rule__RosettaCalcConstructorExpression__Group_3_0__0 ) ) | ( ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1 ) ) )
            int alt81=2;
            int LA81_0 = input.LA(1);
            if ( (LA81_0==RULE_ID||(LA81_0>=14 && LA81_0<=18)) ) {
                alt81=1;
            }
            else if ( (LA81_0==163) ) {
                alt81=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 81, 0, input);
                throw nvae;
            }
            switch (alt81) {
                case 1 :
                    // InternalRosetta.g:5651:2: ( ( rule__RosettaCalcConstructorExpression__Group_3_0__0 ) )
                    {
                    // InternalRosetta.g:5651:2: ( ( rule__RosettaCalcConstructorExpression__Group_3_0__0 ) )
                    // InternalRosetta.g:5652:3: ( rule__RosettaCalcConstructorExpression__Group_3_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getGroup_3_0()); 
                    }
                    // InternalRosetta.g:5653:3: ( rule__RosettaCalcConstructorExpression__Group_3_0__0 )
                    // InternalRosetta.g:5653:4: rule__RosettaCalcConstructorExpression__Group_3_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcConstructorExpression__Group_3_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getGroup_3_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5657:2: ( ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1 ) )
                    {
                    // InternalRosetta.g:5657:2: ( ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1 ) )
                    // InternalRosetta.g:5658:3: ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyAssignment_3_1()); 
                    }
                    // InternalRosetta.g:5659:3: ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1 )
                    // InternalRosetta.g:5659:4: rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyAssignment_3_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Alternatives_3"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Alternatives_3_0_2"
    // InternalRosetta.g:5667:1: rule__RosettaCalcConstructorExpression__Alternatives_3_0_2 : ( ( ',' ) | ( ( rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0 ) ) );
    public final void rule__RosettaCalcConstructorExpression__Alternatives_3_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5671:1: ( ( ',' ) | ( ( rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0 ) ) )
            int alt82=2;
            int LA82_0 = input.LA(1);
            if ( (LA82_0==40) ) {
                int LA82_1 = input.LA(2);
                if ( (LA82_1==163) ) {
                    alt82=2;
                }
                else if ( (LA82_1==EOF||LA82_1==84) ) {
                    alt82=1;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 82, 1, input);
                    throw nvae;
                }}
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 82, 0, input);
                throw nvae;
            }
            switch (alt82) {
                case 1 :
                    // InternalRosetta.g:5672:2: ( ',' )
                    {
                    // InternalRosetta.g:5672:2: ( ',' )
                    // InternalRosetta.g:5673:3: ','
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getCommaKeyword_3_0_2_0()); 
                    }
                    match(input,40,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getCommaKeyword_3_0_2_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5678:2: ( ( rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0 ) )
                    {
                    // InternalRosetta.g:5678:2: ( ( rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0 ) )
                    // InternalRosetta.g:5679:3: ( rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getGroup_3_0_2_1()); 
                    }
                    // InternalRosetta.g:5680:3: ( rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0 )
                    // InternalRosetta.g:5680:4: rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getGroup_3_0_2_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Alternatives_3_0_2"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Alternatives_1"
    // InternalRosetta.g:5688:1: rule__RosettaCalcOnlyExists__Alternatives_1 : ( ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_0 ) ) | ( ( rule__RosettaCalcOnlyExists__Group_1_1__0 ) ) );
    public final void rule__RosettaCalcOnlyExists__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5692:1: ( ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_0 ) ) | ( ( rule__RosettaCalcOnlyExists__Group_1_1__0 ) ) )
            int alt83=2;
            int LA83_0 = input.LA(1);
            if ( (LA83_0==RULE_ID||(LA83_0>=14 && LA83_0<=18)||(LA83_0>=26 && LA83_0<=27)) ) {
                alt83=1;
            }
            else if ( (LA83_0==73) ) {
                alt83=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 83, 0, input);
                throw nvae;
            }
            switch (alt83) {
                case 1 :
                    // InternalRosetta.g:5693:2: ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_0 ) )
                    {
                    // InternalRosetta.g:5693:2: ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_0 ) )
                    // InternalRosetta.g:5694:3: ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsAssignment_1_0()); 
                    }
                    // InternalRosetta.g:5695:3: ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_0 )
                    // InternalRosetta.g:5695:4: rule__RosettaCalcOnlyExists__ArgsAssignment_1_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcOnlyExists__ArgsAssignment_1_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsAssignment_1_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5699:2: ( ( rule__RosettaCalcOnlyExists__Group_1_1__0 ) )
                    {
                    // InternalRosetta.g:5699:2: ( ( rule__RosettaCalcOnlyExists__Group_1_1__0 ) )
                    // InternalRosetta.g:5700:3: ( rule__RosettaCalcOnlyExists__Group_1_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaCalcOnlyExistsAccess().getGroup_1_1()); 
                    }
                    // InternalRosetta.g:5701:3: ( rule__RosettaCalcOnlyExists__Group_1_1__0 )
                    // InternalRosetta.g:5701:4: rule__RosettaCalcOnlyExists__Group_1_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcOnlyExists__Group_1_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaCalcOnlyExistsAccess().getGroup_1_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Alternatives_1"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__Alternatives"
    // InternalRosetta.g:5709:1: rule__RosettaOnlyExistsElementRoot__Alternatives : ( ( ( rule__RosettaOnlyExistsElementRoot__Group_0__0 ) ) | ( ( rule__RosettaOnlyExistsElementRoot__Group_1__0 ) ) );
    public final void rule__RosettaOnlyExistsElementRoot__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5713:1: ( ( ( rule__RosettaOnlyExistsElementRoot__Group_0__0 ) ) | ( ( rule__RosettaOnlyExistsElementRoot__Group_1__0 ) ) )
            int alt84=2;
            int LA84_0 = input.LA(1);
            if ( (LA84_0==RULE_ID||(LA84_0>=14 && LA84_0<=18)) ) {
                alt84=1;
            }
            else if ( ((LA84_0>=26 && LA84_0<=27)) ) {
                alt84=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 84, 0, input);
                throw nvae;
            }
            switch (alt84) {
                case 1 :
                    // InternalRosetta.g:5714:2: ( ( rule__RosettaOnlyExistsElementRoot__Group_0__0 ) )
                    {
                    // InternalRosetta.g:5714:2: ( ( rule__RosettaOnlyExistsElementRoot__Group_0__0 ) )
                    // InternalRosetta.g:5715:3: ( rule__RosettaOnlyExistsElementRoot__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getGroup_0()); 
                    }
                    // InternalRosetta.g:5716:3: ( rule__RosettaOnlyExistsElementRoot__Group_0__0 )
                    // InternalRosetta.g:5716:4: rule__RosettaOnlyExistsElementRoot__Group_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaOnlyExistsElementRoot__Group_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getGroup_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5720:2: ( ( rule__RosettaOnlyExistsElementRoot__Group_1__0 ) )
                    {
                    // InternalRosetta.g:5720:2: ( ( rule__RosettaOnlyExistsElementRoot__Group_1__0 ) )
                    // InternalRosetta.g:5721:3: ( rule__RosettaOnlyExistsElementRoot__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getGroup_1()); 
                    }
                    // InternalRosetta.g:5722:3: ( rule__RosettaOnlyExistsElementRoot__Group_1__0 )
                    // InternalRosetta.g:5722:4: rule__RosettaOnlyExistsElementRoot__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaOnlyExistsElementRoot__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getGroup_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__Alternatives"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0"
    // InternalRosetta.g:5730:1: rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0 : ( ( 'item' ) | ( 'it' ) );
    public final void rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5734:1: ( ( 'item' ) | ( 'it' ) )
            int alt85=2;
            int LA85_0 = input.LA(1);
            if ( (LA85_0==26) ) {
                alt85=1;
            }
            else if ( (LA85_0==27) ) {
                alt85=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 85, 0, input);
                throw nvae;
            }
            switch (alt85) {
                case 1 :
                    // InternalRosetta.g:5735:2: ( 'item' )
                    {
                    // InternalRosetta.g:5735:2: ( 'item' )
                    // InternalRosetta.g:5736:3: 'item'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getNameItemKeyword_1_1_0_0()); 
                    }
                    match(input,26,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getNameItemKeyword_1_1_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5741:2: ( 'it' )
                    {
                    // InternalRosetta.g:5741:2: ( 'it' )
                    // InternalRosetta.g:5742:3: 'it'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getNameItKeyword_1_1_0_1()); 
                    }
                    match(input,27,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getNameItKeyword_1_1_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0"
    // $ANTLR start "rule__RosettaReport__Alternatives_3"
    // InternalRosetta.g:5751:1: rule__RosettaReport__Alternatives_3 : ( ( 'real-time' ) | ( 'T+1' ) | ( 'T+2' ) | ( 'T+3' ) | ( 'T+4' ) | ( 'T+5' ) | ( 'ASATP' ) );
    public final void rule__RosettaReport__Alternatives_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5755:1: ( ( 'real-time' ) | ( 'T+1' ) | ( 'T+2' ) | ( 'T+3' ) | ( 'T+4' ) | ( 'T+5' ) | ( 'ASATP' ) )
            int alt86=7;
            switch ( input.LA(1) ) {
            case 41:
                {
                alt86=1;
                }
                break;
            case 42:
                {
                alt86=2;
                }
                break;
            case 43:
                {
                alt86=3;
                }
                break;
            case 44:
                {
                alt86=4;
                }
                break;
            case 45:
                {
                alt86=5;
                }
                break;
            case 46:
                {
                alt86=6;
                }
                break;
            case 47:
                {
                alt86=7;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 86, 0, input);
                throw nvae;
            }
            switch (alt86) {
                case 1 :
                    // InternalRosetta.g:5756:2: ( 'real-time' )
                    {
                    // InternalRosetta.g:5756:2: ( 'real-time' )
                    // InternalRosetta.g:5757:3: 'real-time'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaReportAccess().getRealTimeKeyword_3_0()); 
                    }
                    match(input,41,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaReportAccess().getRealTimeKeyword_3_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5762:2: ( 'T+1' )
                    {
                    // InternalRosetta.g:5762:2: ( 'T+1' )
                    // InternalRosetta.g:5763:3: 'T+1'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaReportAccess().getT1Keyword_3_1()); 
                    }
                    match(input,42,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaReportAccess().getT1Keyword_3_1()); 
                    }
                    }
                    }
                    break;
                case 3 :
                    // InternalRosetta.g:5768:2: ( 'T+2' )
                    {
                    // InternalRosetta.g:5768:2: ( 'T+2' )
                    // InternalRosetta.g:5769:3: 'T+2'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaReportAccess().getT2Keyword_3_2()); 
                    }
                    match(input,43,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaReportAccess().getT2Keyword_3_2()); 
                    }
                    }
                    }
                    break;
                case 4 :
                    // InternalRosetta.g:5774:2: ( 'T+3' )
                    {
                    // InternalRosetta.g:5774:2: ( 'T+3' )
                    // InternalRosetta.g:5775:3: 'T+3'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaReportAccess().getT3Keyword_3_3()); 
                    }
                    match(input,44,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaReportAccess().getT3Keyword_3_3()); 
                    }
                    }
                    }
                    break;
                case 5 :
                    // InternalRosetta.g:5780:2: ( 'T+4' )
                    {
                    // InternalRosetta.g:5780:2: ( 'T+4' )
                    // InternalRosetta.g:5781:3: 'T+4'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaReportAccess().getT4Keyword_3_4()); 
                    }
                    match(input,45,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaReportAccess().getT4Keyword_3_4()); 
                    }
                    }
                    }
                    break;
                case 6 :
                    // InternalRosetta.g:5786:2: ( 'T+5' )
                    {
                    // InternalRosetta.g:5786:2: ( 'T+5' )
                    // InternalRosetta.g:5787:3: 'T+5'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaReportAccess().getT5Keyword_3_5()); 
                    }
                    match(input,46,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaReportAccess().getT5Keyword_3_5()); 
                    }
                    }
                    }
                    break;
                case 7 :
                    // InternalRosetta.g:5792:2: ( 'ASATP' )
                    {
                    // InternalRosetta.g:5792:2: ( 'ASATP' )
                    // InternalRosetta.g:5793:3: 'ASATP'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaReportAccess().getASATPKeyword_3_6()); 
                    }
                    match(input,47,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaReportAccess().getASATPKeyword_3_6()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Alternatives_3"
    // $ANTLR start "rule__RosettaRule__Alternatives_0"
    // InternalRosetta.g:5802:1: rule__RosettaRule__Alternatives_0 : ( ( 'reporting' ) | ( ( rule__RosettaRule__EligibilityAssignment_0_1 ) ) );
    public final void rule__RosettaRule__Alternatives_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5806:1: ( ( 'reporting' ) | ( ( rule__RosettaRule__EligibilityAssignment_0_1 ) ) )
            int alt87=2;
            int LA87_0 = input.LA(1);
            if ( (LA87_0==48) ) {
                alt87=1;
            }
            else if ( (LA87_0==165) ) {
                alt87=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 87, 0, input);
                throw nvae;
            }
            switch (alt87) {
                case 1 :
                    // InternalRosetta.g:5807:2: ( 'reporting' )
                    {
                    // InternalRosetta.g:5807:2: ( 'reporting' )
                    // InternalRosetta.g:5808:3: 'reporting'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRuleAccess().getReportingKeyword_0_0()); 
                    }
                    match(input,48,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRuleAccess().getReportingKeyword_0_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5813:2: ( ( rule__RosettaRule__EligibilityAssignment_0_1 ) )
                    {
                    // InternalRosetta.g:5813:2: ( ( rule__RosettaRule__EligibilityAssignment_0_1 ) )
                    // InternalRosetta.g:5814:3: ( rule__RosettaRule__EligibilityAssignment_0_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaRuleAccess().getEligibilityAssignment_0_1()); 
                    }
                    // InternalRosetta.g:5815:3: ( rule__RosettaRule__EligibilityAssignment_0_1 )
                    // InternalRosetta.g:5815:4: rule__RosettaRule__EligibilityAssignment_0_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaRule__EligibilityAssignment_0_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaRuleAccess().getEligibilityAssignment_0_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Alternatives_0"
    // $ANTLR start "rule__Necessity__Alternatives"
    // InternalRosetta.g:5823:1: rule__Necessity__Alternatives : ( ( ( 'optional' ) ) | ( ( 'required' ) ) );
    public final void rule__Necessity__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5827:1: ( ( ( 'optional' ) ) | ( ( 'required' ) ) )
            int alt88=2;
            int LA88_0 = input.LA(1);
            if ( (LA88_0==49) ) {
                alt88=1;
            }
            else if ( (LA88_0==50) ) {
                alt88=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 88, 0, input);
                throw nvae;
            }
            switch (alt88) {
                case 1 :
                    // InternalRosetta.g:5828:2: ( ( 'optional' ) )
                    {
                    // InternalRosetta.g:5828:2: ( ( 'optional' ) )
                    // InternalRosetta.g:5829:3: ( 'optional' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getNecessityAccess().getOptionalEnumLiteralDeclaration_0()); 
                    }
                    // InternalRosetta.g:5830:3: ( 'optional' )
                    // InternalRosetta.g:5830:4: 'optional'
                    {
                    match(input,49,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getNecessityAccess().getOptionalEnumLiteralDeclaration_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5834:2: ( ( 'required' ) )
                    {
                    // InternalRosetta.g:5834:2: ( ( 'required' ) )
                    // InternalRosetta.g:5835:3: ( 'required' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getNecessityAccess().getRequiredEnumLiteralDeclaration_1()); 
                    }
                    // InternalRosetta.g:5836:3: ( 'required' )
                    // InternalRosetta.g:5836:4: 'required'
                    {
                    match(input,50,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getNecessityAccess().getRequiredEnumLiteralDeclaration_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Necessity__Alternatives"
    // $ANTLR start "rule__RosettaSynonymRef__Alternatives"
    // InternalRosetta.g:5844:1: rule__RosettaSynonymRef__Alternatives : ( ( ( 'tag' ) ) | ( ( 'componentID' ) ) );
    public final void rule__RosettaSynonymRef__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5848:1: ( ( ( 'tag' ) ) | ( ( 'componentID' ) ) )
            int alt89=2;
            int LA89_0 = input.LA(1);
            if ( (LA89_0==51) ) {
                alt89=1;
            }
            else if ( (LA89_0==52) ) {
                alt89=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 89, 0, input);
                throw nvae;
            }
            switch (alt89) {
                case 1 :
                    // InternalRosetta.g:5849:2: ( ( 'tag' ) )
                    {
                    // InternalRosetta.g:5849:2: ( ( 'tag' ) )
                    // InternalRosetta.g:5850:3: ( 'tag' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaSynonymRefAccess().getTagEnumLiteralDeclaration_0()); 
                    }
                    // InternalRosetta.g:5851:3: ( 'tag' )
                    // InternalRosetta.g:5851:4: 'tag'
                    {
                    match(input,51,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaSynonymRefAccess().getTagEnumLiteralDeclaration_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5855:2: ( ( 'componentID' ) )
                    {
                    // InternalRosetta.g:5855:2: ( ( 'componentID' ) )
                    // InternalRosetta.g:5856:3: ( 'componentID' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaSynonymRefAccess().getComponentIDEnumLiteralDeclaration_1()); 
                    }
                    // InternalRosetta.g:5857:3: ( 'componentID' )
                    // InternalRosetta.g:5857:4: 'componentID'
                    {
                    match(input,52,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaSynonymRefAccess().getComponentIDEnumLiteralDeclaration_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymRef__Alternatives"
    // $ANTLR start "rule__RosettaQualifiableType__Alternatives"
    // InternalRosetta.g:5865:1: rule__RosettaQualifiableType__Alternatives : ( ( ( 'isEvent' ) ) | ( ( 'isProduct' ) ) );
    public final void rule__RosettaQualifiableType__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5869:1: ( ( ( 'isEvent' ) ) | ( ( 'isProduct' ) ) )
            int alt90=2;
            int LA90_0 = input.LA(1);
            if ( (LA90_0==53) ) {
                alt90=1;
            }
            else if ( (LA90_0==54) ) {
                alt90=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 90, 0, input);
                throw nvae;
            }
            switch (alt90) {
                case 1 :
                    // InternalRosetta.g:5870:2: ( ( 'isEvent' ) )
                    {
                    // InternalRosetta.g:5870:2: ( ( 'isEvent' ) )
                    // InternalRosetta.g:5871:3: ( 'isEvent' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaQualifiableTypeAccess().getEventEnumLiteralDeclaration_0()); 
                    }
                    // InternalRosetta.g:5872:3: ( 'isEvent' )
                    // InternalRosetta.g:5872:4: 'isEvent'
                    {
                    match(input,53,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaQualifiableTypeAccess().getEventEnumLiteralDeclaration_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5876:2: ( ( 'isProduct' ) )
                    {
                    // InternalRosetta.g:5876:2: ( ( 'isProduct' ) )
                    // InternalRosetta.g:5877:3: ( 'isProduct' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRosettaQualifiableTypeAccess().getProductEnumLiteralDeclaration_1()); 
                    }
                    // InternalRosetta.g:5878:3: ( 'isProduct' )
                    // InternalRosetta.g:5878:4: 'isProduct'
                    {
                    match(input,54,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRosettaQualifiableTypeAccess().getProductEnumLiteralDeclaration_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiableType__Alternatives"
    // $ANTLR start "rule__CardinalityModifier__Alternatives"
    // InternalRosetta.g:5886:1: rule__CardinalityModifier__Alternatives : ( ( ( 'any' ) ) | ( ( 'all' ) ) );
    public final void rule__CardinalityModifier__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5890:1: ( ( ( 'any' ) ) | ( ( 'all' ) ) )
            int alt91=2;
            int LA91_0 = input.LA(1);
            if ( (LA91_0==55) ) {
                alt91=1;
            }
            else if ( (LA91_0==56) ) {
                alt91=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 91, 0, input);
                throw nvae;
            }
            switch (alt91) {
                case 1 :
                    // InternalRosetta.g:5891:2: ( ( 'any' ) )
                    {
                    // InternalRosetta.g:5891:2: ( ( 'any' ) )
                    // InternalRosetta.g:5892:3: ( 'any' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getCardinalityModifierAccess().getANYEnumLiteralDeclaration_0()); 
                    }
                    // InternalRosetta.g:5893:3: ( 'any' )
                    // InternalRosetta.g:5893:4: 'any'
                    {
                    match(input,55,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getCardinalityModifierAccess().getANYEnumLiteralDeclaration_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5897:2: ( ( 'all' ) )
                    {
                    // InternalRosetta.g:5897:2: ( ( 'all' ) )
                    // InternalRosetta.g:5898:3: ( 'all' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getCardinalityModifierAccess().getALLEnumLiteralDeclaration_1()); 
                    }
                    // InternalRosetta.g:5899:3: ( 'all' )
                    // InternalRosetta.g:5899:4: 'all'
                    {
                    match(input,56,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getCardinalityModifierAccess().getALLEnumLiteralDeclaration_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__CardinalityModifier__Alternatives"
    // $ANTLR start "rule__ExistsModifier__Alternatives"
    // InternalRosetta.g:5907:1: rule__ExistsModifier__Alternatives : ( ( ( 'single' ) ) | ( ( 'multiple' ) ) );
    public final void rule__ExistsModifier__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5911:1: ( ( ( 'single' ) ) | ( ( 'multiple' ) ) )
            int alt92=2;
            int LA92_0 = input.LA(1);
            if ( (LA92_0==57) ) {
                alt92=1;
            }
            else if ( (LA92_0==58) ) {
                alt92=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 92, 0, input);
                throw nvae;
            }
            switch (alt92) {
                case 1 :
                    // InternalRosetta.g:5912:2: ( ( 'single' ) )
                    {
                    // InternalRosetta.g:5912:2: ( ( 'single' ) )
                    // InternalRosetta.g:5913:3: ( 'single' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getExistsModifierAccess().getSINGLEEnumLiteralDeclaration_0()); 
                    }
                    // InternalRosetta.g:5914:3: ( 'single' )
                    // InternalRosetta.g:5914:4: 'single'
                    {
                    match(input,57,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getExistsModifierAccess().getSINGLEEnumLiteralDeclaration_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5918:2: ( ( 'multiple' ) )
                    {
                    // InternalRosetta.g:5918:2: ( ( 'multiple' ) )
                    // InternalRosetta.g:5919:3: ( 'multiple' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getExistsModifierAccess().getMULTIPLEEnumLiteralDeclaration_1()); 
                    }
                    // InternalRosetta.g:5920:3: ( 'multiple' )
                    // InternalRosetta.g:5920:4: 'multiple'
                    {
                    match(input,58,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getExistsModifierAccess().getMULTIPLEEnumLiteralDeclaration_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExistsModifier__Alternatives"
    // $ANTLR start "rule__ExternalValueOperator__Alternatives"
    // InternalRosetta.g:5928:1: rule__ExternalValueOperator__Alternatives : ( ( ( '+' ) ) | ( ( '-' ) ) );
    public final void rule__ExternalValueOperator__Alternatives() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5932:1: ( ( ( '+' ) ) | ( ( '-' ) ) )
            int alt93=2;
            int LA93_0 = input.LA(1);
            if ( (LA93_0==28) ) {
                alt93=1;
            }
            else if ( (LA93_0==29) ) {
                alt93=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 93, 0, input);
                throw nvae;
            }
            switch (alt93) {
                case 1 :
                    // InternalRosetta.g:5933:2: ( ( '+' ) )
                    {
                    // InternalRosetta.g:5933:2: ( ( '+' ) )
                    // InternalRosetta.g:5934:3: ( '+' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getExternalValueOperatorAccess().getPLUSEnumLiteralDeclaration_0()); 
                    }
                    // InternalRosetta.g:5935:3: ( '+' )
                    // InternalRosetta.g:5935:4: '+'
                    {
                    match(input,28,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getExternalValueOperatorAccess().getPLUSEnumLiteralDeclaration_0()); 
                    }
                    }
                    }
                    break;
                case 2 :
                    // InternalRosetta.g:5939:2: ( ( '-' ) )
                    {
                    // InternalRosetta.g:5939:2: ( ( '-' ) )
                    // InternalRosetta.g:5940:3: ( '-' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getExternalValueOperatorAccess().getMINUSEnumLiteralDeclaration_1()); 
                    }
                    // InternalRosetta.g:5941:3: ( '-' )
                    // InternalRosetta.g:5941:4: '-'
                    {
                    match(input,29,FOLLOW_2); if (state.failed) return ;
                    }
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getExternalValueOperatorAccess().getMINUSEnumLiteralDeclaration_1()); 
                    }
                    }
                    }
                    break;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalValueOperator__Alternatives"
    // $ANTLR start "rule__RosettaModel__Group__0"
    // InternalRosetta.g:5949:1: rule__RosettaModel__Group__0 : rule__RosettaModel__Group__0__Impl rule__RosettaModel__Group__1 ;
    public final void rule__RosettaModel__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5953:1: ( rule__RosettaModel__Group__0__Impl rule__RosettaModel__Group__1 )
            // InternalRosetta.g:5954:2: rule__RosettaModel__Group__0__Impl rule__RosettaModel__Group__1
            {
            pushFollow(FOLLOW_3);
            rule__RosettaModel__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__0"
    // $ANTLR start "rule__RosettaModel__Group__0__Impl"
    // InternalRosetta.g:5961:1: rule__RosettaModel__Group__0__Impl : ( ( rule__RosettaModel__OverriddenAssignment_0 )? ) ;
    public final void rule__RosettaModel__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5965:1: ( ( ( rule__RosettaModel__OverriddenAssignment_0 )? ) )
            // InternalRosetta.g:5966:1: ( ( rule__RosettaModel__OverriddenAssignment_0 )? )
            {
            // InternalRosetta.g:5966:1: ( ( rule__RosettaModel__OverriddenAssignment_0 )? )
            // InternalRosetta.g:5967:2: ( rule__RosettaModel__OverriddenAssignment_0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getOverriddenAssignment_0()); }
            // InternalRosetta.g:5968:2: ( rule__RosettaModel__OverriddenAssignment_0 )?
            int alt94=2;
            int LA94_0 = input.LA(1);
            if ( (LA94_0==131) ) {
                alt94=1;
            }
            switch (alt94) {
                case 1 :
                    // InternalRosetta.g:5968:3: rule__RosettaModel__OverriddenAssignment_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaModel__OverriddenAssignment_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getOverriddenAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__0__Impl"
    // $ANTLR start "rule__RosettaModel__Group__1"
    // InternalRosetta.g:5976:1: rule__RosettaModel__Group__1 : rule__RosettaModel__Group__1__Impl rule__RosettaModel__Group__2 ;
    public final void rule__RosettaModel__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5980:1: ( rule__RosettaModel__Group__1__Impl rule__RosettaModel__Group__2 )
            // InternalRosetta.g:5981:2: rule__RosettaModel__Group__1__Impl rule__RosettaModel__Group__2
            {
            pushFollow(FOLLOW_4);
            rule__RosettaModel__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__1"
    // $ANTLR start "rule__RosettaModel__Group__1__Impl"
    // InternalRosetta.g:5988:1: rule__RosettaModel__Group__1__Impl : ( 'namespace' ) ;
    public final void rule__RosettaModel__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:5992:1: ( ( 'namespace' ) )
            // InternalRosetta.g:5993:1: ( 'namespace' )
            {
            // InternalRosetta.g:5993:1: ( 'namespace' )
            // InternalRosetta.g:5994:2: 'namespace'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getNamespaceKeyword_1()); }
            match(input,59,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getNamespaceKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__1__Impl"
    // $ANTLR start "rule__RosettaModel__Group__2"
    // InternalRosetta.g:6003:1: rule__RosettaModel__Group__2 : rule__RosettaModel__Group__2__Impl rule__RosettaModel__Group__3 ;
    public final void rule__RosettaModel__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6007:1: ( rule__RosettaModel__Group__2__Impl rule__RosettaModel__Group__3 )
            // InternalRosetta.g:6008:2: rule__RosettaModel__Group__2__Impl rule__RosettaModel__Group__3
            {
            pushFollow(FOLLOW_5);
            rule__RosettaModel__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__2"
    // $ANTLR start "rule__RosettaModel__Group__2__Impl"
    // InternalRosetta.g:6015:1: rule__RosettaModel__Group__2__Impl : ( ( rule__RosettaModel__NameAssignment_2 ) ) ;
    public final void rule__RosettaModel__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6019:1: ( ( ( rule__RosettaModel__NameAssignment_2 ) ) )
            // InternalRosetta.g:6020:1: ( ( rule__RosettaModel__NameAssignment_2 ) )
            {
            // InternalRosetta.g:6020:1: ( ( rule__RosettaModel__NameAssignment_2 ) )
            // InternalRosetta.g:6021:2: ( rule__RosettaModel__NameAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getNameAssignment_2()); }
            // InternalRosetta.g:6022:2: ( rule__RosettaModel__NameAssignment_2 )
            // InternalRosetta.g:6022:3: rule__RosettaModel__NameAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaModel__NameAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getNameAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__2__Impl"
    // $ANTLR start "rule__RosettaModel__Group__3"
    // InternalRosetta.g:6030:1: rule__RosettaModel__Group__3 : rule__RosettaModel__Group__3__Impl rule__RosettaModel__Group__4 ;
    public final void rule__RosettaModel__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6034:1: ( rule__RosettaModel__Group__3__Impl rule__RosettaModel__Group__4 )
            // InternalRosetta.g:6035:2: rule__RosettaModel__Group__3__Impl rule__RosettaModel__Group__4
            {
            pushFollow(FOLLOW_5);
            rule__RosettaModel__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__3"
    // $ANTLR start "rule__RosettaModel__Group__3__Impl"
    // InternalRosetta.g:6042:1: rule__RosettaModel__Group__3__Impl : ( ( rule__RosettaModel__Group_3__0 )? ) ;
    public final void rule__RosettaModel__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6046:1: ( ( ( rule__RosettaModel__Group_3__0 )? ) )
            // InternalRosetta.g:6047:1: ( ( rule__RosettaModel__Group_3__0 )? )
            {
            // InternalRosetta.g:6047:1: ( ( rule__RosettaModel__Group_3__0 )? )
            // InternalRosetta.g:6048:2: ( rule__RosettaModel__Group_3__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getGroup_3()); }
            // InternalRosetta.g:6049:2: ( rule__RosettaModel__Group_3__0 )?
            int alt95=2;
            int LA95_0 = input.LA(1);
            if ( (LA95_0==60) ) {
                alt95=1;
            }
            switch (alt95) {
                case 1 :
                    // InternalRosetta.g:6049:3: rule__RosettaModel__Group_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaModel__Group_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getGroup_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__3__Impl"
    // $ANTLR start "rule__RosettaModel__Group__4"
    // InternalRosetta.g:6057:1: rule__RosettaModel__Group__4 : rule__RosettaModel__Group__4__Impl rule__RosettaModel__Group__5 ;
    public final void rule__RosettaModel__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6061:1: ( rule__RosettaModel__Group__4__Impl rule__RosettaModel__Group__5 )
            // InternalRosetta.g:6062:2: rule__RosettaModel__Group__4__Impl rule__RosettaModel__Group__5
            {
            pushFollow(FOLLOW_5);
            rule__RosettaModel__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__4"
    // $ANTLR start "rule__RosettaModel__Group__4__Impl"
    // InternalRosetta.g:6069:1: rule__RosettaModel__Group__4__Impl : ( ( rule__RosettaModel__Group_4__0 )? ) ;
    public final void rule__RosettaModel__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6073:1: ( ( ( rule__RosettaModel__Group_4__0 )? ) )
            // InternalRosetta.g:6074:1: ( ( rule__RosettaModel__Group_4__0 )? )
            {
            // InternalRosetta.g:6074:1: ( ( rule__RosettaModel__Group_4__0 )? )
            // InternalRosetta.g:6075:2: ( rule__RosettaModel__Group_4__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getGroup_4()); }
            // InternalRosetta.g:6076:2: ( rule__RosettaModel__Group_4__0 )?
            int alt96=2;
            int LA96_0 = input.LA(1);
            if ( (LA96_0==17) ) {
                alt96=1;
            }
            switch (alt96) {
                case 1 :
                    // InternalRosetta.g:6076:3: rule__RosettaModel__Group_4__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaModel__Group_4__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getGroup_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__4__Impl"
    // $ANTLR start "rule__RosettaModel__Group__5"
    // InternalRosetta.g:6084:1: rule__RosettaModel__Group__5 : rule__RosettaModel__Group__5__Impl rule__RosettaModel__Group__6 ;
    public final void rule__RosettaModel__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6088:1: ( rule__RosettaModel__Group__5__Impl rule__RosettaModel__Group__6 )
            // InternalRosetta.g:6089:2: rule__RosettaModel__Group__5__Impl rule__RosettaModel__Group__6
            {
            pushFollow(FOLLOW_5);
            rule__RosettaModel__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group__6(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__5"
    // $ANTLR start "rule__RosettaModel__Group__5__Impl"
    // InternalRosetta.g:6096:1: rule__RosettaModel__Group__5__Impl : ( ( rule__RosettaModel__ImportsAssignment_5 )* ) ;
    public final void rule__RosettaModel__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6100:1: ( ( ( rule__RosettaModel__ImportsAssignment_5 )* ) )
            // InternalRosetta.g:6101:1: ( ( rule__RosettaModel__ImportsAssignment_5 )* )
            {
            // InternalRosetta.g:6101:1: ( ( rule__RosettaModel__ImportsAssignment_5 )* )
            // InternalRosetta.g:6102:2: ( rule__RosettaModel__ImportsAssignment_5 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getImportsAssignment_5()); }
            // InternalRosetta.g:6103:2: ( rule__RosettaModel__ImportsAssignment_5 )*
            loop97:
            do {
                int alt97=2;
                int LA97_0 = input.LA(1);
                if ( (LA97_0==62) ) {
                    alt97=1;
                }
                switch (alt97) {
            	case 1 :
            	    // InternalRosetta.g:6103:3: rule__RosettaModel__ImportsAssignment_5
            	    {
            	    pushFollow(FOLLOW_6);
            	    rule__RosettaModel__ImportsAssignment_5();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop97;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getImportsAssignment_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__5__Impl"
    // $ANTLR start "rule__RosettaModel__Group__6"
    // InternalRosetta.g:6111:1: rule__RosettaModel__Group__6 : rule__RosettaModel__Group__6__Impl rule__RosettaModel__Group__7 ;
    public final void rule__RosettaModel__Group__6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6115:1: ( rule__RosettaModel__Group__6__Impl rule__RosettaModel__Group__7 )
            // InternalRosetta.g:6116:2: rule__RosettaModel__Group__6__Impl rule__RosettaModel__Group__7
            {
            pushFollow(FOLLOW_5);
            rule__RosettaModel__Group__6__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group__7(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__6"
    // $ANTLR start "rule__RosettaModel__Group__6__Impl"
    // InternalRosetta.g:6123:1: rule__RosettaModel__Group__6__Impl : ( ( rule__RosettaModel__ConfigurationsAssignment_6 )* ) ;
    public final void rule__RosettaModel__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6127:1: ( ( ( rule__RosettaModel__ConfigurationsAssignment_6 )* ) )
            // InternalRosetta.g:6128:1: ( ( rule__RosettaModel__ConfigurationsAssignment_6 )* )
            {
            // InternalRosetta.g:6128:1: ( ( rule__RosettaModel__ConfigurationsAssignment_6 )* )
            // InternalRosetta.g:6129:2: ( rule__RosettaModel__ConfigurationsAssignment_6 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getConfigurationsAssignment_6()); }
            // InternalRosetta.g:6130:2: ( rule__RosettaModel__ConfigurationsAssignment_6 )*
            loop98:
            do {
                int alt98=2;
                int LA98_0 = input.LA(1);
                if ( ((LA98_0>=53 && LA98_0<=54)) ) {
                    alt98=1;
                }
                switch (alt98) {
            	case 1 :
            	    // InternalRosetta.g:6130:3: rule__RosettaModel__ConfigurationsAssignment_6
            	    {
            	    pushFollow(FOLLOW_7);
            	    rule__RosettaModel__ConfigurationsAssignment_6();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop98;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getConfigurationsAssignment_6()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__6__Impl"
    // $ANTLR start "rule__RosettaModel__Group__7"
    // InternalRosetta.g:6138:1: rule__RosettaModel__Group__7 : rule__RosettaModel__Group__7__Impl ;
    public final void rule__RosettaModel__Group__7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6142:1: ( rule__RosettaModel__Group__7__Impl )
            // InternalRosetta.g:6143:2: rule__RosettaModel__Group__7__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group__7__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__7"
    // $ANTLR start "rule__RosettaModel__Group__7__Impl"
    // InternalRosetta.g:6149:1: rule__RosettaModel__Group__7__Impl : ( ( rule__RosettaModel__ElementsAssignment_7 )* ) ;
    public final void rule__RosettaModel__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6153:1: ( ( ( rule__RosettaModel__ElementsAssignment_7 )* ) )
            // InternalRosetta.g:6154:1: ( ( rule__RosettaModel__ElementsAssignment_7 )* )
            {
            // InternalRosetta.g:6154:1: ( ( rule__RosettaModel__ElementsAssignment_7 )* )
            // InternalRosetta.g:6155:2: ( rule__RosettaModel__ElementsAssignment_7 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getElementsAssignment_7()); }
            // InternalRosetta.g:6156:2: ( rule__RosettaModel__ElementsAssignment_7 )*
            loop99:
            do {
                int alt99=2;
                int LA99_0 = input.LA(1);
                if ( (LA99_0==48||LA99_0==64||LA99_0==68||(LA99_0>=70 && LA99_0<=72)||(LA99_0>=80 && LA99_0<=82)||LA99_0==85||(LA99_0>=87 && LA99_0<=90)||(LA99_0>=111 && LA99_0<=113)||(LA99_0>=123 && LA99_0<=124)||LA99_0==165) ) {
                    alt99=1;
                }
                switch (alt99) {
            	case 1 :
            	    // InternalRosetta.g:6156:3: rule__RosettaModel__ElementsAssignment_7
            	    {
            	    pushFollow(FOLLOW_8);
            	    rule__RosettaModel__ElementsAssignment_7();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop99;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getElementsAssignment_7()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group__7__Impl"
    // $ANTLR start "rule__RosettaModel__Group_3__0"
    // InternalRosetta.g:6165:1: rule__RosettaModel__Group_3__0 : rule__RosettaModel__Group_3__0__Impl rule__RosettaModel__Group_3__1 ;
    public final void rule__RosettaModel__Group_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6169:1: ( rule__RosettaModel__Group_3__0__Impl rule__RosettaModel__Group_3__1 )
            // InternalRosetta.g:6170:2: rule__RosettaModel__Group_3__0__Impl rule__RosettaModel__Group_3__1
            {
            pushFollow(FOLLOW_9);
            rule__RosettaModel__Group_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group_3__0"
    // $ANTLR start "rule__RosettaModel__Group_3__0__Impl"
    // InternalRosetta.g:6177:1: rule__RosettaModel__Group_3__0__Impl : ( ':' ) ;
    public final void rule__RosettaModel__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6181:1: ( ( ':' ) )
            // InternalRosetta.g:6182:1: ( ':' )
            {
            // InternalRosetta.g:6182:1: ( ':' )
            // InternalRosetta.g:6183:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getColonKeyword_3_0()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getColonKeyword_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group_3__0__Impl"
    // $ANTLR start "rule__RosettaModel__Group_3__1"
    // InternalRosetta.g:6192:1: rule__RosettaModel__Group_3__1 : rule__RosettaModel__Group_3__1__Impl ;
    public final void rule__RosettaModel__Group_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6196:1: ( rule__RosettaModel__Group_3__1__Impl )
            // InternalRosetta.g:6197:2: rule__RosettaModel__Group_3__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group_3__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group_3__1"
    // $ANTLR start "rule__RosettaModel__Group_3__1__Impl"
    // InternalRosetta.g:6203:1: rule__RosettaModel__Group_3__1__Impl : ( ruleRosettaDefinable ) ;
    public final void rule__RosettaModel__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6207:1: ( ( ruleRosettaDefinable ) )
            // InternalRosetta.g:6208:1: ( ruleRosettaDefinable )
            {
            // InternalRosetta.g:6208:1: ( ruleRosettaDefinable )
            // InternalRosetta.g:6209:2: ruleRosettaDefinable
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getRosettaDefinableParserRuleCall_3_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaDefinable(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getRosettaDefinableParserRuleCall_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group_3__1__Impl"
    // $ANTLR start "rule__RosettaModel__Group_4__0"
    // InternalRosetta.g:6219:1: rule__RosettaModel__Group_4__0 : rule__RosettaModel__Group_4__0__Impl rule__RosettaModel__Group_4__1 ;
    public final void rule__RosettaModel__Group_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6223:1: ( rule__RosettaModel__Group_4__0__Impl rule__RosettaModel__Group_4__1 )
            // InternalRosetta.g:6224:2: rule__RosettaModel__Group_4__0__Impl rule__RosettaModel__Group_4__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaModel__Group_4__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group_4__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group_4__0"
    // $ANTLR start "rule__RosettaModel__Group_4__0__Impl"
    // InternalRosetta.g:6231:1: rule__RosettaModel__Group_4__0__Impl : ( 'version' ) ;
    public final void rule__RosettaModel__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6235:1: ( ( 'version' ) )
            // InternalRosetta.g:6236:1: ( 'version' )
            {
            // InternalRosetta.g:6236:1: ( 'version' )
            // InternalRosetta.g:6237:2: 'version'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getVersionKeyword_4_0()); }
            match(input,17,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getVersionKeyword_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group_4__0__Impl"
    // $ANTLR start "rule__RosettaModel__Group_4__1"
    // InternalRosetta.g:6246:1: rule__RosettaModel__Group_4__1 : rule__RosettaModel__Group_4__1__Impl ;
    public final void rule__RosettaModel__Group_4__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6250:1: ( rule__RosettaModel__Group_4__1__Impl )
            // InternalRosetta.g:6251:2: rule__RosettaModel__Group_4__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaModel__Group_4__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group_4__1"
    // $ANTLR start "rule__RosettaModel__Group_4__1__Impl"
    // InternalRosetta.g:6257:1: rule__RosettaModel__Group_4__1__Impl : ( ( rule__RosettaModel__VersionAssignment_4_1 ) ) ;
    public final void rule__RosettaModel__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6261:1: ( ( ( rule__RosettaModel__VersionAssignment_4_1 ) ) )
            // InternalRosetta.g:6262:1: ( ( rule__RosettaModel__VersionAssignment_4_1 ) )
            {
            // InternalRosetta.g:6262:1: ( ( rule__RosettaModel__VersionAssignment_4_1 ) )
            // InternalRosetta.g:6263:2: ( rule__RosettaModel__VersionAssignment_4_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getVersionAssignment_4_1()); }
            // InternalRosetta.g:6264:2: ( rule__RosettaModel__VersionAssignment_4_1 )
            // InternalRosetta.g:6264:3: rule__RosettaModel__VersionAssignment_4_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaModel__VersionAssignment_4_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getVersionAssignment_4_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__Group_4__1__Impl"
    // $ANTLR start "rule__QualifiedName__Group__0"
    // InternalRosetta.g:6273: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 {
            // InternalRosetta.g:6277:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
            // InternalRosetta.g:6278:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
            {
            pushFollow(FOLLOW_11);
            rule__QualifiedName__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__QualifiedName__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedName__Group__0"
    // $ANTLR start "rule__QualifiedName__Group__0__Impl"
    // InternalRosetta.g:6285:1: rule__QualifiedName__Group__0__Impl : ( ruleValidID ) ;
    public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6289:1: ( ( ruleValidID ) )
            // InternalRosetta.g:6290:1: ( ruleValidID )
            {
            // InternalRosetta.g:6290:1: ( ruleValidID )
            // InternalRosetta.g:6291:2: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            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); }
    }
    // $ANTLR end "rule__QualifiedName__Group__0__Impl"
    // $ANTLR start "rule__QualifiedName__Group__1"
    // InternalRosetta.g:6300:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
    public final void rule__QualifiedName__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6304:1: ( rule__QualifiedName__Group__1__Impl )
            // InternalRosetta.g:6305:2: rule__QualifiedName__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__QualifiedName__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedName__Group__1"
    // $ANTLR start "rule__QualifiedName__Group__1__Impl"
    // InternalRosetta.g:6311: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 {
            // InternalRosetta.g:6315:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
            // InternalRosetta.g:6316:1: ( ( rule__QualifiedName__Group_1__0 )* )
            {
            // InternalRosetta.g:6316:1: ( ( rule__QualifiedName__Group_1__0 )* )
            // InternalRosetta.g:6317:2: ( rule__QualifiedName__Group_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameAccess().getGroup_1()); }
            // InternalRosetta.g:6318:2: ( rule__QualifiedName__Group_1__0 )*
            loop100:
            do {
                int alt100=2;
                int LA100_0 = input.LA(1);
                if ( (LA100_0==61) ) {
                    int LA100_2 = input.LA(2);
                    if ( (LA100_2==RULE_ID||(LA100_2>=14 && LA100_2<=18)) ) {
                        alt100=1;
                    }
                }
                switch (alt100) {
            	case 1 :
            	    // InternalRosetta.g:6318:3: rule__QualifiedName__Group_1__0
            	    {
            	    pushFollow(FOLLOW_12);
            	    rule__QualifiedName__Group_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop100;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getQualifiedNameAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedName__Group__1__Impl"
    // $ANTLR start "rule__QualifiedName__Group_1__0"
    // InternalRosetta.g:6327: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 {
            // InternalRosetta.g:6331:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
            // InternalRosetta.g:6332:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
            {
            pushFollow(FOLLOW_13);
            rule__QualifiedName__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__QualifiedName__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0"
    // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
    // InternalRosetta.g:6339:1: rule__QualifiedName__Group_1__0__Impl : ( '.' ) ;
    public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6343:1: ( ( '.' ) )
            // InternalRosetta.g:6344:1: ( '.' )
            {
            // InternalRosetta.g:6344:1: ( '.' )
            // InternalRosetta.g:6345:2: '.'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); }
            match(input,61,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0__Impl"
    // $ANTLR start "rule__QualifiedName__Group_1__1"
    // InternalRosetta.g:6354: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 {
            // InternalRosetta.g:6358:1: ( rule__QualifiedName__Group_1__1__Impl )
            // InternalRosetta.g:6359:2: rule__QualifiedName__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__QualifiedName__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1"
    // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
    // InternalRosetta.g:6365:1: rule__QualifiedName__Group_1__1__Impl : ( ruleValidID ) ;
    public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6369:1: ( ( ruleValidID ) )
            // InternalRosetta.g:6370:1: ( ruleValidID )
            {
            // InternalRosetta.g:6370:1: ( ruleValidID )
            // InternalRosetta.g:6371:2: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); }
            pushFollow(FOLLOW_2);
            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); }
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1__Impl"
    // $ANTLR start "rule__Import__Group__0"
    // InternalRosetta.g:6381:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
    public final void rule__Import__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6385:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
            // InternalRosetta.g:6386:2: rule__Import__Group__0__Impl rule__Import__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__Import__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Import__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__Group__0"
    // $ANTLR start "rule__Import__Group__0__Impl"
    // InternalRosetta.g:6393:1: rule__Import__Group__0__Impl : ( 'import' ) ;
    public final void rule__Import__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6397:1: ( ( 'import' ) )
            // InternalRosetta.g:6398:1: ( 'import' )
            {
            // InternalRosetta.g:6398:1: ( 'import' )
            // InternalRosetta.g:6399:2: 'import'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImportAccess().getImportKeyword_0()); }
            match(input,62,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getImportAccess().getImportKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__Group__0__Impl"
    // $ANTLR start "rule__Import__Group__1"
    // InternalRosetta.g:6408:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ;
    public final void rule__Import__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6412:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 )
            // InternalRosetta.g:6413:2: rule__Import__Group__1__Impl rule__Import__Group__2
            {
            pushFollow(FOLLOW_14);
            rule__Import__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Import__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__Group__1"
    // $ANTLR start "rule__Import__Group__1__Impl"
    // InternalRosetta.g:6420:1: rule__Import__Group__1__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) ;
    public final void rule__Import__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6424:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) )
            // InternalRosetta.g:6425:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
            {
            // InternalRosetta.g:6425:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
            // InternalRosetta.g:6426:2: ( rule__Import__ImportedNamespaceAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); }
            // InternalRosetta.g:6427:2: ( rule__Import__ImportedNamespaceAssignment_1 )
            // InternalRosetta.g:6427:3: rule__Import__ImportedNamespaceAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__Import__ImportedNamespaceAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__Group__1__Impl"
    // $ANTLR start "rule__Import__Group__2"
    // InternalRosetta.g:6435:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ;
    public final void rule__Import__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6439:1: ( rule__Import__Group__2__Impl )
            // InternalRosetta.g:6440:2: rule__Import__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Import__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__Group__2"
    // $ANTLR start "rule__Import__Group__2__Impl"
    // InternalRosetta.g:6446:1: rule__Import__Group__2__Impl : ( ( rule__Import__Group_2__0 )? ) ;
    public final void rule__Import__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6450:1: ( ( ( rule__Import__Group_2__0 )? ) )
            // InternalRosetta.g:6451:1: ( ( rule__Import__Group_2__0 )? )
            {
            // InternalRosetta.g:6451:1: ( ( rule__Import__Group_2__0 )? )
            // InternalRosetta.g:6452:2: ( rule__Import__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImportAccess().getGroup_2()); }
            // InternalRosetta.g:6453:2: ( rule__Import__Group_2__0 )?
            int alt101=2;
            int LA101_0 = input.LA(1);
            if ( (LA101_0==63) ) {
                alt101=1;
            }
            switch (alt101) {
                case 1 :
                    // InternalRosetta.g:6453:3: rule__Import__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__Import__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getImportAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__Group__2__Impl"
    // $ANTLR start "rule__Import__Group_2__0"
    // InternalRosetta.g:6462:1: rule__Import__Group_2__0 : rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ;
    public final void rule__Import__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6466:1: ( rule__Import__Group_2__0__Impl rule__Import__Group_2__1 )
            // InternalRosetta.g:6467:2: rule__Import__Group_2__0__Impl rule__Import__Group_2__1
            {
            pushFollow(FOLLOW_13);
            rule__Import__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Import__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__Group_2__0"
    // $ANTLR start "rule__Import__Group_2__0__Impl"
    // InternalRosetta.g:6474:1: rule__Import__Group_2__0__Impl : ( 'as' ) ;
    public final void rule__Import__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6478:1: ( ( 'as' ) )
            // InternalRosetta.g:6479:1: ( 'as' )
            {
            // InternalRosetta.g:6479:1: ( 'as' )
            // InternalRosetta.g:6480:2: 'as'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImportAccess().getAsKeyword_2_0()); }
            match(input,63,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getImportAccess().getAsKeyword_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__Group_2__0__Impl"
    // $ANTLR start "rule__Import__Group_2__1"
    // InternalRosetta.g:6489:1: rule__Import__Group_2__1 : rule__Import__Group_2__1__Impl ;
    public final void rule__Import__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6493:1: ( rule__Import__Group_2__1__Impl )
            // InternalRosetta.g:6494:2: rule__Import__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Import__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__Group_2__1"
    // $ANTLR start "rule__Import__Group_2__1__Impl"
    // InternalRosetta.g:6500:1: rule__Import__Group_2__1__Impl : ( ( rule__Import__NamespaceAliasAssignment_2_1 ) ) ;
    public final void rule__Import__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6504:1: ( ( ( rule__Import__NamespaceAliasAssignment_2_1 ) ) )
            // InternalRosetta.g:6505:1: ( ( rule__Import__NamespaceAliasAssignment_2_1 ) )
            {
            // InternalRosetta.g:6505:1: ( ( rule__Import__NamespaceAliasAssignment_2_1 ) )
            // InternalRosetta.g:6506:2: ( rule__Import__NamespaceAliasAssignment_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImportAccess().getNamespaceAliasAssignment_2_1()); }
            // InternalRosetta.g:6507:2: ( rule__Import__NamespaceAliasAssignment_2_1 )
            // InternalRosetta.g:6507:3: rule__Import__NamespaceAliasAssignment_2_1
            {
            pushFollow(FOLLOW_2);
            rule__Import__NamespaceAliasAssignment_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getImportAccess().getNamespaceAliasAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__Group_2__1__Impl"
    // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0"
    // InternalRosetta.g:6516:1: rule__QualifiedNameWithWildcard__Group__0 : rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ;
    public final void rule__QualifiedNameWithWildcard__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6520:1: ( rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 )
            // InternalRosetta.g:6521:2: rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1
            {
            pushFollow(FOLLOW_11);
            rule__QualifiedNameWithWildcard__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__QualifiedNameWithWildcard__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0"
    // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0__Impl"
    // InternalRosetta.g:6528:1: rule__QualifiedNameWithWildcard__Group__0__Impl : ( ruleQualifiedName ) ;
    public final void rule__QualifiedNameWithWildcard__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6532:1: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:6533:1: ( ruleQualifiedName )
            {
            // InternalRosetta.g:6533:1: ( ruleQualifiedName )
            // InternalRosetta.g:6534:2: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0__Impl"
    // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1"
    // InternalRosetta.g:6543:1: rule__QualifiedNameWithWildcard__Group__1 : rule__QualifiedNameWithWildcard__Group__1__Impl ;
    public final void rule__QualifiedNameWithWildcard__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6547:1: ( rule__QualifiedNameWithWildcard__Group__1__Impl )
            // InternalRosetta.g:6548:2: rule__QualifiedNameWithWildcard__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__QualifiedNameWithWildcard__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1"
    // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1__Impl"
    // InternalRosetta.g:6554:1: rule__QualifiedNameWithWildcard__Group__1__Impl : ( ( rule__QualifiedNameWithWildcard__Group_1__0 )? ) ;
    public final void rule__QualifiedNameWithWildcard__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6558:1: ( ( ( rule__QualifiedNameWithWildcard__Group_1__0 )? ) )
            // InternalRosetta.g:6559:1: ( ( rule__QualifiedNameWithWildcard__Group_1__0 )? )
            {
            // InternalRosetta.g:6559:1: ( ( rule__QualifiedNameWithWildcard__Group_1__0 )? )
            // InternalRosetta.g:6560:2: ( rule__QualifiedNameWithWildcard__Group_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup_1()); }
            // InternalRosetta.g:6561:2: ( rule__QualifiedNameWithWildcard__Group_1__0 )?
            int alt102=2;
            int LA102_0 = input.LA(1);
            if ( (LA102_0==61) ) {
                alt102=1;
            }
            switch (alt102) {
                case 1 :
                    // InternalRosetta.g:6561:3: rule__QualifiedNameWithWildcard__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__QualifiedNameWithWildcard__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1__Impl"
    // $ANTLR start "rule__QualifiedNameWithWildcard__Group_1__0"
    // InternalRosetta.g:6570:1: rule__QualifiedNameWithWildcard__Group_1__0 : rule__QualifiedNameWithWildcard__Group_1__0__Impl rule__QualifiedNameWithWildcard__Group_1__1 ;
    public final void rule__QualifiedNameWithWildcard__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6574:1: ( rule__QualifiedNameWithWildcard__Group_1__0__Impl rule__QualifiedNameWithWildcard__Group_1__1 )
            // InternalRosetta.g:6575:2: rule__QualifiedNameWithWildcard__Group_1__0__Impl rule__QualifiedNameWithWildcard__Group_1__1
            {
            pushFollow(FOLLOW_15);
            rule__QualifiedNameWithWildcard__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__QualifiedNameWithWildcard__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group_1__0"
    // $ANTLR start "rule__QualifiedNameWithWildcard__Group_1__0__Impl"
    // InternalRosetta.g:6582:1: rule__QualifiedNameWithWildcard__Group_1__0__Impl : ( '.' ) ;
    public final void rule__QualifiedNameWithWildcard__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6586:1: ( ( '.' ) )
            // InternalRosetta.g:6587:1: ( '.' )
            {
            // InternalRosetta.g:6587:1: ( '.' )
            // InternalRosetta.g:6588:2: '.'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1_0()); }
            match(input,61,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group_1__0__Impl"
    // $ANTLR start "rule__QualifiedNameWithWildcard__Group_1__1"
    // InternalRosetta.g:6597:1: rule__QualifiedNameWithWildcard__Group_1__1 : rule__QualifiedNameWithWildcard__Group_1__1__Impl ;
    public final void rule__QualifiedNameWithWildcard__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6601:1: ( rule__QualifiedNameWithWildcard__Group_1__1__Impl )
            // InternalRosetta.g:6602:2: rule__QualifiedNameWithWildcard__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__QualifiedNameWithWildcard__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group_1__1"
    // $ANTLR start "rule__QualifiedNameWithWildcard__Group_1__1__Impl"
    // InternalRosetta.g:6608:1: rule__QualifiedNameWithWildcard__Group_1__1__Impl : ( '*' ) ;
    public final void rule__QualifiedNameWithWildcard__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6612:1: ( ( '*' ) )
            // InternalRosetta.g:6613:1: ( '*' )
            {
            // InternalRosetta.g:6613:1: ( '*' )
            // InternalRosetta.g:6614:2: '*'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_1_1()); }
            match(input,36,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__QualifiedNameWithWildcard__Group_1__1__Impl"
    // $ANTLR start "rule__Annotation__Group__0"
    // InternalRosetta.g:6624:1: rule__Annotation__Group__0 : rule__Annotation__Group__0__Impl rule__Annotation__Group__1 ;
    public final void rule__Annotation__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6628:1: ( rule__Annotation__Group__0__Impl rule__Annotation__Group__1 )
            // InternalRosetta.g:6629:2: rule__Annotation__Group__0__Impl rule__Annotation__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__Annotation__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Annotation__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__0"
    // $ANTLR start "rule__Annotation__Group__0__Impl"
    // InternalRosetta.g:6636:1: rule__Annotation__Group__0__Impl : ( 'annotation' ) ;
    public final void rule__Annotation__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6640:1: ( ( 'annotation' ) )
            // InternalRosetta.g:6641:1: ( 'annotation' )
            {
            // InternalRosetta.g:6641:1: ( 'annotation' )
            // InternalRosetta.g:6642:2: 'annotation'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getAnnotationKeyword_0()); }
            match(input,64,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getAnnotationKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__0__Impl"
    // $ANTLR start "rule__Annotation__Group__1"
    // InternalRosetta.g:6651:1: rule__Annotation__Group__1 : rule__Annotation__Group__1__Impl rule__Annotation__Group__2 ;
    public final void rule__Annotation__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6655:1: ( rule__Annotation__Group__1__Impl rule__Annotation__Group__2 )
            // InternalRosetta.g:6656:2: rule__Annotation__Group__1__Impl rule__Annotation__Group__2
            {
            pushFollow(FOLLOW_16);
            rule__Annotation__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Annotation__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__1"
    // $ANTLR start "rule__Annotation__Group__1__Impl"
    // InternalRosetta.g:6663:1: rule__Annotation__Group__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__Annotation__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6667:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:6668:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:6668:1: ( ruleRosettaNamed )
            // InternalRosetta.g:6669:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getRosettaNamedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__1__Impl"
    // $ANTLR start "rule__Annotation__Group__2"
    // InternalRosetta.g:6678:1: rule__Annotation__Group__2 : rule__Annotation__Group__2__Impl rule__Annotation__Group__3 ;
    public final void rule__Annotation__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6682:1: ( rule__Annotation__Group__2__Impl rule__Annotation__Group__3 )
            // InternalRosetta.g:6683:2: rule__Annotation__Group__2__Impl rule__Annotation__Group__3
            {
            pushFollow(FOLLOW_17);
            rule__Annotation__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Annotation__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__2"
    // $ANTLR start "rule__Annotation__Group__2__Impl"
    // InternalRosetta.g:6690:1: rule__Annotation__Group__2__Impl : ( ':' ) ;
    public final void rule__Annotation__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6694:1: ( ( ':' ) )
            // InternalRosetta.g:6695:1: ( ':' )
            {
            // InternalRosetta.g:6695:1: ( ':' )
            // InternalRosetta.g:6696:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getColonKeyword_2()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getColonKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__2__Impl"
    // $ANTLR start "rule__Annotation__Group__3"
    // InternalRosetta.g:6705:1: rule__Annotation__Group__3 : rule__Annotation__Group__3__Impl rule__Annotation__Group__4 ;
    public final void rule__Annotation__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6709:1: ( rule__Annotation__Group__3__Impl rule__Annotation__Group__4 )
            // InternalRosetta.g:6710:2: rule__Annotation__Group__3__Impl rule__Annotation__Group__4
            {
            pushFollow(FOLLOW_17);
            rule__Annotation__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Annotation__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__3"
    // $ANTLR start "rule__Annotation__Group__3__Impl"
    // InternalRosetta.g:6717:1: rule__Annotation__Group__3__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__Annotation__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6721:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:6722:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:6722:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:6723:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getRosettaDefinableParserRuleCall_3()); }
            // InternalRosetta.g:6724:2: ( ruleRosettaDefinable )?
            int alt103=2;
            int LA103_0 = input.LA(1);
            if ( (LA103_0==35) ) {
                alt103=1;
            }
            switch (alt103) {
                case 1 :
                    // InternalRosetta.g:6724:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getRosettaDefinableParserRuleCall_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__3__Impl"
    // $ANTLR start "rule__Annotation__Group__4"
    // InternalRosetta.g:6732:1: rule__Annotation__Group__4 : rule__Annotation__Group__4__Impl rule__Annotation__Group__5 ;
    public final void rule__Annotation__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6736:1: ( rule__Annotation__Group__4__Impl rule__Annotation__Group__5 )
            // InternalRosetta.g:6737:2: rule__Annotation__Group__4__Impl rule__Annotation__Group__5
            {
            pushFollow(FOLLOW_17);
            rule__Annotation__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Annotation__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__4"
    // $ANTLR start "rule__Annotation__Group__4__Impl"
    // InternalRosetta.g:6744:1: rule__Annotation__Group__4__Impl : ( ( rule__Annotation__Group_4__0 )? ) ;
    public final void rule__Annotation__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6748:1: ( ( ( rule__Annotation__Group_4__0 )? ) )
            // InternalRosetta.g:6749:1: ( ( rule__Annotation__Group_4__0 )? )
            {
            // InternalRosetta.g:6749:1: ( ( rule__Annotation__Group_4__0 )? )
            // InternalRosetta.g:6750:2: ( rule__Annotation__Group_4__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getGroup_4()); }
            // InternalRosetta.g:6751:2: ( rule__Annotation__Group_4__0 )?
            int alt104=2;
            int LA104_0 = input.LA(1);
            if ( (LA104_0==65) ) {
                alt104=1;
            }
            switch (alt104) {
                case 1 :
                    // InternalRosetta.g:6751:3: rule__Annotation__Group_4__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__Annotation__Group_4__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getGroup_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__4__Impl"
    // $ANTLR start "rule__Annotation__Group__5"
    // InternalRosetta.g:6759:1: rule__Annotation__Group__5 : rule__Annotation__Group__5__Impl ;
    public final void rule__Annotation__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6763:1: ( rule__Annotation__Group__5__Impl )
            // InternalRosetta.g:6764:2: rule__Annotation__Group__5__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Annotation__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__5"
    // $ANTLR start "rule__Annotation__Group__5__Impl"
    // InternalRosetta.g:6770:1: rule__Annotation__Group__5__Impl : ( ( rule__Annotation__AttributesAssignment_5 )* ) ;
    public final void rule__Annotation__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6774:1: ( ( ( rule__Annotation__AttributesAssignment_5 )* ) )
            // InternalRosetta.g:6775:1: ( ( rule__Annotation__AttributesAssignment_5 )* )
            {
            // InternalRosetta.g:6775:1: ( ( rule__Annotation__AttributesAssignment_5 )* )
            // InternalRosetta.g:6776:2: ( rule__Annotation__AttributesAssignment_5 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getAttributesAssignment_5()); }
            // InternalRosetta.g:6777:2: ( rule__Annotation__AttributesAssignment_5 )*
            loop105:
            do {
                int alt105=2;
                int LA105_0 = input.LA(1);
                if ( (LA105_0==RULE_ID||(LA105_0>=14 && LA105_0<=18)) ) {
                    alt105=1;
                }
                switch (alt105) {
            	case 1 :
            	    // InternalRosetta.g:6777:3: rule__Annotation__AttributesAssignment_5
            	    {
            	    pushFollow(FOLLOW_18);
            	    rule__Annotation__AttributesAssignment_5();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop105;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getAttributesAssignment_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group__5__Impl"
    // $ANTLR start "rule__Annotation__Group_4__0"
    // InternalRosetta.g:6786:1: rule__Annotation__Group_4__0 : rule__Annotation__Group_4__0__Impl rule__Annotation__Group_4__1 ;
    public final void rule__Annotation__Group_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6790:1: ( rule__Annotation__Group_4__0__Impl rule__Annotation__Group_4__1 )
            // InternalRosetta.g:6791:2: rule__Annotation__Group_4__0__Impl rule__Annotation__Group_4__1
            {
            pushFollow(FOLLOW_19);
            rule__Annotation__Group_4__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Annotation__Group_4__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group_4__0"
    // $ANTLR start "rule__Annotation__Group_4__0__Impl"
    // InternalRosetta.g:6798:1: rule__Annotation__Group_4__0__Impl : ( '[' ) ;
    public final void rule__Annotation__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6802:1: ( ( '[' ) )
            // InternalRosetta.g:6803:1: ( '[' )
            {
            // InternalRosetta.g:6803:1: ( '[' )
            // InternalRosetta.g:6804:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getLeftSquareBracketKeyword_4_0()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getLeftSquareBracketKeyword_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group_4__0__Impl"
    // $ANTLR start "rule__Annotation__Group_4__1"
    // InternalRosetta.g:6813:1: rule__Annotation__Group_4__1 : rule__Annotation__Group_4__1__Impl rule__Annotation__Group_4__2 ;
    public final void rule__Annotation__Group_4__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6817:1: ( rule__Annotation__Group_4__1__Impl rule__Annotation__Group_4__2 )
            // InternalRosetta.g:6818:2: rule__Annotation__Group_4__1__Impl rule__Annotation__Group_4__2
            {
            pushFollow(FOLLOW_13);
            rule__Annotation__Group_4__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Annotation__Group_4__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group_4__1"
    // $ANTLR start "rule__Annotation__Group_4__1__Impl"
    // InternalRosetta.g:6825:1: rule__Annotation__Group_4__1__Impl : ( 'prefix' ) ;
    public final void rule__Annotation__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6829:1: ( ( 'prefix' ) )
            // InternalRosetta.g:6830:1: ( 'prefix' )
            {
            // InternalRosetta.g:6830:1: ( 'prefix' )
            // InternalRosetta.g:6831:2: 'prefix'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getPrefixKeyword_4_1()); }
            match(input,66,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getPrefixKeyword_4_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group_4__1__Impl"
    // $ANTLR start "rule__Annotation__Group_4__2"
    // InternalRosetta.g:6840:1: rule__Annotation__Group_4__2 : rule__Annotation__Group_4__2__Impl rule__Annotation__Group_4__3 ;
    public final void rule__Annotation__Group_4__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6844:1: ( rule__Annotation__Group_4__2__Impl rule__Annotation__Group_4__3 )
            // InternalRosetta.g:6845:2: rule__Annotation__Group_4__2__Impl rule__Annotation__Group_4__3
            {
            pushFollow(FOLLOW_20);
            rule__Annotation__Group_4__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Annotation__Group_4__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group_4__2"
    // $ANTLR start "rule__Annotation__Group_4__2__Impl"
    // InternalRosetta.g:6852:1: rule__Annotation__Group_4__2__Impl : ( ( rule__Annotation__PrefixAssignment_4_2 ) ) ;
    public final void rule__Annotation__Group_4__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6856:1: ( ( ( rule__Annotation__PrefixAssignment_4_2 ) ) )
            // InternalRosetta.g:6857:1: ( ( rule__Annotation__PrefixAssignment_4_2 ) )
            {
            // InternalRosetta.g:6857:1: ( ( rule__Annotation__PrefixAssignment_4_2 ) )
            // InternalRosetta.g:6858:2: ( rule__Annotation__PrefixAssignment_4_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getPrefixAssignment_4_2()); }
            // InternalRosetta.g:6859:2: ( rule__Annotation__PrefixAssignment_4_2 )
            // InternalRosetta.g:6859:3: rule__Annotation__PrefixAssignment_4_2
            {
            pushFollow(FOLLOW_2);
            rule__Annotation__PrefixAssignment_4_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getPrefixAssignment_4_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group_4__2__Impl"
    // $ANTLR start "rule__Annotation__Group_4__3"
    // InternalRosetta.g:6867:1: rule__Annotation__Group_4__3 : rule__Annotation__Group_4__3__Impl ;
    public final void rule__Annotation__Group_4__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6871:1: ( rule__Annotation__Group_4__3__Impl )
            // InternalRosetta.g:6872:2: rule__Annotation__Group_4__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Annotation__Group_4__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group_4__3"
    // $ANTLR start "rule__Annotation__Group_4__3__Impl"
    // InternalRosetta.g:6878:1: rule__Annotation__Group_4__3__Impl : ( ']' ) ;
    public final void rule__Annotation__Group_4__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6882:1: ( ( ']' ) )
            // InternalRosetta.g:6883:1: ( ']' )
            {
            // InternalRosetta.g:6883:1: ( ']' )
            // InternalRosetta.g:6884:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getRightSquareBracketKeyword_4_3()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getRightSquareBracketKeyword_4_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__Group_4__3__Impl"
    // $ANTLR start "rule__AnnotationRef__Group__0"
    // InternalRosetta.g:6894:1: rule__AnnotationRef__Group__0 : rule__AnnotationRef__Group__0__Impl rule__AnnotationRef__Group__1 ;
    public final void rule__AnnotationRef__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6898:1: ( rule__AnnotationRef__Group__0__Impl rule__AnnotationRef__Group__1 )
            // InternalRosetta.g:6899:2: rule__AnnotationRef__Group__0__Impl rule__AnnotationRef__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__AnnotationRef__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__AnnotationRef__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group__0"
    // $ANTLR start "rule__AnnotationRef__Group__0__Impl"
    // InternalRosetta.g:6906:1: rule__AnnotationRef__Group__0__Impl : ( '[' ) ;
    public final void rule__AnnotationRef__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6910:1: ( ( '[' ) )
            // InternalRosetta.g:6911:1: ( '[' )
            {
            // InternalRosetta.g:6911:1: ( '[' )
            // InternalRosetta.g:6912:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getLeftSquareBracketKeyword_0()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getLeftSquareBracketKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group__0__Impl"
    // $ANTLR start "rule__AnnotationRef__Group__1"
    // InternalRosetta.g:6921:1: rule__AnnotationRef__Group__1 : rule__AnnotationRef__Group__1__Impl rule__AnnotationRef__Group__2 ;
    public final void rule__AnnotationRef__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6925:1: ( rule__AnnotationRef__Group__1__Impl rule__AnnotationRef__Group__2 )
            // InternalRosetta.g:6926:2: rule__AnnotationRef__Group__1__Impl rule__AnnotationRef__Group__2
            {
            pushFollow(FOLLOW_21);
            rule__AnnotationRef__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__AnnotationRef__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group__1"
    // $ANTLR start "rule__AnnotationRef__Group__1__Impl"
    // InternalRosetta.g:6933:1: rule__AnnotationRef__Group__1__Impl : ( ( rule__AnnotationRef__AnnotationAssignment_1 ) ) ;
    public final void rule__AnnotationRef__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6937:1: ( ( ( rule__AnnotationRef__AnnotationAssignment_1 ) ) )
            // InternalRosetta.g:6938:1: ( ( rule__AnnotationRef__AnnotationAssignment_1 ) )
            {
            // InternalRosetta.g:6938:1: ( ( rule__AnnotationRef__AnnotationAssignment_1 ) )
            // InternalRosetta.g:6939:2: ( rule__AnnotationRef__AnnotationAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getAnnotationAssignment_1()); }
            // InternalRosetta.g:6940:2: ( rule__AnnotationRef__AnnotationAssignment_1 )
            // InternalRosetta.g:6940:3: rule__AnnotationRef__AnnotationAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__AnnotationRef__AnnotationAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getAnnotationAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group__1__Impl"
    // $ANTLR start "rule__AnnotationRef__Group__2"
    // InternalRosetta.g:6948:1: rule__AnnotationRef__Group__2 : rule__AnnotationRef__Group__2__Impl rule__AnnotationRef__Group__3 ;
    public final void rule__AnnotationRef__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6952:1: ( rule__AnnotationRef__Group__2__Impl rule__AnnotationRef__Group__3 )
            // InternalRosetta.g:6953:2: rule__AnnotationRef__Group__2__Impl rule__AnnotationRef__Group__3
            {
            pushFollow(FOLLOW_21);
            rule__AnnotationRef__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__AnnotationRef__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group__2"
    // $ANTLR start "rule__AnnotationRef__Group__2__Impl"
    // InternalRosetta.g:6960:1: rule__AnnotationRef__Group__2__Impl : ( ( rule__AnnotationRef__Group_2__0 )? ) ;
    public final void rule__AnnotationRef__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6964:1: ( ( ( rule__AnnotationRef__Group_2__0 )? ) )
            // InternalRosetta.g:6965:1: ( ( rule__AnnotationRef__Group_2__0 )? )
            {
            // InternalRosetta.g:6965:1: ( ( rule__AnnotationRef__Group_2__0 )? )
            // InternalRosetta.g:6966:2: ( rule__AnnotationRef__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getGroup_2()); }
            // InternalRosetta.g:6967:2: ( rule__AnnotationRef__Group_2__0 )?
            int alt106=2;
            int LA106_0 = input.LA(1);
            if ( (LA106_0==RULE_ID||(LA106_0>=14 && LA106_0<=18)) ) {
                alt106=1;
            }
            switch (alt106) {
                case 1 :
                    // InternalRosetta.g:6967:3: rule__AnnotationRef__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__AnnotationRef__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group__2__Impl"
    // $ANTLR start "rule__AnnotationRef__Group__3"
    // InternalRosetta.g:6975:1: rule__AnnotationRef__Group__3 : rule__AnnotationRef__Group__3__Impl ;
    public final void rule__AnnotationRef__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6979:1: ( rule__AnnotationRef__Group__3__Impl )
            // InternalRosetta.g:6980:2: rule__AnnotationRef__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__AnnotationRef__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group__3"
    // $ANTLR start "rule__AnnotationRef__Group__3__Impl"
    // InternalRosetta.g:6986:1: rule__AnnotationRef__Group__3__Impl : ( ']' ) ;
    public final void rule__AnnotationRef__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:6990:1: ( ( ']' ) )
            // InternalRosetta.g:6991:1: ( ']' )
            {
            // InternalRosetta.g:6991:1: ( ']' )
            // InternalRosetta.g:6992:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getRightSquareBracketKeyword_3()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getRightSquareBracketKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group__3__Impl"
    // $ANTLR start "rule__AnnotationRef__Group_2__0"
    // InternalRosetta.g:7002:1: rule__AnnotationRef__Group_2__0 : rule__AnnotationRef__Group_2__0__Impl rule__AnnotationRef__Group_2__1 ;
    public final void rule__AnnotationRef__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7006:1: ( rule__AnnotationRef__Group_2__0__Impl rule__AnnotationRef__Group_2__1 )
            // InternalRosetta.g:7007:2: rule__AnnotationRef__Group_2__0__Impl rule__AnnotationRef__Group_2__1
            {
            pushFollow(FOLLOW_10);
            rule__AnnotationRef__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__AnnotationRef__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group_2__0"
    // $ANTLR start "rule__AnnotationRef__Group_2__0__Impl"
    // InternalRosetta.g:7014:1: rule__AnnotationRef__Group_2__0__Impl : ( ( rule__AnnotationRef__AttributeAssignment_2_0 ) ) ;
    public final void rule__AnnotationRef__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7018:1: ( ( ( rule__AnnotationRef__AttributeAssignment_2_0 ) ) )
            // InternalRosetta.g:7019:1: ( ( rule__AnnotationRef__AttributeAssignment_2_0 ) )
            {
            // InternalRosetta.g:7019:1: ( ( rule__AnnotationRef__AttributeAssignment_2_0 ) )
            // InternalRosetta.g:7020:2: ( rule__AnnotationRef__AttributeAssignment_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getAttributeAssignment_2_0()); }
            // InternalRosetta.g:7021:2: ( rule__AnnotationRef__AttributeAssignment_2_0 )
            // InternalRosetta.g:7021:3: rule__AnnotationRef__AttributeAssignment_2_0
            {
            pushFollow(FOLLOW_2);
            rule__AnnotationRef__AttributeAssignment_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getAttributeAssignment_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group_2__0__Impl"
    // $ANTLR start "rule__AnnotationRef__Group_2__1"
    // InternalRosetta.g:7029:1: rule__AnnotationRef__Group_2__1 : rule__AnnotationRef__Group_2__1__Impl ;
    public final void rule__AnnotationRef__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7033:1: ( rule__AnnotationRef__Group_2__1__Impl )
            // InternalRosetta.g:7034:2: rule__AnnotationRef__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__AnnotationRef__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group_2__1"
    // $ANTLR start "rule__AnnotationRef__Group_2__1__Impl"
    // InternalRosetta.g:7040:1: rule__AnnotationRef__Group_2__1__Impl : ( ( rule__AnnotationRef__QualifiersAssignment_2_1 )* ) ;
    public final void rule__AnnotationRef__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7044:1: ( ( ( rule__AnnotationRef__QualifiersAssignment_2_1 )* ) )
            // InternalRosetta.g:7045:1: ( ( rule__AnnotationRef__QualifiersAssignment_2_1 )* )
            {
            // InternalRosetta.g:7045:1: ( ( rule__AnnotationRef__QualifiersAssignment_2_1 )* )
            // InternalRosetta.g:7046:2: ( rule__AnnotationRef__QualifiersAssignment_2_1 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getQualifiersAssignment_2_1()); }
            // InternalRosetta.g:7047:2: ( rule__AnnotationRef__QualifiersAssignment_2_1 )*
            loop107:
            do {
                int alt107=2;
                int LA107_0 = input.LA(1);
                if ( (LA107_0==RULE_STRING) ) {
                    alt107=1;
                }
                switch (alt107) {
            	case 1 :
            	    // InternalRosetta.g:7047:3: rule__AnnotationRef__QualifiersAssignment_2_1
            	    {
            	    pushFollow(FOLLOW_22);
            	    rule__AnnotationRef__QualifiersAssignment_2_1();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop107;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getQualifiersAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__Group_2__1__Impl"
    // $ANTLR start "rule__AnnotationQualifier__Group__0"
    // InternalRosetta.g:7056:1: rule__AnnotationQualifier__Group__0 : rule__AnnotationQualifier__Group__0__Impl rule__AnnotationQualifier__Group__1 ;
    public final void rule__AnnotationQualifier__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7060:1: ( rule__AnnotationQualifier__Group__0__Impl rule__AnnotationQualifier__Group__1 )
            // InternalRosetta.g:7061:2: rule__AnnotationQualifier__Group__0__Impl rule__AnnotationQualifier__Group__1
            {
            pushFollow(FOLLOW_23);
            rule__AnnotationQualifier__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__AnnotationQualifier__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationQualifier__Group__0"
    // $ANTLR start "rule__AnnotationQualifier__Group__0__Impl"
    // InternalRosetta.g:7068:1: rule__AnnotationQualifier__Group__0__Impl : ( ( rule__AnnotationQualifier__QualNameAssignment_0 ) ) ;
    public final void rule__AnnotationQualifier__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7072:1: ( ( ( rule__AnnotationQualifier__QualNameAssignment_0 ) ) )
            // InternalRosetta.g:7073:1: ( ( rule__AnnotationQualifier__QualNameAssignment_0 ) )
            {
            // InternalRosetta.g:7073:1: ( ( rule__AnnotationQualifier__QualNameAssignment_0 ) )
            // InternalRosetta.g:7074:2: ( rule__AnnotationQualifier__QualNameAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationQualifierAccess().getQualNameAssignment_0()); }
            // InternalRosetta.g:7075:2: ( rule__AnnotationQualifier__QualNameAssignment_0 )
            // InternalRosetta.g:7075:3: rule__AnnotationQualifier__QualNameAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__AnnotationQualifier__QualNameAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationQualifierAccess().getQualNameAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationQualifier__Group__0__Impl"
    // $ANTLR start "rule__AnnotationQualifier__Group__1"
    // InternalRosetta.g:7083:1: rule__AnnotationQualifier__Group__1 : rule__AnnotationQualifier__Group__1__Impl rule__AnnotationQualifier__Group__2 ;
    public final void rule__AnnotationQualifier__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7087:1: ( rule__AnnotationQualifier__Group__1__Impl rule__AnnotationQualifier__Group__2 )
            // InternalRosetta.g:7088:2: rule__AnnotationQualifier__Group__1__Impl rule__AnnotationQualifier__Group__2
            {
            pushFollow(FOLLOW_4);
            rule__AnnotationQualifier__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__AnnotationQualifier__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationQualifier__Group__1"
    // $ANTLR start "rule__AnnotationQualifier__Group__1__Impl"
    // InternalRosetta.g:7095:1: rule__AnnotationQualifier__Group__1__Impl : ( '=' ) ;
    public final void rule__AnnotationQualifier__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7099:1: ( ( '=' ) )
            // InternalRosetta.g:7100:1: ( '=' )
            {
            // InternalRosetta.g:7100:1: ( '=' )
            // InternalRosetta.g:7101:2: '='
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationQualifierAccess().getEqualsSignKeyword_1()); }
            match(input,19,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationQualifierAccess().getEqualsSignKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationQualifier__Group__1__Impl"
    // $ANTLR start "rule__AnnotationQualifier__Group__2"
    // InternalRosetta.g:7110:1: rule__AnnotationQualifier__Group__2 : rule__AnnotationQualifier__Group__2__Impl ;
    public final void rule__AnnotationQualifier__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7114:1: ( rule__AnnotationQualifier__Group__2__Impl )
            // InternalRosetta.g:7115:2: rule__AnnotationQualifier__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__AnnotationQualifier__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationQualifier__Group__2"
    // $ANTLR start "rule__AnnotationQualifier__Group__2__Impl"
    // InternalRosetta.g:7121:1: rule__AnnotationQualifier__Group__2__Impl : ( ( rule__AnnotationQualifier__Alternatives_2 ) ) ;
    public final void rule__AnnotationQualifier__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7125:1: ( ( ( rule__AnnotationQualifier__Alternatives_2 ) ) )
            // InternalRosetta.g:7126:1: ( ( rule__AnnotationQualifier__Alternatives_2 ) )
            {
            // InternalRosetta.g:7126:1: ( ( rule__AnnotationQualifier__Alternatives_2 ) )
            // InternalRosetta.g:7127:2: ( rule__AnnotationQualifier__Alternatives_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationQualifierAccess().getAlternatives_2()); }
            // InternalRosetta.g:7128:2: ( rule__AnnotationQualifier__Alternatives_2 )
            // InternalRosetta.g:7128:3: rule__AnnotationQualifier__Alternatives_2
            {
            pushFollow(FOLLOW_2);
            rule__AnnotationQualifier__Alternatives_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationQualifierAccess().getAlternatives_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationQualifier__Group__2__Impl"
    // $ANTLR start "rule__Data__Group__0"
    // InternalRosetta.g:7137:1: rule__Data__Group__0 : rule__Data__Group__0__Impl rule__Data__Group__1 ;
    public final void rule__Data__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7141:1: ( rule__Data__Group__0__Impl rule__Data__Group__1 )
            // InternalRosetta.g:7142:2: rule__Data__Group__0__Impl rule__Data__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__Data__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Data__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__0"
    // $ANTLR start "rule__Data__Group__0__Impl"
    // InternalRosetta.g:7149:1: rule__Data__Group__0__Impl : ( 'type' ) ;
    public final void rule__Data__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7153:1: ( ( 'type' ) )
            // InternalRosetta.g:7154:1: ( 'type' )
            {
            // InternalRosetta.g:7154:1: ( 'type' )
            // InternalRosetta.g:7155:2: 'type'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getTypeKeyword_0()); }
            match(input,68,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getTypeKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__0__Impl"
    // $ANTLR start "rule__Data__Group__1"
    // InternalRosetta.g:7164:1: rule__Data__Group__1 : rule__Data__Group__1__Impl rule__Data__Group__2 ;
    public final void rule__Data__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7168:1: ( rule__Data__Group__1__Impl rule__Data__Group__2 )
            // InternalRosetta.g:7169:2: rule__Data__Group__1__Impl rule__Data__Group__2
            {
            pushFollow(FOLLOW_24);
            rule__Data__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Data__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__1"
    // $ANTLR start "rule__Data__Group__1__Impl"
    // InternalRosetta.g:7176:1: rule__Data__Group__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__Data__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7180:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:7181:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:7181:1: ( ruleRosettaNamed )
            // InternalRosetta.g:7182:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getRosettaNamedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__1__Impl"
    // $ANTLR start "rule__Data__Group__2"
    // InternalRosetta.g:7191:1: rule__Data__Group__2 : rule__Data__Group__2__Impl rule__Data__Group__3 ;
    public final void rule__Data__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7195:1: ( rule__Data__Group__2__Impl rule__Data__Group__3 )
            // InternalRosetta.g:7196:2: rule__Data__Group__2__Impl rule__Data__Group__3
            {
            pushFollow(FOLLOW_24);
            rule__Data__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Data__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__2"
    // $ANTLR start "rule__Data__Group__2__Impl"
    // InternalRosetta.g:7203:1: rule__Data__Group__2__Impl : ( ( rule__Data__Group_2__0 )? ) ;
    public final void rule__Data__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7207:1: ( ( ( rule__Data__Group_2__0 )? ) )
            // InternalRosetta.g:7208:1: ( ( rule__Data__Group_2__0 )? )
            {
            // InternalRosetta.g:7208:1: ( ( rule__Data__Group_2__0 )? )
            // InternalRosetta.g:7209:2: ( rule__Data__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getGroup_2()); }
            // InternalRosetta.g:7210:2: ( rule__Data__Group_2__0 )?
            int alt108=2;
            int LA108_0 = input.LA(1);
            if ( (LA108_0==69) ) {
                alt108=1;
            }
            switch (alt108) {
                case 1 :
                    // InternalRosetta.g:7210:3: rule__Data__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__Data__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__2__Impl"
    // $ANTLR start "rule__Data__Group__3"
    // InternalRosetta.g:7218:1: rule__Data__Group__3 : rule__Data__Group__3__Impl rule__Data__Group__4 ;
    public final void rule__Data__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7222:1: ( rule__Data__Group__3__Impl rule__Data__Group__4 )
            // InternalRosetta.g:7223:2: rule__Data__Group__3__Impl rule__Data__Group__4
            {
            pushFollow(FOLLOW_17);
            rule__Data__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Data__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__3"
    // $ANTLR start "rule__Data__Group__3__Impl"
    // InternalRosetta.g:7230:1: rule__Data__Group__3__Impl : ( ':' ) ;
    public final void rule__Data__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7234:1: ( ( ':' ) )
            // InternalRosetta.g:7235:1: ( ':' )
            {
            // InternalRosetta.g:7235:1: ( ':' )
            // InternalRosetta.g:7236:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getColonKeyword_3()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getColonKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__3__Impl"
    // $ANTLR start "rule__Data__Group__4"
    // InternalRosetta.g:7245:1: rule__Data__Group__4 : rule__Data__Group__4__Impl rule__Data__Group__5 ;
    public final void rule__Data__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7249:1: ( rule__Data__Group__4__Impl rule__Data__Group__5 )
            // InternalRosetta.g:7250:2: rule__Data__Group__4__Impl rule__Data__Group__5
            {
            pushFollow(FOLLOW_17);
            rule__Data__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Data__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__4"
    // $ANTLR start "rule__Data__Group__4__Impl"
    // InternalRosetta.g:7257:1: rule__Data__Group__4__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__Data__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7261:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:7262:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:7262:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:7263:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getRosettaDefinableParserRuleCall_4()); }
            // InternalRosetta.g:7264:2: ( ruleRosettaDefinable )?
            int alt109=2;
            int LA109_0 = input.LA(1);
            if ( (LA109_0==35) ) {
                alt109=1;
            }
            switch (alt109) {
                case 1 :
                    // InternalRosetta.g:7264:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getRosettaDefinableParserRuleCall_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__4__Impl"
    // $ANTLR start "rule__Data__Group__5"
    // InternalRosetta.g:7272:1: rule__Data__Group__5 : rule__Data__Group__5__Impl rule__Data__Group__6 ;
    public final void rule__Data__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7276:1: ( rule__Data__Group__5__Impl rule__Data__Group__6 )
            // InternalRosetta.g:7277:2: rule__Data__Group__5__Impl rule__Data__Group__6
            {
            pushFollow(FOLLOW_17);
            rule__Data__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Data__Group__6(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__5"
    // $ANTLR start "rule__Data__Group__5__Impl"
    // InternalRosetta.g:7284:1: rule__Data__Group__5__Impl : ( ( rule__Data__Alternatives_5 )* ) ;
    public final void rule__Data__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7288:1: ( ( ( rule__Data__Alternatives_5 )* ) )
            // InternalRosetta.g:7289:1: ( ( rule__Data__Alternatives_5 )* )
            {
            // InternalRosetta.g:7289:1: ( ( rule__Data__Alternatives_5 )* )
            // InternalRosetta.g:7290:2: ( rule__Data__Alternatives_5 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getAlternatives_5()); }
            // InternalRosetta.g:7291:2: ( rule__Data__Alternatives_5 )*
            loop110:
            do {
                int alt110=2;
                int LA110_0 = input.LA(1);
                if ( (LA110_0==65) ) {
                    alt110=1;
                }
                switch (alt110) {
            	case 1 :
            	    // InternalRosetta.g:7291:3: rule__Data__Alternatives_5
            	    {
            	    pushFollow(FOLLOW_25);
            	    rule__Data__Alternatives_5();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop110;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getAlternatives_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__5__Impl"
    // $ANTLR start "rule__Data__Group__6"
    // InternalRosetta.g:7299:1: rule__Data__Group__6 : rule__Data__Group__6__Impl rule__Data__Group__7 ;
    public final void rule__Data__Group__6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7303:1: ( rule__Data__Group__6__Impl rule__Data__Group__7 )
            // InternalRosetta.g:7304:2: rule__Data__Group__6__Impl rule__Data__Group__7
            {
            pushFollow(FOLLOW_17);
            rule__Data__Group__6__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Data__Group__7(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__6"
    // $ANTLR start "rule__Data__Group__6__Impl"
    // InternalRosetta.g:7311:1: rule__Data__Group__6__Impl : ( ( rule__Data__AttributesAssignment_6 )* ) ;
    public final void rule__Data__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7315:1: ( ( ( rule__Data__AttributesAssignment_6 )* ) )
            // InternalRosetta.g:7316:1: ( ( rule__Data__AttributesAssignment_6 )* )
            {
            // InternalRosetta.g:7316:1: ( ( rule__Data__AttributesAssignment_6 )* )
            // InternalRosetta.g:7317:2: ( rule__Data__AttributesAssignment_6 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getAttributesAssignment_6()); }
            // InternalRosetta.g:7318:2: ( rule__Data__AttributesAssignment_6 )*
            loop111:
            do {
                int alt111=2;
                alt111 = dfa111.predict(input);
                switch (alt111) {
            	case 1 :
            	    // InternalRosetta.g:7318:3: rule__Data__AttributesAssignment_6
            	    {
            	    pushFollow(FOLLOW_18);
            	    rule__Data__AttributesAssignment_6();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop111;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getAttributesAssignment_6()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__6__Impl"
    // $ANTLR start "rule__Data__Group__7"
    // InternalRosetta.g:7326:1: rule__Data__Group__7 : rule__Data__Group__7__Impl ;
    public final void rule__Data__Group__7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7330:1: ( rule__Data__Group__7__Impl )
            // InternalRosetta.g:7331:2: rule__Data__Group__7__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Data__Group__7__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__7"
    // $ANTLR start "rule__Data__Group__7__Impl"
    // InternalRosetta.g:7337:1: rule__Data__Group__7__Impl : ( ( rule__Data__ConditionsAssignment_7 )* ) ;
    public final void rule__Data__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7341:1: ( ( ( rule__Data__ConditionsAssignment_7 )* ) )
            // InternalRosetta.g:7342:1: ( ( rule__Data__ConditionsAssignment_7 )* )
            {
            // InternalRosetta.g:7342:1: ( ( rule__Data__ConditionsAssignment_7 )* )
            // InternalRosetta.g:7343:2: ( rule__Data__ConditionsAssignment_7 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getConditionsAssignment_7()); }
            // InternalRosetta.g:7344:2: ( rule__Data__ConditionsAssignment_7 )*
            loop112:
            do {
                int alt112=2;
                int LA112_0 = input.LA(1);
                if ( (LA112_0==14) ) {
                    alt112=1;
                }
                switch (alt112) {
            	case 1 :
            	    // InternalRosetta.g:7344:3: rule__Data__ConditionsAssignment_7
            	    {
            	    pushFollow(FOLLOW_26);
            	    rule__Data__ConditionsAssignment_7();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop112;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getConditionsAssignment_7()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group__7__Impl"
    // $ANTLR start "rule__Data__Group_2__0"
    // InternalRosetta.g:7353:1: rule__Data__Group_2__0 : rule__Data__Group_2__0__Impl rule__Data__Group_2__1 ;
    public final void rule__Data__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7357:1: ( rule__Data__Group_2__0__Impl rule__Data__Group_2__1 )
            // InternalRosetta.g:7358:2: rule__Data__Group_2__0__Impl rule__Data__Group_2__1
            {
            pushFollow(FOLLOW_13);
            rule__Data__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Data__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group_2__0"
    // $ANTLR start "rule__Data__Group_2__0__Impl"
    // InternalRosetta.g:7365:1: rule__Data__Group_2__0__Impl : ( 'extends' ) ;
    public final void rule__Data__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7369:1: ( ( 'extends' ) )
            // InternalRosetta.g:7370:1: ( 'extends' )
            {
            // InternalRosetta.g:7370:1: ( 'extends' )
            // InternalRosetta.g:7371:2: 'extends'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getExtendsKeyword_2_0()); }
            match(input,69,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getExtendsKeyword_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group_2__0__Impl"
    // $ANTLR start "rule__Data__Group_2__1"
    // InternalRosetta.g:7380:1: rule__Data__Group_2__1 : rule__Data__Group_2__1__Impl ;
    public final void rule__Data__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7384:1: ( rule__Data__Group_2__1__Impl )
            // InternalRosetta.g:7385:2: rule__Data__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Data__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group_2__1"
    // $ANTLR start "rule__Data__Group_2__1__Impl"
    // InternalRosetta.g:7391:1: rule__Data__Group_2__1__Impl : ( ( rule__Data__SuperTypeAssignment_2_1 ) ) ;
    public final void rule__Data__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7395:1: ( ( ( rule__Data__SuperTypeAssignment_2_1 ) ) )
            // InternalRosetta.g:7396:1: ( ( rule__Data__SuperTypeAssignment_2_1 ) )
            {
            // InternalRosetta.g:7396:1: ( ( rule__Data__SuperTypeAssignment_2_1 ) )
            // InternalRosetta.g:7397:2: ( rule__Data__SuperTypeAssignment_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getSuperTypeAssignment_2_1()); }
            // InternalRosetta.g:7398:2: ( rule__Data__SuperTypeAssignment_2_1 )
            // InternalRosetta.g:7398:3: rule__Data__SuperTypeAssignment_2_1
            {
            pushFollow(FOLLOW_2);
            rule__Data__SuperTypeAssignment_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getSuperTypeAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__Group_2__1__Impl"
    // $ANTLR start "rule__Choice__Group__0"
    // InternalRosetta.g:7407:1: rule__Choice__Group__0 : rule__Choice__Group__0__Impl rule__Choice__Group__1 ;
    public final void rule__Choice__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7411:1: ( rule__Choice__Group__0__Impl rule__Choice__Group__1 )
            // InternalRosetta.g:7412:2: rule__Choice__Group__0__Impl rule__Choice__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__Choice__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Choice__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__0"
    // $ANTLR start "rule__Choice__Group__0__Impl"
    // InternalRosetta.g:7419:1: rule__Choice__Group__0__Impl : ( 'choice' ) ;
    public final void rule__Choice__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7423:1: ( ( 'choice' ) )
            // InternalRosetta.g:7424:1: ( 'choice' )
            {
            // InternalRosetta.g:7424:1: ( 'choice' )
            // InternalRosetta.g:7425:2: 'choice'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceAccess().getChoiceKeyword_0()); }
            match(input,70,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceAccess().getChoiceKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__0__Impl"
    // $ANTLR start "rule__Choice__Group__1"
    // InternalRosetta.g:7434:1: rule__Choice__Group__1 : rule__Choice__Group__1__Impl rule__Choice__Group__2 ;
    public final void rule__Choice__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7438:1: ( rule__Choice__Group__1__Impl rule__Choice__Group__2 )
            // InternalRosetta.g:7439:2: rule__Choice__Group__1__Impl rule__Choice__Group__2
            {
            pushFollow(FOLLOW_16);
            rule__Choice__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Choice__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__1"
    // $ANTLR start "rule__Choice__Group__1__Impl"
    // InternalRosetta.g:7446:1: rule__Choice__Group__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__Choice__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7450:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:7451:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:7451:1: ( ruleRosettaNamed )
            // InternalRosetta.g:7452:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceAccess().getRosettaNamedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__1__Impl"
    // $ANTLR start "rule__Choice__Group__2"
    // InternalRosetta.g:7461:1: rule__Choice__Group__2 : rule__Choice__Group__2__Impl rule__Choice__Group__3 ;
    public final void rule__Choice__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7465:1: ( rule__Choice__Group__2__Impl rule__Choice__Group__3 )
            // InternalRosetta.g:7466:2: rule__Choice__Group__2__Impl rule__Choice__Group__3
            {
            pushFollow(FOLLOW_17);
            rule__Choice__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Choice__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__2"
    // $ANTLR start "rule__Choice__Group__2__Impl"
    // InternalRosetta.g:7473:1: rule__Choice__Group__2__Impl : ( ':' ) ;
    public final void rule__Choice__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7477:1: ( ( ':' ) )
            // InternalRosetta.g:7478:1: ( ':' )
            {
            // InternalRosetta.g:7478:1: ( ':' )
            // InternalRosetta.g:7479:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceAccess().getColonKeyword_2()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceAccess().getColonKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__2__Impl"
    // $ANTLR start "rule__Choice__Group__3"
    // InternalRosetta.g:7488:1: rule__Choice__Group__3 : rule__Choice__Group__3__Impl rule__Choice__Group__4 ;
    public final void rule__Choice__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7492:1: ( rule__Choice__Group__3__Impl rule__Choice__Group__4 )
            // InternalRosetta.g:7493:2: rule__Choice__Group__3__Impl rule__Choice__Group__4
            {
            pushFollow(FOLLOW_17);
            rule__Choice__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Choice__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__3"
    // $ANTLR start "rule__Choice__Group__3__Impl"
    // InternalRosetta.g:7500:1: rule__Choice__Group__3__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__Choice__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7504:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:7505:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:7505:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:7506:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceAccess().getRosettaDefinableParserRuleCall_3()); }
            // InternalRosetta.g:7507:2: ( ruleRosettaDefinable )?
            int alt113=2;
            int LA113_0 = input.LA(1);
            if ( (LA113_0==35) ) {
                alt113=1;
            }
            switch (alt113) {
                case 1 :
                    // InternalRosetta.g:7507:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceAccess().getRosettaDefinableParserRuleCall_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__3__Impl"
    // $ANTLR start "rule__Choice__Group__4"
    // InternalRosetta.g:7515:1: rule__Choice__Group__4 : rule__Choice__Group__4__Impl rule__Choice__Group__5 ;
    public final void rule__Choice__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7519:1: ( rule__Choice__Group__4__Impl rule__Choice__Group__5 )
            // InternalRosetta.g:7520:2: rule__Choice__Group__4__Impl rule__Choice__Group__5
            {
            pushFollow(FOLLOW_17);
            rule__Choice__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Choice__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__4"
    // $ANTLR start "rule__Choice__Group__4__Impl"
    // InternalRosetta.g:7527:1: rule__Choice__Group__4__Impl : ( ( rule__Choice__Alternatives_4 )* ) ;
    public final void rule__Choice__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7531:1: ( ( ( rule__Choice__Alternatives_4 )* ) )
            // InternalRosetta.g:7532:1: ( ( rule__Choice__Alternatives_4 )* )
            {
            // InternalRosetta.g:7532:1: ( ( rule__Choice__Alternatives_4 )* )
            // InternalRosetta.g:7533:2: ( rule__Choice__Alternatives_4 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceAccess().getAlternatives_4()); }
            // InternalRosetta.g:7534:2: ( rule__Choice__Alternatives_4 )*
            loop114:
            do {
                int alt114=2;
                int LA114_0 = input.LA(1);
                if ( (LA114_0==65) ) {
                    alt114=1;
                }
                switch (alt114) {
            	case 1 :
            	    // InternalRosetta.g:7534:3: rule__Choice__Alternatives_4
            	    {
            	    pushFollow(FOLLOW_25);
            	    rule__Choice__Alternatives_4();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop114;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceAccess().getAlternatives_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__4__Impl"
    // $ANTLR start "rule__Choice__Group__5"
    // InternalRosetta.g:7542:1: rule__Choice__Group__5 : rule__Choice__Group__5__Impl ;
    public final void rule__Choice__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7546:1: ( rule__Choice__Group__5__Impl )
            // InternalRosetta.g:7547:2: rule__Choice__Group__5__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Choice__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__5"
    // $ANTLR start "rule__Choice__Group__5__Impl"
    // InternalRosetta.g:7553:1: rule__Choice__Group__5__Impl : ( ( rule__Choice__AttributesAssignment_5 )* ) ;
    public final void rule__Choice__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7557:1: ( ( ( rule__Choice__AttributesAssignment_5 )* ) )
            // InternalRosetta.g:7558:1: ( ( rule__Choice__AttributesAssignment_5 )* )
            {
            // InternalRosetta.g:7558:1: ( ( rule__Choice__AttributesAssignment_5 )* )
            // InternalRosetta.g:7559:2: ( rule__Choice__AttributesAssignment_5 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceAccess().getAttributesAssignment_5()); }
            // InternalRosetta.g:7560:2: ( rule__Choice__AttributesAssignment_5 )*
            loop115:
            do {
                int alt115=2;
                int LA115_0 = input.LA(1);
                if ( (LA115_0==RULE_ID||(LA115_0>=14 && LA115_0<=18)) ) {
                    alt115=1;
                }
                switch (alt115) {
            	case 1 :
            	    // InternalRosetta.g:7560:3: rule__Choice__AttributesAssignment_5
            	    {
            	    pushFollow(FOLLOW_18);
            	    rule__Choice__AttributesAssignment_5();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop115;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceAccess().getAttributesAssignment_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__Group__5__Impl"
    // $ANTLR start "rule__ChoiceOption__Group__0"
    // InternalRosetta.g:7569:1: rule__ChoiceOption__Group__0 : rule__ChoiceOption__Group__0__Impl rule__ChoiceOption__Group__1 ;
    public final void rule__ChoiceOption__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7573:1: ( rule__ChoiceOption__Group__0__Impl rule__ChoiceOption__Group__1 )
            // InternalRosetta.g:7574:2: rule__ChoiceOption__Group__0__Impl rule__ChoiceOption__Group__1
            {
            pushFollow(FOLLOW_27);
            rule__ChoiceOption__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ChoiceOption__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ChoiceOption__Group__0"
    // $ANTLR start "rule__ChoiceOption__Group__0__Impl"
    // InternalRosetta.g:7581:1: rule__ChoiceOption__Group__0__Impl : ( ruleRosettaTyped ) ;
    public final void rule__ChoiceOption__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7585:1: ( ( ruleRosettaTyped ) )
            // InternalRosetta.g:7586:1: ( ruleRosettaTyped )
            {
            // InternalRosetta.g:7586:1: ( ruleRosettaTyped )
            // InternalRosetta.g:7587:2: ruleRosettaTyped
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceOptionAccess().getRosettaTypedParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaTyped(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceOptionAccess().getRosettaTypedParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ChoiceOption__Group__0__Impl"
    // $ANTLR start "rule__ChoiceOption__Group__1"
    // InternalRosetta.g:7596:1: rule__ChoiceOption__Group__1 : rule__ChoiceOption__Group__1__Impl rule__ChoiceOption__Group__2 ;
    public final void rule__ChoiceOption__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7600:1: ( rule__ChoiceOption__Group__1__Impl rule__ChoiceOption__Group__2 )
            // InternalRosetta.g:7601:2: rule__ChoiceOption__Group__1__Impl rule__ChoiceOption__Group__2
            {
            pushFollow(FOLLOW_27);
            rule__ChoiceOption__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ChoiceOption__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ChoiceOption__Group__1"
    // $ANTLR start "rule__ChoiceOption__Group__1__Impl"
    // InternalRosetta.g:7608:1: rule__ChoiceOption__Group__1__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__ChoiceOption__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7612:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:7613:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:7613:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:7614:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceOptionAccess().getRosettaDefinableParserRuleCall_1()); }
            // InternalRosetta.g:7615:2: ( ruleRosettaDefinable )?
            int alt116=2;
            int LA116_0 = input.LA(1);
            if ( (LA116_0==35) ) {
                alt116=1;
            }
            switch (alt116) {
                case 1 :
                    // InternalRosetta.g:7615:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceOptionAccess().getRosettaDefinableParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ChoiceOption__Group__1__Impl"
    // $ANTLR start "rule__ChoiceOption__Group__2"
    // InternalRosetta.g:7623:1: rule__ChoiceOption__Group__2 : rule__ChoiceOption__Group__2__Impl rule__ChoiceOption__Group__3 ;
    public final void rule__ChoiceOption__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7627:1: ( rule__ChoiceOption__Group__2__Impl rule__ChoiceOption__Group__3 )
            // InternalRosetta.g:7628:2: rule__ChoiceOption__Group__2__Impl rule__ChoiceOption__Group__3
            {
            pushFollow(FOLLOW_27);
            rule__ChoiceOption__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ChoiceOption__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ChoiceOption__Group__2"
    // $ANTLR start "rule__ChoiceOption__Group__2__Impl"
    // InternalRosetta.g:7635:1: rule__ChoiceOption__Group__2__Impl : ( ( rule__ChoiceOption__Alternatives_2 )* ) ;
    public final void rule__ChoiceOption__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7639:1: ( ( ( rule__ChoiceOption__Alternatives_2 )* ) )
            // InternalRosetta.g:7640:1: ( ( rule__ChoiceOption__Alternatives_2 )* )
            {
            // InternalRosetta.g:7640:1: ( ( rule__ChoiceOption__Alternatives_2 )* )
            // InternalRosetta.g:7641:2: ( rule__ChoiceOption__Alternatives_2 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceOptionAccess().getAlternatives_2()); }
            // InternalRosetta.g:7642:2: ( rule__ChoiceOption__Alternatives_2 )*
            loop117:
            do {
                int alt117=2;
                int LA117_0 = input.LA(1);
                if ( (LA117_0==65) ) {
                    int LA117_1 = input.LA(2);
                    if ( (LA117_1==RULE_ID||(LA117_1>=14 && LA117_1<=18)||(LA117_1>=21 && LA117_1<=22)||LA117_1==81) ) {
                        alt117=1;
                    }
                }
                switch (alt117) {
            	case 1 :
            	    // InternalRosetta.g:7642:3: rule__ChoiceOption__Alternatives_2
            	    {
            	    pushFollow(FOLLOW_25);
            	    rule__ChoiceOption__Alternatives_2();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop117;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceOptionAccess().getAlternatives_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ChoiceOption__Group__2__Impl"
    // $ANTLR start "rule__ChoiceOption__Group__3"
    // InternalRosetta.g:7650:1: rule__ChoiceOption__Group__3 : rule__ChoiceOption__Group__3__Impl ;
    public final void rule__ChoiceOption__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7654:1: ( rule__ChoiceOption__Group__3__Impl )
            // InternalRosetta.g:7655:2: rule__ChoiceOption__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ChoiceOption__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ChoiceOption__Group__3"
    // $ANTLR start "rule__ChoiceOption__Group__3__Impl"
    // InternalRosetta.g:7661:1: rule__ChoiceOption__Group__3__Impl : ( ( ruleRuleReference )? ) ;
    public final void rule__ChoiceOption__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7665:1: ( ( ( ruleRuleReference )? ) )
            // InternalRosetta.g:7666:1: ( ( ruleRuleReference )? )
            {
            // InternalRosetta.g:7666:1: ( ( ruleRuleReference )? )
            // InternalRosetta.g:7667:2: ( ruleRuleReference )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceOptionAccess().getRuleReferenceParserRuleCall_3()); }
            // InternalRosetta.g:7668:2: ( ruleRuleReference )?
            int alt118=2;
            int LA118_0 = input.LA(1);
            if ( (LA118_0==65) ) {
                alt118=1;
            }
            switch (alt118) {
                case 1 :
                    // InternalRosetta.g:7668:3: ruleRuleReference
                    {
                    pushFollow(FOLLOW_2);
                    ruleRuleReference();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceOptionAccess().getRuleReferenceParserRuleCall_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ChoiceOption__Group__3__Impl"
    // $ANTLR start "rule__Attribute__Group__0"
    // InternalRosetta.g:7677:1: rule__Attribute__Group__0 : rule__Attribute__Group__0__Impl rule__Attribute__Group__1 ;
    public final void rule__Attribute__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7681:1: ( rule__Attribute__Group__0__Impl rule__Attribute__Group__1 )
            // InternalRosetta.g:7682:2: rule__Attribute__Group__0__Impl rule__Attribute__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__Attribute__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Attribute__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__0"
    // $ANTLR start "rule__Attribute__Group__0__Impl"
    // InternalRosetta.g:7689:1: rule__Attribute__Group__0__Impl : ( ruleRosettaNamed ) ;
    public final void rule__Attribute__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7693:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:7694:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:7694:1: ( ruleRosettaNamed )
            // InternalRosetta.g:7695:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAttributeAccess().getRosettaNamedParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAttributeAccess().getRosettaNamedParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__0__Impl"
    // $ANTLR start "rule__Attribute__Group__1"
    // InternalRosetta.g:7704:1: rule__Attribute__Group__1 : rule__Attribute__Group__1__Impl rule__Attribute__Group__2 ;
    public final void rule__Attribute__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7708:1: ( rule__Attribute__Group__1__Impl rule__Attribute__Group__2 )
            // InternalRosetta.g:7709:2: rule__Attribute__Group__1__Impl rule__Attribute__Group__2
            {
            pushFollow(FOLLOW_28);
            rule__Attribute__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Attribute__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__1"
    // $ANTLR start "rule__Attribute__Group__1__Impl"
    // InternalRosetta.g:7716:1: rule__Attribute__Group__1__Impl : ( ruleRosettaTyped ) ;
    public final void rule__Attribute__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7720:1: ( ( ruleRosettaTyped ) )
            // InternalRosetta.g:7721:1: ( ruleRosettaTyped )
            {
            // InternalRosetta.g:7721:1: ( ruleRosettaTyped )
            // InternalRosetta.g:7722:2: ruleRosettaTyped
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAttributeAccess().getRosettaTypedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaTyped(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAttributeAccess().getRosettaTypedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__1__Impl"
    // $ANTLR start "rule__Attribute__Group__2"
    // InternalRosetta.g:7731:1: rule__Attribute__Group__2 : rule__Attribute__Group__2__Impl rule__Attribute__Group__3 ;
    public final void rule__Attribute__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7735:1: ( rule__Attribute__Group__2__Impl rule__Attribute__Group__3 )
            // InternalRosetta.g:7736:2: rule__Attribute__Group__2__Impl rule__Attribute__Group__3
            {
            pushFollow(FOLLOW_27);
            rule__Attribute__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Attribute__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__2"
    // $ANTLR start "rule__Attribute__Group__2__Impl"
    // InternalRosetta.g:7743:1: rule__Attribute__Group__2__Impl : ( ( rule__Attribute__CardAssignment_2 ) ) ;
    public final void rule__Attribute__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7747:1: ( ( ( rule__Attribute__CardAssignment_2 ) ) )
            // InternalRosetta.g:7748:1: ( ( rule__Attribute__CardAssignment_2 ) )
            {
            // InternalRosetta.g:7748:1: ( ( rule__Attribute__CardAssignment_2 ) )
            // InternalRosetta.g:7749:2: ( rule__Attribute__CardAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAttributeAccess().getCardAssignment_2()); }
            // InternalRosetta.g:7750:2: ( rule__Attribute__CardAssignment_2 )
            // InternalRosetta.g:7750:3: rule__Attribute__CardAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__Attribute__CardAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAttributeAccess().getCardAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__2__Impl"
    // $ANTLR start "rule__Attribute__Group__3"
    // InternalRosetta.g:7758:1: rule__Attribute__Group__3 : rule__Attribute__Group__3__Impl rule__Attribute__Group__4 ;
    public final void rule__Attribute__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7762:1: ( rule__Attribute__Group__3__Impl rule__Attribute__Group__4 )
            // InternalRosetta.g:7763:2: rule__Attribute__Group__3__Impl rule__Attribute__Group__4
            {
            pushFollow(FOLLOW_27);
            rule__Attribute__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Attribute__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__3"
    // $ANTLR start "rule__Attribute__Group__3__Impl"
    // InternalRosetta.g:7770:1: rule__Attribute__Group__3__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__Attribute__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7774:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:7775:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:7775:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:7776:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAttributeAccess().getRosettaDefinableParserRuleCall_3()); }
            // InternalRosetta.g:7777:2: ( ruleRosettaDefinable )?
            int alt119=2;
            int LA119_0 = input.LA(1);
            if ( (LA119_0==35) ) {
                alt119=1;
            }
            switch (alt119) {
                case 1 :
                    // InternalRosetta.g:7777:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAttributeAccess().getRosettaDefinableParserRuleCall_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__3__Impl"
    // $ANTLR start "rule__Attribute__Group__4"
    // InternalRosetta.g:7785:1: rule__Attribute__Group__4 : rule__Attribute__Group__4__Impl rule__Attribute__Group__5 ;
    public final void rule__Attribute__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7789:1: ( rule__Attribute__Group__4__Impl rule__Attribute__Group__5 )
            // InternalRosetta.g:7790:2: rule__Attribute__Group__4__Impl rule__Attribute__Group__5
            {
            pushFollow(FOLLOW_27);
            rule__Attribute__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Attribute__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__4"
    // $ANTLR start "rule__Attribute__Group__4__Impl"
    // InternalRosetta.g:7797:1: rule__Attribute__Group__4__Impl : ( ( rule__Attribute__Alternatives_4 )* ) ;
    public final void rule__Attribute__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7801:1: ( ( ( rule__Attribute__Alternatives_4 )* ) )
            // InternalRosetta.g:7802:1: ( ( rule__Attribute__Alternatives_4 )* )
            {
            // InternalRosetta.g:7802:1: ( ( rule__Attribute__Alternatives_4 )* )
            // InternalRosetta.g:7803:2: ( rule__Attribute__Alternatives_4 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAttributeAccess().getAlternatives_4()); }
            // InternalRosetta.g:7804:2: ( rule__Attribute__Alternatives_4 )*
            loop120:
            do {
                int alt120=2;
                int LA120_0 = input.LA(1);
                if ( (LA120_0==65) ) {
                    int LA120_1 = input.LA(2);
                    if ( (LA120_1==RULE_ID||(LA120_1>=14 && LA120_1<=18)||(LA120_1>=21 && LA120_1<=22)||LA120_1==81) ) {
                        alt120=1;
                    }
                }
                switch (alt120) {
            	case 1 :
            	    // InternalRosetta.g:7804:3: rule__Attribute__Alternatives_4
            	    {
            	    pushFollow(FOLLOW_25);
            	    rule__Attribute__Alternatives_4();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop120;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getAttributeAccess().getAlternatives_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__4__Impl"
    // $ANTLR start "rule__Attribute__Group__5"
    // InternalRosetta.g:7812:1: rule__Attribute__Group__5 : rule__Attribute__Group__5__Impl ;
    public final void rule__Attribute__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7816:1: ( rule__Attribute__Group__5__Impl )
            // InternalRosetta.g:7817:2: rule__Attribute__Group__5__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Attribute__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__5"
    // $ANTLR start "rule__Attribute__Group__5__Impl"
    // InternalRosetta.g:7823:1: rule__Attribute__Group__5__Impl : ( ( ruleRuleReference )? ) ;
    public final void rule__Attribute__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7827:1: ( ( ( ruleRuleReference )? ) )
            // InternalRosetta.g:7828:1: ( ( ruleRuleReference )? )
            {
            // InternalRosetta.g:7828:1: ( ( ruleRuleReference )? )
            // InternalRosetta.g:7829:2: ( ruleRuleReference )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAttributeAccess().getRuleReferenceParserRuleCall_5()); }
            // InternalRosetta.g:7830:2: ( ruleRuleReference )?
            int alt121=2;
            int LA121_0 = input.LA(1);
            if ( (LA121_0==65) ) {
                alt121=1;
            }
            switch (alt121) {
                case 1 :
                    // InternalRosetta.g:7830:3: ruleRuleReference
                    {
                    pushFollow(FOLLOW_2);
                    ruleRuleReference();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getAttributeAccess().getRuleReferenceParserRuleCall_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__Group__5__Impl"
    // $ANTLR start "rule__Enumeration__Group__0"
    // InternalRosetta.g:7839:1: rule__Enumeration__Group__0 : rule__Enumeration__Group__0__Impl rule__Enumeration__Group__1 ;
    public final void rule__Enumeration__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7843:1: ( rule__Enumeration__Group__0__Impl rule__Enumeration__Group__1 )
            // InternalRosetta.g:7844:2: rule__Enumeration__Group__0__Impl rule__Enumeration__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__Enumeration__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Enumeration__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__0"
    // $ANTLR start "rule__Enumeration__Group__0__Impl"
    // InternalRosetta.g:7851:1: rule__Enumeration__Group__0__Impl : ( 'enum' ) ;
    public final void rule__Enumeration__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7855:1: ( ( 'enum' ) )
            // InternalRosetta.g:7856:1: ( 'enum' )
            {
            // InternalRosetta.g:7856:1: ( 'enum' )
            // InternalRosetta.g:7857:2: 'enum'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getEnumKeyword_0()); }
            match(input,71,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getEnumKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__0__Impl"
    // $ANTLR start "rule__Enumeration__Group__1"
    // InternalRosetta.g:7866:1: rule__Enumeration__Group__1 : rule__Enumeration__Group__1__Impl rule__Enumeration__Group__2 ;
    public final void rule__Enumeration__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7870:1: ( rule__Enumeration__Group__1__Impl rule__Enumeration__Group__2 )
            // InternalRosetta.g:7871:2: rule__Enumeration__Group__1__Impl rule__Enumeration__Group__2
            {
            pushFollow(FOLLOW_24);
            rule__Enumeration__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Enumeration__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__1"
    // $ANTLR start "rule__Enumeration__Group__1__Impl"
    // InternalRosetta.g:7878:1: rule__Enumeration__Group__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__Enumeration__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7882:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:7883:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:7883:1: ( ruleRosettaNamed )
            // InternalRosetta.g:7884:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getRosettaNamedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__1__Impl"
    // $ANTLR start "rule__Enumeration__Group__2"
    // InternalRosetta.g:7893:1: rule__Enumeration__Group__2 : rule__Enumeration__Group__2__Impl rule__Enumeration__Group__3 ;
    public final void rule__Enumeration__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7897:1: ( rule__Enumeration__Group__2__Impl rule__Enumeration__Group__3 )
            // InternalRosetta.g:7898:2: rule__Enumeration__Group__2__Impl rule__Enumeration__Group__3
            {
            pushFollow(FOLLOW_24);
            rule__Enumeration__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Enumeration__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__2"
    // $ANTLR start "rule__Enumeration__Group__2__Impl"
    // InternalRosetta.g:7905:1: rule__Enumeration__Group__2__Impl : ( ( rule__Enumeration__Group_2__0 )? ) ;
    public final void rule__Enumeration__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7909:1: ( ( ( rule__Enumeration__Group_2__0 )? ) )
            // InternalRosetta.g:7910:1: ( ( rule__Enumeration__Group_2__0 )? )
            {
            // InternalRosetta.g:7910:1: ( ( rule__Enumeration__Group_2__0 )? )
            // InternalRosetta.g:7911:2: ( rule__Enumeration__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getGroup_2()); }
            // InternalRosetta.g:7912:2: ( rule__Enumeration__Group_2__0 )?
            int alt122=2;
            int LA122_0 = input.LA(1);
            if ( (LA122_0==69) ) {
                alt122=1;
            }
            switch (alt122) {
                case 1 :
                    // InternalRosetta.g:7912:3: rule__Enumeration__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__Enumeration__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__2__Impl"
    // $ANTLR start "rule__Enumeration__Group__3"
    // InternalRosetta.g:7920:1: rule__Enumeration__Group__3 : rule__Enumeration__Group__3__Impl rule__Enumeration__Group__4 ;
    public final void rule__Enumeration__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7924:1: ( rule__Enumeration__Group__3__Impl rule__Enumeration__Group__4 )
            // InternalRosetta.g:7925:2: rule__Enumeration__Group__3__Impl rule__Enumeration__Group__4
            {
            pushFollow(FOLLOW_17);
            rule__Enumeration__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Enumeration__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__3"
    // $ANTLR start "rule__Enumeration__Group__3__Impl"
    // InternalRosetta.g:7932:1: rule__Enumeration__Group__3__Impl : ( ':' ) ;
    public final void rule__Enumeration__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7936:1: ( ( ':' ) )
            // InternalRosetta.g:7937:1: ( ':' )
            {
            // InternalRosetta.g:7937:1: ( ':' )
            // InternalRosetta.g:7938:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getColonKeyword_3()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getColonKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__3__Impl"
    // $ANTLR start "rule__Enumeration__Group__4"
    // InternalRosetta.g:7947:1: rule__Enumeration__Group__4 : rule__Enumeration__Group__4__Impl rule__Enumeration__Group__5 ;
    public final void rule__Enumeration__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7951:1: ( rule__Enumeration__Group__4__Impl rule__Enumeration__Group__5 )
            // InternalRosetta.g:7952:2: rule__Enumeration__Group__4__Impl rule__Enumeration__Group__5
            {
            pushFollow(FOLLOW_17);
            rule__Enumeration__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Enumeration__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__4"
    // $ANTLR start "rule__Enumeration__Group__4__Impl"
    // InternalRosetta.g:7959:1: rule__Enumeration__Group__4__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__Enumeration__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7963:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:7964:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:7964:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:7965:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getRosettaDefinableParserRuleCall_4()); }
            // InternalRosetta.g:7966:2: ( ruleRosettaDefinable )?
            int alt123=2;
            int LA123_0 = input.LA(1);
            if ( (LA123_0==35) ) {
                alt123=1;
            }
            switch (alt123) {
                case 1 :
                    // InternalRosetta.g:7966:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getRosettaDefinableParserRuleCall_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__4__Impl"
    // $ANTLR start "rule__Enumeration__Group__5"
    // InternalRosetta.g:7974:1: rule__Enumeration__Group__5 : rule__Enumeration__Group__5__Impl rule__Enumeration__Group__6 ;
    public final void rule__Enumeration__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7978:1: ( rule__Enumeration__Group__5__Impl rule__Enumeration__Group__6 )
            // InternalRosetta.g:7979:2: rule__Enumeration__Group__5__Impl rule__Enumeration__Group__6
            {
            pushFollow(FOLLOW_17);
            rule__Enumeration__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Enumeration__Group__6(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__5"
    // $ANTLR start "rule__Enumeration__Group__5__Impl"
    // InternalRosetta.g:7986:1: rule__Enumeration__Group__5__Impl : ( ( rule__Enumeration__Alternatives_5 )* ) ;
    public final void rule__Enumeration__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:7990:1: ( ( ( rule__Enumeration__Alternatives_5 )* ) )
            // InternalRosetta.g:7991:1: ( ( rule__Enumeration__Alternatives_5 )* )
            {
            // InternalRosetta.g:7991:1: ( ( rule__Enumeration__Alternatives_5 )* )
            // InternalRosetta.g:7992:2: ( rule__Enumeration__Alternatives_5 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getAlternatives_5()); }
            // InternalRosetta.g:7993:2: ( rule__Enumeration__Alternatives_5 )*
            loop124:
            do {
                int alt124=2;
                int LA124_0 = input.LA(1);
                if ( (LA124_0==65) ) {
                    alt124=1;
                }
                switch (alt124) {
            	case 1 :
            	    // InternalRosetta.g:7993:3: rule__Enumeration__Alternatives_5
            	    {
            	    pushFollow(FOLLOW_25);
            	    rule__Enumeration__Alternatives_5();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop124;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getAlternatives_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__5__Impl"
    // $ANTLR start "rule__Enumeration__Group__6"
    // InternalRosetta.g:8001:1: rule__Enumeration__Group__6 : rule__Enumeration__Group__6__Impl ;
    public final void rule__Enumeration__Group__6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8005:1: ( rule__Enumeration__Group__6__Impl )
            // InternalRosetta.g:8006:2: rule__Enumeration__Group__6__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Enumeration__Group__6__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__6"
    // $ANTLR start "rule__Enumeration__Group__6__Impl"
    // InternalRosetta.g:8012:1: rule__Enumeration__Group__6__Impl : ( ( rule__Enumeration__EnumValuesAssignment_6 )* ) ;
    public final void rule__Enumeration__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8016:1: ( ( ( rule__Enumeration__EnumValuesAssignment_6 )* ) )
            // InternalRosetta.g:8017:1: ( ( rule__Enumeration__EnumValuesAssignment_6 )* )
            {
            // InternalRosetta.g:8017:1: ( ( rule__Enumeration__EnumValuesAssignment_6 )* )
            // InternalRosetta.g:8018:2: ( rule__Enumeration__EnumValuesAssignment_6 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getEnumValuesAssignment_6()); }
            // InternalRosetta.g:8019:2: ( rule__Enumeration__EnumValuesAssignment_6 )*
            loop125:
            do {
                int alt125=2;
                int LA125_0 = input.LA(1);
                if ( (LA125_0==RULE_ID||(LA125_0>=14 && LA125_0<=18)) ) {
                    alt125=1;
                }
                switch (alt125) {
            	case 1 :
            	    // InternalRosetta.g:8019:3: rule__Enumeration__EnumValuesAssignment_6
            	    {
            	    pushFollow(FOLLOW_18);
            	    rule__Enumeration__EnumValuesAssignment_6();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop125;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getEnumValuesAssignment_6()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group__6__Impl"
    // $ANTLR start "rule__Enumeration__Group_2__0"
    // InternalRosetta.g:8028:1: rule__Enumeration__Group_2__0 : rule__Enumeration__Group_2__0__Impl rule__Enumeration__Group_2__1 ;
    public final void rule__Enumeration__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8032:1: ( rule__Enumeration__Group_2__0__Impl rule__Enumeration__Group_2__1 )
            // InternalRosetta.g:8033:2: rule__Enumeration__Group_2__0__Impl rule__Enumeration__Group_2__1
            {
            pushFollow(FOLLOW_13);
            rule__Enumeration__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Enumeration__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group_2__0"
    // $ANTLR start "rule__Enumeration__Group_2__0__Impl"
    // InternalRosetta.g:8040:1: rule__Enumeration__Group_2__0__Impl : ( 'extends' ) ;
    public final void rule__Enumeration__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8044:1: ( ( 'extends' ) )
            // InternalRosetta.g:8045:1: ( 'extends' )
            {
            // InternalRosetta.g:8045:1: ( 'extends' )
            // InternalRosetta.g:8046:2: 'extends'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getExtendsKeyword_2_0()); }
            match(input,69,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getExtendsKeyword_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group_2__0__Impl"
    // $ANTLR start "rule__Enumeration__Group_2__1"
    // InternalRosetta.g:8055:1: rule__Enumeration__Group_2__1 : rule__Enumeration__Group_2__1__Impl ;
    public final void rule__Enumeration__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8059:1: ( rule__Enumeration__Group_2__1__Impl )
            // InternalRosetta.g:8060:2: rule__Enumeration__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Enumeration__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group_2__1"
    // $ANTLR start "rule__Enumeration__Group_2__1__Impl"
    // InternalRosetta.g:8066:1: rule__Enumeration__Group_2__1__Impl : ( ( rule__Enumeration__ParentAssignment_2_1 ) ) ;
    public final void rule__Enumeration__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8070:1: ( ( ( rule__Enumeration__ParentAssignment_2_1 ) ) )
            // InternalRosetta.g:8071:1: ( ( rule__Enumeration__ParentAssignment_2_1 ) )
            {
            // InternalRosetta.g:8071:1: ( ( rule__Enumeration__ParentAssignment_2_1 ) )
            // InternalRosetta.g:8072:2: ( rule__Enumeration__ParentAssignment_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getParentAssignment_2_1()); }
            // InternalRosetta.g:8073:2: ( rule__Enumeration__ParentAssignment_2_1 )
            // InternalRosetta.g:8073:3: rule__Enumeration__ParentAssignment_2_1
            {
            pushFollow(FOLLOW_2);
            rule__Enumeration__ParentAssignment_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getParentAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__Group_2__1__Impl"
    // $ANTLR start "rule__Function__Group__0"
    // InternalRosetta.g:8082:1: rule__Function__Group__0 : rule__Function__Group__0__Impl rule__Function__Group__1 ;
    public final void rule__Function__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8086:1: ( rule__Function__Group__0__Impl rule__Function__Group__1 )
            // InternalRosetta.g:8087:2: rule__Function__Group__0__Impl rule__Function__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__Function__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__0"
    // $ANTLR start "rule__Function__Group__0__Impl"
    // InternalRosetta.g:8094:1: rule__Function__Group__0__Impl : ( 'func' ) ;
    public final void rule__Function__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8098:1: ( ( 'func' ) )
            // InternalRosetta.g:8099:1: ( 'func' )
            {
            // InternalRosetta.g:8099:1: ( 'func' )
            // InternalRosetta.g:8100:2: 'func'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getFuncKeyword_0()); }
            match(input,72,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getFuncKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__0__Impl"
    // $ANTLR start "rule__Function__Group__1"
    // InternalRosetta.g:8109:1: rule__Function__Group__1 : rule__Function__Group__1__Impl rule__Function__Group__2 ;
    public final void rule__Function__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8113:1: ( rule__Function__Group__1__Impl rule__Function__Group__2 )
            // InternalRosetta.g:8114:2: rule__Function__Group__1__Impl rule__Function__Group__2
            {
            pushFollow(FOLLOW_16);
            rule__Function__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__1"
    // $ANTLR start "rule__Function__Group__1__Impl"
    // InternalRosetta.g:8121:1: rule__Function__Group__1__Impl : ( ( rule__Function__Alternatives_1 ) ) ;
    public final void rule__Function__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8125:1: ( ( ( rule__Function__Alternatives_1 ) ) )
            // InternalRosetta.g:8126:1: ( ( rule__Function__Alternatives_1 ) )
            {
            // InternalRosetta.g:8126:1: ( ( rule__Function__Alternatives_1 ) )
            // InternalRosetta.g:8127:2: ( rule__Function__Alternatives_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getAlternatives_1()); }
            // InternalRosetta.g:8128:2: ( rule__Function__Alternatives_1 )
            // InternalRosetta.g:8128:3: rule__Function__Alternatives_1
            {
            pushFollow(FOLLOW_2);
            rule__Function__Alternatives_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getAlternatives_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__1__Impl"
    // $ANTLR start "rule__Function__Group__2"
    // InternalRosetta.g:8136:1: rule__Function__Group__2 : rule__Function__Group__2__Impl rule__Function__Group__3 ;
    public final void rule__Function__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8140:1: ( rule__Function__Group__2__Impl rule__Function__Group__3 )
            // InternalRosetta.g:8141:2: rule__Function__Group__2__Impl rule__Function__Group__3
            {
            pushFollow(FOLLOW_29);
            rule__Function__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__2"
    // $ANTLR start "rule__Function__Group__2__Impl"
    // InternalRosetta.g:8148:1: rule__Function__Group__2__Impl : ( ':' ) ;
    public final void rule__Function__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8152:1: ( ( ':' ) )
            // InternalRosetta.g:8153:1: ( ':' )
            {
            // InternalRosetta.g:8153:1: ( ':' )
            // InternalRosetta.g:8154:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getColonKeyword_2()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getColonKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__2__Impl"
    // $ANTLR start "rule__Function__Group__3"
    // InternalRosetta.g:8163:1: rule__Function__Group__3 : rule__Function__Group__3__Impl rule__Function__Group__4 ;
    public final void rule__Function__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8167:1: ( rule__Function__Group__3__Impl rule__Function__Group__4 )
            // InternalRosetta.g:8168:2: rule__Function__Group__3__Impl rule__Function__Group__4
            {
            pushFollow(FOLLOW_29);
            rule__Function__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__3"
    // $ANTLR start "rule__Function__Group__3__Impl"
    // InternalRosetta.g:8175:1: rule__Function__Group__3__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__Function__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8179:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:8180:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:8180:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:8181:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getRosettaDefinableParserRuleCall_3()); }
            // InternalRosetta.g:8182:2: ( ruleRosettaDefinable )?
            int alt126=2;
            int LA126_0 = input.LA(1);
            if ( (LA126_0==35) ) {
                alt126=1;
            }
            switch (alt126) {
                case 1 :
                    // InternalRosetta.g:8182:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getRosettaDefinableParserRuleCall_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__3__Impl"
    // $ANTLR start "rule__Function__Group__4"
    // InternalRosetta.g:8190:1: rule__Function__Group__4 : rule__Function__Group__4__Impl rule__Function__Group__5 ;
    public final void rule__Function__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8194:1: ( rule__Function__Group__4__Impl rule__Function__Group__5 )
            // InternalRosetta.g:8195:2: rule__Function__Group__4__Impl rule__Function__Group__5
            {
            pushFollow(FOLLOW_29);
            rule__Function__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__4"
    // $ANTLR start "rule__Function__Group__4__Impl"
    // InternalRosetta.g:8202:1: rule__Function__Group__4__Impl : ( ( rule__Function__Alternatives_4 )* ) ;
    public final void rule__Function__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8206:1: ( ( ( rule__Function__Alternatives_4 )* ) )
            // InternalRosetta.g:8207:1: ( ( rule__Function__Alternatives_4 )* )
            {
            // InternalRosetta.g:8207:1: ( ( rule__Function__Alternatives_4 )* )
            // InternalRosetta.g:8208:2: ( rule__Function__Alternatives_4 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getAlternatives_4()); }
            // InternalRosetta.g:8209:2: ( rule__Function__Alternatives_4 )*
            loop127:
            do {
                int alt127=2;
                int LA127_0 = input.LA(1);
                if ( (LA127_0==65) ) {
                    alt127=1;
                }
                switch (alt127) {
            	case 1 :
            	    // InternalRosetta.g:8209:3: rule__Function__Alternatives_4
            	    {
            	    pushFollow(FOLLOW_25);
            	    rule__Function__Alternatives_4();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop127;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getAlternatives_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__4__Impl"
    // $ANTLR start "rule__Function__Group__5"
    // InternalRosetta.g:8217:1: rule__Function__Group__5 : rule__Function__Group__5__Impl rule__Function__Group__6 ;
    public final void rule__Function__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8221:1: ( rule__Function__Group__5__Impl rule__Function__Group__6 )
            // InternalRosetta.g:8222:2: rule__Function__Group__5__Impl rule__Function__Group__6
            {
            pushFollow(FOLLOW_29);
            rule__Function__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group__6(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__5"
    // $ANTLR start "rule__Function__Group__5__Impl"
    // InternalRosetta.g:8229:1: rule__Function__Group__5__Impl : ( ( rule__Function__Group_5__0 )? ) ;
    public final void rule__Function__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8233:1: ( ( ( rule__Function__Group_5__0 )? ) )
            // InternalRosetta.g:8234:1: ( ( rule__Function__Group_5__0 )? )
            {
            // InternalRosetta.g:8234:1: ( ( rule__Function__Group_5__0 )? )
            // InternalRosetta.g:8235:2: ( rule__Function__Group_5__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getGroup_5()); }
            // InternalRosetta.g:8236:2: ( rule__Function__Group_5__0 )?
            int alt128=2;
            int LA128_0 = input.LA(1);
            if ( (LA128_0==75) ) {
                alt128=1;
            }
            switch (alt128) {
                case 1 :
                    // InternalRosetta.g:8236:3: rule__Function__Group_5__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__Function__Group_5__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getGroup_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__5__Impl"
    // $ANTLR start "rule__Function__Group__6"
    // InternalRosetta.g:8244:1: rule__Function__Group__6 : rule__Function__Group__6__Impl rule__Function__Group__7 ;
    public final void rule__Function__Group__6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8248:1: ( rule__Function__Group__6__Impl rule__Function__Group__7 )
            // InternalRosetta.g:8249:2: rule__Function__Group__6__Impl rule__Function__Group__7
            {
            pushFollow(FOLLOW_29);
            rule__Function__Group__6__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group__7(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__6"
    // $ANTLR start "rule__Function__Group__6__Impl"
    // InternalRosetta.g:8256:1: rule__Function__Group__6__Impl : ( ( rule__Function__Group_6__0 )? ) ;
    public final void rule__Function__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8260:1: ( ( ( rule__Function__Group_6__0 )? ) )
            // InternalRosetta.g:8261:1: ( ( rule__Function__Group_6__0 )? )
            {
            // InternalRosetta.g:8261:1: ( ( rule__Function__Group_6__0 )? )
            // InternalRosetta.g:8262:2: ( rule__Function__Group_6__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getGroup_6()); }
            // InternalRosetta.g:8263:2: ( rule__Function__Group_6__0 )?
            int alt129=2;
            int LA129_0 = input.LA(1);
            if ( (LA129_0==76) ) {
                alt129=1;
            }
            switch (alt129) {
                case 1 :
                    // InternalRosetta.g:8263:3: rule__Function__Group_6__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__Function__Group_6__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getGroup_6()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__6__Impl"
    // $ANTLR start "rule__Function__Group__7"
    // InternalRosetta.g:8271:1: rule__Function__Group__7 : rule__Function__Group__7__Impl rule__Function__Group__8 ;
    public final void rule__Function__Group__7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8275:1: ( rule__Function__Group__7__Impl rule__Function__Group__8 )
            // InternalRosetta.g:8276:2: rule__Function__Group__7__Impl rule__Function__Group__8
            {
            pushFollow(FOLLOW_29);
            rule__Function__Group__7__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group__8(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__7"
    // $ANTLR start "rule__Function__Group__7__Impl"
    // InternalRosetta.g:8283:1: rule__Function__Group__7__Impl : ( ( rule__Function__ShortcutsAssignment_7 )* ) ;
    public final void rule__Function__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8287:1: ( ( ( rule__Function__ShortcutsAssignment_7 )* ) )
            // InternalRosetta.g:8288:1: ( ( rule__Function__ShortcutsAssignment_7 )* )
            {
            // InternalRosetta.g:8288:1: ( ( rule__Function__ShortcutsAssignment_7 )* )
            // InternalRosetta.g:8289:2: ( rule__Function__ShortcutsAssignment_7 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getShortcutsAssignment_7()); }
            // InternalRosetta.g:8290:2: ( rule__Function__ShortcutsAssignment_7 )*
            loop130:
            do {
                int alt130=2;
                int LA130_0 = input.LA(1);
                if ( (LA130_0==77) ) {
                    alt130=1;
                }
                switch (alt130) {
            	case 1 :
            	    // InternalRosetta.g:8290:3: rule__Function__ShortcutsAssignment_7
            	    {
            	    pushFollow(FOLLOW_30);
            	    rule__Function__ShortcutsAssignment_7();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop130;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getShortcutsAssignment_7()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__7__Impl"
    // $ANTLR start "rule__Function__Group__8"
    // InternalRosetta.g:8298:1: rule__Function__Group__8 : rule__Function__Group__8__Impl rule__Function__Group__9 ;
    public final void rule__Function__Group__8() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8302:1: ( rule__Function__Group__8__Impl rule__Function__Group__9 )
            // InternalRosetta.g:8303:2: rule__Function__Group__8__Impl rule__Function__Group__9
            {
            pushFollow(FOLLOW_29);
            rule__Function__Group__8__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group__9(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__8"
    // $ANTLR start "rule__Function__Group__8__Impl"
    // InternalRosetta.g:8310:1: rule__Function__Group__8__Impl : ( ( rule__Function__ConditionsAssignment_8 )* ) ;
    public final void rule__Function__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8314:1: ( ( ( rule__Function__ConditionsAssignment_8 )* ) )
            // InternalRosetta.g:8315:1: ( ( rule__Function__ConditionsAssignment_8 )* )
            {
            // InternalRosetta.g:8315:1: ( ( rule__Function__ConditionsAssignment_8 )* )
            // InternalRosetta.g:8316:2: ( rule__Function__ConditionsAssignment_8 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getConditionsAssignment_8()); }
            // InternalRosetta.g:8317:2: ( rule__Function__ConditionsAssignment_8 )*
            loop131:
            do {
                int alt131=2;
                int LA131_0 = input.LA(1);
                if ( (LA131_0==14) ) {
                    alt131=1;
                }
                switch (alt131) {
            	case 1 :
            	    // InternalRosetta.g:8317:3: rule__Function__ConditionsAssignment_8
            	    {
            	    pushFollow(FOLLOW_26);
            	    rule__Function__ConditionsAssignment_8();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop131;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getConditionsAssignment_8()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__8__Impl"
    // $ANTLR start "rule__Function__Group__9"
    // InternalRosetta.g:8325:1: rule__Function__Group__9 : rule__Function__Group__9__Impl rule__Function__Group__10 ;
    public final void rule__Function__Group__9() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8329:1: ( rule__Function__Group__9__Impl rule__Function__Group__10 )
            // InternalRosetta.g:8330:2: rule__Function__Group__9__Impl rule__Function__Group__10
            {
            pushFollow(FOLLOW_29);
            rule__Function__Group__9__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group__10(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__9"
    // $ANTLR start "rule__Function__Group__9__Impl"
    // InternalRosetta.g:8337:1: rule__Function__Group__9__Impl : ( ( rule__Function__OperationsAssignment_9 )* ) ;
    public final void rule__Function__Group__9__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8341:1: ( ( ( rule__Function__OperationsAssignment_9 )* ) )
            // InternalRosetta.g:8342:1: ( ( rule__Function__OperationsAssignment_9 )* )
            {
            // InternalRosetta.g:8342:1: ( ( rule__Function__OperationsAssignment_9 )* )
            // InternalRosetta.g:8343:2: ( rule__Function__OperationsAssignment_9 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getOperationsAssignment_9()); }
            // InternalRosetta.g:8344:2: ( rule__Function__OperationsAssignment_9 )*
            loop132:
            do {
                int alt132=2;
                int LA132_0 = input.LA(1);
                if ( (LA132_0==11||LA132_0==133) ) {
                    alt132=1;
                }
                switch (alt132) {
            	case 1 :
            	    // InternalRosetta.g:8344:3: rule__Function__OperationsAssignment_9
            	    {
            	    pushFollow(FOLLOW_31);
            	    rule__Function__OperationsAssignment_9();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop132;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getOperationsAssignment_9()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__9__Impl"
    // $ANTLR start "rule__Function__Group__10"
    // InternalRosetta.g:8352:1: rule__Function__Group__10 : rule__Function__Group__10__Impl ;
    public final void rule__Function__Group__10() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8356:1: ( rule__Function__Group__10__Impl )
            // InternalRosetta.g:8357:2: rule__Function__Group__10__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Function__Group__10__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__10"
    // $ANTLR start "rule__Function__Group__10__Impl"
    // InternalRosetta.g:8363:1: rule__Function__Group__10__Impl : ( ( rule__Function__PostConditionsAssignment_10 )* ) ;
    public final void rule__Function__Group__10__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8367:1: ( ( ( rule__Function__PostConditionsAssignment_10 )* ) )
            // InternalRosetta.g:8368:1: ( ( rule__Function__PostConditionsAssignment_10 )* )
            {
            // InternalRosetta.g:8368:1: ( ( rule__Function__PostConditionsAssignment_10 )* )
            // InternalRosetta.g:8369:2: ( rule__Function__PostConditionsAssignment_10 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getPostConditionsAssignment_10()); }
            // InternalRosetta.g:8370:2: ( rule__Function__PostConditionsAssignment_10 )*
            loop133:
            do {
                int alt133=2;
                int LA133_0 = input.LA(1);
                if ( (LA133_0==132) ) {
                    alt133=1;
                }
                switch (alt133) {
            	case 1 :
            	    // InternalRosetta.g:8370:3: rule__Function__PostConditionsAssignment_10
            	    {
            	    pushFollow(FOLLOW_32);
            	    rule__Function__PostConditionsAssignment_10();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop133;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getPostConditionsAssignment_10()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group__10__Impl"
    // $ANTLR start "rule__Function__Group_1_1__0"
    // InternalRosetta.g:8379:1: rule__Function__Group_1_1__0 : rule__Function__Group_1_1__0__Impl rule__Function__Group_1_1__1 ;
    public final void rule__Function__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8383:1: ( rule__Function__Group_1_1__0__Impl rule__Function__Group_1_1__1 )
            // InternalRosetta.g:8384:2: rule__Function__Group_1_1__0__Impl rule__Function__Group_1_1__1
            {
            pushFollow(FOLLOW_13);
            rule__Function__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__0"
    // $ANTLR start "rule__Function__Group_1_1__0__Impl"
    // InternalRosetta.g:8391:1: rule__Function__Group_1_1__0__Impl : ( () ) ;
    public final void rule__Function__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8395:1: ( ( () ) )
            // InternalRosetta.g:8396:1: ( () )
            {
            // InternalRosetta.g:8396:1: ( () )
            // InternalRosetta.g:8397:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getFunctionDispatchAction_1_1_0()); }
            // InternalRosetta.g:8398:2: ()
            // InternalRosetta.g:8398:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getFunctionDispatchAction_1_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__Function__Group_1_1__0__Impl"
    // $ANTLR start "rule__Function__Group_1_1__1"
    // InternalRosetta.g:8406:1: rule__Function__Group_1_1__1 : rule__Function__Group_1_1__1__Impl rule__Function__Group_1_1__2 ;
    public final void rule__Function__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8410:1: ( rule__Function__Group_1_1__1__Impl rule__Function__Group_1_1__2 )
            // InternalRosetta.g:8411:2: rule__Function__Group_1_1__1__Impl rule__Function__Group_1_1__2
            {
            pushFollow(FOLLOW_28);
            rule__Function__Group_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group_1_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__1"
    // $ANTLR start "rule__Function__Group_1_1__1__Impl"
    // InternalRosetta.g:8418:1: rule__Function__Group_1_1__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__Function__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8422:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:8423:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:8423:1: ( ruleRosettaNamed )
            // InternalRosetta.g:8424:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getRosettaNamedParserRuleCall_1_1_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getRosettaNamedParserRuleCall_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__1__Impl"
    // $ANTLR start "rule__Function__Group_1_1__2"
    // InternalRosetta.g:8433:1: rule__Function__Group_1_1__2 : rule__Function__Group_1_1__2__Impl rule__Function__Group_1_1__3 ;
    public final void rule__Function__Group_1_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8437:1: ( rule__Function__Group_1_1__2__Impl rule__Function__Group_1_1__3 )
            // InternalRosetta.g:8438:2: rule__Function__Group_1_1__2__Impl rule__Function__Group_1_1__3
            {
            pushFollow(FOLLOW_13);
            rule__Function__Group_1_1__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group_1_1__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__2"
    // $ANTLR start "rule__Function__Group_1_1__2__Impl"
    // InternalRosetta.g:8445:1: rule__Function__Group_1_1__2__Impl : ( '(' ) ;
    public final void rule__Function__Group_1_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8449:1: ( ( '(' ) )
            // InternalRosetta.g:8450:1: ( '(' )
            {
            // InternalRosetta.g:8450:1: ( '(' )
            // InternalRosetta.g:8451:2: '('
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1_1_2()); }
            match(input,73,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__2__Impl"
    // $ANTLR start "rule__Function__Group_1_1__3"
    // InternalRosetta.g:8460:1: rule__Function__Group_1_1__3 : rule__Function__Group_1_1__3__Impl rule__Function__Group_1_1__4 ;
    public final void rule__Function__Group_1_1__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8464:1: ( rule__Function__Group_1_1__3__Impl rule__Function__Group_1_1__4 )
            // InternalRosetta.g:8465:2: rule__Function__Group_1_1__3__Impl rule__Function__Group_1_1__4
            {
            pushFollow(FOLLOW_16);
            rule__Function__Group_1_1__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group_1_1__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__3"
    // $ANTLR start "rule__Function__Group_1_1__3__Impl"
    // InternalRosetta.g:8472:1: rule__Function__Group_1_1__3__Impl : ( ( rule__Function__AttributeAssignment_1_1_3 ) ) ;
    public final void rule__Function__Group_1_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8476:1: ( ( ( rule__Function__AttributeAssignment_1_1_3 ) ) )
            // InternalRosetta.g:8477:1: ( ( rule__Function__AttributeAssignment_1_1_3 ) )
            {
            // InternalRosetta.g:8477:1: ( ( rule__Function__AttributeAssignment_1_1_3 ) )
            // InternalRosetta.g:8478:2: ( rule__Function__AttributeAssignment_1_1_3 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getAttributeAssignment_1_1_3()); }
            // InternalRosetta.g:8479:2: ( rule__Function__AttributeAssignment_1_1_3 )
            // InternalRosetta.g:8479:3: rule__Function__AttributeAssignment_1_1_3
            {
            pushFollow(FOLLOW_2);
            rule__Function__AttributeAssignment_1_1_3(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getAttributeAssignment_1_1_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__3__Impl"
    // $ANTLR start "rule__Function__Group_1_1__4"
    // InternalRosetta.g:8487:1: rule__Function__Group_1_1__4 : rule__Function__Group_1_1__4__Impl rule__Function__Group_1_1__5 ;
    public final void rule__Function__Group_1_1__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8491:1: ( rule__Function__Group_1_1__4__Impl rule__Function__Group_1_1__5 )
            // InternalRosetta.g:8492:2: rule__Function__Group_1_1__4__Impl rule__Function__Group_1_1__5
            {
            pushFollow(FOLLOW_13);
            rule__Function__Group_1_1__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group_1_1__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__4"
    // $ANTLR start "rule__Function__Group_1_1__4__Impl"
    // InternalRosetta.g:8499:1: rule__Function__Group_1_1__4__Impl : ( ':' ) ;
    public final void rule__Function__Group_1_1__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8503:1: ( ( ':' ) )
            // InternalRosetta.g:8504:1: ( ':' )
            {
            // InternalRosetta.g:8504:1: ( ':' )
            // InternalRosetta.g:8505:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getColonKeyword_1_1_4()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getColonKeyword_1_1_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__4__Impl"
    // $ANTLR start "rule__Function__Group_1_1__5"
    // InternalRosetta.g:8514:1: rule__Function__Group_1_1__5 : rule__Function__Group_1_1__5__Impl rule__Function__Group_1_1__6 ;
    public final void rule__Function__Group_1_1__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8518:1: ( rule__Function__Group_1_1__5__Impl rule__Function__Group_1_1__6 )
            // InternalRosetta.g:8519:2: rule__Function__Group_1_1__5__Impl rule__Function__Group_1_1__6
            {
            pushFollow(FOLLOW_33);
            rule__Function__Group_1_1__5__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group_1_1__6(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__5"
    // $ANTLR start "rule__Function__Group_1_1__5__Impl"
    // InternalRosetta.g:8526:1: rule__Function__Group_1_1__5__Impl : ( ( rule__Function__ValueAssignment_1_1_5 ) ) ;
    public final void rule__Function__Group_1_1__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8530:1: ( ( ( rule__Function__ValueAssignment_1_1_5 ) ) )
            // InternalRosetta.g:8531:1: ( ( rule__Function__ValueAssignment_1_1_5 ) )
            {
            // InternalRosetta.g:8531:1: ( ( rule__Function__ValueAssignment_1_1_5 ) )
            // InternalRosetta.g:8532:2: ( rule__Function__ValueAssignment_1_1_5 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getValueAssignment_1_1_5()); }
            // InternalRosetta.g:8533:2: ( rule__Function__ValueAssignment_1_1_5 )
            // InternalRosetta.g:8533:3: rule__Function__ValueAssignment_1_1_5
            {
            pushFollow(FOLLOW_2);
            rule__Function__ValueAssignment_1_1_5(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getValueAssignment_1_1_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__5__Impl"
    // $ANTLR start "rule__Function__Group_1_1__6"
    // InternalRosetta.g:8541:1: rule__Function__Group_1_1__6 : rule__Function__Group_1_1__6__Impl ;
    public final void rule__Function__Group_1_1__6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8545:1: ( rule__Function__Group_1_1__6__Impl )
            // InternalRosetta.g:8546:2: rule__Function__Group_1_1__6__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Function__Group_1_1__6__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__6"
    // $ANTLR start "rule__Function__Group_1_1__6__Impl"
    // InternalRosetta.g:8552:1: rule__Function__Group_1_1__6__Impl : ( ')' ) ;
    public final void rule__Function__Group_1_1__6__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8556:1: ( ( ')' ) )
            // InternalRosetta.g:8557:1: ( ')' )
            {
            // InternalRosetta.g:8557:1: ( ')' )
            // InternalRosetta.g:8558:2: ')'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_1_1_6()); }
            match(input,74,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_1_1_6()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_1_1__6__Impl"
    // $ANTLR start "rule__Function__Group_5__0"
    // InternalRosetta.g:8568:1: rule__Function__Group_5__0 : rule__Function__Group_5__0__Impl rule__Function__Group_5__1 ;
    public final void rule__Function__Group_5__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8572:1: ( rule__Function__Group_5__0__Impl rule__Function__Group_5__1 )
            // InternalRosetta.g:8573:2: rule__Function__Group_5__0__Impl rule__Function__Group_5__1
            {
            pushFollow(FOLLOW_16);
            rule__Function__Group_5__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group_5__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_5__0"
    // $ANTLR start "rule__Function__Group_5__0__Impl"
    // InternalRosetta.g:8580:1: rule__Function__Group_5__0__Impl : ( 'inputs' ) ;
    public final void rule__Function__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8584:1: ( ( 'inputs' ) )
            // InternalRosetta.g:8585:1: ( 'inputs' )
            {
            // InternalRosetta.g:8585:1: ( 'inputs' )
            // InternalRosetta.g:8586:2: 'inputs'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getInputsKeyword_5_0()); }
            match(input,75,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getInputsKeyword_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_5__0__Impl"
    // $ANTLR start "rule__Function__Group_5__1"
    // InternalRosetta.g:8595:1: rule__Function__Group_5__1 : rule__Function__Group_5__1__Impl rule__Function__Group_5__2 ;
    public final void rule__Function__Group_5__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8599:1: ( rule__Function__Group_5__1__Impl rule__Function__Group_5__2 )
            // InternalRosetta.g:8600:2: rule__Function__Group_5__1__Impl rule__Function__Group_5__2
            {
            pushFollow(FOLLOW_13);
            rule__Function__Group_5__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group_5__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_5__1"
    // $ANTLR start "rule__Function__Group_5__1__Impl"
    // InternalRosetta.g:8607:1: rule__Function__Group_5__1__Impl : ( ':' ) ;
    public final void rule__Function__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8611:1: ( ( ':' ) )
            // InternalRosetta.g:8612:1: ( ':' )
            {
            // InternalRosetta.g:8612:1: ( ':' )
            // InternalRosetta.g:8613:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getColonKeyword_5_1()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getColonKeyword_5_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_5__1__Impl"
    // $ANTLR start "rule__Function__Group_5__2"
    // InternalRosetta.g:8622:1: rule__Function__Group_5__2 : rule__Function__Group_5__2__Impl ;
    public final void rule__Function__Group_5__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8626:1: ( rule__Function__Group_5__2__Impl )
            // InternalRosetta.g:8627:2: rule__Function__Group_5__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Function__Group_5__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_5__2"
    // $ANTLR start "rule__Function__Group_5__2__Impl"
    // InternalRosetta.g:8633:1: rule__Function__Group_5__2__Impl : ( ( ( rule__Function__InputsAssignment_5_2 ) ) ( ( rule__Function__InputsAssignment_5_2 )* ) ) ;
    public final void rule__Function__Group_5__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8637:1: ( ( ( ( rule__Function__InputsAssignment_5_2 ) ) ( ( rule__Function__InputsAssignment_5_2 )* ) ) )
            // InternalRosetta.g:8638:1: ( ( ( rule__Function__InputsAssignment_5_2 ) ) ( ( rule__Function__InputsAssignment_5_2 )* ) )
            {
            // InternalRosetta.g:8638:1: ( ( ( rule__Function__InputsAssignment_5_2 ) ) ( ( rule__Function__InputsAssignment_5_2 )* ) )
            // InternalRosetta.g:8639:2: ( ( rule__Function__InputsAssignment_5_2 ) ) ( ( rule__Function__InputsAssignment_5_2 )* )
            {
            // InternalRosetta.g:8639:2: ( ( rule__Function__InputsAssignment_5_2 ) )
            // InternalRosetta.g:8640:3: ( rule__Function__InputsAssignment_5_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getInputsAssignment_5_2()); }
            // InternalRosetta.g:8641:3: ( rule__Function__InputsAssignment_5_2 )
            // InternalRosetta.g:8641:4: rule__Function__InputsAssignment_5_2
            {
            pushFollow(FOLLOW_18);
            rule__Function__InputsAssignment_5_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getInputsAssignment_5_2()); }}
            // InternalRosetta.g:8644:2: ( ( rule__Function__InputsAssignment_5_2 )* )
            // InternalRosetta.g:8645:3: ( rule__Function__InputsAssignment_5_2 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getInputsAssignment_5_2()); }
            // InternalRosetta.g:8646:3: ( rule__Function__InputsAssignment_5_2 )*
            loop134:
            do {
                int alt134=2;
                alt134 = dfa134.predict(input);
                switch (alt134) {
            	case 1 :
            	    // InternalRosetta.g:8646:4: rule__Function__InputsAssignment_5_2
            	    {
            	    pushFollow(FOLLOW_18);
            	    rule__Function__InputsAssignment_5_2();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop134;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getInputsAssignment_5_2()); }}}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_5__2__Impl"
    // $ANTLR start "rule__Function__Group_6__0"
    // InternalRosetta.g:8656:1: rule__Function__Group_6__0 : rule__Function__Group_6__0__Impl rule__Function__Group_6__1 ;
    public final void rule__Function__Group_6__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8660:1: ( rule__Function__Group_6__0__Impl rule__Function__Group_6__1 )
            // InternalRosetta.g:8661:2: rule__Function__Group_6__0__Impl rule__Function__Group_6__1
            {
            pushFollow(FOLLOW_16);
            rule__Function__Group_6__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group_6__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_6__0"
    // $ANTLR start "rule__Function__Group_6__0__Impl"
    // InternalRosetta.g:8668:1: rule__Function__Group_6__0__Impl : ( 'output' ) ;
    public final void rule__Function__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8672:1: ( ( 'output' ) )
            // InternalRosetta.g:8673:1: ( 'output' )
            {
            // InternalRosetta.g:8673:1: ( 'output' )
            // InternalRosetta.g:8674:2: 'output'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getOutputKeyword_6_0()); }
            match(input,76,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getOutputKeyword_6_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_6__0__Impl"
    // $ANTLR start "rule__Function__Group_6__1"
    // InternalRosetta.g:8683:1: rule__Function__Group_6__1 : rule__Function__Group_6__1__Impl rule__Function__Group_6__2 ;
    public final void rule__Function__Group_6__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8687:1: ( rule__Function__Group_6__1__Impl rule__Function__Group_6__2 )
            // InternalRosetta.g:8688:2: rule__Function__Group_6__1__Impl rule__Function__Group_6__2
            {
            pushFollow(FOLLOW_13);
            rule__Function__Group_6__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Function__Group_6__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_6__1"
    // $ANTLR start "rule__Function__Group_6__1__Impl"
    // InternalRosetta.g:8695:1: rule__Function__Group_6__1__Impl : ( ':' ) ;
    public final void rule__Function__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8699:1: ( ( ':' ) )
            // InternalRosetta.g:8700:1: ( ':' )
            {
            // InternalRosetta.g:8700:1: ( ':' )
            // InternalRosetta.g:8701:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getColonKeyword_6_1()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getColonKeyword_6_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_6__1__Impl"
    // $ANTLR start "rule__Function__Group_6__2"
    // InternalRosetta.g:8710:1: rule__Function__Group_6__2 : rule__Function__Group_6__2__Impl ;
    public final void rule__Function__Group_6__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8714:1: ( rule__Function__Group_6__2__Impl )
            // InternalRosetta.g:8715:2: rule__Function__Group_6__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Function__Group_6__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_6__2"
    // $ANTLR start "rule__Function__Group_6__2__Impl"
    // InternalRosetta.g:8721:1: rule__Function__Group_6__2__Impl : ( ( rule__Function__OutputAssignment_6_2 ) ) ;
    public final void rule__Function__Group_6__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8725:1: ( ( ( rule__Function__OutputAssignment_6_2 ) ) )
            // InternalRosetta.g:8726:1: ( ( rule__Function__OutputAssignment_6_2 ) )
            {
            // InternalRosetta.g:8726:1: ( ( rule__Function__OutputAssignment_6_2 ) )
            // InternalRosetta.g:8727:2: ( rule__Function__OutputAssignment_6_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getOutputAssignment_6_2()); }
            // InternalRosetta.g:8728:2: ( rule__Function__OutputAssignment_6_2 )
            // InternalRosetta.g:8728:3: rule__Function__OutputAssignment_6_2
            {
            pushFollow(FOLLOW_2);
            rule__Function__OutputAssignment_6_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getOutputAssignment_6_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__Group_6__2__Impl"
    // $ANTLR start "rule__ShortcutDeclaration__Group__0"
    // InternalRosetta.g:8737:1: rule__ShortcutDeclaration__Group__0 : rule__ShortcutDeclaration__Group__0__Impl rule__ShortcutDeclaration__Group__1 ;
    public final void rule__ShortcutDeclaration__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8741:1: ( rule__ShortcutDeclaration__Group__0__Impl rule__ShortcutDeclaration__Group__1 )
            // InternalRosetta.g:8742:2: rule__ShortcutDeclaration__Group__0__Impl rule__ShortcutDeclaration__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__ShortcutDeclaration__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ShortcutDeclaration__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ShortcutDeclaration__Group__0"
    // $ANTLR start "rule__ShortcutDeclaration__Group__0__Impl"
    // InternalRosetta.g:8749:1: rule__ShortcutDeclaration__Group__0__Impl : ( 'alias' ) ;
    public final void rule__ShortcutDeclaration__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8753:1: ( ( 'alias' ) )
            // InternalRosetta.g:8754:1: ( 'alias' )
            {
            // InternalRosetta.g:8754:1: ( 'alias' )
            // InternalRosetta.g:8755:2: 'alias'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getShortcutDeclarationAccess().getAliasKeyword_0()); }
            match(input,77,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getShortcutDeclarationAccess().getAliasKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ShortcutDeclaration__Group__0__Impl"
    // $ANTLR start "rule__ShortcutDeclaration__Group__1"
    // InternalRosetta.g:8764:1: rule__ShortcutDeclaration__Group__1 : rule__ShortcutDeclaration__Group__1__Impl rule__ShortcutDeclaration__Group__2 ;
    public final void rule__ShortcutDeclaration__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8768:1: ( rule__ShortcutDeclaration__Group__1__Impl rule__ShortcutDeclaration__Group__2 )
            // InternalRosetta.g:8769:2: rule__ShortcutDeclaration__Group__1__Impl rule__ShortcutDeclaration__Group__2
            {
            pushFollow(FOLLOW_16);
            rule__ShortcutDeclaration__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ShortcutDeclaration__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ShortcutDeclaration__Group__1"
    // $ANTLR start "rule__ShortcutDeclaration__Group__1__Impl"
    // InternalRosetta.g:8776:1: rule__ShortcutDeclaration__Group__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__ShortcutDeclaration__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8780:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:8781:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:8781:1: ( ruleRosettaNamed )
            // InternalRosetta.g:8782:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getShortcutDeclarationAccess().getRosettaNamedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getShortcutDeclarationAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ShortcutDeclaration__Group__1__Impl"
    // $ANTLR start "rule__ShortcutDeclaration__Group__2"
    // InternalRosetta.g:8791:1: rule__ShortcutDeclaration__Group__2 : rule__ShortcutDeclaration__Group__2__Impl rule__ShortcutDeclaration__Group__3 ;
    public final void rule__ShortcutDeclaration__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8795:1: ( rule__ShortcutDeclaration__Group__2__Impl rule__ShortcutDeclaration__Group__3 )
            // InternalRosetta.g:8796:2: rule__ShortcutDeclaration__Group__2__Impl rule__ShortcutDeclaration__Group__3
            {
            pushFollow(FOLLOW_34);
            rule__ShortcutDeclaration__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ShortcutDeclaration__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ShortcutDeclaration__Group__2"
    // $ANTLR start "rule__ShortcutDeclaration__Group__2__Impl"
    // InternalRosetta.g:8803:1: rule__ShortcutDeclaration__Group__2__Impl : ( ':' ) ;
    public final void rule__ShortcutDeclaration__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8807:1: ( ( ':' ) )
            // InternalRosetta.g:8808:1: ( ':' )
            {
            // InternalRosetta.g:8808:1: ( ':' )
            // InternalRosetta.g:8809:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getShortcutDeclarationAccess().getColonKeyword_2()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getShortcutDeclarationAccess().getColonKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ShortcutDeclaration__Group__2__Impl"
    // $ANTLR start "rule__ShortcutDeclaration__Group__3"
    // InternalRosetta.g:8818:1: rule__ShortcutDeclaration__Group__3 : rule__ShortcutDeclaration__Group__3__Impl rule__ShortcutDeclaration__Group__4 ;
    public final void rule__ShortcutDeclaration__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8822:1: ( rule__ShortcutDeclaration__Group__3__Impl rule__ShortcutDeclaration__Group__4 )
            // InternalRosetta.g:8823:2: rule__ShortcutDeclaration__Group__3__Impl rule__ShortcutDeclaration__Group__4
            {
            pushFollow(FOLLOW_34);
            rule__ShortcutDeclaration__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ShortcutDeclaration__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ShortcutDeclaration__Group__3"
    // $ANTLR start "rule__ShortcutDeclaration__Group__3__Impl"
    // InternalRosetta.g:8830:1: rule__ShortcutDeclaration__Group__3__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__ShortcutDeclaration__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8834:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:8835:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:8835:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:8836:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getShortcutDeclarationAccess().getRosettaDefinableParserRuleCall_3()); }
            // InternalRosetta.g:8837:2: ( ruleRosettaDefinable )?
            int alt135=2;
            alt135 = dfa135.predict(input);
            switch (alt135) {
                case 1 :
                    // InternalRosetta.g:8837:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getShortcutDeclarationAccess().getRosettaDefinableParserRuleCall_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ShortcutDeclaration__Group__3__Impl"
    // $ANTLR start "rule__ShortcutDeclaration__Group__4"
    // InternalRosetta.g:8845:1: rule__ShortcutDeclaration__Group__4 : rule__ShortcutDeclaration__Group__4__Impl ;
    public final void rule__ShortcutDeclaration__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8849:1: ( rule__ShortcutDeclaration__Group__4__Impl )
            // InternalRosetta.g:8850:2: rule__ShortcutDeclaration__Group__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ShortcutDeclaration__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ShortcutDeclaration__Group__4"
    // $ANTLR start "rule__ShortcutDeclaration__Group__4__Impl"
    // InternalRosetta.g:8856:1: rule__ShortcutDeclaration__Group__4__Impl : ( ( rule__ShortcutDeclaration__ExpressionAssignment_4 ) ) ;
    public final void rule__ShortcutDeclaration__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8860:1: ( ( ( rule__ShortcutDeclaration__ExpressionAssignment_4 ) ) )
            // InternalRosetta.g:8861:1: ( ( rule__ShortcutDeclaration__ExpressionAssignment_4 ) )
            {
            // InternalRosetta.g:8861:1: ( ( rule__ShortcutDeclaration__ExpressionAssignment_4 ) )
            // InternalRosetta.g:8862:2: ( rule__ShortcutDeclaration__ExpressionAssignment_4 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getShortcutDeclarationAccess().getExpressionAssignment_4()); }
            // InternalRosetta.g:8863:2: ( rule__ShortcutDeclaration__ExpressionAssignment_4 )
            // InternalRosetta.g:8863:3: rule__ShortcutDeclaration__ExpressionAssignment_4
            {
            pushFollow(FOLLOW_2);
            rule__ShortcutDeclaration__ExpressionAssignment_4(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getShortcutDeclarationAccess().getExpressionAssignment_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ShortcutDeclaration__Group__4__Impl"
    // $ANTLR start "rule__Condition__Group__0"
    // InternalRosetta.g:8872:1: rule__Condition__Group__0 : rule__Condition__Group__0__Impl rule__Condition__Group__1 ;
    public final void rule__Condition__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8876:1: ( rule__Condition__Group__0__Impl rule__Condition__Group__1 )
            // InternalRosetta.g:8877:2: rule__Condition__Group__0__Impl rule__Condition__Group__1
            {
            pushFollow(FOLLOW_35);
            rule__Condition__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Condition__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__0"
    // $ANTLR start "rule__Condition__Group__0__Impl"
    // InternalRosetta.g:8884:1: rule__Condition__Group__0__Impl : ( 'condition' ) ;
    public final void rule__Condition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8888:1: ( ( 'condition' ) )
            // InternalRosetta.g:8889:1: ( 'condition' )
            {
            // InternalRosetta.g:8889:1: ( 'condition' )
            // InternalRosetta.g:8890:2: 'condition'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConditionAccess().getConditionKeyword_0()); }
            match(input,14,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getConditionAccess().getConditionKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__0__Impl"
    // $ANTLR start "rule__Condition__Group__1"
    // InternalRosetta.g:8899:1: rule__Condition__Group__1 : rule__Condition__Group__1__Impl rule__Condition__Group__2 ;
    public final void rule__Condition__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8903:1: ( rule__Condition__Group__1__Impl rule__Condition__Group__2 )
            // InternalRosetta.g:8904:2: rule__Condition__Group__1__Impl rule__Condition__Group__2
            {
            pushFollow(FOLLOW_35);
            rule__Condition__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Condition__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__1"
    // $ANTLR start "rule__Condition__Group__1__Impl"
    // InternalRosetta.g:8911:1: rule__Condition__Group__1__Impl : ( ( ruleRosettaNamed )? ) ;
    public final void rule__Condition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8915:1: ( ( ( ruleRosettaNamed )? ) )
            // InternalRosetta.g:8916:1: ( ( ruleRosettaNamed )? )
            {
            // InternalRosetta.g:8916:1: ( ( ruleRosettaNamed )? )
            // InternalRosetta.g:8917:2: ( ruleRosettaNamed )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConditionAccess().getRosettaNamedParserRuleCall_1()); }
            // InternalRosetta.g:8918:2: ( ruleRosettaNamed )?
            int alt136=2;
            int LA136_0 = input.LA(1);
            if ( (LA136_0==RULE_ID||(LA136_0>=14 && LA136_0<=18)) ) {
                alt136=1;
            }
            switch (alt136) {
                case 1 :
                    // InternalRosetta.g:8918:3: ruleRosettaNamed
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaNamed();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getConditionAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__1__Impl"
    // $ANTLR start "rule__Condition__Group__2"
    // InternalRosetta.g:8926:1: rule__Condition__Group__2 : rule__Condition__Group__2__Impl rule__Condition__Group__3 ;
    public final void rule__Condition__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8930:1: ( rule__Condition__Group__2__Impl rule__Condition__Group__3 )
            // InternalRosetta.g:8931:2: rule__Condition__Group__2__Impl rule__Condition__Group__3
            {
            pushFollow(FOLLOW_34);
            rule__Condition__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Condition__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__2"
    // $ANTLR start "rule__Condition__Group__2__Impl"
    // InternalRosetta.g:8938:1: rule__Condition__Group__2__Impl : ( ':' ) ;
    public final void rule__Condition__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8942:1: ( ( ':' ) )
            // InternalRosetta.g:8943:1: ( ':' )
            {
            // InternalRosetta.g:8943:1: ( ':' )
            // InternalRosetta.g:8944:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConditionAccess().getColonKeyword_2()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getConditionAccess().getColonKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__2__Impl"
    // $ANTLR start "rule__Condition__Group__3"
    // InternalRosetta.g:8953:1: rule__Condition__Group__3 : rule__Condition__Group__3__Impl rule__Condition__Group__4 ;
    public final void rule__Condition__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8957:1: ( rule__Condition__Group__3__Impl rule__Condition__Group__4 )
            // InternalRosetta.g:8958:2: rule__Condition__Group__3__Impl rule__Condition__Group__4
            {
            pushFollow(FOLLOW_34);
            rule__Condition__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Condition__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__3"
    // $ANTLR start "rule__Condition__Group__3__Impl"
    // InternalRosetta.g:8965:1: rule__Condition__Group__3__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__Condition__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8969:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:8970:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:8970:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:8971:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConditionAccess().getRosettaDefinableParserRuleCall_3()); }
            // InternalRosetta.g:8972:2: ( ruleRosettaDefinable )?
            int alt137=2;
            alt137 = dfa137.predict(input);
            switch (alt137) {
                case 1 :
                    // InternalRosetta.g:8972:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getConditionAccess().getRosettaDefinableParserRuleCall_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__3__Impl"
    // $ANTLR start "rule__Condition__Group__4"
    // InternalRosetta.g:8980:1: rule__Condition__Group__4 : rule__Condition__Group__4__Impl rule__Condition__Group__5 ;
    public final void rule__Condition__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8984:1: ( rule__Condition__Group__4__Impl rule__Condition__Group__5 )
            // InternalRosetta.g:8985:2: rule__Condition__Group__4__Impl rule__Condition__Group__5
            {
            pushFollow(FOLLOW_34);
            rule__Condition__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Condition__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__4"
    // $ANTLR start "rule__Condition__Group__4__Impl"
    // InternalRosetta.g:8992:1: rule__Condition__Group__4__Impl : ( ( rule__Condition__Group_4__0 )* ) ;
    public final void rule__Condition__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:8996:1: ( ( ( rule__Condition__Group_4__0 )* ) )
            // InternalRosetta.g:8997:1: ( ( rule__Condition__Group_4__0 )* )
            {
            // InternalRosetta.g:8997:1: ( ( rule__Condition__Group_4__0 )* )
            // InternalRosetta.g:8998:2: ( rule__Condition__Group_4__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConditionAccess().getGroup_4()); }
            // InternalRosetta.g:8999:2: ( rule__Condition__Group_4__0 )*
            loop138:
            do {
                int alt138=2;
                alt138 = dfa138.predict(input);
                switch (alt138) {
            	case 1 :
            	    // InternalRosetta.g:8999:3: rule__Condition__Group_4__0
            	    {
            	    pushFollow(FOLLOW_25);
            	    rule__Condition__Group_4__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop138;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getConditionAccess().getGroup_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__4__Impl"
    // $ANTLR start "rule__Condition__Group__5"
    // InternalRosetta.g:9007:1: rule__Condition__Group__5 : rule__Condition__Group__5__Impl ;
    public final void rule__Condition__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9011:1: ( rule__Condition__Group__5__Impl )
            // InternalRosetta.g:9012:2: rule__Condition__Group__5__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Condition__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__5"
    // $ANTLR start "rule__Condition__Group__5__Impl"
    // InternalRosetta.g:9018:1: rule__Condition__Group__5__Impl : ( ( rule__Condition__ExpressionAssignment_5 ) ) ;
    public final void rule__Condition__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9022:1: ( ( ( rule__Condition__ExpressionAssignment_5 ) ) )
            // InternalRosetta.g:9023:1: ( ( rule__Condition__ExpressionAssignment_5 ) )
            {
            // InternalRosetta.g:9023:1: ( ( rule__Condition__ExpressionAssignment_5 ) )
            // InternalRosetta.g:9024:2: ( rule__Condition__ExpressionAssignment_5 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConditionAccess().getExpressionAssignment_5()); }
            // InternalRosetta.g:9025:2: ( rule__Condition__ExpressionAssignment_5 )
            // InternalRosetta.g:9025:3: rule__Condition__ExpressionAssignment_5
            {
            pushFollow(FOLLOW_2);
            rule__Condition__ExpressionAssignment_5(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getConditionAccess().getExpressionAssignment_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group__5__Impl"
    // $ANTLR start "rule__Condition__Group_4__0"
    // InternalRosetta.g:9034:1: rule__Condition__Group_4__0 : rule__Condition__Group_4__0__Impl ;
    public final void rule__Condition__Group_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9038:1: ( rule__Condition__Group_4__0__Impl )
            // InternalRosetta.g:9039:2: rule__Condition__Group_4__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Condition__Group_4__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group_4__0"
    // $ANTLR start "rule__Condition__Group_4__0__Impl"
    // InternalRosetta.g:9045:1: rule__Condition__Group_4__0__Impl : ( ( rule__Condition__Alternatives_4_0 ) ) ;
    public final void rule__Condition__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9049:1: ( ( ( rule__Condition__Alternatives_4_0 ) ) )
            // InternalRosetta.g:9050:1: ( ( rule__Condition__Alternatives_4_0 ) )
            {
            // InternalRosetta.g:9050:1: ( ( rule__Condition__Alternatives_4_0 ) )
            // InternalRosetta.g:9051:2: ( rule__Condition__Alternatives_4_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConditionAccess().getAlternatives_4_0()); }
            // InternalRosetta.g:9052:2: ( rule__Condition__Alternatives_4_0 )
            // InternalRosetta.g:9052:3: rule__Condition__Alternatives_4_0
            {
            pushFollow(FOLLOW_2);
            rule__Condition__Alternatives_4_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getConditionAccess().getAlternatives_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__Group_4__0__Impl"
    // $ANTLR start "rule__PostCondition__Group__0"
    // InternalRosetta.g:9061:1: rule__PostCondition__Group__0 : rule__PostCondition__Group__0__Impl rule__PostCondition__Group__1 ;
    public final void rule__PostCondition__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9065:1: ( rule__PostCondition__Group__0__Impl rule__PostCondition__Group__1 )
            // InternalRosetta.g:9066:2: rule__PostCondition__Group__0__Impl rule__PostCondition__Group__1
            {
            pushFollow(FOLLOW_35);
            rule__PostCondition__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__PostCondition__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__Group__0"
    // $ANTLR start "rule__PostCondition__Group__0__Impl"
    // InternalRosetta.g:9073:1: rule__PostCondition__Group__0__Impl : ( ( rule__PostCondition__PostConditionAssignment_0 ) ) ;
    public final void rule__PostCondition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9077:1: ( ( ( rule__PostCondition__PostConditionAssignment_0 ) ) )
            // InternalRosetta.g:9078:1: ( ( rule__PostCondition__PostConditionAssignment_0 ) )
            {
            // InternalRosetta.g:9078:1: ( ( rule__PostCondition__PostConditionAssignment_0 ) )
            // InternalRosetta.g:9079:2: ( rule__PostCondition__PostConditionAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getPostConditionAccess().getPostConditionAssignment_0()); }
            // InternalRosetta.g:9080:2: ( rule__PostCondition__PostConditionAssignment_0 )
            // InternalRosetta.g:9080:3: rule__PostCondition__PostConditionAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__PostCondition__PostConditionAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getPostConditionAccess().getPostConditionAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__Group__0__Impl"
    // $ANTLR start "rule__PostCondition__Group__1"
    // InternalRosetta.g:9088:1: rule__PostCondition__Group__1 : rule__PostCondition__Group__1__Impl rule__PostCondition__Group__2 ;
    public final void rule__PostCondition__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9092:1: ( rule__PostCondition__Group__1__Impl rule__PostCondition__Group__2 )
            // InternalRosetta.g:9093:2: rule__PostCondition__Group__1__Impl rule__PostCondition__Group__2
            {
            pushFollow(FOLLOW_35);
            rule__PostCondition__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__PostCondition__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__Group__1"
    // $ANTLR start "rule__PostCondition__Group__1__Impl"
    // InternalRosetta.g:9100:1: rule__PostCondition__Group__1__Impl : ( ( ruleRosettaNamed )? ) ;
    public final void rule__PostCondition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9104:1: ( ( ( ruleRosettaNamed )? ) )
            // InternalRosetta.g:9105:1: ( ( ruleRosettaNamed )? )
            {
            // InternalRosetta.g:9105:1: ( ( ruleRosettaNamed )? )
            // InternalRosetta.g:9106:2: ( ruleRosettaNamed )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getPostConditionAccess().getRosettaNamedParserRuleCall_1()); }
            // InternalRosetta.g:9107:2: ( ruleRosettaNamed )?
            int alt139=2;
            int LA139_0 = input.LA(1);
            if ( (LA139_0==RULE_ID||(LA139_0>=14 && LA139_0<=18)) ) {
                alt139=1;
            }
            switch (alt139) {
                case 1 :
                    // InternalRosetta.g:9107:3: ruleRosettaNamed
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaNamed();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getPostConditionAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__Group__1__Impl"
    // $ANTLR start "rule__PostCondition__Group__2"
    // InternalRosetta.g:9115:1: rule__PostCondition__Group__2 : rule__PostCondition__Group__2__Impl rule__PostCondition__Group__3 ;
    public final void rule__PostCondition__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9119:1: ( rule__PostCondition__Group__2__Impl rule__PostCondition__Group__3 )
            // InternalRosetta.g:9120:2: rule__PostCondition__Group__2__Impl rule__PostCondition__Group__3
            {
            pushFollow(FOLLOW_34);
            rule__PostCondition__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__PostCondition__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__Group__2"
    // $ANTLR start "rule__PostCondition__Group__2__Impl"
    // InternalRosetta.g:9127:1: rule__PostCondition__Group__2__Impl : ( ':' ) ;
    public final void rule__PostCondition__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9131:1: ( ( ':' ) )
            // InternalRosetta.g:9132:1: ( ':' )
            {
            // InternalRosetta.g:9132:1: ( ':' )
            // InternalRosetta.g:9133:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getPostConditionAccess().getColonKeyword_2()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getPostConditionAccess().getColonKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__Group__2__Impl"
    // $ANTLR start "rule__PostCondition__Group__3"
    // InternalRosetta.g:9142:1: rule__PostCondition__Group__3 : rule__PostCondition__Group__3__Impl rule__PostCondition__Group__4 ;
    public final void rule__PostCondition__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9146:1: ( rule__PostCondition__Group__3__Impl rule__PostCondition__Group__4 )
            // InternalRosetta.g:9147:2: rule__PostCondition__Group__3__Impl rule__PostCondition__Group__4
            {
            pushFollow(FOLLOW_34);
            rule__PostCondition__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__PostCondition__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__Group__3"
    // $ANTLR start "rule__PostCondition__Group__3__Impl"
    // InternalRosetta.g:9154:1: rule__PostCondition__Group__3__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__PostCondition__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9158:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:9159:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:9159:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:9160:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getPostConditionAccess().getRosettaDefinableParserRuleCall_3()); }
            // InternalRosetta.g:9161:2: ( ruleRosettaDefinable )?
            int alt140=2;
            alt140 = dfa140.predict(input);
            switch (alt140) {
                case 1 :
                    // InternalRosetta.g:9161:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getPostConditionAccess().getRosettaDefinableParserRuleCall_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__Group__3__Impl"
    // $ANTLR start "rule__PostCondition__Group__4"
    // InternalRosetta.g:9169:1: rule__PostCondition__Group__4 : rule__PostCondition__Group__4__Impl ;
    public final void rule__PostCondition__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9173:1: ( rule__PostCondition__Group__4__Impl )
            // InternalRosetta.g:9174:2: rule__PostCondition__Group__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__PostCondition__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__Group__4"
    // $ANTLR start "rule__PostCondition__Group__4__Impl"
    // InternalRosetta.g:9180:1: rule__PostCondition__Group__4__Impl : ( ( rule__PostCondition__ExpressionAssignment_4 ) ) ;
    public final void rule__PostCondition__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9184:1: ( ( ( rule__PostCondition__ExpressionAssignment_4 ) ) )
            // InternalRosetta.g:9185:1: ( ( rule__PostCondition__ExpressionAssignment_4 ) )
            {
            // InternalRosetta.g:9185:1: ( ( rule__PostCondition__ExpressionAssignment_4 ) )
            // InternalRosetta.g:9186:2: ( rule__PostCondition__ExpressionAssignment_4 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getPostConditionAccess().getExpressionAssignment_4()); }
            // InternalRosetta.g:9187:2: ( rule__PostCondition__ExpressionAssignment_4 )
            // InternalRosetta.g:9187:3: rule__PostCondition__ExpressionAssignment_4
            {
            pushFollow(FOLLOW_2);
            rule__PostCondition__ExpressionAssignment_4(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getPostConditionAccess().getExpressionAssignment_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__Group__4__Impl"
    // $ANTLR start "rule__Operation__Group__0"
    // InternalRosetta.g:9196:1: rule__Operation__Group__0 : rule__Operation__Group__0__Impl rule__Operation__Group__1 ;
    public final void rule__Operation__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9200:1: ( rule__Operation__Group__0__Impl rule__Operation__Group__1 )
            // InternalRosetta.g:9201:2: rule__Operation__Group__0__Impl rule__Operation__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__Operation__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Operation__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__0"
    // $ANTLR start "rule__Operation__Group__0__Impl"
    // InternalRosetta.g:9208:1: rule__Operation__Group__0__Impl : ( ( rule__Operation__Alternatives_0 ) ) ;
    public final void rule__Operation__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9212:1: ( ( ( rule__Operation__Alternatives_0 ) ) )
            // InternalRosetta.g:9213:1: ( ( rule__Operation__Alternatives_0 ) )
            {
            // InternalRosetta.g:9213:1: ( ( rule__Operation__Alternatives_0 ) )
            // InternalRosetta.g:9214:2: ( rule__Operation__Alternatives_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getAlternatives_0()); }
            // InternalRosetta.g:9215:2: ( rule__Operation__Alternatives_0 )
            // InternalRosetta.g:9215:3: rule__Operation__Alternatives_0
            {
            pushFollow(FOLLOW_2);
            rule__Operation__Alternatives_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getAlternatives_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__0__Impl"
    // $ANTLR start "rule__Operation__Group__1"
    // InternalRosetta.g:9223:1: rule__Operation__Group__1 : rule__Operation__Group__1__Impl rule__Operation__Group__2 ;
    public final void rule__Operation__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9227:1: ( rule__Operation__Group__1__Impl rule__Operation__Group__2 )
            // InternalRosetta.g:9228:2: rule__Operation__Group__1__Impl rule__Operation__Group__2
            {
            pushFollow(FOLLOW_36);
            rule__Operation__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Operation__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__1"
    // $ANTLR start "rule__Operation__Group__1__Impl"
    // InternalRosetta.g:9235:1: rule__Operation__Group__1__Impl : ( ( rule__Operation__AssignRootAssignment_1 ) ) ;
    public final void rule__Operation__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9239:1: ( ( ( rule__Operation__AssignRootAssignment_1 ) ) )
            // InternalRosetta.g:9240:1: ( ( rule__Operation__AssignRootAssignment_1 ) )
            {
            // InternalRosetta.g:9240:1: ( ( rule__Operation__AssignRootAssignment_1 ) )
            // InternalRosetta.g:9241:2: ( rule__Operation__AssignRootAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getAssignRootAssignment_1()); }
            // InternalRosetta.g:9242:2: ( rule__Operation__AssignRootAssignment_1 )
            // InternalRosetta.g:9242:3: rule__Operation__AssignRootAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__Operation__AssignRootAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getAssignRootAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__1__Impl"
    // $ANTLR start "rule__Operation__Group__2"
    // InternalRosetta.g:9250:1: rule__Operation__Group__2 : rule__Operation__Group__2__Impl rule__Operation__Group__3 ;
    public final void rule__Operation__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9254:1: ( rule__Operation__Group__2__Impl rule__Operation__Group__3 )
            // InternalRosetta.g:9255:2: rule__Operation__Group__2__Impl rule__Operation__Group__3
            {
            pushFollow(FOLLOW_36);
            rule__Operation__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Operation__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__2"
    // $ANTLR start "rule__Operation__Group__2__Impl"
    // InternalRosetta.g:9262:1: rule__Operation__Group__2__Impl : ( ( rule__Operation__PathAssignment_2 )? ) ;
    public final void rule__Operation__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9266:1: ( ( ( rule__Operation__PathAssignment_2 )? ) )
            // InternalRosetta.g:9267:1: ( ( rule__Operation__PathAssignment_2 )? )
            {
            // InternalRosetta.g:9267:1: ( ( rule__Operation__PathAssignment_2 )? )
            // InternalRosetta.g:9268:2: ( rule__Operation__PathAssignment_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getPathAssignment_2()); }
            // InternalRosetta.g:9269:2: ( rule__Operation__PathAssignment_2 )?
            int alt141=2;
            int LA141_0 = input.LA(1);
            if ( (LA141_0==78) ) {
                alt141=1;
            }
            switch (alt141) {
                case 1 :
                    // InternalRosetta.g:9269:3: rule__Operation__PathAssignment_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__Operation__PathAssignment_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getPathAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__2__Impl"
    // $ANTLR start "rule__Operation__Group__3"
    // InternalRosetta.g:9277:1: rule__Operation__Group__3 : rule__Operation__Group__3__Impl rule__Operation__Group__4 ;
    public final void rule__Operation__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9281:1: ( rule__Operation__Group__3__Impl rule__Operation__Group__4 )
            // InternalRosetta.g:9282:2: rule__Operation__Group__3__Impl rule__Operation__Group__4
            {
            pushFollow(FOLLOW_34);
            rule__Operation__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Operation__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__3"
    // $ANTLR start "rule__Operation__Group__3__Impl"
    // InternalRosetta.g:9289:1: rule__Operation__Group__3__Impl : ( ':' ) ;
    public final void rule__Operation__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9293:1: ( ( ':' ) )
            // InternalRosetta.g:9294:1: ( ':' )
            {
            // InternalRosetta.g:9294:1: ( ':' )
            // InternalRosetta.g:9295:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getColonKeyword_3()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getColonKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__3__Impl"
    // $ANTLR start "rule__Operation__Group__4"
    // InternalRosetta.g:9304:1: rule__Operation__Group__4 : rule__Operation__Group__4__Impl rule__Operation__Group__5 ;
    public final void rule__Operation__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9308:1: ( rule__Operation__Group__4__Impl rule__Operation__Group__5 )
            // InternalRosetta.g:9309:2: rule__Operation__Group__4__Impl rule__Operation__Group__5
            {
            pushFollow(FOLLOW_34);
            rule__Operation__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Operation__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__4"
    // $ANTLR start "rule__Operation__Group__4__Impl"
    // InternalRosetta.g:9316:1: rule__Operation__Group__4__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__Operation__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9320:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:9321:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:9321:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:9322:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getRosettaDefinableParserRuleCall_4()); }
            // InternalRosetta.g:9323:2: ( ruleRosettaDefinable )?
            int alt142=2;
            alt142 = dfa142.predict(input);
            switch (alt142) {
                case 1 :
                    // InternalRosetta.g:9323:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getRosettaDefinableParserRuleCall_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__4__Impl"
    // $ANTLR start "rule__Operation__Group__5"
    // InternalRosetta.g:9331:1: rule__Operation__Group__5 : rule__Operation__Group__5__Impl ;
    public final void rule__Operation__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9335:1: ( rule__Operation__Group__5__Impl )
            // InternalRosetta.g:9336:2: rule__Operation__Group__5__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Operation__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__5"
    // $ANTLR start "rule__Operation__Group__5__Impl"
    // InternalRosetta.g:9342:1: rule__Operation__Group__5__Impl : ( ( rule__Operation__ExpressionAssignment_5 ) ) ;
    public final void rule__Operation__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9346:1: ( ( ( rule__Operation__ExpressionAssignment_5 ) ) )
            // InternalRosetta.g:9347:1: ( ( rule__Operation__ExpressionAssignment_5 ) )
            {
            // InternalRosetta.g:9347:1: ( ( rule__Operation__ExpressionAssignment_5 ) )
            // InternalRosetta.g:9348:2: ( rule__Operation__ExpressionAssignment_5 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getExpressionAssignment_5()); }
            // InternalRosetta.g:9349:2: ( rule__Operation__ExpressionAssignment_5 )
            // InternalRosetta.g:9349:3: rule__Operation__ExpressionAssignment_5
            {
            pushFollow(FOLLOW_2);
            rule__Operation__ExpressionAssignment_5(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getExpressionAssignment_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__Group__5__Impl"
    // $ANTLR start "rule__Segment__Group__0"
    // InternalRosetta.g:9358:1: rule__Segment__Group__0 : rule__Segment__Group__0__Impl rule__Segment__Group__1 ;
    public final void rule__Segment__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9362:1: ( rule__Segment__Group__0__Impl rule__Segment__Group__1 )
            // InternalRosetta.g:9363:2: rule__Segment__Group__0__Impl rule__Segment__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__Segment__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Segment__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Segment__Group__0"
    // $ANTLR start "rule__Segment__Group__0__Impl"
    // InternalRosetta.g:9370:1: rule__Segment__Group__0__Impl : ( '->' ) ;
    public final void rule__Segment__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9374:1: ( ( '->' ) )
            // InternalRosetta.g:9375:1: ( '->' )
            {
            // InternalRosetta.g:9375:1: ( '->' )
            // InternalRosetta.g:9376:2: '->'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSegmentAccess().getHyphenMinusGreaterThanSignKeyword_0()); }
            match(input,78,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSegmentAccess().getHyphenMinusGreaterThanSignKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Segment__Group__0__Impl"
    // $ANTLR start "rule__Segment__Group__1"
    // InternalRosetta.g:9385:1: rule__Segment__Group__1 : rule__Segment__Group__1__Impl rule__Segment__Group__2 ;
    public final void rule__Segment__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9389:1: ( rule__Segment__Group__1__Impl rule__Segment__Group__2 )
            // InternalRosetta.g:9390:2: rule__Segment__Group__1__Impl rule__Segment__Group__2
            {
            pushFollow(FOLLOW_37);
            rule__Segment__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Segment__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Segment__Group__1"
    // $ANTLR start "rule__Segment__Group__1__Impl"
    // InternalRosetta.g:9397:1: rule__Segment__Group__1__Impl : ( ( rule__Segment__AttributeAssignment_1 ) ) ;
    public final void rule__Segment__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9401:1: ( ( ( rule__Segment__AttributeAssignment_1 ) ) )
            // InternalRosetta.g:9402:1: ( ( rule__Segment__AttributeAssignment_1 ) )
            {
            // InternalRosetta.g:9402:1: ( ( rule__Segment__AttributeAssignment_1 ) )
            // InternalRosetta.g:9403:2: ( rule__Segment__AttributeAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSegmentAccess().getAttributeAssignment_1()); }
            // InternalRosetta.g:9404:2: ( rule__Segment__AttributeAssignment_1 )
            // InternalRosetta.g:9404:3: rule__Segment__AttributeAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__Segment__AttributeAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getSegmentAccess().getAttributeAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Segment__Group__1__Impl"
    // $ANTLR start "rule__Segment__Group__2"
    // InternalRosetta.g:9412:1: rule__Segment__Group__2 : rule__Segment__Group__2__Impl ;
    public final void rule__Segment__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9416:1: ( rule__Segment__Group__2__Impl )
            // InternalRosetta.g:9417:2: rule__Segment__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Segment__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Segment__Group__2"
    // $ANTLR start "rule__Segment__Group__2__Impl"
    // InternalRosetta.g:9423:1: rule__Segment__Group__2__Impl : ( ( rule__Segment__NextAssignment_2 )? ) ;
    public final void rule__Segment__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9427:1: ( ( ( rule__Segment__NextAssignment_2 )? ) )
            // InternalRosetta.g:9428:1: ( ( rule__Segment__NextAssignment_2 )? )
            {
            // InternalRosetta.g:9428:1: ( ( rule__Segment__NextAssignment_2 )? )
            // InternalRosetta.g:9429:2: ( rule__Segment__NextAssignment_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSegmentAccess().getNextAssignment_2()); }
            // InternalRosetta.g:9430:2: ( rule__Segment__NextAssignment_2 )?
            int alt143=2;
            int LA143_0 = input.LA(1);
            if ( (LA143_0==78) ) {
                alt143=1;
            }
            switch (alt143) {
                case 1 :
                    // InternalRosetta.g:9430:3: rule__Segment__NextAssignment_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__Segment__NextAssignment_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getSegmentAccess().getNextAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Segment__Group__2__Impl"
    // $ANTLR start "rule__EnumValueReference__Group__0"
    // InternalRosetta.g:9439:1: rule__EnumValueReference__Group__0 : rule__EnumValueReference__Group__0__Impl rule__EnumValueReference__Group__1 ;
    public final void rule__EnumValueReference__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9443:1: ( rule__EnumValueReference__Group__0__Impl rule__EnumValueReference__Group__1 )
            // InternalRosetta.g:9444:2: rule__EnumValueReference__Group__0__Impl rule__EnumValueReference__Group__1
            {
            pushFollow(FOLLOW_37);
            rule__EnumValueReference__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__EnumValueReference__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__EnumValueReference__Group__0"
    // $ANTLR start "rule__EnumValueReference__Group__0__Impl"
    // InternalRosetta.g:9451:1: rule__EnumValueReference__Group__0__Impl : ( ( rule__EnumValueReference__EnumerationAssignment_0 ) ) ;
    public final void rule__EnumValueReference__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9455:1: ( ( ( rule__EnumValueReference__EnumerationAssignment_0 ) ) )
            // InternalRosetta.g:9456:1: ( ( rule__EnumValueReference__EnumerationAssignment_0 ) )
            {
            // InternalRosetta.g:9456:1: ( ( rule__EnumValueReference__EnumerationAssignment_0 ) )
            // InternalRosetta.g:9457:2: ( rule__EnumValueReference__EnumerationAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumValueReferenceAccess().getEnumerationAssignment_0()); }
            // InternalRosetta.g:9458:2: ( rule__EnumValueReference__EnumerationAssignment_0 )
            // InternalRosetta.g:9458:3: rule__EnumValueReference__EnumerationAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__EnumValueReference__EnumerationAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumValueReferenceAccess().getEnumerationAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__EnumValueReference__Group__0__Impl"
    // $ANTLR start "rule__EnumValueReference__Group__1"
    // InternalRosetta.g:9466:1: rule__EnumValueReference__Group__1 : rule__EnumValueReference__Group__1__Impl rule__EnumValueReference__Group__2 ;
    public final void rule__EnumValueReference__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9470:1: ( rule__EnumValueReference__Group__1__Impl rule__EnumValueReference__Group__2 )
            // InternalRosetta.g:9471:2: rule__EnumValueReference__Group__1__Impl rule__EnumValueReference__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__EnumValueReference__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__EnumValueReference__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__EnumValueReference__Group__1"
    // $ANTLR start "rule__EnumValueReference__Group__1__Impl"
    // InternalRosetta.g:9478:1: rule__EnumValueReference__Group__1__Impl : ( '->' ) ;
    public final void rule__EnumValueReference__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9482:1: ( ( '->' ) )
            // InternalRosetta.g:9483:1: ( '->' )
            {
            // InternalRosetta.g:9483:1: ( '->' )
            // InternalRosetta.g:9484:2: '->'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumValueReferenceAccess().getHyphenMinusGreaterThanSignKeyword_1()); }
            match(input,78,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumValueReferenceAccess().getHyphenMinusGreaterThanSignKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__EnumValueReference__Group__1__Impl"
    // $ANTLR start "rule__EnumValueReference__Group__2"
    // InternalRosetta.g:9493:1: rule__EnumValueReference__Group__2 : rule__EnumValueReference__Group__2__Impl ;
    public final void rule__EnumValueReference__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9497:1: ( rule__EnumValueReference__Group__2__Impl )
            // InternalRosetta.g:9498:2: rule__EnumValueReference__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__EnumValueReference__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__EnumValueReference__Group__2"
    // $ANTLR start "rule__EnumValueReference__Group__2__Impl"
    // InternalRosetta.g:9504:1: rule__EnumValueReference__Group__2__Impl : ( ( rule__EnumValueReference__ValueAssignment_2 ) ) ;
    public final void rule__EnumValueReference__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9508:1: ( ( ( rule__EnumValueReference__ValueAssignment_2 ) ) )
            // InternalRosetta.g:9509:1: ( ( rule__EnumValueReference__ValueAssignment_2 ) )
            {
            // InternalRosetta.g:9509:1: ( ( rule__EnumValueReference__ValueAssignment_2 ) )
            // InternalRosetta.g:9510:2: ( rule__EnumValueReference__ValueAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumValueReferenceAccess().getValueAssignment_2()); }
            // InternalRosetta.g:9511:2: ( rule__EnumValueReference__ValueAssignment_2 )
            // InternalRosetta.g:9511:3: rule__EnumValueReference__ValueAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__EnumValueReference__ValueAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumValueReferenceAccess().getValueAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__EnumValueReference__Group__2__Impl"
    // $ANTLR start "rule__EmptyLiteral__Group__0"
    // InternalRosetta.g:9520:1: rule__EmptyLiteral__Group__0 : rule__EmptyLiteral__Group__0__Impl rule__EmptyLiteral__Group__1 ;
    public final void rule__EmptyLiteral__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9524:1: ( rule__EmptyLiteral__Group__0__Impl rule__EmptyLiteral__Group__1 )
            // InternalRosetta.g:9525:2: rule__EmptyLiteral__Group__0__Impl rule__EmptyLiteral__Group__1
            {
            pushFollow(FOLLOW_38);
            rule__EmptyLiteral__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__EmptyLiteral__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__EmptyLiteral__Group__0"
    // $ANTLR start "rule__EmptyLiteral__Group__0__Impl"
    // InternalRosetta.g:9532:1: rule__EmptyLiteral__Group__0__Impl : ( () ) ;
    public final void rule__EmptyLiteral__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9536:1: ( ( () ) )
            // InternalRosetta.g:9537:1: ( () )
            {
            // InternalRosetta.g:9537:1: ( () )
            // InternalRosetta.g:9538:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEmptyLiteralAccess().getListLiteralAction_0()); }
            // InternalRosetta.g:9539:2: ()
            // InternalRosetta.g:9539:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getEmptyLiteralAccess().getListLiteralAction_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__EmptyLiteral__Group__0__Impl"
    // $ANTLR start "rule__EmptyLiteral__Group__1"
    // InternalRosetta.g:9547:1: rule__EmptyLiteral__Group__1 : rule__EmptyLiteral__Group__1__Impl ;
    public final void rule__EmptyLiteral__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9551:1: ( rule__EmptyLiteral__Group__1__Impl )
            // InternalRosetta.g:9552:2: rule__EmptyLiteral__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__EmptyLiteral__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__EmptyLiteral__Group__1"
    // $ANTLR start "rule__EmptyLiteral__Group__1__Impl"
    // InternalRosetta.g:9558:1: rule__EmptyLiteral__Group__1__Impl : ( 'empty' ) ;
    public final void rule__EmptyLiteral__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9562:1: ( ( 'empty' ) )
            // InternalRosetta.g:9563:1: ( 'empty' )
            {
            // InternalRosetta.g:9563:1: ( 'empty' )
            // InternalRosetta.g:9564:2: 'empty'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEmptyLiteralAccess().getEmptyKeyword_1()); }
            match(input,79,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEmptyLiteralAccess().getEmptyKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__EmptyLiteral__Group__1__Impl"
    // $ANTLR start "rule__ListLiteral__Group__0"
    // InternalRosetta.g:9574:1: rule__ListLiteral__Group__0 : rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 ;
    public final void rule__ListLiteral__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9578:1: ( rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1 )
            // InternalRosetta.g:9579:2: rule__ListLiteral__Group__0__Impl rule__ListLiteral__Group__1
            {
            pushFollow(FOLLOW_39);
            rule__ListLiteral__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ListLiteral__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group__0"
    // $ANTLR start "rule__ListLiteral__Group__0__Impl"
    // InternalRosetta.g:9586:1: rule__ListLiteral__Group__0__Impl : ( () ) ;
    public final void rule__ListLiteral__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9590:1: ( ( () ) )
            // InternalRosetta.g:9591:1: ( () )
            {
            // InternalRosetta.g:9591:1: ( () )
            // InternalRosetta.g:9592:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); }
            // InternalRosetta.g:9593:2: ()
            // InternalRosetta.g:9593:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralAccess().getListLiteralAction_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__ListLiteral__Group__0__Impl"
    // $ANTLR start "rule__ListLiteral__Group__1"
    // InternalRosetta.g:9601:1: rule__ListLiteral__Group__1 : rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 ;
    public final void rule__ListLiteral__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9605:1: ( rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2 )
            // InternalRosetta.g:9606:2: rule__ListLiteral__Group__1__Impl rule__ListLiteral__Group__2
            {
            pushFollow(FOLLOW_40);
            rule__ListLiteral__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ListLiteral__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group__1"
    // $ANTLR start "rule__ListLiteral__Group__1__Impl"
    // InternalRosetta.g:9613:1: rule__ListLiteral__Group__1__Impl : ( '[' ) ;
    public final void rule__ListLiteral__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9617:1: ( ( '[' ) )
            // InternalRosetta.g:9618:1: ( '[' )
            {
            // InternalRosetta.g:9618:1: ( '[' )
            // InternalRosetta.g:9619:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralAccess().getLeftSquareBracketKeyword_1()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralAccess().getLeftSquareBracketKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group__1__Impl"
    // $ANTLR start "rule__ListLiteral__Group__2"
    // InternalRosetta.g:9628:1: rule__ListLiteral__Group__2 : rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 ;
    public final void rule__ListLiteral__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9632:1: ( rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3 )
            // InternalRosetta.g:9633:2: rule__ListLiteral__Group__2__Impl rule__ListLiteral__Group__3
            {
            pushFollow(FOLLOW_40);
            rule__ListLiteral__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ListLiteral__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group__2"
    // $ANTLR start "rule__ListLiteral__Group__2__Impl"
    // InternalRosetta.g:9640:1: rule__ListLiteral__Group__2__Impl : ( ( rule__ListLiteral__Group_2__0 )? ) ;
    public final void rule__ListLiteral__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9644:1: ( ( ( rule__ListLiteral__Group_2__0 )? ) )
            // InternalRosetta.g:9645:1: ( ( rule__ListLiteral__Group_2__0 )? )
            {
            // InternalRosetta.g:9645:1: ( ( rule__ListLiteral__Group_2__0 )? )
            // InternalRosetta.g:9646:2: ( rule__ListLiteral__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralAccess().getGroup_2()); }
            // InternalRosetta.g:9647:2: ( rule__ListLiteral__Group_2__0 )?
            int alt144=2;
            int LA144_0 = input.LA(1);
            if ( ((LA144_0>=RULE_STRING && LA144_0<=RULE_INT)||(LA144_0>=12 && LA144_0<=20)||(LA144_0>=26 && LA144_0<=29)||(LA144_0>=32 && LA144_0<=39)||(LA144_0>=49 && LA144_0<=50)||(LA144_0>=55 && LA144_0<=58)||LA144_0==61||LA144_0==65||LA144_0==73||LA144_0==79||LA144_0==103||(LA144_0>=105 && LA144_0<=106)||LA144_0==114||(LA144_0>=119 && LA144_0<=120)||LA144_0==136||(LA144_0>=138 && LA144_0<=162)) ) {
                alt144=1;
            }
            switch (alt144) {
                case 1 :
                    // InternalRosetta.g:9647:3: rule__ListLiteral__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__ListLiteral__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group__2__Impl"
    // $ANTLR start "rule__ListLiteral__Group__3"
    // InternalRosetta.g:9655:1: rule__ListLiteral__Group__3 : rule__ListLiteral__Group__3__Impl ;
    public final void rule__ListLiteral__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9659:1: ( rule__ListLiteral__Group__3__Impl )
            // InternalRosetta.g:9660:2: rule__ListLiteral__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ListLiteral__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group__3"
    // $ANTLR start "rule__ListLiteral__Group__3__Impl"
    // InternalRosetta.g:9666:1: rule__ListLiteral__Group__3__Impl : ( ']' ) ;
    public final void rule__ListLiteral__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9670:1: ( ( ']' ) )
            // InternalRosetta.g:9671:1: ( ']' )
            {
            // InternalRosetta.g:9671:1: ( ']' )
            // InternalRosetta.g:9672:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralAccess().getRightSquareBracketKeyword_3()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralAccess().getRightSquareBracketKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group__3__Impl"
    // $ANTLR start "rule__ListLiteral__Group_2__0"
    // InternalRosetta.g:9682:1: rule__ListLiteral__Group_2__0 : rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 ;
    public final void rule__ListLiteral__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9686:1: ( rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1 )
            // InternalRosetta.g:9687:2: rule__ListLiteral__Group_2__0__Impl rule__ListLiteral__Group_2__1
            {
            pushFollow(FOLLOW_41);
            rule__ListLiteral__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ListLiteral__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group_2__0"
    // $ANTLR start "rule__ListLiteral__Group_2__0__Impl"
    // InternalRosetta.g:9694:1: rule__ListLiteral__Group_2__0__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) ;
    public final void rule__ListLiteral__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9698:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_0 ) ) )
            // InternalRosetta.g:9699:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) )
            {
            // InternalRosetta.g:9699:1: ( ( rule__ListLiteral__ElementsAssignment_2_0 ) )
            // InternalRosetta.g:9700:2: ( rule__ListLiteral__ElementsAssignment_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); }
            // InternalRosetta.g:9701:2: ( rule__ListLiteral__ElementsAssignment_2_0 )
            // InternalRosetta.g:9701:3: rule__ListLiteral__ElementsAssignment_2_0
            {
            pushFollow(FOLLOW_2);
            rule__ListLiteral__ElementsAssignment_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group_2__0__Impl"
    // $ANTLR start "rule__ListLiteral__Group_2__1"
    // InternalRosetta.g:9709:1: rule__ListLiteral__Group_2__1 : rule__ListLiteral__Group_2__1__Impl ;
    public final void rule__ListLiteral__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9713:1: ( rule__ListLiteral__Group_2__1__Impl )
            // InternalRosetta.g:9714:2: rule__ListLiteral__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ListLiteral__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group_2__1"
    // $ANTLR start "rule__ListLiteral__Group_2__1__Impl"
    // InternalRosetta.g:9720:1: rule__ListLiteral__Group_2__1__Impl : ( ( rule__ListLiteral__Group_2_1__0 )* ) ;
    public final void rule__ListLiteral__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9724:1: ( ( ( rule__ListLiteral__Group_2_1__0 )* ) )
            // InternalRosetta.g:9725:1: ( ( rule__ListLiteral__Group_2_1__0 )* )
            {
            // InternalRosetta.g:9725:1: ( ( rule__ListLiteral__Group_2_1__0 )* )
            // InternalRosetta.g:9726:2: ( rule__ListLiteral__Group_2_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralAccess().getGroup_2_1()); }
            // InternalRosetta.g:9727:2: ( rule__ListLiteral__Group_2_1__0 )*
            loop145:
            do {
                int alt145=2;
                int LA145_0 = input.LA(1);
                if ( (LA145_0==40) ) {
                    alt145=1;
                }
                switch (alt145) {
            	case 1 :
            	    // InternalRosetta.g:9727:3: rule__ListLiteral__Group_2_1__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__ListLiteral__Group_2_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop145;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralAccess().getGroup_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group_2__1__Impl"
    // $ANTLR start "rule__ListLiteral__Group_2_1__0"
    // InternalRosetta.g:9736:1: rule__ListLiteral__Group_2_1__0 : rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 ;
    public final void rule__ListLiteral__Group_2_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9740:1: ( rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1 )
            // InternalRosetta.g:9741:2: rule__ListLiteral__Group_2_1__0__Impl rule__ListLiteral__Group_2_1__1
            {
            pushFollow(FOLLOW_34);
            rule__ListLiteral__Group_2_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ListLiteral__Group_2_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group_2_1__0"
    // $ANTLR start "rule__ListLiteral__Group_2_1__0__Impl"
    // InternalRosetta.g:9748:1: rule__ListLiteral__Group_2_1__0__Impl : ( ',' ) ;
    public final void rule__ListLiteral__Group_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9752:1: ( ( ',' ) )
            // InternalRosetta.g:9753:1: ( ',' )
            {
            // InternalRosetta.g:9753:1: ( ',' )
            // InternalRosetta.g:9754:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralAccess().getCommaKeyword_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group_2_1__0__Impl"
    // $ANTLR start "rule__ListLiteral__Group_2_1__1"
    // InternalRosetta.g:9763:1: rule__ListLiteral__Group_2_1__1 : rule__ListLiteral__Group_2_1__1__Impl ;
    public final void rule__ListLiteral__Group_2_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9767:1: ( rule__ListLiteral__Group_2_1__1__Impl )
            // InternalRosetta.g:9768:2: rule__ListLiteral__Group_2_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ListLiteral__Group_2_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group_2_1__1"
    // $ANTLR start "rule__ListLiteral__Group_2_1__1__Impl"
    // InternalRosetta.g:9774:1: rule__ListLiteral__Group_2_1__1__Impl : ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) ;
    public final void rule__ListLiteral__Group_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9778:1: ( ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) ) )
            // InternalRosetta.g:9779:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) )
            {
            // InternalRosetta.g:9779:1: ( ( rule__ListLiteral__ElementsAssignment_2_1_1 ) )
            // InternalRosetta.g:9780:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); }
            // InternalRosetta.g:9781:2: ( rule__ListLiteral__ElementsAssignment_2_1_1 )
            // InternalRosetta.g:9781:3: rule__ListLiteral__ElementsAssignment_2_1_1
            {
            pushFollow(FOLLOW_2);
            rule__ListLiteral__ElementsAssignment_2_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralAccess().getElementsAssignment_2_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__Group_2_1__1__Impl"
    // $ANTLR start "rule__RosettaDefinable__Group__0"
    // InternalRosetta.g:9790:1: rule__RosettaDefinable__Group__0 : rule__RosettaDefinable__Group__0__Impl rule__RosettaDefinable__Group__1 ;
    public final void rule__RosettaDefinable__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9794:1: ( rule__RosettaDefinable__Group__0__Impl rule__RosettaDefinable__Group__1 )
            // InternalRosetta.g:9795:2: rule__RosettaDefinable__Group__0__Impl rule__RosettaDefinable__Group__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaDefinable__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDefinable__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDefinable__Group__0"
    // $ANTLR start "rule__RosettaDefinable__Group__0__Impl"
    // InternalRosetta.g:9802:1: rule__RosettaDefinable__Group__0__Impl : ( '<' ) ;
    public final void rule__RosettaDefinable__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9806:1: ( ( '<' ) )
            // InternalRosetta.g:9807:1: ( '<' )
            {
            // InternalRosetta.g:9807:1: ( '<' )
            // InternalRosetta.g:9808:2: '<'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDefinableAccess().getLessThanSignKeyword_0()); }
            match(input,35,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDefinableAccess().getLessThanSignKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDefinable__Group__0__Impl"
    // $ANTLR start "rule__RosettaDefinable__Group__1"
    // InternalRosetta.g:9817:1: rule__RosettaDefinable__Group__1 : rule__RosettaDefinable__Group__1__Impl rule__RosettaDefinable__Group__2 ;
    public final void rule__RosettaDefinable__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9821:1: ( rule__RosettaDefinable__Group__1__Impl rule__RosettaDefinable__Group__2 )
            // InternalRosetta.g:9822:2: rule__RosettaDefinable__Group__1__Impl rule__RosettaDefinable__Group__2
            {
            pushFollow(FOLLOW_43);
            rule__RosettaDefinable__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDefinable__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDefinable__Group__1"
    // $ANTLR start "rule__RosettaDefinable__Group__1__Impl"
    // InternalRosetta.g:9829:1: rule__RosettaDefinable__Group__1__Impl : ( ( rule__RosettaDefinable__DefinitionAssignment_1 ) ) ;
    public final void rule__RosettaDefinable__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9833:1: ( ( ( rule__RosettaDefinable__DefinitionAssignment_1 ) ) )
            // InternalRosetta.g:9834:1: ( ( rule__RosettaDefinable__DefinitionAssignment_1 ) )
            {
            // InternalRosetta.g:9834:1: ( ( rule__RosettaDefinable__DefinitionAssignment_1 ) )
            // InternalRosetta.g:9835:2: ( rule__RosettaDefinable__DefinitionAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDefinableAccess().getDefinitionAssignment_1()); }
            // InternalRosetta.g:9836:2: ( rule__RosettaDefinable__DefinitionAssignment_1 )
            // InternalRosetta.g:9836:3: rule__RosettaDefinable__DefinitionAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDefinable__DefinitionAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDefinableAccess().getDefinitionAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDefinable__Group__1__Impl"
    // $ANTLR start "rule__RosettaDefinable__Group__2"
    // InternalRosetta.g:9844:1: rule__RosettaDefinable__Group__2 : rule__RosettaDefinable__Group__2__Impl ;
    public final void rule__RosettaDefinable__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9848:1: ( rule__RosettaDefinable__Group__2__Impl )
            // InternalRosetta.g:9849:2: rule__RosettaDefinable__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDefinable__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDefinable__Group__2"
    // $ANTLR start "rule__RosettaDefinable__Group__2__Impl"
    // InternalRosetta.g:9855:1: rule__RosettaDefinable__Group__2__Impl : ( '>' ) ;
    public final void rule__RosettaDefinable__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9859:1: ( ( '>' ) )
            // InternalRosetta.g:9860:1: ( '>' )
            {
            // InternalRosetta.g:9860:1: ( '>' )
            // InternalRosetta.g:9861:2: '>'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDefinableAccess().getGreaterThanSignKeyword_2()); }
            match(input,34,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDefinableAccess().getGreaterThanSignKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDefinable__Group__2__Impl"
    // $ANTLR start "rule__TypeCall__Group__0"
    // InternalRosetta.g:9871:1: rule__TypeCall__Group__0 : rule__TypeCall__Group__0__Impl rule__TypeCall__Group__1 ;
    public final void rule__TypeCall__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9875:1: ( rule__TypeCall__Group__0__Impl rule__TypeCall__Group__1 )
            // InternalRosetta.g:9876:2: rule__TypeCall__Group__0__Impl rule__TypeCall__Group__1
            {
            pushFollow(FOLLOW_28);
            rule__TypeCall__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeCall__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group__0"
    // $ANTLR start "rule__TypeCall__Group__0__Impl"
    // InternalRosetta.g:9883:1: rule__TypeCall__Group__0__Impl : ( ( rule__TypeCall__TypeAssignment_0 ) ) ;
    public final void rule__TypeCall__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9887:1: ( ( ( rule__TypeCall__TypeAssignment_0 ) ) )
            // InternalRosetta.g:9888:1: ( ( rule__TypeCall__TypeAssignment_0 ) )
            {
            // InternalRosetta.g:9888:1: ( ( rule__TypeCall__TypeAssignment_0 ) )
            // InternalRosetta.g:9889:2: ( rule__TypeCall__TypeAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getTypeAssignment_0()); }
            // InternalRosetta.g:9890:2: ( rule__TypeCall__TypeAssignment_0 )
            // InternalRosetta.g:9890:3: rule__TypeCall__TypeAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__TypeCall__TypeAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getTypeAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group__0__Impl"
    // $ANTLR start "rule__TypeCall__Group__1"
    // InternalRosetta.g:9898:1: rule__TypeCall__Group__1 : rule__TypeCall__Group__1__Impl ;
    public final void rule__TypeCall__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9902:1: ( rule__TypeCall__Group__1__Impl )
            // InternalRosetta.g:9903:2: rule__TypeCall__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__TypeCall__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group__1"
    // $ANTLR start "rule__TypeCall__Group__1__Impl"
    // InternalRosetta.g:9909:1: rule__TypeCall__Group__1__Impl : ( ( rule__TypeCall__Group_1__0 )? ) ;
    public final void rule__TypeCall__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9913:1: ( ( ( rule__TypeCall__Group_1__0 )? ) )
            // InternalRosetta.g:9914:1: ( ( rule__TypeCall__Group_1__0 )? )
            {
            // InternalRosetta.g:9914:1: ( ( rule__TypeCall__Group_1__0 )? )
            // InternalRosetta.g:9915:2: ( rule__TypeCall__Group_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getGroup_1()); }
            // InternalRosetta.g:9916:2: ( rule__TypeCall__Group_1__0 )?
            int alt146=2;
            int LA146_0 = input.LA(1);
            if ( (LA146_0==73) ) {
                int LA146_1 = input.LA(2);
                if ( (LA146_1==RULE_ID||(LA146_1>=12 && LA146_1<=18)) ) {
                    alt146=1;
                }}
            switch (alt146) {
                case 1 :
                    // InternalRosetta.g:9916:3: rule__TypeCall__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__TypeCall__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group__1__Impl"
    // $ANTLR start "rule__TypeCall__Group_1__0"
    // InternalRosetta.g:9925:1: rule__TypeCall__Group_1__0 : rule__TypeCall__Group_1__0__Impl rule__TypeCall__Group_1__1 ;
    public final void rule__TypeCall__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9929:1: ( rule__TypeCall__Group_1__0__Impl rule__TypeCall__Group_1__1 )
            // InternalRosetta.g:9930:2: rule__TypeCall__Group_1__0__Impl rule__TypeCall__Group_1__1
            {
            pushFollow(FOLLOW_44);
            rule__TypeCall__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeCall__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1__0"
    // $ANTLR start "rule__TypeCall__Group_1__0__Impl"
    // InternalRosetta.g:9937:1: rule__TypeCall__Group_1__0__Impl : ( '(' ) ;
    public final void rule__TypeCall__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9941:1: ( ( '(' ) )
            // InternalRosetta.g:9942:1: ( '(' )
            {
            // InternalRosetta.g:9942:1: ( '(' )
            // InternalRosetta.g:9943:2: '('
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getLeftParenthesisKeyword_1_0()); }
            match(input,73,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getLeftParenthesisKeyword_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1__0__Impl"
    // $ANTLR start "rule__TypeCall__Group_1__1"
    // InternalRosetta.g:9952:1: rule__TypeCall__Group_1__1 : rule__TypeCall__Group_1__1__Impl rule__TypeCall__Group_1__2 ;
    public final void rule__TypeCall__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9956:1: ( rule__TypeCall__Group_1__1__Impl rule__TypeCall__Group_1__2 )
            // InternalRosetta.g:9957:2: rule__TypeCall__Group_1__1__Impl rule__TypeCall__Group_1__2
            {
            pushFollow(FOLLOW_45);
            rule__TypeCall__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeCall__Group_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1__1"
    // $ANTLR start "rule__TypeCall__Group_1__1__Impl"
    // InternalRosetta.g:9964:1: rule__TypeCall__Group_1__1__Impl : ( ( rule__TypeCall__ArgumentsAssignment_1_1 ) ) ;
    public final void rule__TypeCall__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9968:1: ( ( ( rule__TypeCall__ArgumentsAssignment_1_1 ) ) )
            // InternalRosetta.g:9969:1: ( ( rule__TypeCall__ArgumentsAssignment_1_1 ) )
            {
            // InternalRosetta.g:9969:1: ( ( rule__TypeCall__ArgumentsAssignment_1_1 ) )
            // InternalRosetta.g:9970:2: ( rule__TypeCall__ArgumentsAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getArgumentsAssignment_1_1()); }
            // InternalRosetta.g:9971:2: ( rule__TypeCall__ArgumentsAssignment_1_1 )
            // InternalRosetta.g:9971:3: rule__TypeCall__ArgumentsAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__TypeCall__ArgumentsAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getArgumentsAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1__1__Impl"
    // $ANTLR start "rule__TypeCall__Group_1__2"
    // InternalRosetta.g:9979:1: rule__TypeCall__Group_1__2 : rule__TypeCall__Group_1__2__Impl rule__TypeCall__Group_1__3 ;
    public final void rule__TypeCall__Group_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9983:1: ( rule__TypeCall__Group_1__2__Impl rule__TypeCall__Group_1__3 )
            // InternalRosetta.g:9984:2: rule__TypeCall__Group_1__2__Impl rule__TypeCall__Group_1__3
            {
            pushFollow(FOLLOW_45);
            rule__TypeCall__Group_1__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeCall__Group_1__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1__2"
    // $ANTLR start "rule__TypeCall__Group_1__2__Impl"
    // InternalRosetta.g:9991:1: rule__TypeCall__Group_1__2__Impl : ( ( rule__TypeCall__Group_1_2__0 )* ) ;
    public final void rule__TypeCall__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:9995:1: ( ( ( rule__TypeCall__Group_1_2__0 )* ) )
            // InternalRosetta.g:9996:1: ( ( rule__TypeCall__Group_1_2__0 )* )
            {
            // InternalRosetta.g:9996:1: ( ( rule__TypeCall__Group_1_2__0 )* )
            // InternalRosetta.g:9997:2: ( rule__TypeCall__Group_1_2__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getGroup_1_2()); }
            // InternalRosetta.g:9998:2: ( rule__TypeCall__Group_1_2__0 )*
            loop147:
            do {
                int alt147=2;
                int LA147_0 = input.LA(1);
                if ( (LA147_0==40) ) {
                    alt147=1;
                }
                switch (alt147) {
            	case 1 :
            	    // InternalRosetta.g:9998:3: rule__TypeCall__Group_1_2__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__TypeCall__Group_1_2__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop147;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getGroup_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1__2__Impl"
    // $ANTLR start "rule__TypeCall__Group_1__3"
    // InternalRosetta.g:10006:1: rule__TypeCall__Group_1__3 : rule__TypeCall__Group_1__3__Impl ;
    public final void rule__TypeCall__Group_1__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10010:1: ( rule__TypeCall__Group_1__3__Impl )
            // InternalRosetta.g:10011:2: rule__TypeCall__Group_1__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__TypeCall__Group_1__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1__3"
    // $ANTLR start "rule__TypeCall__Group_1__3__Impl"
    // InternalRosetta.g:10017:1: rule__TypeCall__Group_1__3__Impl : ( ')' ) ;
    public final void rule__TypeCall__Group_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10021:1: ( ( ')' ) )
            // InternalRosetta.g:10022:1: ( ')' )
            {
            // InternalRosetta.g:10022:1: ( ')' )
            // InternalRosetta.g:10023:2: ')'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getRightParenthesisKeyword_1_3()); }
            match(input,74,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getRightParenthesisKeyword_1_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1__3__Impl"
    // $ANTLR start "rule__TypeCall__Group_1_2__0"
    // InternalRosetta.g:10033:1: rule__TypeCall__Group_1_2__0 : rule__TypeCall__Group_1_2__0__Impl rule__TypeCall__Group_1_2__1 ;
    public final void rule__TypeCall__Group_1_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10037:1: ( rule__TypeCall__Group_1_2__0__Impl rule__TypeCall__Group_1_2__1 )
            // InternalRosetta.g:10038:2: rule__TypeCall__Group_1_2__0__Impl rule__TypeCall__Group_1_2__1
            {
            pushFollow(FOLLOW_44);
            rule__TypeCall__Group_1_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeCall__Group_1_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1_2__0"
    // $ANTLR start "rule__TypeCall__Group_1_2__0__Impl"
    // InternalRosetta.g:10045:1: rule__TypeCall__Group_1_2__0__Impl : ( ',' ) ;
    public final void rule__TypeCall__Group_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10049:1: ( ( ',' ) )
            // InternalRosetta.g:10050:1: ( ',' )
            {
            // InternalRosetta.g:10050:1: ( ',' )
            // InternalRosetta.g:10051:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getCommaKeyword_1_2_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getCommaKeyword_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1_2__0__Impl"
    // $ANTLR start "rule__TypeCall__Group_1_2__1"
    // InternalRosetta.g:10060:1: rule__TypeCall__Group_1_2__1 : rule__TypeCall__Group_1_2__1__Impl ;
    public final void rule__TypeCall__Group_1_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10064:1: ( rule__TypeCall__Group_1_2__1__Impl )
            // InternalRosetta.g:10065:2: rule__TypeCall__Group_1_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__TypeCall__Group_1_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1_2__1"
    // $ANTLR start "rule__TypeCall__Group_1_2__1__Impl"
    // InternalRosetta.g:10071:1: rule__TypeCall__Group_1_2__1__Impl : ( ( rule__TypeCall__ArgumentsAssignment_1_2_1 ) ) ;
    public final void rule__TypeCall__Group_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10075:1: ( ( ( rule__TypeCall__ArgumentsAssignment_1_2_1 ) ) )
            // InternalRosetta.g:10076:1: ( ( rule__TypeCall__ArgumentsAssignment_1_2_1 ) )
            {
            // InternalRosetta.g:10076:1: ( ( rule__TypeCall__ArgumentsAssignment_1_2_1 ) )
            // InternalRosetta.g:10077:2: ( rule__TypeCall__ArgumentsAssignment_1_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getArgumentsAssignment_1_2_1()); }
            // InternalRosetta.g:10078:2: ( rule__TypeCall__ArgumentsAssignment_1_2_1 )
            // InternalRosetta.g:10078:3: rule__TypeCall__ArgumentsAssignment_1_2_1
            {
            pushFollow(FOLLOW_2);
            rule__TypeCall__ArgumentsAssignment_1_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getArgumentsAssignment_1_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__Group_1_2__1__Impl"
    // $ANTLR start "rule__TypeCallArgument__Group__0"
    // InternalRosetta.g:10087:1: rule__TypeCallArgument__Group__0 : rule__TypeCallArgument__Group__0__Impl rule__TypeCallArgument__Group__1 ;
    public final void rule__TypeCallArgument__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10091:1: ( rule__TypeCallArgument__Group__0__Impl rule__TypeCallArgument__Group__1 )
            // InternalRosetta.g:10092:2: rule__TypeCallArgument__Group__0__Impl rule__TypeCallArgument__Group__1
            {
            pushFollow(FOLLOW_16);
            rule__TypeCallArgument__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeCallArgument__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCallArgument__Group__0"
    // $ANTLR start "rule__TypeCallArgument__Group__0__Impl"
    // InternalRosetta.g:10099:1: rule__TypeCallArgument__Group__0__Impl : ( ( rule__TypeCallArgument__ParameterAssignment_0 ) ) ;
    public final void rule__TypeCallArgument__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10103:1: ( ( ( rule__TypeCallArgument__ParameterAssignment_0 ) ) )
            // InternalRosetta.g:10104:1: ( ( rule__TypeCallArgument__ParameterAssignment_0 ) )
            {
            // InternalRosetta.g:10104:1: ( ( rule__TypeCallArgument__ParameterAssignment_0 ) )
            // InternalRosetta.g:10105:2: ( rule__TypeCallArgument__ParameterAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallArgumentAccess().getParameterAssignment_0()); }
            // InternalRosetta.g:10106:2: ( rule__TypeCallArgument__ParameterAssignment_0 )
            // InternalRosetta.g:10106:3: rule__TypeCallArgument__ParameterAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__TypeCallArgument__ParameterAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallArgumentAccess().getParameterAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCallArgument__Group__0__Impl"
    // $ANTLR start "rule__TypeCallArgument__Group__1"
    // InternalRosetta.g:10114:1: rule__TypeCallArgument__Group__1 : rule__TypeCallArgument__Group__1__Impl rule__TypeCallArgument__Group__2 ;
    public final void rule__TypeCallArgument__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10118:1: ( rule__TypeCallArgument__Group__1__Impl rule__TypeCallArgument__Group__2 )
            // InternalRosetta.g:10119:2: rule__TypeCallArgument__Group__1__Impl rule__TypeCallArgument__Group__2
            {
            pushFollow(FOLLOW_46);
            rule__TypeCallArgument__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeCallArgument__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCallArgument__Group__1"
    // $ANTLR start "rule__TypeCallArgument__Group__1__Impl"
    // InternalRosetta.g:10126:1: rule__TypeCallArgument__Group__1__Impl : ( ':' ) ;
    public final void rule__TypeCallArgument__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10130:1: ( ( ':' ) )
            // InternalRosetta.g:10131:1: ( ':' )
            {
            // InternalRosetta.g:10131:1: ( ':' )
            // InternalRosetta.g:10132:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallArgumentAccess().getColonKeyword_1()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallArgumentAccess().getColonKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCallArgument__Group__1__Impl"
    // $ANTLR start "rule__TypeCallArgument__Group__2"
    // InternalRosetta.g:10141:1: rule__TypeCallArgument__Group__2 : rule__TypeCallArgument__Group__2__Impl ;
    public final void rule__TypeCallArgument__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10145:1: ( rule__TypeCallArgument__Group__2__Impl )
            // InternalRosetta.g:10146:2: rule__TypeCallArgument__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__TypeCallArgument__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCallArgument__Group__2"
    // $ANTLR start "rule__TypeCallArgument__Group__2__Impl"
    // InternalRosetta.g:10152:1: rule__TypeCallArgument__Group__2__Impl : ( ( rule__TypeCallArgument__ValueAssignment_2 ) ) ;
    public final void rule__TypeCallArgument__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10156:1: ( ( ( rule__TypeCallArgument__ValueAssignment_2 ) ) )
            // InternalRosetta.g:10157:1: ( ( rule__TypeCallArgument__ValueAssignment_2 ) )
            {
            // InternalRosetta.g:10157:1: ( ( rule__TypeCallArgument__ValueAssignment_2 ) )
            // InternalRosetta.g:10158:2: ( rule__TypeCallArgument__ValueAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallArgumentAccess().getValueAssignment_2()); }
            // InternalRosetta.g:10159:2: ( rule__TypeCallArgument__ValueAssignment_2 )
            // InternalRosetta.g:10159:3: rule__TypeCallArgument__ValueAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__TypeCallArgument__ValueAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallArgumentAccess().getValueAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCallArgument__Group__2__Impl"
    // $ANTLR start "rule__RosettaBasicType__Group__0"
    // InternalRosetta.g:10168:1: rule__RosettaBasicType__Group__0 : rule__RosettaBasicType__Group__0__Impl rule__RosettaBasicType__Group__1 ;
    public final void rule__RosettaBasicType__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10172:1: ( rule__RosettaBasicType__Group__0__Impl rule__RosettaBasicType__Group__1 )
            // InternalRosetta.g:10173:2: rule__RosettaBasicType__Group__0__Impl rule__RosettaBasicType__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaBasicType__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaBasicType__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBasicType__Group__0"
    // $ANTLR start "rule__RosettaBasicType__Group__0__Impl"
    // InternalRosetta.g:10180:1: rule__RosettaBasicType__Group__0__Impl : ( 'basicType' ) ;
    public final void rule__RosettaBasicType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10184:1: ( ( 'basicType' ) )
            // InternalRosetta.g:10185:1: ( 'basicType' )
            {
            // InternalRosetta.g:10185:1: ( 'basicType' )
            // InternalRosetta.g:10186:2: 'basicType'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBasicTypeAccess().getBasicTypeKeyword_0()); }
            match(input,80,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBasicTypeAccess().getBasicTypeKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBasicType__Group__0__Impl"
    // $ANTLR start "rule__RosettaBasicType__Group__1"
    // InternalRosetta.g:10195:1: rule__RosettaBasicType__Group__1 : rule__RosettaBasicType__Group__1__Impl rule__RosettaBasicType__Group__2 ;
    public final void rule__RosettaBasicType__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10199:1: ( rule__RosettaBasicType__Group__1__Impl rule__RosettaBasicType__Group__2 )
            // InternalRosetta.g:10200:2: rule__RosettaBasicType__Group__1__Impl rule__RosettaBasicType__Group__2
            {
            pushFollow(FOLLOW_47);
            rule__RosettaBasicType__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaBasicType__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBasicType__Group__1"
    // $ANTLR start "rule__RosettaBasicType__Group__1__Impl"
    // InternalRosetta.g:10207:1: rule__RosettaBasicType__Group__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaBasicType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10211:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:10212:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:10212:1: ( ruleRosettaNamed )
            // InternalRosetta.g:10213:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBasicTypeAccess().getRosettaNamedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBasicTypeAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBasicType__Group__1__Impl"
    // $ANTLR start "rule__RosettaBasicType__Group__2"
    // InternalRosetta.g:10222:1: rule__RosettaBasicType__Group__2 : rule__RosettaBasicType__Group__2__Impl rule__RosettaBasicType__Group__3 ;
    public final void rule__RosettaBasicType__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10226:1: ( rule__RosettaBasicType__Group__2__Impl rule__RosettaBasicType__Group__3 )
            // InternalRosetta.g:10227:2: rule__RosettaBasicType__Group__2__Impl rule__RosettaBasicType__Group__3
            {
            pushFollow(FOLLOW_47);
            rule__RosettaBasicType__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaBasicType__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBasicType__Group__2"
    // $ANTLR start "rule__RosettaBasicType__Group__2__Impl"
    // InternalRosetta.g:10234:1: rule__RosettaBasicType__Group__2__Impl : ( ( ruleTypeParameters )? ) ;
    public final void rule__RosettaBasicType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10238:1: ( ( ( ruleTypeParameters )? ) )
            // InternalRosetta.g:10239:1: ( ( ruleTypeParameters )? )
            {
            // InternalRosetta.g:10239:1: ( ( ruleTypeParameters )? )
            // InternalRosetta.g:10240:2: ( ruleTypeParameters )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBasicTypeAccess().getTypeParametersParserRuleCall_2()); }
            // InternalRosetta.g:10241:2: ( ruleTypeParameters )?
            int alt148=2;
            int LA148_0 = input.LA(1);
            if ( (LA148_0==73) ) {
                alt148=1;
            }
            switch (alt148) {
                case 1 :
                    // InternalRosetta.g:10241:3: ruleTypeParameters
                    {
                    pushFollow(FOLLOW_2);
                    ruleTypeParameters();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBasicTypeAccess().getTypeParametersParserRuleCall_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBasicType__Group__2__Impl"
    // $ANTLR start "rule__RosettaBasicType__Group__3"
    // InternalRosetta.g:10249:1: rule__RosettaBasicType__Group__3 : rule__RosettaBasicType__Group__3__Impl ;
    public final void rule__RosettaBasicType__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10253:1: ( rule__RosettaBasicType__Group__3__Impl )
            // InternalRosetta.g:10254:2: rule__RosettaBasicType__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaBasicType__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBasicType__Group__3"
    // $ANTLR start "rule__RosettaBasicType__Group__3__Impl"
    // InternalRosetta.g:10260:1: rule__RosettaBasicType__Group__3__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__RosettaBasicType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10264:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:10265:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:10265:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:10266:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBasicTypeAccess().getRosettaDefinableParserRuleCall_3()); }
            // InternalRosetta.g:10267:2: ( ruleRosettaDefinable )?
            int alt149=2;
            int LA149_0 = input.LA(1);
            if ( (LA149_0==35) ) {
                alt149=1;
            }
            switch (alt149) {
                case 1 :
                    // InternalRosetta.g:10267:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBasicTypeAccess().getRosettaDefinableParserRuleCall_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBasicType__Group__3__Impl"
    // $ANTLR start "rule__TypeParameters__Group__0"
    // InternalRosetta.g:10276:1: rule__TypeParameters__Group__0 : rule__TypeParameters__Group__0__Impl rule__TypeParameters__Group__1 ;
    public final void rule__TypeParameters__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10280:1: ( rule__TypeParameters__Group__0__Impl rule__TypeParameters__Group__1 )
            // InternalRosetta.g:10281:2: rule__TypeParameters__Group__0__Impl rule__TypeParameters__Group__1
            {
            pushFollow(FOLLOW_44);
            rule__TypeParameters__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeParameters__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group__0"
    // $ANTLR start "rule__TypeParameters__Group__0__Impl"
    // InternalRosetta.g:10288:1: rule__TypeParameters__Group__0__Impl : ( '(' ) ;
    public final void rule__TypeParameters__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10292:1: ( ( '(' ) )
            // InternalRosetta.g:10293:1: ( '(' )
            {
            // InternalRosetta.g:10293:1: ( '(' )
            // InternalRosetta.g:10294:2: '('
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParametersAccess().getLeftParenthesisKeyword_0()); }
            match(input,73,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParametersAccess().getLeftParenthesisKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group__0__Impl"
    // $ANTLR start "rule__TypeParameters__Group__1"
    // InternalRosetta.g:10303:1: rule__TypeParameters__Group__1 : rule__TypeParameters__Group__1__Impl rule__TypeParameters__Group__2 ;
    public final void rule__TypeParameters__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10307:1: ( rule__TypeParameters__Group__1__Impl rule__TypeParameters__Group__2 )
            // InternalRosetta.g:10308:2: rule__TypeParameters__Group__1__Impl rule__TypeParameters__Group__2
            {
            pushFollow(FOLLOW_45);
            rule__TypeParameters__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeParameters__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group__1"
    // $ANTLR start "rule__TypeParameters__Group__1__Impl"
    // InternalRosetta.g:10315:1: rule__TypeParameters__Group__1__Impl : ( ( rule__TypeParameters__ParametersAssignment_1 ) ) ;
    public final void rule__TypeParameters__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10319:1: ( ( ( rule__TypeParameters__ParametersAssignment_1 ) ) )
            // InternalRosetta.g:10320:1: ( ( rule__TypeParameters__ParametersAssignment_1 ) )
            {
            // InternalRosetta.g:10320:1: ( ( rule__TypeParameters__ParametersAssignment_1 ) )
            // InternalRosetta.g:10321:2: ( rule__TypeParameters__ParametersAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParametersAccess().getParametersAssignment_1()); }
            // InternalRosetta.g:10322:2: ( rule__TypeParameters__ParametersAssignment_1 )
            // InternalRosetta.g:10322:3: rule__TypeParameters__ParametersAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__TypeParameters__ParametersAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParametersAccess().getParametersAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group__1__Impl"
    // $ANTLR start "rule__TypeParameters__Group__2"
    // InternalRosetta.g:10330:1: rule__TypeParameters__Group__2 : rule__TypeParameters__Group__2__Impl rule__TypeParameters__Group__3 ;
    public final void rule__TypeParameters__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10334:1: ( rule__TypeParameters__Group__2__Impl rule__TypeParameters__Group__3 )
            // InternalRosetta.g:10335:2: rule__TypeParameters__Group__2__Impl rule__TypeParameters__Group__3
            {
            pushFollow(FOLLOW_45);
            rule__TypeParameters__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeParameters__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group__2"
    // $ANTLR start "rule__TypeParameters__Group__2__Impl"
    // InternalRosetta.g:10342:1: rule__TypeParameters__Group__2__Impl : ( ( rule__TypeParameters__Group_2__0 )* ) ;
    public final void rule__TypeParameters__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10346:1: ( ( ( rule__TypeParameters__Group_2__0 )* ) )
            // InternalRosetta.g:10347:1: ( ( rule__TypeParameters__Group_2__0 )* )
            {
            // InternalRosetta.g:10347:1: ( ( rule__TypeParameters__Group_2__0 )* )
            // InternalRosetta.g:10348:2: ( rule__TypeParameters__Group_2__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParametersAccess().getGroup_2()); }
            // InternalRosetta.g:10349:2: ( rule__TypeParameters__Group_2__0 )*
            loop150:
            do {
                int alt150=2;
                int LA150_0 = input.LA(1);
                if ( (LA150_0==40) ) {
                    int LA150_1 = input.LA(2);
                    if ( (LA150_1==RULE_ID||(LA150_1>=12 && LA150_1<=18)) ) {
                        alt150=1;
                    }
                }
                switch (alt150) {
            	case 1 :
            	    // InternalRosetta.g:10349:3: rule__TypeParameters__Group_2__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__TypeParameters__Group_2__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop150;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParametersAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group__2__Impl"
    // $ANTLR start "rule__TypeParameters__Group__3"
    // InternalRosetta.g:10357:1: rule__TypeParameters__Group__3 : rule__TypeParameters__Group__3__Impl rule__TypeParameters__Group__4 ;
    public final void rule__TypeParameters__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10361:1: ( rule__TypeParameters__Group__3__Impl rule__TypeParameters__Group__4 )
            // InternalRosetta.g:10362:2: rule__TypeParameters__Group__3__Impl rule__TypeParameters__Group__4
            {
            pushFollow(FOLLOW_45);
            rule__TypeParameters__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeParameters__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group__3"
    // $ANTLR start "rule__TypeParameters__Group__3__Impl"
    // InternalRosetta.g:10369:1: rule__TypeParameters__Group__3__Impl : ( ( ',' )? ) ;
    public final void rule__TypeParameters__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10373:1: ( ( ( ',' )? ) )
            // InternalRosetta.g:10374:1: ( ( ',' )? )
            {
            // InternalRosetta.g:10374:1: ( ( ',' )? )
            // InternalRosetta.g:10375:2: ( ',' )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParametersAccess().getCommaKeyword_3()); }
            // InternalRosetta.g:10376:2: ( ',' )?
            int alt151=2;
            int LA151_0 = input.LA(1);
            if ( (LA151_0==40) ) {
                alt151=1;
            }
            switch (alt151) {
                case 1 :
                    // InternalRosetta.g:10376:3: ','
                    {
                    match(input,40,FOLLOW_2); if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParametersAccess().getCommaKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group__3__Impl"
    // $ANTLR start "rule__TypeParameters__Group__4"
    // InternalRosetta.g:10384:1: rule__TypeParameters__Group__4 : rule__TypeParameters__Group__4__Impl ;
    public final void rule__TypeParameters__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10388:1: ( rule__TypeParameters__Group__4__Impl )
            // InternalRosetta.g:10389:2: rule__TypeParameters__Group__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__TypeParameters__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group__4"
    // $ANTLR start "rule__TypeParameters__Group__4__Impl"
    // InternalRosetta.g:10395:1: rule__TypeParameters__Group__4__Impl : ( ')' ) ;
    public final void rule__TypeParameters__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10399:1: ( ( ')' ) )
            // InternalRosetta.g:10400:1: ( ')' )
            {
            // InternalRosetta.g:10400:1: ( ')' )
            // InternalRosetta.g:10401:2: ')'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParametersAccess().getRightParenthesisKeyword_4()); }
            match(input,74,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParametersAccess().getRightParenthesisKeyword_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group__4__Impl"
    // $ANTLR start "rule__TypeParameters__Group_2__0"
    // InternalRosetta.g:10411:1: rule__TypeParameters__Group_2__0 : rule__TypeParameters__Group_2__0__Impl rule__TypeParameters__Group_2__1 ;
    public final void rule__TypeParameters__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10415:1: ( rule__TypeParameters__Group_2__0__Impl rule__TypeParameters__Group_2__1 )
            // InternalRosetta.g:10416:2: rule__TypeParameters__Group_2__0__Impl rule__TypeParameters__Group_2__1
            {
            pushFollow(FOLLOW_44);
            rule__TypeParameters__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeParameters__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group_2__0"
    // $ANTLR start "rule__TypeParameters__Group_2__0__Impl"
    // InternalRosetta.g:10423:1: rule__TypeParameters__Group_2__0__Impl : ( ',' ) ;
    public final void rule__TypeParameters__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10427:1: ( ( ',' ) )
            // InternalRosetta.g:10428:1: ( ',' )
            {
            // InternalRosetta.g:10428:1: ( ',' )
            // InternalRosetta.g:10429:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParametersAccess().getCommaKeyword_2_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParametersAccess().getCommaKeyword_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group_2__0__Impl"
    // $ANTLR start "rule__TypeParameters__Group_2__1"
    // InternalRosetta.g:10438:1: rule__TypeParameters__Group_2__1 : rule__TypeParameters__Group_2__1__Impl ;
    public final void rule__TypeParameters__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10442:1: ( rule__TypeParameters__Group_2__1__Impl )
            // InternalRosetta.g:10443:2: rule__TypeParameters__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__TypeParameters__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group_2__1"
    // $ANTLR start "rule__TypeParameters__Group_2__1__Impl"
    // InternalRosetta.g:10449:1: rule__TypeParameters__Group_2__1__Impl : ( ( rule__TypeParameters__ParametersAssignment_2_1 ) ) ;
    public final void rule__TypeParameters__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10453:1: ( ( ( rule__TypeParameters__ParametersAssignment_2_1 ) ) )
            // InternalRosetta.g:10454:1: ( ( rule__TypeParameters__ParametersAssignment_2_1 ) )
            {
            // InternalRosetta.g:10454:1: ( ( rule__TypeParameters__ParametersAssignment_2_1 ) )
            // InternalRosetta.g:10455:2: ( rule__TypeParameters__ParametersAssignment_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParametersAccess().getParametersAssignment_2_1()); }
            // InternalRosetta.g:10456:2: ( rule__TypeParameters__ParametersAssignment_2_1 )
            // InternalRosetta.g:10456:3: rule__TypeParameters__ParametersAssignment_2_1
            {
            pushFollow(FOLLOW_2);
            rule__TypeParameters__ParametersAssignment_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParametersAccess().getParametersAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__Group_2__1__Impl"
    // $ANTLR start "rule__TypeParameter__Group__0"
    // InternalRosetta.g:10465:1: rule__TypeParameter__Group__0 : rule__TypeParameter__Group__0__Impl rule__TypeParameter__Group__1 ;
    public final void rule__TypeParameter__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10469:1: ( rule__TypeParameter__Group__0__Impl rule__TypeParameter__Group__1 )
            // InternalRosetta.g:10470:2: rule__TypeParameter__Group__0__Impl rule__TypeParameter__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__TypeParameter__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeParameter__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameter__Group__0"
    // $ANTLR start "rule__TypeParameter__Group__0__Impl"
    // InternalRosetta.g:10477:1: rule__TypeParameter__Group__0__Impl : ( ( rule__TypeParameter__NameAssignment_0 ) ) ;
    public final void rule__TypeParameter__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10481:1: ( ( ( rule__TypeParameter__NameAssignment_0 ) ) )
            // InternalRosetta.g:10482:1: ( ( rule__TypeParameter__NameAssignment_0 ) )
            {
            // InternalRosetta.g:10482:1: ( ( rule__TypeParameter__NameAssignment_0 ) )
            // InternalRosetta.g:10483:2: ( rule__TypeParameter__NameAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterAccess().getNameAssignment_0()); }
            // InternalRosetta.g:10484:2: ( rule__TypeParameter__NameAssignment_0 )
            // InternalRosetta.g:10484:3: rule__TypeParameter__NameAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__TypeParameter__NameAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterAccess().getNameAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameter__Group__0__Impl"
    // $ANTLR start "rule__TypeParameter__Group__1"
    // InternalRosetta.g:10492:1: rule__TypeParameter__Group__1 : rule__TypeParameter__Group__1__Impl rule__TypeParameter__Group__2 ;
    public final void rule__TypeParameter__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10496:1: ( rule__TypeParameter__Group__1__Impl rule__TypeParameter__Group__2 )
            // InternalRosetta.g:10497:2: rule__TypeParameter__Group__1__Impl rule__TypeParameter__Group__2
            {
            pushFollow(FOLLOW_9);
            rule__TypeParameter__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__TypeParameter__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameter__Group__1"
    // $ANTLR start "rule__TypeParameter__Group__1__Impl"
    // InternalRosetta.g:10504:1: rule__TypeParameter__Group__1__Impl : ( ruleRosettaTyped ) ;
    public final void rule__TypeParameter__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10508:1: ( ( ruleRosettaTyped ) )
            // InternalRosetta.g:10509:1: ( ruleRosettaTyped )
            {
            // InternalRosetta.g:10509:1: ( ruleRosettaTyped )
            // InternalRosetta.g:10510:2: ruleRosettaTyped
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterAccess().getRosettaTypedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaTyped(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterAccess().getRosettaTypedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameter__Group__1__Impl"
    // $ANTLR start "rule__TypeParameter__Group__2"
    // InternalRosetta.g:10519:1: rule__TypeParameter__Group__2 : rule__TypeParameter__Group__2__Impl ;
    public final void rule__TypeParameter__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10523:1: ( rule__TypeParameter__Group__2__Impl )
            // InternalRosetta.g:10524:2: rule__TypeParameter__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__TypeParameter__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameter__Group__2"
    // $ANTLR start "rule__TypeParameter__Group__2__Impl"
    // InternalRosetta.g:10530:1: rule__TypeParameter__Group__2__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__TypeParameter__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10534:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:10535:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:10535:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:10536:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterAccess().getRosettaDefinableParserRuleCall_2()); }
            // InternalRosetta.g:10537:2: ( ruleRosettaDefinable )?
            int alt152=2;
            int LA152_0 = input.LA(1);
            if ( (LA152_0==35) ) {
                alt152=1;
            }
            switch (alt152) {
                case 1 :
                    // InternalRosetta.g:10537:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterAccess().getRosettaDefinableParserRuleCall_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameter__Group__2__Impl"
    // $ANTLR start "rule__RosettaSynonymSource__Group__0"
    // InternalRosetta.g:10546:1: rule__RosettaSynonymSource__Group__0 : rule__RosettaSynonymSource__Group__0__Impl rule__RosettaSynonymSource__Group__1 ;
    public final void rule__RosettaSynonymSource__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10550:1: ( rule__RosettaSynonymSource__Group__0__Impl rule__RosettaSynonymSource__Group__1 )
            // InternalRosetta.g:10551:2: rule__RosettaSynonymSource__Group__0__Impl rule__RosettaSynonymSource__Group__1
            {
            pushFollow(FOLLOW_48);
            rule__RosettaSynonymSource__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymSource__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymSource__Group__0"
    // $ANTLR start "rule__RosettaSynonymSource__Group__0__Impl"
    // InternalRosetta.g:10558:1: rule__RosettaSynonymSource__Group__0__Impl : ( 'synonym' ) ;
    public final void rule__RosettaSynonymSource__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10562:1: ( ( 'synonym' ) )
            // InternalRosetta.g:10563:1: ( 'synonym' )
            {
            // InternalRosetta.g:10563:1: ( 'synonym' )
            // InternalRosetta.g:10564:2: 'synonym'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymSourceAccess().getSynonymKeyword_0()); }
            match(input,81,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymSourceAccess().getSynonymKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymSource__Group__0__Impl"
    // $ANTLR start "rule__RosettaSynonymSource__Group__1"
    // InternalRosetta.g:10573:1: rule__RosettaSynonymSource__Group__1 : rule__RosettaSynonymSource__Group__1__Impl rule__RosettaSynonymSource__Group__2 ;
    public final void rule__RosettaSynonymSource__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10577:1: ( rule__RosettaSynonymSource__Group__1__Impl rule__RosettaSynonymSource__Group__2 )
            // InternalRosetta.g:10578:2: rule__RosettaSynonymSource__Group__1__Impl rule__RosettaSynonymSource__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaSynonymSource__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymSource__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymSource__Group__1"
    // $ANTLR start "rule__RosettaSynonymSource__Group__1__Impl"
    // InternalRosetta.g:10585:1: rule__RosettaSynonymSource__Group__1__Impl : ( 'source' ) ;
    public final void rule__RosettaSynonymSource__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10589:1: ( ( 'source' ) )
            // InternalRosetta.g:10590:1: ( 'source' )
            {
            // InternalRosetta.g:10590:1: ( 'source' )
            // InternalRosetta.g:10591:2: 'source'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymSourceAccess().getSourceKeyword_1()); }
            match(input,15,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymSourceAccess().getSourceKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymSource__Group__1__Impl"
    // $ANTLR start "rule__RosettaSynonymSource__Group__2"
    // InternalRosetta.g:10600:1: rule__RosettaSynonymSource__Group__2 : rule__RosettaSynonymSource__Group__2__Impl ;
    public final void rule__RosettaSynonymSource__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10604:1: ( rule__RosettaSynonymSource__Group__2__Impl )
            // InternalRosetta.g:10605:2: rule__RosettaSynonymSource__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymSource__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymSource__Group__2"
    // $ANTLR start "rule__RosettaSynonymSource__Group__2__Impl"
    // InternalRosetta.g:10611:1: rule__RosettaSynonymSource__Group__2__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaSynonymSource__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10615:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:10616:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:10616:1: ( ruleRosettaNamed )
            // InternalRosetta.g:10617:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymSourceAccess().getRosettaNamedParserRuleCall_2()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymSourceAccess().getRosettaNamedParserRuleCall_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymSource__Group__2__Impl"
    // $ANTLR start "rule__RosettaRecordType__Group__0"
    // InternalRosetta.g:10627:1: rule__RosettaRecordType__Group__0 : rule__RosettaRecordType__Group__0__Impl rule__RosettaRecordType__Group__1 ;
    public final void rule__RosettaRecordType__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10631:1: ( rule__RosettaRecordType__Group__0__Impl rule__RosettaRecordType__Group__1 )
            // InternalRosetta.g:10632:2: rule__RosettaRecordType__Group__0__Impl rule__RosettaRecordType__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaRecordType__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRecordType__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__0"
    // $ANTLR start "rule__RosettaRecordType__Group__0__Impl"
    // InternalRosetta.g:10639:1: rule__RosettaRecordType__Group__0__Impl : ( 'recordType' ) ;
    public final void rule__RosettaRecordType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10643:1: ( ( 'recordType' ) )
            // InternalRosetta.g:10644:1: ( 'recordType' )
            {
            // InternalRosetta.g:10644:1: ( 'recordType' )
            // InternalRosetta.g:10645:2: 'recordType'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordTypeAccess().getRecordTypeKeyword_0()); }
            match(input,82,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordTypeAccess().getRecordTypeKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__0__Impl"
    // $ANTLR start "rule__RosettaRecordType__Group__1"
    // InternalRosetta.g:10654:1: rule__RosettaRecordType__Group__1 : rule__RosettaRecordType__Group__1__Impl rule__RosettaRecordType__Group__2 ;
    public final void rule__RosettaRecordType__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10658:1: ( rule__RosettaRecordType__Group__1__Impl rule__RosettaRecordType__Group__2 )
            // InternalRosetta.g:10659:2: rule__RosettaRecordType__Group__1__Impl rule__RosettaRecordType__Group__2
            {
            pushFollow(FOLLOW_49);
            rule__RosettaRecordType__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRecordType__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__1"
    // $ANTLR start "rule__RosettaRecordType__Group__1__Impl"
    // InternalRosetta.g:10666:1: rule__RosettaRecordType__Group__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaRecordType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10670:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:10671:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:10671:1: ( ruleRosettaNamed )
            // InternalRosetta.g:10672:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordTypeAccess().getRosettaNamedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordTypeAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__1__Impl"
    // $ANTLR start "rule__RosettaRecordType__Group__2"
    // InternalRosetta.g:10681:1: rule__RosettaRecordType__Group__2 : rule__RosettaRecordType__Group__2__Impl rule__RosettaRecordType__Group__3 ;
    public final void rule__RosettaRecordType__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10685:1: ( rule__RosettaRecordType__Group__2__Impl rule__RosettaRecordType__Group__3 )
            // InternalRosetta.g:10686:2: rule__RosettaRecordType__Group__2__Impl rule__RosettaRecordType__Group__3
            {
            pushFollow(FOLLOW_50);
            rule__RosettaRecordType__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRecordType__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__2"
    // $ANTLR start "rule__RosettaRecordType__Group__2__Impl"
    // InternalRosetta.g:10693:1: rule__RosettaRecordType__Group__2__Impl : ( '{' ) ;
    public final void rule__RosettaRecordType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10697:1: ( ( '{' ) )
            // InternalRosetta.g:10698:1: ( '{' )
            {
            // InternalRosetta.g:10698:1: ( '{' )
            // InternalRosetta.g:10699:2: '{'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordTypeAccess().getLeftCurlyBracketKeyword_2()); }
            match(input,83,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordTypeAccess().getLeftCurlyBracketKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__2__Impl"
    // $ANTLR start "rule__RosettaRecordType__Group__3"
    // InternalRosetta.g:10708:1: rule__RosettaRecordType__Group__3 : rule__RosettaRecordType__Group__3__Impl rule__RosettaRecordType__Group__4 ;
    public final void rule__RosettaRecordType__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10712:1: ( rule__RosettaRecordType__Group__3__Impl rule__RosettaRecordType__Group__4 )
            // InternalRosetta.g:10713:2: rule__RosettaRecordType__Group__3__Impl rule__RosettaRecordType__Group__4
            {
            pushFollow(FOLLOW_50);
            rule__RosettaRecordType__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRecordType__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__3"
    // $ANTLR start "rule__RosettaRecordType__Group__3__Impl"
    // InternalRosetta.g:10720:1: rule__RosettaRecordType__Group__3__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__RosettaRecordType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10724:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:10725:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:10725:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:10726:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordTypeAccess().getRosettaDefinableParserRuleCall_3()); }
            // InternalRosetta.g:10727:2: ( ruleRosettaDefinable )?
            int alt153=2;
            int LA153_0 = input.LA(1);
            if ( (LA153_0==35) ) {
                alt153=1;
            }
            switch (alt153) {
                case 1 :
                    // InternalRosetta.g:10727:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordTypeAccess().getRosettaDefinableParserRuleCall_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__3__Impl"
    // $ANTLR start "rule__RosettaRecordType__Group__4"
    // InternalRosetta.g:10735:1: rule__RosettaRecordType__Group__4 : rule__RosettaRecordType__Group__4__Impl rule__RosettaRecordType__Group__5 ;
    public final void rule__RosettaRecordType__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10739:1: ( rule__RosettaRecordType__Group__4__Impl rule__RosettaRecordType__Group__5 )
            // InternalRosetta.g:10740:2: rule__RosettaRecordType__Group__4__Impl rule__RosettaRecordType__Group__5
            {
            pushFollow(FOLLOW_50);
            rule__RosettaRecordType__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRecordType__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__4"
    // $ANTLR start "rule__RosettaRecordType__Group__4__Impl"
    // InternalRosetta.g:10747:1: rule__RosettaRecordType__Group__4__Impl : ( ( rule__RosettaRecordType__FeaturesAssignment_4 )* ) ;
    public final void rule__RosettaRecordType__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10751:1: ( ( ( rule__RosettaRecordType__FeaturesAssignment_4 )* ) )
            // InternalRosetta.g:10752:1: ( ( rule__RosettaRecordType__FeaturesAssignment_4 )* )
            {
            // InternalRosetta.g:10752:1: ( ( rule__RosettaRecordType__FeaturesAssignment_4 )* )
            // InternalRosetta.g:10753:2: ( rule__RosettaRecordType__FeaturesAssignment_4 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordTypeAccess().getFeaturesAssignment_4()); }
            // InternalRosetta.g:10754:2: ( rule__RosettaRecordType__FeaturesAssignment_4 )*
            loop154:
            do {
                int alt154=2;
                int LA154_0 = input.LA(1);
                if ( (LA154_0==RULE_ID||(LA154_0>=14 && LA154_0<=18)) ) {
                    alt154=1;
                }
                switch (alt154) {
            	case 1 :
            	    // InternalRosetta.g:10754:3: rule__RosettaRecordType__FeaturesAssignment_4
            	    {
            	    pushFollow(FOLLOW_18);
            	    rule__RosettaRecordType__FeaturesAssignment_4();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop154;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordTypeAccess().getFeaturesAssignment_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__4__Impl"
    // $ANTLR start "rule__RosettaRecordType__Group__5"
    // InternalRosetta.g:10762:1: rule__RosettaRecordType__Group__5 : rule__RosettaRecordType__Group__5__Impl ;
    public final void rule__RosettaRecordType__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10766:1: ( rule__RosettaRecordType__Group__5__Impl )
            // InternalRosetta.g:10767:2: rule__RosettaRecordType__Group__5__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRecordType__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__5"
    // $ANTLR start "rule__RosettaRecordType__Group__5__Impl"
    // InternalRosetta.g:10773:1: rule__RosettaRecordType__Group__5__Impl : ( '}' ) ;
    public final void rule__RosettaRecordType__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10777:1: ( ( '}' ) )
            // InternalRosetta.g:10778:1: ( '}' )
            {
            // InternalRosetta.g:10778:1: ( '}' )
            // InternalRosetta.g:10779:2: '}'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordTypeAccess().getRightCurlyBracketKeyword_5()); }
            match(input,84,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordTypeAccess().getRightCurlyBracketKeyword_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__Group__5__Impl"
    // $ANTLR start "rule__RosettaRecordFeature__Group__0"
    // InternalRosetta.g:10789:1: rule__RosettaRecordFeature__Group__0 : rule__RosettaRecordFeature__Group__0__Impl rule__RosettaRecordFeature__Group__1 ;
    public final void rule__RosettaRecordFeature__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10793:1: ( rule__RosettaRecordFeature__Group__0__Impl rule__RosettaRecordFeature__Group__1 )
            // InternalRosetta.g:10794:2: rule__RosettaRecordFeature__Group__0__Impl rule__RosettaRecordFeature__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaRecordFeature__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRecordFeature__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordFeature__Group__0"
    // $ANTLR start "rule__RosettaRecordFeature__Group__0__Impl"
    // InternalRosetta.g:10801:1: rule__RosettaRecordFeature__Group__0__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaRecordFeature__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10805:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:10806:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:10806:1: ( ruleRosettaNamed )
            // InternalRosetta.g:10807:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordFeatureAccess().getRosettaNamedParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordFeatureAccess().getRosettaNamedParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordFeature__Group__0__Impl"
    // $ANTLR start "rule__RosettaRecordFeature__Group__1"
    // InternalRosetta.g:10816:1: rule__RosettaRecordFeature__Group__1 : rule__RosettaRecordFeature__Group__1__Impl ;
    public final void rule__RosettaRecordFeature__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10820:1: ( rule__RosettaRecordFeature__Group__1__Impl )
            // InternalRosetta.g:10821:2: rule__RosettaRecordFeature__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRecordFeature__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordFeature__Group__1"
    // $ANTLR start "rule__RosettaRecordFeature__Group__1__Impl"
    // InternalRosetta.g:10827:1: rule__RosettaRecordFeature__Group__1__Impl : ( ruleRosettaTyped ) ;
    public final void rule__RosettaRecordFeature__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10831:1: ( ( ruleRosettaTyped ) )
            // InternalRosetta.g:10832:1: ( ruleRosettaTyped )
            {
            // InternalRosetta.g:10832:1: ( ruleRosettaTyped )
            // InternalRosetta.g:10833:2: ruleRosettaTyped
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordFeatureAccess().getRosettaTypedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaTyped(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordFeatureAccess().getRosettaTypedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordFeature__Group__1__Impl"
    // $ANTLR start "rule__RosettaParameter__Group__0"
    // InternalRosetta.g:10843:1: rule__RosettaParameter__Group__0 : rule__RosettaParameter__Group__0__Impl rule__RosettaParameter__Group__1 ;
    public final void rule__RosettaParameter__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10847:1: ( rule__RosettaParameter__Group__0__Impl rule__RosettaParameter__Group__1 )
            // InternalRosetta.g:10848:2: rule__RosettaParameter__Group__0__Impl rule__RosettaParameter__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaParameter__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaParameter__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaParameter__Group__0"
    // $ANTLR start "rule__RosettaParameter__Group__0__Impl"
    // InternalRosetta.g:10855:1: rule__RosettaParameter__Group__0__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaParameter__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10859:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:10860:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:10860:1: ( ruleRosettaNamed )
            // InternalRosetta.g:10861:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaParameterAccess().getRosettaNamedParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaParameterAccess().getRosettaNamedParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaParameter__Group__0__Impl"
    // $ANTLR start "rule__RosettaParameter__Group__1"
    // InternalRosetta.g:10870:1: rule__RosettaParameter__Group__1 : rule__RosettaParameter__Group__1__Impl rule__RosettaParameter__Group__2 ;
    public final void rule__RosettaParameter__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10874:1: ( rule__RosettaParameter__Group__1__Impl rule__RosettaParameter__Group__2 )
            // InternalRosetta.g:10875:2: rule__RosettaParameter__Group__1__Impl rule__RosettaParameter__Group__2
            {
            pushFollow(FOLLOW_39);
            rule__RosettaParameter__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaParameter__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaParameter__Group__1"
    // $ANTLR start "rule__RosettaParameter__Group__1__Impl"
    // InternalRosetta.g:10882:1: rule__RosettaParameter__Group__1__Impl : ( ruleRosettaTyped ) ;
    public final void rule__RosettaParameter__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10886:1: ( ( ruleRosettaTyped ) )
            // InternalRosetta.g:10887:1: ( ruleRosettaTyped )
            {
            // InternalRosetta.g:10887:1: ( ruleRosettaTyped )
            // InternalRosetta.g:10888:2: ruleRosettaTyped
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaParameterAccess().getRosettaTypedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaTyped(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaParameterAccess().getRosettaTypedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaParameter__Group__1__Impl"
    // $ANTLR start "rule__RosettaParameter__Group__2"
    // InternalRosetta.g:10897:1: rule__RosettaParameter__Group__2 : rule__RosettaParameter__Group__2__Impl ;
    public final void rule__RosettaParameter__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10901:1: ( rule__RosettaParameter__Group__2__Impl )
            // InternalRosetta.g:10902:2: rule__RosettaParameter__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaParameter__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaParameter__Group__2"
    // $ANTLR start "rule__RosettaParameter__Group__2__Impl"
    // InternalRosetta.g:10908:1: rule__RosettaParameter__Group__2__Impl : ( ( rule__RosettaParameter__Group_2__0 )? ) ;
    public final void rule__RosettaParameter__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10912:1: ( ( ( rule__RosettaParameter__Group_2__0 )? ) )
            // InternalRosetta.g:10913:1: ( ( rule__RosettaParameter__Group_2__0 )? )
            {
            // InternalRosetta.g:10913:1: ( ( rule__RosettaParameter__Group_2__0 )? )
            // InternalRosetta.g:10914:2: ( rule__RosettaParameter__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaParameterAccess().getGroup_2()); }
            // InternalRosetta.g:10915:2: ( rule__RosettaParameter__Group_2__0 )?
            int alt155=2;
            int LA155_0 = input.LA(1);
            if ( (LA155_0==65) ) {
                alt155=1;
            }
            switch (alt155) {
                case 1 :
                    // InternalRosetta.g:10915:3: rule__RosettaParameter__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaParameter__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaParameterAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaParameter__Group__2__Impl"
    // $ANTLR start "rule__RosettaParameter__Group_2__0"
    // InternalRosetta.g:10924:1: rule__RosettaParameter__Group_2__0 : rule__RosettaParameter__Group_2__0__Impl rule__RosettaParameter__Group_2__1 ;
    public final void rule__RosettaParameter__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10928:1: ( rule__RosettaParameter__Group_2__0__Impl rule__RosettaParameter__Group_2__1 )
            // InternalRosetta.g:10929:2: rule__RosettaParameter__Group_2__0__Impl rule__RosettaParameter__Group_2__1
            {
            pushFollow(FOLLOW_20);
            rule__RosettaParameter__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaParameter__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaParameter__Group_2__0"
    // $ANTLR start "rule__RosettaParameter__Group_2__0__Impl"
    // InternalRosetta.g:10936:1: rule__RosettaParameter__Group_2__0__Impl : ( ( rule__RosettaParameter__IsArrayAssignment_2_0 ) ) ;
    public final void rule__RosettaParameter__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10940:1: ( ( ( rule__RosettaParameter__IsArrayAssignment_2_0 ) ) )
            // InternalRosetta.g:10941:1: ( ( rule__RosettaParameter__IsArrayAssignment_2_0 ) )
            {
            // InternalRosetta.g:10941:1: ( ( rule__RosettaParameter__IsArrayAssignment_2_0 ) )
            // InternalRosetta.g:10942:2: ( rule__RosettaParameter__IsArrayAssignment_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaParameterAccess().getIsArrayAssignment_2_0()); }
            // InternalRosetta.g:10943:2: ( rule__RosettaParameter__IsArrayAssignment_2_0 )
            // InternalRosetta.g:10943:3: rule__RosettaParameter__IsArrayAssignment_2_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaParameter__IsArrayAssignment_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaParameterAccess().getIsArrayAssignment_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaParameter__Group_2__0__Impl"
    // $ANTLR start "rule__RosettaParameter__Group_2__1"
    // InternalRosetta.g:10951:1: rule__RosettaParameter__Group_2__1 : rule__RosettaParameter__Group_2__1__Impl ;
    public final void rule__RosettaParameter__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10955:1: ( rule__RosettaParameter__Group_2__1__Impl )
            // InternalRosetta.g:10956:2: rule__RosettaParameter__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaParameter__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaParameter__Group_2__1"
    // $ANTLR start "rule__RosettaParameter__Group_2__1__Impl"
    // InternalRosetta.g:10962:1: rule__RosettaParameter__Group_2__1__Impl : ( ']' ) ;
    public final void rule__RosettaParameter__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10966:1: ( ( ']' ) )
            // InternalRosetta.g:10967:1: ( ']' )
            {
            // InternalRosetta.g:10967:1: ( ']' )
            // InternalRosetta.g:10968:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaParameterAccess().getRightSquareBracketKeyword_2_1()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaParameterAccess().getRightSquareBracketKeyword_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaParameter__Group_2__1__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__0"
    // InternalRosetta.g:10978:1: rule__RosettaLibraryFunction__Group__0 : rule__RosettaLibraryFunction__Group__0__Impl rule__RosettaLibraryFunction__Group__1 ;
    public final void rule__RosettaLibraryFunction__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10982:1: ( rule__RosettaLibraryFunction__Group__0__Impl rule__RosettaLibraryFunction__Group__1 )
            // InternalRosetta.g:10983:2: rule__RosettaLibraryFunction__Group__0__Impl rule__RosettaLibraryFunction__Group__1
            {
            pushFollow(FOLLOW_51);
            rule__RosettaLibraryFunction__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__0"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__0__Impl"
    // InternalRosetta.g:10990:1: rule__RosettaLibraryFunction__Group__0__Impl : ( 'library' ) ;
    public final void rule__RosettaLibraryFunction__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:10994:1: ( ( 'library' ) )
            // InternalRosetta.g:10995:1: ( 'library' )
            {
            // InternalRosetta.g:10995:1: ( 'library' )
            // InternalRosetta.g:10996:2: 'library'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getLibraryKeyword_0()); }
            match(input,85,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getLibraryKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__0__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__1"
    // InternalRosetta.g:11005:1: rule__RosettaLibraryFunction__Group__1 : rule__RosettaLibraryFunction__Group__1__Impl rule__RosettaLibraryFunction__Group__2 ;
    public final void rule__RosettaLibraryFunction__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11009:1: ( rule__RosettaLibraryFunction__Group__1__Impl rule__RosettaLibraryFunction__Group__2 )
            // InternalRosetta.g:11010:2: rule__RosettaLibraryFunction__Group__1__Impl rule__RosettaLibraryFunction__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaLibraryFunction__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__1"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__1__Impl"
    // InternalRosetta.g:11017:1: rule__RosettaLibraryFunction__Group__1__Impl : ( 'function' ) ;
    public final void rule__RosettaLibraryFunction__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11021:1: ( ( 'function' ) )
            // InternalRosetta.g:11022:1: ( 'function' )
            {
            // InternalRosetta.g:11022:1: ( 'function' )
            // InternalRosetta.g:11023:2: 'function'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getFunctionKeyword_1()); }
            match(input,86,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getFunctionKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__1__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__2"
    // InternalRosetta.g:11032:1: rule__RosettaLibraryFunction__Group__2 : rule__RosettaLibraryFunction__Group__2__Impl rule__RosettaLibraryFunction__Group__3 ;
    public final void rule__RosettaLibraryFunction__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11036:1: ( rule__RosettaLibraryFunction__Group__2__Impl rule__RosettaLibraryFunction__Group__3 )
            // InternalRosetta.g:11037:2: rule__RosettaLibraryFunction__Group__2__Impl rule__RosettaLibraryFunction__Group__3
            {
            pushFollow(FOLLOW_28);
            rule__RosettaLibraryFunction__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__2"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__2__Impl"
    // InternalRosetta.g:11044:1: rule__RosettaLibraryFunction__Group__2__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaLibraryFunction__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11048:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:11049:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:11049:1: ( ruleRosettaNamed )
            // InternalRosetta.g:11050:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getRosettaNamedParserRuleCall_2()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getRosettaNamedParserRuleCall_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__2__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__3"
    // InternalRosetta.g:11059:1: rule__RosettaLibraryFunction__Group__3 : rule__RosettaLibraryFunction__Group__3__Impl rule__RosettaLibraryFunction__Group__4 ;
    public final void rule__RosettaLibraryFunction__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11063:1: ( rule__RosettaLibraryFunction__Group__3__Impl rule__RosettaLibraryFunction__Group__4 )
            // InternalRosetta.g:11064:2: rule__RosettaLibraryFunction__Group__3__Impl rule__RosettaLibraryFunction__Group__4
            {
            pushFollow(FOLLOW_52);
            rule__RosettaLibraryFunction__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__3"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__3__Impl"
    // InternalRosetta.g:11071:1: rule__RosettaLibraryFunction__Group__3__Impl : ( '(' ) ;
    public final void rule__RosettaLibraryFunction__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11075:1: ( ( '(' ) )
            // InternalRosetta.g:11076:1: ( '(' )
            {
            // InternalRosetta.g:11076:1: ( '(' )
            // InternalRosetta.g:11077:2: '('
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getLeftParenthesisKeyword_3()); }
            match(input,73,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getLeftParenthesisKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__3__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__4"
    // InternalRosetta.g:11086:1: rule__RosettaLibraryFunction__Group__4 : rule__RosettaLibraryFunction__Group__4__Impl rule__RosettaLibraryFunction__Group__5 ;
    public final void rule__RosettaLibraryFunction__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11090:1: ( rule__RosettaLibraryFunction__Group__4__Impl rule__RosettaLibraryFunction__Group__5 )
            // InternalRosetta.g:11091:2: rule__RosettaLibraryFunction__Group__4__Impl rule__RosettaLibraryFunction__Group__5
            {
            pushFollow(FOLLOW_52);
            rule__RosettaLibraryFunction__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__4"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__4__Impl"
    // InternalRosetta.g:11098:1: rule__RosettaLibraryFunction__Group__4__Impl : ( ( rule__RosettaLibraryFunction__Group_4__0 )? ) ;
    public final void rule__RosettaLibraryFunction__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11102:1: ( ( ( rule__RosettaLibraryFunction__Group_4__0 )? ) )
            // InternalRosetta.g:11103:1: ( ( rule__RosettaLibraryFunction__Group_4__0 )? )
            {
            // InternalRosetta.g:11103:1: ( ( rule__RosettaLibraryFunction__Group_4__0 )? )
            // InternalRosetta.g:11104:2: ( rule__RosettaLibraryFunction__Group_4__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getGroup_4()); }
            // InternalRosetta.g:11105:2: ( rule__RosettaLibraryFunction__Group_4__0 )?
            int alt156=2;
            int LA156_0 = input.LA(1);
            if ( (LA156_0==RULE_ID||(LA156_0>=14 && LA156_0<=18)) ) {
                alt156=1;
            }
            switch (alt156) {
                case 1 :
                    // InternalRosetta.g:11105:3: rule__RosettaLibraryFunction__Group_4__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaLibraryFunction__Group_4__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getGroup_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__4__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__5"
    // InternalRosetta.g:11113:1: rule__RosettaLibraryFunction__Group__5 : rule__RosettaLibraryFunction__Group__5__Impl rule__RosettaLibraryFunction__Group__6 ;
    public final void rule__RosettaLibraryFunction__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11117:1: ( rule__RosettaLibraryFunction__Group__5__Impl rule__RosettaLibraryFunction__Group__6 )
            // InternalRosetta.g:11118:2: rule__RosettaLibraryFunction__Group__5__Impl rule__RosettaLibraryFunction__Group__6
            {
            pushFollow(FOLLOW_13);
            rule__RosettaLibraryFunction__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group__6(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__5"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__5__Impl"
    // InternalRosetta.g:11125:1: rule__RosettaLibraryFunction__Group__5__Impl : ( ')' ) ;
    public final void rule__RosettaLibraryFunction__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11129:1: ( ( ')' ) )
            // InternalRosetta.g:11130:1: ( ')' )
            {
            // InternalRosetta.g:11130:1: ( ')' )
            // InternalRosetta.g:11131:2: ')'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getRightParenthesisKeyword_5()); }
            match(input,74,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getRightParenthesisKeyword_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__5__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__6"
    // InternalRosetta.g:11140:1: rule__RosettaLibraryFunction__Group__6 : rule__RosettaLibraryFunction__Group__6__Impl rule__RosettaLibraryFunction__Group__7 ;
    public final void rule__RosettaLibraryFunction__Group__6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11144:1: ( rule__RosettaLibraryFunction__Group__6__Impl rule__RosettaLibraryFunction__Group__7 )
            // InternalRosetta.g:11145:2: rule__RosettaLibraryFunction__Group__6__Impl rule__RosettaLibraryFunction__Group__7
            {
            pushFollow(FOLLOW_9);
            rule__RosettaLibraryFunction__Group__6__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group__7(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__6"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__6__Impl"
    // InternalRosetta.g:11152:1: rule__RosettaLibraryFunction__Group__6__Impl : ( ruleRosettaTyped ) ;
    public final void rule__RosettaLibraryFunction__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11156:1: ( ( ruleRosettaTyped ) )
            // InternalRosetta.g:11157:1: ( ruleRosettaTyped )
            {
            // InternalRosetta.g:11157:1: ( ruleRosettaTyped )
            // InternalRosetta.g:11158:2: ruleRosettaTyped
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getRosettaTypedParserRuleCall_6()); }
            pushFollow(FOLLOW_2);
            ruleRosettaTyped(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getRosettaTypedParserRuleCall_6()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__6__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__7"
    // InternalRosetta.g:11167:1: rule__RosettaLibraryFunction__Group__7 : rule__RosettaLibraryFunction__Group__7__Impl ;
    public final void rule__RosettaLibraryFunction__Group__7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11171:1: ( rule__RosettaLibraryFunction__Group__7__Impl )
            // InternalRosetta.g:11172:2: rule__RosettaLibraryFunction__Group__7__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group__7__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__7"
    // $ANTLR start "rule__RosettaLibraryFunction__Group__7__Impl"
    // InternalRosetta.g:11178:1: rule__RosettaLibraryFunction__Group__7__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__RosettaLibraryFunction__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11182:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:11183:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:11183:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:11184:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getRosettaDefinableParserRuleCall_7()); }
            // InternalRosetta.g:11185:2: ( ruleRosettaDefinable )?
            int alt157=2;
            int LA157_0 = input.LA(1);
            if ( (LA157_0==35) ) {
                alt157=1;
            }
            switch (alt157) {
                case 1 :
                    // InternalRosetta.g:11185:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getRosettaDefinableParserRuleCall_7()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group__7__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group_4__0"
    // InternalRosetta.g:11194:1: rule__RosettaLibraryFunction__Group_4__0 : rule__RosettaLibraryFunction__Group_4__0__Impl rule__RosettaLibraryFunction__Group_4__1 ;
    public final void rule__RosettaLibraryFunction__Group_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11198:1: ( rule__RosettaLibraryFunction__Group_4__0__Impl rule__RosettaLibraryFunction__Group_4__1 )
            // InternalRosetta.g:11199:2: rule__RosettaLibraryFunction__Group_4__0__Impl rule__RosettaLibraryFunction__Group_4__1
            {
            pushFollow(FOLLOW_41);
            rule__RosettaLibraryFunction__Group_4__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group_4__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group_4__0"
    // $ANTLR start "rule__RosettaLibraryFunction__Group_4__0__Impl"
    // InternalRosetta.g:11206:1: rule__RosettaLibraryFunction__Group_4__0__Impl : ( ( rule__RosettaLibraryFunction__ParametersAssignment_4_0 ) ) ;
    public final void rule__RosettaLibraryFunction__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11210:1: ( ( ( rule__RosettaLibraryFunction__ParametersAssignment_4_0 ) ) )
            // InternalRosetta.g:11211:1: ( ( rule__RosettaLibraryFunction__ParametersAssignment_4_0 ) )
            {
            // InternalRosetta.g:11211:1: ( ( rule__RosettaLibraryFunction__ParametersAssignment_4_0 ) )
            // InternalRosetta.g:11212:2: ( rule__RosettaLibraryFunction__ParametersAssignment_4_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getParametersAssignment_4_0()); }
            // InternalRosetta.g:11213:2: ( rule__RosettaLibraryFunction__ParametersAssignment_4_0 )
            // InternalRosetta.g:11213:3: rule__RosettaLibraryFunction__ParametersAssignment_4_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__ParametersAssignment_4_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getParametersAssignment_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group_4__0__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group_4__1"
    // InternalRosetta.g:11221:1: rule__RosettaLibraryFunction__Group_4__1 : rule__RosettaLibraryFunction__Group_4__1__Impl ;
    public final void rule__RosettaLibraryFunction__Group_4__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11225:1: ( rule__RosettaLibraryFunction__Group_4__1__Impl )
            // InternalRosetta.g:11226:2: rule__RosettaLibraryFunction__Group_4__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group_4__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group_4__1"
    // $ANTLR start "rule__RosettaLibraryFunction__Group_4__1__Impl"
    // InternalRosetta.g:11232:1: rule__RosettaLibraryFunction__Group_4__1__Impl : ( ( rule__RosettaLibraryFunction__Group_4_1__0 )* ) ;
    public final void rule__RosettaLibraryFunction__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11236:1: ( ( ( rule__RosettaLibraryFunction__Group_4_1__0 )* ) )
            // InternalRosetta.g:11237:1: ( ( rule__RosettaLibraryFunction__Group_4_1__0 )* )
            {
            // InternalRosetta.g:11237:1: ( ( rule__RosettaLibraryFunction__Group_4_1__0 )* )
            // InternalRosetta.g:11238:2: ( rule__RosettaLibraryFunction__Group_4_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getGroup_4_1()); }
            // InternalRosetta.g:11239:2: ( rule__RosettaLibraryFunction__Group_4_1__0 )*
            loop158:
            do {
                int alt158=2;
                int LA158_0 = input.LA(1);
                if ( (LA158_0==40) ) {
                    alt158=1;
                }
                switch (alt158) {
            	case 1 :
            	    // InternalRosetta.g:11239:3: rule__RosettaLibraryFunction__Group_4_1__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__RosettaLibraryFunction__Group_4_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop158;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getGroup_4_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group_4__1__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group_4_1__0"
    // InternalRosetta.g:11248:1: rule__RosettaLibraryFunction__Group_4_1__0 : rule__RosettaLibraryFunction__Group_4_1__0__Impl rule__RosettaLibraryFunction__Group_4_1__1 ;
    public final void rule__RosettaLibraryFunction__Group_4_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11252:1: ( rule__RosettaLibraryFunction__Group_4_1__0__Impl rule__RosettaLibraryFunction__Group_4_1__1 )
            // InternalRosetta.g:11253:2: rule__RosettaLibraryFunction__Group_4_1__0__Impl rule__RosettaLibraryFunction__Group_4_1__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaLibraryFunction__Group_4_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group_4_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group_4_1__0"
    // $ANTLR start "rule__RosettaLibraryFunction__Group_4_1__0__Impl"
    // InternalRosetta.g:11260:1: rule__RosettaLibraryFunction__Group_4_1__0__Impl : ( ',' ) ;
    public final void rule__RosettaLibraryFunction__Group_4_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11264:1: ( ( ',' ) )
            // InternalRosetta.g:11265:1: ( ',' )
            {
            // InternalRosetta.g:11265:1: ( ',' )
            // InternalRosetta.g:11266:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getCommaKeyword_4_1_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getCommaKeyword_4_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group_4_1__0__Impl"
    // $ANTLR start "rule__RosettaLibraryFunction__Group_4_1__1"
    // InternalRosetta.g:11275:1: rule__RosettaLibraryFunction__Group_4_1__1 : rule__RosettaLibraryFunction__Group_4_1__1__Impl ;
    public final void rule__RosettaLibraryFunction__Group_4_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11279:1: ( rule__RosettaLibraryFunction__Group_4_1__1__Impl )
            // InternalRosetta.g:11280:2: rule__RosettaLibraryFunction__Group_4_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__Group_4_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group_4_1__1"
    // $ANTLR start "rule__RosettaLibraryFunction__Group_4_1__1__Impl"
    // InternalRosetta.g:11286:1: rule__RosettaLibraryFunction__Group_4_1__1__Impl : ( ( rule__RosettaLibraryFunction__ParametersAssignment_4_1_1 ) ) ;
    public final void rule__RosettaLibraryFunction__Group_4_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11290:1: ( ( ( rule__RosettaLibraryFunction__ParametersAssignment_4_1_1 ) ) )
            // InternalRosetta.g:11291:1: ( ( rule__RosettaLibraryFunction__ParametersAssignment_4_1_1 ) )
            {
            // InternalRosetta.g:11291:1: ( ( rule__RosettaLibraryFunction__ParametersAssignment_4_1_1 ) )
            // InternalRosetta.g:11292:2: ( rule__RosettaLibraryFunction__ParametersAssignment_4_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getParametersAssignment_4_1_1()); }
            // InternalRosetta.g:11293:2: ( rule__RosettaLibraryFunction__ParametersAssignment_4_1_1 )
            // InternalRosetta.g:11293:3: rule__RosettaLibraryFunction__ParametersAssignment_4_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaLibraryFunction__ParametersAssignment_4_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getParametersAssignment_4_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__Group_4_1__1__Impl"
    // $ANTLR start "rule__RosettaQualifiedType__Group__0"
    // InternalRosetta.g:11302:1: rule__RosettaQualifiedType__Group__0 : rule__RosettaQualifiedType__Group__0__Impl rule__RosettaQualifiedType__Group__1 ;
    public final void rule__RosettaQualifiedType__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11306:1: ( rule__RosettaQualifiedType__Group__0__Impl rule__RosettaQualifiedType__Group__1 )
            // InternalRosetta.g:11307:2: rule__RosettaQualifiedType__Group__0__Impl rule__RosettaQualifiedType__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaQualifiedType__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiedType__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiedType__Group__0"
    // $ANTLR start "rule__RosettaQualifiedType__Group__0__Impl"
    // InternalRosetta.g:11314:1: rule__RosettaQualifiedType__Group__0__Impl : ( 'qualifiedType' ) ;
    public final void rule__RosettaQualifiedType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11318:1: ( ( 'qualifiedType' ) )
            // InternalRosetta.g:11319:1: ( 'qualifiedType' )
            {
            // InternalRosetta.g:11319:1: ( 'qualifiedType' )
            // InternalRosetta.g:11320:2: 'qualifiedType'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiedTypeAccess().getQualifiedTypeKeyword_0()); }
            match(input,87,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiedTypeAccess().getQualifiedTypeKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiedType__Group__0__Impl"
    // $ANTLR start "rule__RosettaQualifiedType__Group__1"
    // InternalRosetta.g:11329:1: rule__RosettaQualifiedType__Group__1 : rule__RosettaQualifiedType__Group__1__Impl rule__RosettaQualifiedType__Group__2 ;
    public final void rule__RosettaQualifiedType__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11333:1: ( rule__RosettaQualifiedType__Group__1__Impl rule__RosettaQualifiedType__Group__2 )
            // InternalRosetta.g:11334:2: rule__RosettaQualifiedType__Group__1__Impl rule__RosettaQualifiedType__Group__2
            {
            pushFollow(FOLLOW_49);
            rule__RosettaQualifiedType__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiedType__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiedType__Group__1"
    // $ANTLR start "rule__RosettaQualifiedType__Group__1__Impl"
    // InternalRosetta.g:11341:1: rule__RosettaQualifiedType__Group__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaQualifiedType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11345:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:11346:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:11346:1: ( ruleRosettaNamed )
            // InternalRosetta.g:11347:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiedTypeAccess().getRosettaNamedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiedTypeAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiedType__Group__1__Impl"
    // $ANTLR start "rule__RosettaQualifiedType__Group__2"
    // InternalRosetta.g:11356:1: rule__RosettaQualifiedType__Group__2 : rule__RosettaQualifiedType__Group__2__Impl rule__RosettaQualifiedType__Group__3 ;
    public final void rule__RosettaQualifiedType__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11360:1: ( rule__RosettaQualifiedType__Group__2__Impl rule__RosettaQualifiedType__Group__3 )
            // InternalRosetta.g:11361:2: rule__RosettaQualifiedType__Group__2__Impl rule__RosettaQualifiedType__Group__3
            {
            pushFollow(FOLLOW_53);
            rule__RosettaQualifiedType__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiedType__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiedType__Group__2"
    // $ANTLR start "rule__RosettaQualifiedType__Group__2__Impl"
    // InternalRosetta.g:11368:1: rule__RosettaQualifiedType__Group__2__Impl : ( '{' ) ;
    public final void rule__RosettaQualifiedType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11372:1: ( ( '{' ) )
            // InternalRosetta.g:11373:1: ( '{' )
            {
            // InternalRosetta.g:11373:1: ( '{' )
            // InternalRosetta.g:11374:2: '{'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiedTypeAccess().getLeftCurlyBracketKeyword_2()); }
            match(input,83,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiedTypeAccess().getLeftCurlyBracketKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiedType__Group__2__Impl"
    // $ANTLR start "rule__RosettaQualifiedType__Group__3"
    // InternalRosetta.g:11383:1: rule__RosettaQualifiedType__Group__3 : rule__RosettaQualifiedType__Group__3__Impl ;
    public final void rule__RosettaQualifiedType__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11387:1: ( rule__RosettaQualifiedType__Group__3__Impl )
            // InternalRosetta.g:11388:2: rule__RosettaQualifiedType__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiedType__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiedType__Group__3"
    // $ANTLR start "rule__RosettaQualifiedType__Group__3__Impl"
    // InternalRosetta.g:11394:1: rule__RosettaQualifiedType__Group__3__Impl : ( '}' ) ;
    public final void rule__RosettaQualifiedType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11398:1: ( ( '}' ) )
            // InternalRosetta.g:11399:1: ( '}' )
            {
            // InternalRosetta.g:11399:1: ( '}' )
            // InternalRosetta.g:11400:2: '}'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiedTypeAccess().getRightCurlyBracketKeyword_3()); }
            match(input,84,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiedTypeAccess().getRightCurlyBracketKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiedType__Group__3__Impl"
    // $ANTLR start "rule__RosettaCalculationType__Group__0"
    // InternalRosetta.g:11410:1: rule__RosettaCalculationType__Group__0 : rule__RosettaCalculationType__Group__0__Impl rule__RosettaCalculationType__Group__1 ;
    public final void rule__RosettaCalculationType__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11414:1: ( rule__RosettaCalculationType__Group__0__Impl rule__RosettaCalculationType__Group__1 )
            // InternalRosetta.g:11415:2: rule__RosettaCalculationType__Group__0__Impl rule__RosettaCalculationType__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaCalculationType__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalculationType__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalculationType__Group__0"
    // $ANTLR start "rule__RosettaCalculationType__Group__0__Impl"
    // InternalRosetta.g:11422:1: rule__RosettaCalculationType__Group__0__Impl : ( 'calculationType' ) ;
    public final void rule__RosettaCalculationType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11426:1: ( ( 'calculationType' ) )
            // InternalRosetta.g:11427:1: ( 'calculationType' )
            {
            // InternalRosetta.g:11427:1: ( 'calculationType' )
            // InternalRosetta.g:11428:2: 'calculationType'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalculationTypeAccess().getCalculationTypeKeyword_0()); }
            match(input,88,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalculationTypeAccess().getCalculationTypeKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalculationType__Group__0__Impl"
    // $ANTLR start "rule__RosettaCalculationType__Group__1"
    // InternalRosetta.g:11437:1: rule__RosettaCalculationType__Group__1 : rule__RosettaCalculationType__Group__1__Impl rule__RosettaCalculationType__Group__2 ;
    public final void rule__RosettaCalculationType__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11441:1: ( rule__RosettaCalculationType__Group__1__Impl rule__RosettaCalculationType__Group__2 )
            // InternalRosetta.g:11442:2: rule__RosettaCalculationType__Group__1__Impl rule__RosettaCalculationType__Group__2
            {
            pushFollow(FOLLOW_49);
            rule__RosettaCalculationType__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalculationType__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalculationType__Group__1"
    // $ANTLR start "rule__RosettaCalculationType__Group__1__Impl"
    // InternalRosetta.g:11449:1: rule__RosettaCalculationType__Group__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaCalculationType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11453:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:11454:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:11454:1: ( ruleRosettaNamed )
            // InternalRosetta.g:11455:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalculationTypeAccess().getRosettaNamedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalculationTypeAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalculationType__Group__1__Impl"
    // $ANTLR start "rule__RosettaCalculationType__Group__2"
    // InternalRosetta.g:11464:1: rule__RosettaCalculationType__Group__2 : rule__RosettaCalculationType__Group__2__Impl rule__RosettaCalculationType__Group__3 ;
    public final void rule__RosettaCalculationType__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11468:1: ( rule__RosettaCalculationType__Group__2__Impl rule__RosettaCalculationType__Group__3 )
            // InternalRosetta.g:11469:2: rule__RosettaCalculationType__Group__2__Impl rule__RosettaCalculationType__Group__3
            {
            pushFollow(FOLLOW_53);
            rule__RosettaCalculationType__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalculationType__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalculationType__Group__2"
    // $ANTLR start "rule__RosettaCalculationType__Group__2__Impl"
    // InternalRosetta.g:11476:1: rule__RosettaCalculationType__Group__2__Impl : ( '{' ) ;
    public final void rule__RosettaCalculationType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11480:1: ( ( '{' ) )
            // InternalRosetta.g:11481:1: ( '{' )
            {
            // InternalRosetta.g:11481:1: ( '{' )
            // InternalRosetta.g:11482:2: '{'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalculationTypeAccess().getLeftCurlyBracketKeyword_2()); }
            match(input,83,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalculationTypeAccess().getLeftCurlyBracketKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalculationType__Group__2__Impl"
    // $ANTLR start "rule__RosettaCalculationType__Group__3"
    // InternalRosetta.g:11491:1: rule__RosettaCalculationType__Group__3 : rule__RosettaCalculationType__Group__3__Impl ;
    public final void rule__RosettaCalculationType__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11495:1: ( rule__RosettaCalculationType__Group__3__Impl )
            // InternalRosetta.g:11496:2: rule__RosettaCalculationType__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalculationType__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalculationType__Group__3"
    // $ANTLR start "rule__RosettaCalculationType__Group__3__Impl"
    // InternalRosetta.g:11502:1: rule__RosettaCalculationType__Group__3__Impl : ( '}' ) ;
    public final void rule__RosettaCalculationType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11506:1: ( ( '}' ) )
            // InternalRosetta.g:11507:1: ( '}' )
            {
            // InternalRosetta.g:11507:1: ( '}' )
            // InternalRosetta.g:11508:2: '}'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalculationTypeAccess().getRightCurlyBracketKeyword_3()); }
            match(input,84,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalculationTypeAccess().getRightCurlyBracketKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalculationType__Group__3__Impl"
    // $ANTLR start "rule__RosettaTypeAlias__Group__0"
    // InternalRosetta.g:11518:1: rule__RosettaTypeAlias__Group__0 : rule__RosettaTypeAlias__Group__0__Impl rule__RosettaTypeAlias__Group__1 ;
    public final void rule__RosettaTypeAlias__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11522:1: ( rule__RosettaTypeAlias__Group__0__Impl rule__RosettaTypeAlias__Group__1 )
            // InternalRosetta.g:11523:2: rule__RosettaTypeAlias__Group__0__Impl rule__RosettaTypeAlias__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaTypeAlias__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaTypeAlias__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__0"
    // $ANTLR start "rule__RosettaTypeAlias__Group__0__Impl"
    // InternalRosetta.g:11530:1: rule__RosettaTypeAlias__Group__0__Impl : ( 'typeAlias' ) ;
    public final void rule__RosettaTypeAlias__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11534:1: ( ( 'typeAlias' ) )
            // InternalRosetta.g:11535:1: ( 'typeAlias' )
            {
            // InternalRosetta.g:11535:1: ( 'typeAlias' )
            // InternalRosetta.g:11536:2: 'typeAlias'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaTypeAliasAccess().getTypeAliasKeyword_0()); }
            match(input,89,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaTypeAliasAccess().getTypeAliasKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__0__Impl"
    // $ANTLR start "rule__RosettaTypeAlias__Group__1"
    // InternalRosetta.g:11545:1: rule__RosettaTypeAlias__Group__1 : rule__RosettaTypeAlias__Group__1__Impl rule__RosettaTypeAlias__Group__2 ;
    public final void rule__RosettaTypeAlias__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11549:1: ( rule__RosettaTypeAlias__Group__1__Impl rule__RosettaTypeAlias__Group__2 )
            // InternalRosetta.g:11550:2: rule__RosettaTypeAlias__Group__1__Impl rule__RosettaTypeAlias__Group__2
            {
            pushFollow(FOLLOW_54);
            rule__RosettaTypeAlias__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaTypeAlias__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__1"
    // $ANTLR start "rule__RosettaTypeAlias__Group__1__Impl"
    // InternalRosetta.g:11557:1: rule__RosettaTypeAlias__Group__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaTypeAlias__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11561:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:11562:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:11562:1: ( ruleRosettaNamed )
            // InternalRosetta.g:11563:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaTypeAliasAccess().getRosettaNamedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaTypeAliasAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__1__Impl"
    // $ANTLR start "rule__RosettaTypeAlias__Group__2"
    // InternalRosetta.g:11572:1: rule__RosettaTypeAlias__Group__2 : rule__RosettaTypeAlias__Group__2__Impl rule__RosettaTypeAlias__Group__3 ;
    public final void rule__RosettaTypeAlias__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11576:1: ( rule__RosettaTypeAlias__Group__2__Impl rule__RosettaTypeAlias__Group__3 )
            // InternalRosetta.g:11577:2: rule__RosettaTypeAlias__Group__2__Impl rule__RosettaTypeAlias__Group__3
            {
            pushFollow(FOLLOW_54);
            rule__RosettaTypeAlias__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaTypeAlias__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__2"
    // $ANTLR start "rule__RosettaTypeAlias__Group__2__Impl"
    // InternalRosetta.g:11584:1: rule__RosettaTypeAlias__Group__2__Impl : ( ( ruleTypeParameters )? ) ;
    public final void rule__RosettaTypeAlias__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11588:1: ( ( ( ruleTypeParameters )? ) )
            // InternalRosetta.g:11589:1: ( ( ruleTypeParameters )? )
            {
            // InternalRosetta.g:11589:1: ( ( ruleTypeParameters )? )
            // InternalRosetta.g:11590:2: ( ruleTypeParameters )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaTypeAliasAccess().getTypeParametersParserRuleCall_2()); }
            // InternalRosetta.g:11591:2: ( ruleTypeParameters )?
            int alt159=2;
            int LA159_0 = input.LA(1);
            if ( (LA159_0==73) ) {
                alt159=1;
            }
            switch (alt159) {
                case 1 :
                    // InternalRosetta.g:11591:3: ruleTypeParameters
                    {
                    pushFollow(FOLLOW_2);
                    ruleTypeParameters();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaTypeAliasAccess().getTypeParametersParserRuleCall_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__2__Impl"
    // $ANTLR start "rule__RosettaTypeAlias__Group__3"
    // InternalRosetta.g:11599:1: rule__RosettaTypeAlias__Group__3 : rule__RosettaTypeAlias__Group__3__Impl rule__RosettaTypeAlias__Group__4 ;
    public final void rule__RosettaTypeAlias__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11603:1: ( rule__RosettaTypeAlias__Group__3__Impl rule__RosettaTypeAlias__Group__4 )
            // InternalRosetta.g:11604:2: rule__RosettaTypeAlias__Group__3__Impl rule__RosettaTypeAlias__Group__4
            {
            pushFollow(FOLLOW_55);
            rule__RosettaTypeAlias__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaTypeAlias__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__3"
    // $ANTLR start "rule__RosettaTypeAlias__Group__3__Impl"
    // InternalRosetta.g:11611:1: rule__RosettaTypeAlias__Group__3__Impl : ( ':' ) ;
    public final void rule__RosettaTypeAlias__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11615:1: ( ( ':' ) )
            // InternalRosetta.g:11616:1: ( ':' )
            {
            // InternalRosetta.g:11616:1: ( ':' )
            // InternalRosetta.g:11617:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaTypeAliasAccess().getColonKeyword_3()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaTypeAliasAccess().getColonKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__3__Impl"
    // $ANTLR start "rule__RosettaTypeAlias__Group__4"
    // InternalRosetta.g:11626:1: rule__RosettaTypeAlias__Group__4 : rule__RosettaTypeAlias__Group__4__Impl rule__RosettaTypeAlias__Group__5 ;
    public final void rule__RosettaTypeAlias__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11630:1: ( rule__RosettaTypeAlias__Group__4__Impl rule__RosettaTypeAlias__Group__5 )
            // InternalRosetta.g:11631:2: rule__RosettaTypeAlias__Group__4__Impl rule__RosettaTypeAlias__Group__5
            {
            pushFollow(FOLLOW_55);
            rule__RosettaTypeAlias__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaTypeAlias__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__4"
    // $ANTLR start "rule__RosettaTypeAlias__Group__4__Impl"
    // InternalRosetta.g:11638:1: rule__RosettaTypeAlias__Group__4__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__RosettaTypeAlias__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11642:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:11643:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:11643:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:11644:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaTypeAliasAccess().getRosettaDefinableParserRuleCall_4()); }
            // InternalRosetta.g:11645:2: ( ruleRosettaDefinable )?
            int alt160=2;
            int LA160_0 = input.LA(1);
            if ( (LA160_0==35) ) {
                alt160=1;
            }
            switch (alt160) {
                case 1 :
                    // InternalRosetta.g:11645:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaTypeAliasAccess().getRosettaDefinableParserRuleCall_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__4__Impl"
    // $ANTLR start "rule__RosettaTypeAlias__Group__5"
    // InternalRosetta.g:11653:1: rule__RosettaTypeAlias__Group__5 : rule__RosettaTypeAlias__Group__5__Impl ;
    public final void rule__RosettaTypeAlias__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11657:1: ( rule__RosettaTypeAlias__Group__5__Impl )
            // InternalRosetta.g:11658:2: rule__RosettaTypeAlias__Group__5__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaTypeAlias__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__5"
    // $ANTLR start "rule__RosettaTypeAlias__Group__5__Impl"
    // InternalRosetta.g:11664:1: rule__RosettaTypeAlias__Group__5__Impl : ( ruleRosettaTyped ) ;
    public final void rule__RosettaTypeAlias__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11668:1: ( ( ruleRosettaTyped ) )
            // InternalRosetta.g:11669:1: ( ruleRosettaTyped )
            {
            // InternalRosetta.g:11669:1: ( ruleRosettaTyped )
            // InternalRosetta.g:11670:2: ruleRosettaTyped
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaTypeAliasAccess().getRosettaTypedParserRuleCall_5()); }
            pushFollow(FOLLOW_2);
            ruleRosettaTyped(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaTypeAliasAccess().getRosettaTypedParserRuleCall_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTypeAlias__Group__5__Impl"
    // $ANTLR start "rule__RosettaMetaType__Group__0"
    // InternalRosetta.g:11680:1: rule__RosettaMetaType__Group__0 : rule__RosettaMetaType__Group__0__Impl rule__RosettaMetaType__Group__1 ;
    public final void rule__RosettaMetaType__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11684:1: ( rule__RosettaMetaType__Group__0__Impl rule__RosettaMetaType__Group__1 )
            // InternalRosetta.g:11685:2: rule__RosettaMetaType__Group__0__Impl rule__RosettaMetaType__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaMetaType__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMetaType__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaType__Group__0"
    // $ANTLR start "rule__RosettaMetaType__Group__0__Impl"
    // InternalRosetta.g:11692:1: rule__RosettaMetaType__Group__0__Impl : ( 'metaType' ) ;
    public final void rule__RosettaMetaType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11696:1: ( ( 'metaType' ) )
            // InternalRosetta.g:11697:1: ( 'metaType' )
            {
            // InternalRosetta.g:11697:1: ( 'metaType' )
            // InternalRosetta.g:11698:2: 'metaType'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaTypeAccess().getMetaTypeKeyword_0()); }
            match(input,90,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaTypeAccess().getMetaTypeKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaType__Group__0__Impl"
    // $ANTLR start "rule__RosettaMetaType__Group__1"
    // InternalRosetta.g:11707:1: rule__RosettaMetaType__Group__1 : rule__RosettaMetaType__Group__1__Impl rule__RosettaMetaType__Group__2 ;
    public final void rule__RosettaMetaType__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11711:1: ( rule__RosettaMetaType__Group__1__Impl rule__RosettaMetaType__Group__2 )
            // InternalRosetta.g:11712:2: rule__RosettaMetaType__Group__1__Impl rule__RosettaMetaType__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaMetaType__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMetaType__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaType__Group__1"
    // $ANTLR start "rule__RosettaMetaType__Group__1__Impl"
    // InternalRosetta.g:11719:1: rule__RosettaMetaType__Group__1__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaMetaType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11723:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:11724:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:11724:1: ( ruleRosettaNamed )
            // InternalRosetta.g:11725:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaTypeAccess().getRosettaNamedParserRuleCall_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaTypeAccess().getRosettaNamedParserRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaType__Group__1__Impl"
    // $ANTLR start "rule__RosettaMetaType__Group__2"
    // InternalRosetta.g:11734:1: rule__RosettaMetaType__Group__2 : rule__RosettaMetaType__Group__2__Impl ;
    public final void rule__RosettaMetaType__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11738:1: ( rule__RosettaMetaType__Group__2__Impl )
            // InternalRosetta.g:11739:2: rule__RosettaMetaType__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaType__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaType__Group__2"
    // $ANTLR start "rule__RosettaMetaType__Group__2__Impl"
    // InternalRosetta.g:11745:1: rule__RosettaMetaType__Group__2__Impl : ( ruleRosettaTyped ) ;
    public final void rule__RosettaMetaType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11749:1: ( ( ruleRosettaTyped ) )
            // InternalRosetta.g:11750:1: ( ruleRosettaTyped )
            {
            // InternalRosetta.g:11750:1: ( ruleRosettaTyped )
            // InternalRosetta.g:11751:2: ruleRosettaTyped
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaTypeAccess().getRosettaTypedParserRuleCall_2()); }
            pushFollow(FOLLOW_2);
            ruleRosettaTyped(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaTypeAccess().getRosettaTypedParserRuleCall_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaType__Group__2__Impl"
    // $ANTLR start "rule__RosettaEnumValue__Group__0"
    // InternalRosetta.g:11761:1: rule__RosettaEnumValue__Group__0 : rule__RosettaEnumValue__Group__0__Impl rule__RosettaEnumValue__Group__1 ;
    public final void rule__RosettaEnumValue__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11765:1: ( rule__RosettaEnumValue__Group__0__Impl rule__RosettaEnumValue__Group__1 )
            // InternalRosetta.g:11766:2: rule__RosettaEnumValue__Group__0__Impl rule__RosettaEnumValue__Group__1
            {
            pushFollow(FOLLOW_56);
            rule__RosettaEnumValue__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumValue__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group__0"
    // $ANTLR start "rule__RosettaEnumValue__Group__0__Impl"
    // InternalRosetta.g:11773:1: rule__RosettaEnumValue__Group__0__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaEnumValue__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11777:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:11778:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:11778:1: ( ruleRosettaNamed )
            // InternalRosetta.g:11779:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumValueAccess().getRosettaNamedParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumValueAccess().getRosettaNamedParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group__0__Impl"
    // $ANTLR start "rule__RosettaEnumValue__Group__1"
    // InternalRosetta.g:11788:1: rule__RosettaEnumValue__Group__1 : rule__RosettaEnumValue__Group__1__Impl rule__RosettaEnumValue__Group__2 ;
    public final void rule__RosettaEnumValue__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11792:1: ( rule__RosettaEnumValue__Group__1__Impl rule__RosettaEnumValue__Group__2 )
            // InternalRosetta.g:11793:2: rule__RosettaEnumValue__Group__1__Impl rule__RosettaEnumValue__Group__2
            {
            pushFollow(FOLLOW_56);
            rule__RosettaEnumValue__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumValue__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group__1"
    // $ANTLR start "rule__RosettaEnumValue__Group__1__Impl"
    // InternalRosetta.g:11800:1: rule__RosettaEnumValue__Group__1__Impl : ( ( rule__RosettaEnumValue__Group_1__0 )? ) ;
    public final void rule__RosettaEnumValue__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11804:1: ( ( ( rule__RosettaEnumValue__Group_1__0 )? ) )
            // InternalRosetta.g:11805:1: ( ( rule__RosettaEnumValue__Group_1__0 )? )
            {
            // InternalRosetta.g:11805:1: ( ( rule__RosettaEnumValue__Group_1__0 )? )
            // InternalRosetta.g:11806:2: ( rule__RosettaEnumValue__Group_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumValueAccess().getGroup_1()); }
            // InternalRosetta.g:11807:2: ( rule__RosettaEnumValue__Group_1__0 )?
            int alt161=2;
            int LA161_0 = input.LA(1);
            if ( (LA161_0==91) ) {
                alt161=1;
            }
            switch (alt161) {
                case 1 :
                    // InternalRosetta.g:11807:3: rule__RosettaEnumValue__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaEnumValue__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumValueAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group__1__Impl"
    // $ANTLR start "rule__RosettaEnumValue__Group__2"
    // InternalRosetta.g:11815:1: rule__RosettaEnumValue__Group__2 : rule__RosettaEnumValue__Group__2__Impl rule__RosettaEnumValue__Group__3 ;
    public final void rule__RosettaEnumValue__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11819:1: ( rule__RosettaEnumValue__Group__2__Impl rule__RosettaEnumValue__Group__3 )
            // InternalRosetta.g:11820:2: rule__RosettaEnumValue__Group__2__Impl rule__RosettaEnumValue__Group__3
            {
            pushFollow(FOLLOW_56);
            rule__RosettaEnumValue__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumValue__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group__2"
    // $ANTLR start "rule__RosettaEnumValue__Group__2__Impl"
    // InternalRosetta.g:11827:1: rule__RosettaEnumValue__Group__2__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__RosettaEnumValue__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11831:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:11832:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:11832:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:11833:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumValueAccess().getRosettaDefinableParserRuleCall_2()); }
            // InternalRosetta.g:11834:2: ( ruleRosettaDefinable )?
            int alt162=2;
            int LA162_0 = input.LA(1);
            if ( (LA162_0==35) ) {
                alt162=1;
            }
            switch (alt162) {
                case 1 :
                    // InternalRosetta.g:11834:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumValueAccess().getRosettaDefinableParserRuleCall_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group__2__Impl"
    // $ANTLR start "rule__RosettaEnumValue__Group__3"
    // InternalRosetta.g:11842:1: rule__RosettaEnumValue__Group__3 : rule__RosettaEnumValue__Group__3__Impl ;
    public final void rule__RosettaEnumValue__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11846:1: ( rule__RosettaEnumValue__Group__3__Impl )
            // InternalRosetta.g:11847:2: rule__RosettaEnumValue__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumValue__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group__3"
    // $ANTLR start "rule__RosettaEnumValue__Group__3__Impl"
    // InternalRosetta.g:11853:1: rule__RosettaEnumValue__Group__3__Impl : ( ( rule__RosettaEnumValue__Alternatives_3 )* ) ;
    public final void rule__RosettaEnumValue__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11857:1: ( ( ( rule__RosettaEnumValue__Alternatives_3 )* ) )
            // InternalRosetta.g:11858:1: ( ( rule__RosettaEnumValue__Alternatives_3 )* )
            {
            // InternalRosetta.g:11858:1: ( ( rule__RosettaEnumValue__Alternatives_3 )* )
            // InternalRosetta.g:11859:2: ( rule__RosettaEnumValue__Alternatives_3 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumValueAccess().getAlternatives_3()); }
            // InternalRosetta.g:11860:2: ( rule__RosettaEnumValue__Alternatives_3 )*
            loop163:
            do {
                int alt163=2;
                int LA163_0 = input.LA(1);
                if ( (LA163_0==65) ) {
                    alt163=1;
                }
                switch (alt163) {
            	case 1 :
            	    // InternalRosetta.g:11860:3: rule__RosettaEnumValue__Alternatives_3
            	    {
            	    pushFollow(FOLLOW_25);
            	    rule__RosettaEnumValue__Alternatives_3();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop163;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumValueAccess().getAlternatives_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group__3__Impl"
    // $ANTLR start "rule__RosettaEnumValue__Group_1__0"
    // InternalRosetta.g:11869:1: rule__RosettaEnumValue__Group_1__0 : rule__RosettaEnumValue__Group_1__0__Impl rule__RosettaEnumValue__Group_1__1 ;
    public final void rule__RosettaEnumValue__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11873:1: ( rule__RosettaEnumValue__Group_1__0__Impl rule__RosettaEnumValue__Group_1__1 )
            // InternalRosetta.g:11874:2: rule__RosettaEnumValue__Group_1__0__Impl rule__RosettaEnumValue__Group_1__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaEnumValue__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumValue__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group_1__0"
    // $ANTLR start "rule__RosettaEnumValue__Group_1__0__Impl"
    // InternalRosetta.g:11881:1: rule__RosettaEnumValue__Group_1__0__Impl : ( 'displayName' ) ;
    public final void rule__RosettaEnumValue__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11885:1: ( ( 'displayName' ) )
            // InternalRosetta.g:11886:1: ( 'displayName' )
            {
            // InternalRosetta.g:11886:1: ( 'displayName' )
            // InternalRosetta.g:11887:2: 'displayName'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumValueAccess().getDisplayNameKeyword_1_0()); }
            match(input,91,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumValueAccess().getDisplayNameKeyword_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaEnumValue__Group_1__1"
    // InternalRosetta.g:11896:1: rule__RosettaEnumValue__Group_1__1 : rule__RosettaEnumValue__Group_1__1__Impl ;
    public final void rule__RosettaEnumValue__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11900:1: ( rule__RosettaEnumValue__Group_1__1__Impl )
            // InternalRosetta.g:11901:2: rule__RosettaEnumValue__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumValue__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group_1__1"
    // $ANTLR start "rule__RosettaEnumValue__Group_1__1__Impl"
    // InternalRosetta.g:11907:1: rule__RosettaEnumValue__Group_1__1__Impl : ( ( rule__RosettaEnumValue__DisplayAssignment_1_1 ) ) ;
    public final void rule__RosettaEnumValue__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11911:1: ( ( ( rule__RosettaEnumValue__DisplayAssignment_1_1 ) ) )
            // InternalRosetta.g:11912:1: ( ( rule__RosettaEnumValue__DisplayAssignment_1_1 ) )
            {
            // InternalRosetta.g:11912:1: ( ( rule__RosettaEnumValue__DisplayAssignment_1_1 ) )
            // InternalRosetta.g:11913:2: ( rule__RosettaEnumValue__DisplayAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumValueAccess().getDisplayAssignment_1_1()); }
            // InternalRosetta.g:11914:2: ( rule__RosettaEnumValue__DisplayAssignment_1_1 )
            // InternalRosetta.g:11914:3: rule__RosettaEnumValue__DisplayAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumValue__DisplayAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumValueAccess().getDisplayAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaCardinality__Group__0"
    // InternalRosetta.g:11923:1: rule__RosettaCardinality__Group__0 : rule__RosettaCardinality__Group__0__Impl rule__RosettaCardinality__Group__1 ;
    public final void rule__RosettaCardinality__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11927:1: ( rule__RosettaCardinality__Group__0__Impl rule__RosettaCardinality__Group__1 )
            // InternalRosetta.g:11928:2: rule__RosettaCardinality__Group__0__Impl rule__RosettaCardinality__Group__1
            {
            pushFollow(FOLLOW_57);
            rule__RosettaCardinality__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group__0"
    // $ANTLR start "rule__RosettaCardinality__Group__0__Impl"
    // InternalRosetta.g:11935:1: rule__RosettaCardinality__Group__0__Impl : ( '(' ) ;
    public final void rule__RosettaCardinality__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11939:1: ( ( '(' ) )
            // InternalRosetta.g:11940:1: ( '(' )
            {
            // InternalRosetta.g:11940:1: ( '(' )
            // InternalRosetta.g:11941:2: '('
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getLeftParenthesisKeyword_0()); }
            match(input,73,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getLeftParenthesisKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group__0__Impl"
    // $ANTLR start "rule__RosettaCardinality__Group__1"
    // InternalRosetta.g:11950:1: rule__RosettaCardinality__Group__1 : rule__RosettaCardinality__Group__1__Impl rule__RosettaCardinality__Group__2 ;
    public final void rule__RosettaCardinality__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11954:1: ( rule__RosettaCardinality__Group__1__Impl rule__RosettaCardinality__Group__2 )
            // InternalRosetta.g:11955:2: rule__RosettaCardinality__Group__1__Impl rule__RosettaCardinality__Group__2
            {
            pushFollow(FOLLOW_33);
            rule__RosettaCardinality__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group__1"
    // $ANTLR start "rule__RosettaCardinality__Group__1__Impl"
    // InternalRosetta.g:11962:1: rule__RosettaCardinality__Group__1__Impl : ( ( rule__RosettaCardinality__Alternatives_1 ) ) ;
    public final void rule__RosettaCardinality__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11966:1: ( ( ( rule__RosettaCardinality__Alternatives_1 ) ) )
            // InternalRosetta.g:11967:1: ( ( rule__RosettaCardinality__Alternatives_1 ) )
            {
            // InternalRosetta.g:11967:1: ( ( rule__RosettaCardinality__Alternatives_1 ) )
            // InternalRosetta.g:11968:2: ( rule__RosettaCardinality__Alternatives_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getAlternatives_1()); }
            // InternalRosetta.g:11969:2: ( rule__RosettaCardinality__Alternatives_1 )
            // InternalRosetta.g:11969:3: rule__RosettaCardinality__Alternatives_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__Alternatives_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getAlternatives_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group__1__Impl"
    // $ANTLR start "rule__RosettaCardinality__Group__2"
    // InternalRosetta.g:11977:1: rule__RosettaCardinality__Group__2 : rule__RosettaCardinality__Group__2__Impl ;
    public final void rule__RosettaCardinality__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11981:1: ( rule__RosettaCardinality__Group__2__Impl )
            // InternalRosetta.g:11982:2: rule__RosettaCardinality__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group__2"
    // $ANTLR start "rule__RosettaCardinality__Group__2__Impl"
    // InternalRosetta.g:11988:1: rule__RosettaCardinality__Group__2__Impl : ( ')' ) ;
    public final void rule__RosettaCardinality__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:11992:1: ( ( ')' ) )
            // InternalRosetta.g:11993:1: ( ')' )
            {
            // InternalRosetta.g:11993:1: ( ')' )
            // InternalRosetta.g:11994:2: ')'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getRightParenthesisKeyword_2()); }
            match(input,74,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getRightParenthesisKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group__2__Impl"
    // $ANTLR start "rule__RosettaCardinality__Group_1_0__0"
    // InternalRosetta.g:12004:1: rule__RosettaCardinality__Group_1_0__0 : rule__RosettaCardinality__Group_1_0__0__Impl rule__RosettaCardinality__Group_1_0__1 ;
    public final void rule__RosettaCardinality__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12008:1: ( rule__RosettaCardinality__Group_1_0__0__Impl rule__RosettaCardinality__Group_1_0__1 )
            // InternalRosetta.g:12009:2: rule__RosettaCardinality__Group_1_0__0__Impl rule__RosettaCardinality__Group_1_0__1
            {
            pushFollow(FOLLOW_58);
            rule__RosettaCardinality__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__Group_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_0__0"
    // $ANTLR start "rule__RosettaCardinality__Group_1_0__0__Impl"
    // InternalRosetta.g:12016:1: rule__RosettaCardinality__Group_1_0__0__Impl : ( ( rule__RosettaCardinality__InfAssignment_1_0_0 ) ) ;
    public final void rule__RosettaCardinality__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12020:1: ( ( ( rule__RosettaCardinality__InfAssignment_1_0_0 ) ) )
            // InternalRosetta.g:12021:1: ( ( rule__RosettaCardinality__InfAssignment_1_0_0 ) )
            {
            // InternalRosetta.g:12021:1: ( ( rule__RosettaCardinality__InfAssignment_1_0_0 ) )
            // InternalRosetta.g:12022:2: ( rule__RosettaCardinality__InfAssignment_1_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getInfAssignment_1_0_0()); }
            // InternalRosetta.g:12023:2: ( rule__RosettaCardinality__InfAssignment_1_0_0 )
            // InternalRosetta.g:12023:3: rule__RosettaCardinality__InfAssignment_1_0_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__InfAssignment_1_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getInfAssignment_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCardinality__Group_1_0__1"
    // InternalRosetta.g:12031:1: rule__RosettaCardinality__Group_1_0__1 : rule__RosettaCardinality__Group_1_0__1__Impl rule__RosettaCardinality__Group_1_0__2 ;
    public final void rule__RosettaCardinality__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12035:1: ( rule__RosettaCardinality__Group_1_0__1__Impl rule__RosettaCardinality__Group_1_0__2 )
            // InternalRosetta.g:12036:2: rule__RosettaCardinality__Group_1_0__1__Impl rule__RosettaCardinality__Group_1_0__2
            {
            pushFollow(FOLLOW_57);
            rule__RosettaCardinality__Group_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__Group_1_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_0__1"
    // $ANTLR start "rule__RosettaCardinality__Group_1_0__1__Impl"
    // InternalRosetta.g:12043:1: rule__RosettaCardinality__Group_1_0__1__Impl : ( '..' ) ;
    public final void rule__RosettaCardinality__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12047:1: ( ( '..' ) )
            // InternalRosetta.g:12048:1: ( '..' )
            {
            // InternalRosetta.g:12048:1: ( '..' )
            // InternalRosetta.g:12049:2: '..'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getFullStopFullStopKeyword_1_0_1()); }
            match(input,92,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getFullStopFullStopKeyword_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_0__1__Impl"
    // $ANTLR start "rule__RosettaCardinality__Group_1_0__2"
    // InternalRosetta.g:12058:1: rule__RosettaCardinality__Group_1_0__2 : rule__RosettaCardinality__Group_1_0__2__Impl ;
    public final void rule__RosettaCardinality__Group_1_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12062:1: ( rule__RosettaCardinality__Group_1_0__2__Impl )
            // InternalRosetta.g:12063:2: rule__RosettaCardinality__Group_1_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__Group_1_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_0__2"
    // $ANTLR start "rule__RosettaCardinality__Group_1_0__2__Impl"
    // InternalRosetta.g:12069:1: rule__RosettaCardinality__Group_1_0__2__Impl : ( ( rule__RosettaCardinality__SupAssignment_1_0_2 ) ) ;
    public final void rule__RosettaCardinality__Group_1_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12073:1: ( ( ( rule__RosettaCardinality__SupAssignment_1_0_2 ) ) )
            // InternalRosetta.g:12074:1: ( ( rule__RosettaCardinality__SupAssignment_1_0_2 ) )
            {
            // InternalRosetta.g:12074:1: ( ( rule__RosettaCardinality__SupAssignment_1_0_2 ) )
            // InternalRosetta.g:12075:2: ( rule__RosettaCardinality__SupAssignment_1_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getSupAssignment_1_0_2()); }
            // InternalRosetta.g:12076:2: ( rule__RosettaCardinality__SupAssignment_1_0_2 )
            // InternalRosetta.g:12076:3: rule__RosettaCardinality__SupAssignment_1_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__SupAssignment_1_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getSupAssignment_1_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_0__2__Impl"
    // $ANTLR start "rule__RosettaCardinality__Group_1_1__0"
    // InternalRosetta.g:12085:1: rule__RosettaCardinality__Group_1_1__0 : rule__RosettaCardinality__Group_1_1__0__Impl rule__RosettaCardinality__Group_1_1__1 ;
    public final void rule__RosettaCardinality__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12089:1: ( rule__RosettaCardinality__Group_1_1__0__Impl rule__RosettaCardinality__Group_1_1__1 )
            // InternalRosetta.g:12090:2: rule__RosettaCardinality__Group_1_1__0__Impl rule__RosettaCardinality__Group_1_1__1
            {
            pushFollow(FOLLOW_58);
            rule__RosettaCardinality__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__Group_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_1__0"
    // $ANTLR start "rule__RosettaCardinality__Group_1_1__0__Impl"
    // InternalRosetta.g:12097:1: rule__RosettaCardinality__Group_1_1__0__Impl : ( ( rule__RosettaCardinality__InfAssignment_1_1_0 ) ) ;
    public final void rule__RosettaCardinality__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12101:1: ( ( ( rule__RosettaCardinality__InfAssignment_1_1_0 ) ) )
            // InternalRosetta.g:12102:1: ( ( rule__RosettaCardinality__InfAssignment_1_1_0 ) )
            {
            // InternalRosetta.g:12102:1: ( ( rule__RosettaCardinality__InfAssignment_1_1_0 ) )
            // InternalRosetta.g:12103:2: ( rule__RosettaCardinality__InfAssignment_1_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getInfAssignment_1_1_0()); }
            // InternalRosetta.g:12104:2: ( rule__RosettaCardinality__InfAssignment_1_1_0 )
            // InternalRosetta.g:12104:3: rule__RosettaCardinality__InfAssignment_1_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__InfAssignment_1_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getInfAssignment_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_1__0__Impl"
    // $ANTLR start "rule__RosettaCardinality__Group_1_1__1"
    // InternalRosetta.g:12112:1: rule__RosettaCardinality__Group_1_1__1 : rule__RosettaCardinality__Group_1_1__1__Impl rule__RosettaCardinality__Group_1_1__2 ;
    public final void rule__RosettaCardinality__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12116:1: ( rule__RosettaCardinality__Group_1_1__1__Impl rule__RosettaCardinality__Group_1_1__2 )
            // InternalRosetta.g:12117:2: rule__RosettaCardinality__Group_1_1__1__Impl rule__RosettaCardinality__Group_1_1__2
            {
            pushFollow(FOLLOW_15);
            rule__RosettaCardinality__Group_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__Group_1_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_1__1"
    // $ANTLR start "rule__RosettaCardinality__Group_1_1__1__Impl"
    // InternalRosetta.g:12124:1: rule__RosettaCardinality__Group_1_1__1__Impl : ( '..' ) ;
    public final void rule__RosettaCardinality__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12128:1: ( ( '..' ) )
            // InternalRosetta.g:12129:1: ( '..' )
            {
            // InternalRosetta.g:12129:1: ( '..' )
            // InternalRosetta.g:12130:2: '..'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getFullStopFullStopKeyword_1_1_1()); }
            match(input,92,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getFullStopFullStopKeyword_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_1__1__Impl"
    // $ANTLR start "rule__RosettaCardinality__Group_1_1__2"
    // InternalRosetta.g:12139:1: rule__RosettaCardinality__Group_1_1__2 : rule__RosettaCardinality__Group_1_1__2__Impl ;
    public final void rule__RosettaCardinality__Group_1_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12143:1: ( rule__RosettaCardinality__Group_1_1__2__Impl )
            // InternalRosetta.g:12144:2: rule__RosettaCardinality__Group_1_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__Group_1_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_1__2"
    // $ANTLR start "rule__RosettaCardinality__Group_1_1__2__Impl"
    // InternalRosetta.g:12150:1: rule__RosettaCardinality__Group_1_1__2__Impl : ( ( rule__RosettaCardinality__UnboundedAssignment_1_1_2 ) ) ;
    public final void rule__RosettaCardinality__Group_1_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12154:1: ( ( ( rule__RosettaCardinality__UnboundedAssignment_1_1_2 ) ) )
            // InternalRosetta.g:12155:1: ( ( rule__RosettaCardinality__UnboundedAssignment_1_1_2 ) )
            {
            // InternalRosetta.g:12155:1: ( ( rule__RosettaCardinality__UnboundedAssignment_1_1_2 ) )
            // InternalRosetta.g:12156:2: ( rule__RosettaCardinality__UnboundedAssignment_1_1_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getUnboundedAssignment_1_1_2()); }
            // InternalRosetta.g:12157:2: ( rule__RosettaCardinality__UnboundedAssignment_1_1_2 )
            // InternalRosetta.g:12157:3: rule__RosettaCardinality__UnboundedAssignment_1_1_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCardinality__UnboundedAssignment_1_1_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getUnboundedAssignment_1_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__Group_1_1__2__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group__0"
    // InternalRosetta.g:12166:1: rule__RosettaClassSynonym__Group__0 : rule__RosettaClassSynonym__Group__0__Impl rule__RosettaClassSynonym__Group__1 ;
    public final void rule__RosettaClassSynonym__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12170:1: ( rule__RosettaClassSynonym__Group__0__Impl rule__RosettaClassSynonym__Group__1 )
            // InternalRosetta.g:12171:2: rule__RosettaClassSynonym__Group__0__Impl rule__RosettaClassSynonym__Group__1
            {
            pushFollow(FOLLOW_59);
            rule__RosettaClassSynonym__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__0"
    // $ANTLR start "rule__RosettaClassSynonym__Group__0__Impl"
    // InternalRosetta.g:12178:1: rule__RosettaClassSynonym__Group__0__Impl : ( '[' ) ;
    public final void rule__RosettaClassSynonym__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12182:1: ( ( '[' ) )
            // InternalRosetta.g:12183:1: ( '[' )
            {
            // InternalRosetta.g:12183:1: ( '[' )
            // InternalRosetta.g:12184:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getLeftSquareBracketKeyword_0()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getLeftSquareBracketKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__0__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group__1"
    // InternalRosetta.g:12193:1: rule__RosettaClassSynonym__Group__1 : rule__RosettaClassSynonym__Group__1__Impl rule__RosettaClassSynonym__Group__2 ;
    public final void rule__RosettaClassSynonym__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12197:1: ( rule__RosettaClassSynonym__Group__1__Impl rule__RosettaClassSynonym__Group__2 )
            // InternalRosetta.g:12198:2: rule__RosettaClassSynonym__Group__1__Impl rule__RosettaClassSynonym__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaClassSynonym__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__1"
    // $ANTLR start "rule__RosettaClassSynonym__Group__1__Impl"
    // InternalRosetta.g:12205:1: rule__RosettaClassSynonym__Group__1__Impl : ( 'synonym' ) ;
    public final void rule__RosettaClassSynonym__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12209:1: ( ( 'synonym' ) )
            // InternalRosetta.g:12210:1: ( 'synonym' )
            {
            // InternalRosetta.g:12210:1: ( 'synonym' )
            // InternalRosetta.g:12211:2: 'synonym'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getSynonymKeyword_1()); }
            match(input,81,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getSynonymKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__1__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group__2"
    // InternalRosetta.g:12220:1: rule__RosettaClassSynonym__Group__2 : rule__RosettaClassSynonym__Group__2__Impl rule__RosettaClassSynonym__Group__3 ;
    public final void rule__RosettaClassSynonym__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12224:1: ( rule__RosettaClassSynonym__Group__2__Impl rule__RosettaClassSynonym__Group__3 )
            // InternalRosetta.g:12225:2: rule__RosettaClassSynonym__Group__2__Impl rule__RosettaClassSynonym__Group__3
            {
            pushFollow(FOLLOW_60);
            rule__RosettaClassSynonym__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__2"
    // $ANTLR start "rule__RosettaClassSynonym__Group__2__Impl"
    // InternalRosetta.g:12232:1: rule__RosettaClassSynonym__Group__2__Impl : ( ( rule__RosettaClassSynonym__SourcesAssignment_2 ) ) ;
    public final void rule__RosettaClassSynonym__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12236:1: ( ( ( rule__RosettaClassSynonym__SourcesAssignment_2 ) ) )
            // InternalRosetta.g:12237:1: ( ( rule__RosettaClassSynonym__SourcesAssignment_2 ) )
            {
            // InternalRosetta.g:12237:1: ( ( rule__RosettaClassSynonym__SourcesAssignment_2 ) )
            // InternalRosetta.g:12238:2: ( rule__RosettaClassSynonym__SourcesAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getSourcesAssignment_2()); }
            // InternalRosetta.g:12239:2: ( rule__RosettaClassSynonym__SourcesAssignment_2 )
            // InternalRosetta.g:12239:3: rule__RosettaClassSynonym__SourcesAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__SourcesAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getSourcesAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__2__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group__3"
    // InternalRosetta.g:12247:1: rule__RosettaClassSynonym__Group__3 : rule__RosettaClassSynonym__Group__3__Impl rule__RosettaClassSynonym__Group__4 ;
    public final void rule__RosettaClassSynonym__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12251:1: ( rule__RosettaClassSynonym__Group__3__Impl rule__RosettaClassSynonym__Group__4 )
            // InternalRosetta.g:12252:2: rule__RosettaClassSynonym__Group__3__Impl rule__RosettaClassSynonym__Group__4
            {
            pushFollow(FOLLOW_60);
            rule__RosettaClassSynonym__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__3"
    // $ANTLR start "rule__RosettaClassSynonym__Group__3__Impl"
    // InternalRosetta.g:12259:1: rule__RosettaClassSynonym__Group__3__Impl : ( ( rule__RosettaClassSynonym__Group_3__0 )* ) ;
    public final void rule__RosettaClassSynonym__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12263:1: ( ( ( rule__RosettaClassSynonym__Group_3__0 )* ) )
            // InternalRosetta.g:12264:1: ( ( rule__RosettaClassSynonym__Group_3__0 )* )
            {
            // InternalRosetta.g:12264:1: ( ( rule__RosettaClassSynonym__Group_3__0 )* )
            // InternalRosetta.g:12265:2: ( rule__RosettaClassSynonym__Group_3__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getGroup_3()); }
            // InternalRosetta.g:12266:2: ( rule__RosettaClassSynonym__Group_3__0 )*
            loop164:
            do {
                int alt164=2;
                int LA164_0 = input.LA(1);
                if ( (LA164_0==40) ) {
                    alt164=1;
                }
                switch (alt164) {
            	case 1 :
            	    // InternalRosetta.g:12266:3: rule__RosettaClassSynonym__Group_3__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__RosettaClassSynonym__Group_3__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop164;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getGroup_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__3__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group__4"
    // InternalRosetta.g:12274:1: rule__RosettaClassSynonym__Group__4 : rule__RosettaClassSynonym__Group__4__Impl rule__RosettaClassSynonym__Group__5 ;
    public final void rule__RosettaClassSynonym__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12278:1: ( rule__RosettaClassSynonym__Group__4__Impl rule__RosettaClassSynonym__Group__5 )
            // InternalRosetta.g:12279:2: rule__RosettaClassSynonym__Group__4__Impl rule__RosettaClassSynonym__Group__5
            {
            pushFollow(FOLLOW_60);
            rule__RosettaClassSynonym__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__4"
    // $ANTLR start "rule__RosettaClassSynonym__Group__4__Impl"
    // InternalRosetta.g:12286:1: rule__RosettaClassSynonym__Group__4__Impl : ( ( rule__RosettaClassSynonym__Group_4__0 )? ) ;
    public final void rule__RosettaClassSynonym__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12290:1: ( ( ( rule__RosettaClassSynonym__Group_4__0 )? ) )
            // InternalRosetta.g:12291:1: ( ( rule__RosettaClassSynonym__Group_4__0 )? )
            {
            // InternalRosetta.g:12291:1: ( ( rule__RosettaClassSynonym__Group_4__0 )? )
            // InternalRosetta.g:12292:2: ( rule__RosettaClassSynonym__Group_4__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getGroup_4()); }
            // InternalRosetta.g:12293:2: ( rule__RosettaClassSynonym__Group_4__0 )?
            int alt165=2;
            int LA165_0 = input.LA(1);
            if ( (LA165_0==16) ) {
                alt165=1;
            }
            switch (alt165) {
                case 1 :
                    // InternalRosetta.g:12293:3: rule__RosettaClassSynonym__Group_4__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaClassSynonym__Group_4__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getGroup_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__4__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group__5"
    // InternalRosetta.g:12301:1: rule__RosettaClassSynonym__Group__5 : rule__RosettaClassSynonym__Group__5__Impl rule__RosettaClassSynonym__Group__6 ;
    public final void rule__RosettaClassSynonym__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12305:1: ( rule__RosettaClassSynonym__Group__5__Impl rule__RosettaClassSynonym__Group__6 )
            // InternalRosetta.g:12306:2: rule__RosettaClassSynonym__Group__5__Impl rule__RosettaClassSynonym__Group__6
            {
            pushFollow(FOLLOW_60);
            rule__RosettaClassSynonym__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group__6(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__5"
    // $ANTLR start "rule__RosettaClassSynonym__Group__5__Impl"
    // InternalRosetta.g:12313:1: rule__RosettaClassSynonym__Group__5__Impl : ( ( rule__RosettaClassSynonym__Group_5__0 )? ) ;
    public final void rule__RosettaClassSynonym__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12317:1: ( ( ( rule__RosettaClassSynonym__Group_5__0 )? ) )
            // InternalRosetta.g:12318:1: ( ( rule__RosettaClassSynonym__Group_5__0 )? )
            {
            // InternalRosetta.g:12318:1: ( ( rule__RosettaClassSynonym__Group_5__0 )? )
            // InternalRosetta.g:12319:2: ( rule__RosettaClassSynonym__Group_5__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getGroup_5()); }
            // InternalRosetta.g:12320:2: ( rule__RosettaClassSynonym__Group_5__0 )?
            int alt166=2;
            int LA166_0 = input.LA(1);
            if ( (LA166_0==93) ) {
                alt166=1;
            }
            switch (alt166) {
                case 1 :
                    // InternalRosetta.g:12320:3: rule__RosettaClassSynonym__Group_5__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaClassSynonym__Group_5__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getGroup_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__5__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group__6"
    // InternalRosetta.g:12328:1: rule__RosettaClassSynonym__Group__6 : rule__RosettaClassSynonym__Group__6__Impl ;
    public final void rule__RosettaClassSynonym__Group__6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12332:1: ( rule__RosettaClassSynonym__Group__6__Impl )
            // InternalRosetta.g:12333:2: rule__RosettaClassSynonym__Group__6__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group__6__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__6"
    // $ANTLR start "rule__RosettaClassSynonym__Group__6__Impl"
    // InternalRosetta.g:12339:1: rule__RosettaClassSynonym__Group__6__Impl : ( ']' ) ;
    public final void rule__RosettaClassSynonym__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12343:1: ( ( ']' ) )
            // InternalRosetta.g:12344:1: ( ']' )
            {
            // InternalRosetta.g:12344:1: ( ']' )
            // InternalRosetta.g:12345:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getRightSquareBracketKeyword_6()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getRightSquareBracketKeyword_6()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group__6__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group_3__0"
    // InternalRosetta.g:12355:1: rule__RosettaClassSynonym__Group_3__0 : rule__RosettaClassSynonym__Group_3__0__Impl rule__RosettaClassSynonym__Group_3__1 ;
    public final void rule__RosettaClassSynonym__Group_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12359:1: ( rule__RosettaClassSynonym__Group_3__0__Impl rule__RosettaClassSynonym__Group_3__1 )
            // InternalRosetta.g:12360:2: rule__RosettaClassSynonym__Group_3__0__Impl rule__RosettaClassSynonym__Group_3__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaClassSynonym__Group_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_3__0"
    // $ANTLR start "rule__RosettaClassSynonym__Group_3__0__Impl"
    // InternalRosetta.g:12367:1: rule__RosettaClassSynonym__Group_3__0__Impl : ( ',' ) ;
    public final void rule__RosettaClassSynonym__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12371:1: ( ( ',' ) )
            // InternalRosetta.g:12372:1: ( ',' )
            {
            // InternalRosetta.g:12372:1: ( ',' )
            // InternalRosetta.g:12373:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getCommaKeyword_3_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getCommaKeyword_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_3__0__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group_3__1"
    // InternalRosetta.g:12382:1: rule__RosettaClassSynonym__Group_3__1 : rule__RosettaClassSynonym__Group_3__1__Impl ;
    public final void rule__RosettaClassSynonym__Group_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12386:1: ( rule__RosettaClassSynonym__Group_3__1__Impl )
            // InternalRosetta.g:12387:2: rule__RosettaClassSynonym__Group_3__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group_3__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_3__1"
    // $ANTLR start "rule__RosettaClassSynonym__Group_3__1__Impl"
    // InternalRosetta.g:12393:1: rule__RosettaClassSynonym__Group_3__1__Impl : ( ( rule__RosettaClassSynonym__SourcesAssignment_3_1 ) ) ;
    public final void rule__RosettaClassSynonym__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12397:1: ( ( ( rule__RosettaClassSynonym__SourcesAssignment_3_1 ) ) )
            // InternalRosetta.g:12398:1: ( ( rule__RosettaClassSynonym__SourcesAssignment_3_1 ) )
            {
            // InternalRosetta.g:12398:1: ( ( rule__RosettaClassSynonym__SourcesAssignment_3_1 ) )
            // InternalRosetta.g:12399:2: ( rule__RosettaClassSynonym__SourcesAssignment_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getSourcesAssignment_3_1()); }
            // InternalRosetta.g:12400:2: ( rule__RosettaClassSynonym__SourcesAssignment_3_1 )
            // InternalRosetta.g:12400:3: rule__RosettaClassSynonym__SourcesAssignment_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__SourcesAssignment_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getSourcesAssignment_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_3__1__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group_4__0"
    // InternalRosetta.g:12409:1: rule__RosettaClassSynonym__Group_4__0 : rule__RosettaClassSynonym__Group_4__0__Impl rule__RosettaClassSynonym__Group_4__1 ;
    public final void rule__RosettaClassSynonym__Group_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12413:1: ( rule__RosettaClassSynonym__Group_4__0__Impl rule__RosettaClassSynonym__Group_4__1 )
            // InternalRosetta.g:12414:2: rule__RosettaClassSynonym__Group_4__0__Impl rule__RosettaClassSynonym__Group_4__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaClassSynonym__Group_4__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group_4__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_4__0"
    // $ANTLR start "rule__RosettaClassSynonym__Group_4__0__Impl"
    // InternalRosetta.g:12421:1: rule__RosettaClassSynonym__Group_4__0__Impl : ( 'value' ) ;
    public final void rule__RosettaClassSynonym__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12425:1: ( ( 'value' ) )
            // InternalRosetta.g:12426:1: ( 'value' )
            {
            // InternalRosetta.g:12426:1: ( 'value' )
            // InternalRosetta.g:12427:2: 'value'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getValueKeyword_4_0()); }
            match(input,16,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getValueKeyword_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_4__0__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group_4__1"
    // InternalRosetta.g:12436:1: rule__RosettaClassSynonym__Group_4__1 : rule__RosettaClassSynonym__Group_4__1__Impl ;
    public final void rule__RosettaClassSynonym__Group_4__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12440:1: ( rule__RosettaClassSynonym__Group_4__1__Impl )
            // InternalRosetta.g:12441:2: rule__RosettaClassSynonym__Group_4__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group_4__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_4__1"
    // $ANTLR start "rule__RosettaClassSynonym__Group_4__1__Impl"
    // InternalRosetta.g:12447:1: rule__RosettaClassSynonym__Group_4__1__Impl : ( ( rule__RosettaClassSynonym__ValueAssignment_4_1 ) ) ;
    public final void rule__RosettaClassSynonym__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12451:1: ( ( ( rule__RosettaClassSynonym__ValueAssignment_4_1 ) ) )
            // InternalRosetta.g:12452:1: ( ( rule__RosettaClassSynonym__ValueAssignment_4_1 ) )
            {
            // InternalRosetta.g:12452:1: ( ( rule__RosettaClassSynonym__ValueAssignment_4_1 ) )
            // InternalRosetta.g:12453:2: ( rule__RosettaClassSynonym__ValueAssignment_4_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getValueAssignment_4_1()); }
            // InternalRosetta.g:12454:2: ( rule__RosettaClassSynonym__ValueAssignment_4_1 )
            // InternalRosetta.g:12454:3: rule__RosettaClassSynonym__ValueAssignment_4_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__ValueAssignment_4_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getValueAssignment_4_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_4__1__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group_5__0"
    // InternalRosetta.g:12463:1: rule__RosettaClassSynonym__Group_5__0 : rule__RosettaClassSynonym__Group_5__0__Impl rule__RosettaClassSynonym__Group_5__1 ;
    public final void rule__RosettaClassSynonym__Group_5__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12467:1: ( rule__RosettaClassSynonym__Group_5__0__Impl rule__RosettaClassSynonym__Group_5__1 )
            // InternalRosetta.g:12468:2: rule__RosettaClassSynonym__Group_5__0__Impl rule__RosettaClassSynonym__Group_5__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaClassSynonym__Group_5__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group_5__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_5__0"
    // $ANTLR start "rule__RosettaClassSynonym__Group_5__0__Impl"
    // InternalRosetta.g:12475:1: rule__RosettaClassSynonym__Group_5__0__Impl : ( 'meta' ) ;
    public final void rule__RosettaClassSynonym__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12479:1: ( ( 'meta' ) )
            // InternalRosetta.g:12480:1: ( 'meta' )
            {
            // InternalRosetta.g:12480:1: ( 'meta' )
            // InternalRosetta.g:12481:2: 'meta'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getMetaKeyword_5_0()); }
            match(input,93,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getMetaKeyword_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_5__0__Impl"
    // $ANTLR start "rule__RosettaClassSynonym__Group_5__1"
    // InternalRosetta.g:12490:1: rule__RosettaClassSynonym__Group_5__1 : rule__RosettaClassSynonym__Group_5__1__Impl ;
    public final void rule__RosettaClassSynonym__Group_5__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12494:1: ( rule__RosettaClassSynonym__Group_5__1__Impl )
            // InternalRosetta.g:12495:2: rule__RosettaClassSynonym__Group_5__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__Group_5__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_5__1"
    // $ANTLR start "rule__RosettaClassSynonym__Group_5__1__Impl"
    // InternalRosetta.g:12501:1: rule__RosettaClassSynonym__Group_5__1__Impl : ( ( rule__RosettaClassSynonym__MetaValueAssignment_5_1 ) ) ;
    public final void rule__RosettaClassSynonym__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12505:1: ( ( ( rule__RosettaClassSynonym__MetaValueAssignment_5_1 ) ) )
            // InternalRosetta.g:12506:1: ( ( rule__RosettaClassSynonym__MetaValueAssignment_5_1 ) )
            {
            // InternalRosetta.g:12506:1: ( ( rule__RosettaClassSynonym__MetaValueAssignment_5_1 ) )
            // InternalRosetta.g:12507:2: ( rule__RosettaClassSynonym__MetaValueAssignment_5_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getMetaValueAssignment_5_1()); }
            // InternalRosetta.g:12508:2: ( rule__RosettaClassSynonym__MetaValueAssignment_5_1 )
            // InternalRosetta.g:12508:3: rule__RosettaClassSynonym__MetaValueAssignment_5_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonym__MetaValueAssignment_5_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getMetaValueAssignment_5_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__Group_5__1__Impl"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group__0"
    // InternalRosetta.g:12517:1: rule__RosettaClassSynonymValue__Group__0 : rule__RosettaClassSynonymValue__Group__0__Impl rule__RosettaClassSynonymValue__Group__1 ;
    public final void rule__RosettaClassSynonymValue__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12521:1: ( rule__RosettaClassSynonymValue__Group__0__Impl rule__RosettaClassSynonymValue__Group__1 )
            // InternalRosetta.g:12522:2: rule__RosettaClassSynonymValue__Group__0__Impl rule__RosettaClassSynonymValue__Group__1
            {
            pushFollow(FOLLOW_61);
            rule__RosettaClassSynonymValue__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group__0"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group__0__Impl"
    // InternalRosetta.g:12529:1: rule__RosettaClassSynonymValue__Group__0__Impl : ( ( rule__RosettaClassSynonymValue__NameAssignment_0 ) ) ;
    public final void rule__RosettaClassSynonymValue__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12533:1: ( ( ( rule__RosettaClassSynonymValue__NameAssignment_0 ) ) )
            // InternalRosetta.g:12534:1: ( ( rule__RosettaClassSynonymValue__NameAssignment_0 ) )
            {
            // InternalRosetta.g:12534:1: ( ( rule__RosettaClassSynonymValue__NameAssignment_0 ) )
            // InternalRosetta.g:12535:2: ( rule__RosettaClassSynonymValue__NameAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getNameAssignment_0()); }
            // InternalRosetta.g:12536:2: ( rule__RosettaClassSynonymValue__NameAssignment_0 )
            // InternalRosetta.g:12536:3: rule__RosettaClassSynonymValue__NameAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__NameAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getNameAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group__0__Impl"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group__1"
    // InternalRosetta.g:12544:1: rule__RosettaClassSynonymValue__Group__1 : rule__RosettaClassSynonymValue__Group__1__Impl rule__RosettaClassSynonymValue__Group__2 ;
    public final void rule__RosettaClassSynonymValue__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12548:1: ( rule__RosettaClassSynonymValue__Group__1__Impl rule__RosettaClassSynonymValue__Group__2 )
            // InternalRosetta.g:12549:2: rule__RosettaClassSynonymValue__Group__1__Impl rule__RosettaClassSynonymValue__Group__2
            {
            pushFollow(FOLLOW_61);
            rule__RosettaClassSynonymValue__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group__1"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group__1__Impl"
    // InternalRosetta.g:12556:1: rule__RosettaClassSynonymValue__Group__1__Impl : ( ( rule__RosettaClassSynonymValue__Group_1__0 )? ) ;
    public final void rule__RosettaClassSynonymValue__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12560:1: ( ( ( rule__RosettaClassSynonymValue__Group_1__0 )? ) )
            // InternalRosetta.g:12561:1: ( ( rule__RosettaClassSynonymValue__Group_1__0 )? )
            {
            // InternalRosetta.g:12561:1: ( ( rule__RosettaClassSynonymValue__Group_1__0 )? )
            // InternalRosetta.g:12562:2: ( rule__RosettaClassSynonymValue__Group_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getGroup_1()); }
            // InternalRosetta.g:12563:2: ( rule__RosettaClassSynonymValue__Group_1__0 )?
            int alt167=2;
            int LA167_0 = input.LA(1);
            if ( ((LA167_0>=51 && LA167_0<=52)) ) {
                alt167=1;
            }
            switch (alt167) {
                case 1 :
                    // InternalRosetta.g:12563:3: rule__RosettaClassSynonymValue__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaClassSynonymValue__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group__1__Impl"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group__2"
    // InternalRosetta.g:12571:1: rule__RosettaClassSynonymValue__Group__2 : rule__RosettaClassSynonymValue__Group__2__Impl ;
    public final void rule__RosettaClassSynonymValue__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12575:1: ( rule__RosettaClassSynonymValue__Group__2__Impl )
            // InternalRosetta.g:12576:2: rule__RosettaClassSynonymValue__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group__2"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group__2__Impl"
    // InternalRosetta.g:12582:1: rule__RosettaClassSynonymValue__Group__2__Impl : ( ( rule__RosettaClassSynonymValue__Group_2__0 )? ) ;
    public final void rule__RosettaClassSynonymValue__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12586:1: ( ( ( rule__RosettaClassSynonymValue__Group_2__0 )? ) )
            // InternalRosetta.g:12587:1: ( ( rule__RosettaClassSynonymValue__Group_2__0 )? )
            {
            // InternalRosetta.g:12587:1: ( ( rule__RosettaClassSynonymValue__Group_2__0 )? )
            // InternalRosetta.g:12588:2: ( rule__RosettaClassSynonymValue__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getGroup_2()); }
            // InternalRosetta.g:12589:2: ( rule__RosettaClassSynonymValue__Group_2__0 )?
            int alt168=2;
            int LA168_0 = input.LA(1);
            if ( (LA168_0==94) ) {
                alt168=1;
            }
            switch (alt168) {
                case 1 :
                    // InternalRosetta.g:12589:3: rule__RosettaClassSynonymValue__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaClassSynonymValue__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group__2__Impl"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group_1__0"
    // InternalRosetta.g:12598:1: rule__RosettaClassSynonymValue__Group_1__0 : rule__RosettaClassSynonymValue__Group_1__0__Impl rule__RosettaClassSynonymValue__Group_1__1 ;
    public final void rule__RosettaClassSynonymValue__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12602:1: ( rule__RosettaClassSynonymValue__Group_1__0__Impl rule__RosettaClassSynonymValue__Group_1__1 )
            // InternalRosetta.g:12603:2: rule__RosettaClassSynonymValue__Group_1__0__Impl rule__RosettaClassSynonymValue__Group_1__1
            {
            pushFollow(FOLLOW_57);
            rule__RosettaClassSynonymValue__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group_1__0"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group_1__0__Impl"
    // InternalRosetta.g:12610:1: rule__RosettaClassSynonymValue__Group_1__0__Impl : ( ( rule__RosettaClassSynonymValue__RefTypeAssignment_1_0 ) ) ;
    public final void rule__RosettaClassSynonymValue__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12614:1: ( ( ( rule__RosettaClassSynonymValue__RefTypeAssignment_1_0 ) ) )
            // InternalRosetta.g:12615:1: ( ( rule__RosettaClassSynonymValue__RefTypeAssignment_1_0 ) )
            {
            // InternalRosetta.g:12615:1: ( ( rule__RosettaClassSynonymValue__RefTypeAssignment_1_0 ) )
            // InternalRosetta.g:12616:2: ( rule__RosettaClassSynonymValue__RefTypeAssignment_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getRefTypeAssignment_1_0()); }
            // InternalRosetta.g:12617:2: ( rule__RosettaClassSynonymValue__RefTypeAssignment_1_0 )
            // InternalRosetta.g:12617:3: rule__RosettaClassSynonymValue__RefTypeAssignment_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__RefTypeAssignment_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getRefTypeAssignment_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group_1__1"
    // InternalRosetta.g:12625:1: rule__RosettaClassSynonymValue__Group_1__1 : rule__RosettaClassSynonymValue__Group_1__1__Impl ;
    public final void rule__RosettaClassSynonymValue__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12629:1: ( rule__RosettaClassSynonymValue__Group_1__1__Impl )
            // InternalRosetta.g:12630:2: rule__RosettaClassSynonymValue__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group_1__1"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group_1__1__Impl"
    // InternalRosetta.g:12636:1: rule__RosettaClassSynonymValue__Group_1__1__Impl : ( ( rule__RosettaClassSynonymValue__ValueAssignment_1_1 ) ) ;
    public final void rule__RosettaClassSynonymValue__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12640:1: ( ( ( rule__RosettaClassSynonymValue__ValueAssignment_1_1 ) ) )
            // InternalRosetta.g:12641:1: ( ( rule__RosettaClassSynonymValue__ValueAssignment_1_1 ) )
            {
            // InternalRosetta.g:12641:1: ( ( rule__RosettaClassSynonymValue__ValueAssignment_1_1 ) )
            // InternalRosetta.g:12642:2: ( rule__RosettaClassSynonymValue__ValueAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getValueAssignment_1_1()); }
            // InternalRosetta.g:12643:2: ( rule__RosettaClassSynonymValue__ValueAssignment_1_1 )
            // InternalRosetta.g:12643:3: rule__RosettaClassSynonymValue__ValueAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__ValueAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getValueAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group_2__0"
    // InternalRosetta.g:12652:1: rule__RosettaClassSynonymValue__Group_2__0 : rule__RosettaClassSynonymValue__Group_2__0__Impl rule__RosettaClassSynonymValue__Group_2__1 ;
    public final void rule__RosettaClassSynonymValue__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12656:1: ( rule__RosettaClassSynonymValue__Group_2__0__Impl rule__RosettaClassSynonymValue__Group_2__1 )
            // InternalRosetta.g:12657:2: rule__RosettaClassSynonymValue__Group_2__0__Impl rule__RosettaClassSynonymValue__Group_2__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaClassSynonymValue__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group_2__0"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group_2__0__Impl"
    // InternalRosetta.g:12664:1: rule__RosettaClassSynonymValue__Group_2__0__Impl : ( 'path' ) ;
    public final void rule__RosettaClassSynonymValue__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12668:1: ( ( 'path' ) )
            // InternalRosetta.g:12669:1: ( 'path' )
            {
            // InternalRosetta.g:12669:1: ( 'path' )
            // InternalRosetta.g:12670:2: 'path'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getPathKeyword_2_0()); }
            match(input,94,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getPathKeyword_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group_2__0__Impl"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group_2__1"
    // InternalRosetta.g:12679:1: rule__RosettaClassSynonymValue__Group_2__1 : rule__RosettaClassSynonymValue__Group_2__1__Impl ;
    public final void rule__RosettaClassSynonymValue__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12683:1: ( rule__RosettaClassSynonymValue__Group_2__1__Impl )
            // InternalRosetta.g:12684:2: rule__RosettaClassSynonymValue__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group_2__1"
    // $ANTLR start "rule__RosettaClassSynonymValue__Group_2__1__Impl"
    // InternalRosetta.g:12690:1: rule__RosettaClassSynonymValue__Group_2__1__Impl : ( ( rule__RosettaClassSynonymValue__PathAssignment_2_1 ) ) ;
    public final void rule__RosettaClassSynonymValue__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12694:1: ( ( ( rule__RosettaClassSynonymValue__PathAssignment_2_1 ) ) )
            // InternalRosetta.g:12695:1: ( ( rule__RosettaClassSynonymValue__PathAssignment_2_1 ) )
            {
            // InternalRosetta.g:12695:1: ( ( rule__RosettaClassSynonymValue__PathAssignment_2_1 ) )
            // InternalRosetta.g:12696:2: ( rule__RosettaClassSynonymValue__PathAssignment_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getPathAssignment_2_1()); }
            // InternalRosetta.g:12697:2: ( rule__RosettaClassSynonymValue__PathAssignment_2_1 )
            // InternalRosetta.g:12697:3: rule__RosettaClassSynonymValue__PathAssignment_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaClassSynonymValue__PathAssignment_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getPathAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__Group_2__1__Impl"
    // $ANTLR start "rule__RosettaSynonym__Group__0"
    // InternalRosetta.g:12706:1: rule__RosettaSynonym__Group__0 : rule__RosettaSynonym__Group__0__Impl rule__RosettaSynonym__Group__1 ;
    public final void rule__RosettaSynonym__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12710:1: ( rule__RosettaSynonym__Group__0__Impl rule__RosettaSynonym__Group__1 )
            // InternalRosetta.g:12711:2: rule__RosettaSynonym__Group__0__Impl rule__RosettaSynonym__Group__1
            {
            pushFollow(FOLLOW_59);
            rule__RosettaSynonym__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__0"
    // $ANTLR start "rule__RosettaSynonym__Group__0__Impl"
    // InternalRosetta.g:12718:1: rule__RosettaSynonym__Group__0__Impl : ( '[' ) ;
    public final void rule__RosettaSynonym__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12722:1: ( ( '[' ) )
            // InternalRosetta.g:12723:1: ( '[' )
            {
            // InternalRosetta.g:12723:1: ( '[' )
            // InternalRosetta.g:12724:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getLeftSquareBracketKeyword_0()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getLeftSquareBracketKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__0__Impl"
    // $ANTLR start "rule__RosettaSynonym__Group__1"
    // InternalRosetta.g:12733:1: rule__RosettaSynonym__Group__1 : rule__RosettaSynonym__Group__1__Impl rule__RosettaSynonym__Group__2 ;
    public final void rule__RosettaSynonym__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12737:1: ( rule__RosettaSynonym__Group__1__Impl rule__RosettaSynonym__Group__2 )
            // InternalRosetta.g:12738:2: rule__RosettaSynonym__Group__1__Impl rule__RosettaSynonym__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaSynonym__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__1"
    // $ANTLR start "rule__RosettaSynonym__Group__1__Impl"
    // InternalRosetta.g:12745:1: rule__RosettaSynonym__Group__1__Impl : ( 'synonym' ) ;
    public final void rule__RosettaSynonym__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12749:1: ( ( 'synonym' ) )
            // InternalRosetta.g:12750:1: ( 'synonym' )
            {
            // InternalRosetta.g:12750:1: ( 'synonym' )
            // InternalRosetta.g:12751:2: 'synonym'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getSynonymKeyword_1()); }
            match(input,81,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getSynonymKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__1__Impl"
    // $ANTLR start "rule__RosettaSynonym__Group__2"
    // InternalRosetta.g:12760:1: rule__RosettaSynonym__Group__2 : rule__RosettaSynonym__Group__2__Impl rule__RosettaSynonym__Group__3 ;
    public final void rule__RosettaSynonym__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12764:1: ( rule__RosettaSynonym__Group__2__Impl rule__RosettaSynonym__Group__3 )
            // InternalRosetta.g:12765:2: rule__RosettaSynonym__Group__2__Impl rule__RosettaSynonym__Group__3
            {
            pushFollow(FOLLOW_62);
            rule__RosettaSynonym__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__2"
    // $ANTLR start "rule__RosettaSynonym__Group__2__Impl"
    // InternalRosetta.g:12772:1: rule__RosettaSynonym__Group__2__Impl : ( ( rule__RosettaSynonym__SourcesAssignment_2 ) ) ;
    public final void rule__RosettaSynonym__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12776:1: ( ( ( rule__RosettaSynonym__SourcesAssignment_2 ) ) )
            // InternalRosetta.g:12777:1: ( ( rule__RosettaSynonym__SourcesAssignment_2 ) )
            {
            // InternalRosetta.g:12777:1: ( ( rule__RosettaSynonym__SourcesAssignment_2 ) )
            // InternalRosetta.g:12778:2: ( rule__RosettaSynonym__SourcesAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getSourcesAssignment_2()); }
            // InternalRosetta.g:12779:2: ( rule__RosettaSynonym__SourcesAssignment_2 )
            // InternalRosetta.g:12779:3: rule__RosettaSynonym__SourcesAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__SourcesAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getSourcesAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__2__Impl"
    // $ANTLR start "rule__RosettaSynonym__Group__3"
    // InternalRosetta.g:12787:1: rule__RosettaSynonym__Group__3 : rule__RosettaSynonym__Group__3__Impl rule__RosettaSynonym__Group__4 ;
    public final void rule__RosettaSynonym__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12791:1: ( rule__RosettaSynonym__Group__3__Impl rule__RosettaSynonym__Group__4 )
            // InternalRosetta.g:12792:2: rule__RosettaSynonym__Group__3__Impl rule__RosettaSynonym__Group__4
            {
            pushFollow(FOLLOW_62);
            rule__RosettaSynonym__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__3"
    // $ANTLR start "rule__RosettaSynonym__Group__3__Impl"
    // InternalRosetta.g:12799:1: rule__RosettaSynonym__Group__3__Impl : ( ( rule__RosettaSynonym__Group_3__0 )* ) ;
    public final void rule__RosettaSynonym__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12803:1: ( ( ( rule__RosettaSynonym__Group_3__0 )* ) )
            // InternalRosetta.g:12804:1: ( ( rule__RosettaSynonym__Group_3__0 )* )
            {
            // InternalRosetta.g:12804:1: ( ( rule__RosettaSynonym__Group_3__0 )* )
            // InternalRosetta.g:12805:2: ( rule__RosettaSynonym__Group_3__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getGroup_3()); }
            // InternalRosetta.g:12806:2: ( rule__RosettaSynonym__Group_3__0 )*
            loop169:
            do {
                int alt169=2;
                int LA169_0 = input.LA(1);
                if ( (LA169_0==40) ) {
                    alt169=1;
                }
                switch (alt169) {
            	case 1 :
            	    // InternalRosetta.g:12806:3: rule__RosettaSynonym__Group_3__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__RosettaSynonym__Group_3__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop169;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getGroup_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__3__Impl"
    // $ANTLR start "rule__RosettaSynonym__Group__4"
    // InternalRosetta.g:12814:1: rule__RosettaSynonym__Group__4 : rule__RosettaSynonym__Group__4__Impl rule__RosettaSynonym__Group__5 ;
    public final void rule__RosettaSynonym__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12818:1: ( rule__RosettaSynonym__Group__4__Impl rule__RosettaSynonym__Group__5 )
            // InternalRosetta.g:12819:2: rule__RosettaSynonym__Group__4__Impl rule__RosettaSynonym__Group__5
            {
            pushFollow(FOLLOW_20);
            rule__RosettaSynonym__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__4"
    // $ANTLR start "rule__RosettaSynonym__Group__4__Impl"
    // InternalRosetta.g:12826:1: rule__RosettaSynonym__Group__4__Impl : ( ( rule__RosettaSynonym__BodyAssignment_4 ) ) ;
    public final void rule__RosettaSynonym__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12830:1: ( ( ( rule__RosettaSynonym__BodyAssignment_4 ) ) )
            // InternalRosetta.g:12831:1: ( ( rule__RosettaSynonym__BodyAssignment_4 ) )
            {
            // InternalRosetta.g:12831:1: ( ( rule__RosettaSynonym__BodyAssignment_4 ) )
            // InternalRosetta.g:12832:2: ( rule__RosettaSynonym__BodyAssignment_4 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getBodyAssignment_4()); }
            // InternalRosetta.g:12833:2: ( rule__RosettaSynonym__BodyAssignment_4 )
            // InternalRosetta.g:12833:3: rule__RosettaSynonym__BodyAssignment_4
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__BodyAssignment_4(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getBodyAssignment_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__4__Impl"
    // $ANTLR start "rule__RosettaSynonym__Group__5"
    // InternalRosetta.g:12841:1: rule__RosettaSynonym__Group__5 : rule__RosettaSynonym__Group__5__Impl ;
    public final void rule__RosettaSynonym__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12845:1: ( rule__RosettaSynonym__Group__5__Impl )
            // InternalRosetta.g:12846:2: rule__RosettaSynonym__Group__5__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__5"
    // $ANTLR start "rule__RosettaSynonym__Group__5__Impl"
    // InternalRosetta.g:12852:1: rule__RosettaSynonym__Group__5__Impl : ( ']' ) ;
    public final void rule__RosettaSynonym__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12856:1: ( ( ']' ) )
            // InternalRosetta.g:12857:1: ( ']' )
            {
            // InternalRosetta.g:12857:1: ( ']' )
            // InternalRosetta.g:12858:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getRightSquareBracketKeyword_5()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getRightSquareBracketKeyword_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group__5__Impl"
    // $ANTLR start "rule__RosettaSynonym__Group_3__0"
    // InternalRosetta.g:12868:1: rule__RosettaSynonym__Group_3__0 : rule__RosettaSynonym__Group_3__0__Impl rule__RosettaSynonym__Group_3__1 ;
    public final void rule__RosettaSynonym__Group_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12872:1: ( rule__RosettaSynonym__Group_3__0__Impl rule__RosettaSynonym__Group_3__1 )
            // InternalRosetta.g:12873:2: rule__RosettaSynonym__Group_3__0__Impl rule__RosettaSynonym__Group_3__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaSynonym__Group_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__Group_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group_3__0"
    // $ANTLR start "rule__RosettaSynonym__Group_3__0__Impl"
    // InternalRosetta.g:12880:1: rule__RosettaSynonym__Group_3__0__Impl : ( ',' ) ;
    public final void rule__RosettaSynonym__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12884:1: ( ( ',' ) )
            // InternalRosetta.g:12885:1: ( ',' )
            {
            // InternalRosetta.g:12885:1: ( ',' )
            // InternalRosetta.g:12886:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getCommaKeyword_3_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getCommaKeyword_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group_3__0__Impl"
    // $ANTLR start "rule__RosettaSynonym__Group_3__1"
    // InternalRosetta.g:12895:1: rule__RosettaSynonym__Group_3__1 : rule__RosettaSynonym__Group_3__1__Impl ;
    public final void rule__RosettaSynonym__Group_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12899:1: ( rule__RosettaSynonym__Group_3__1__Impl )
            // InternalRosetta.g:12900:2: rule__RosettaSynonym__Group_3__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__Group_3__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group_3__1"
    // $ANTLR start "rule__RosettaSynonym__Group_3__1__Impl"
    // InternalRosetta.g:12906:1: rule__RosettaSynonym__Group_3__1__Impl : ( ( rule__RosettaSynonym__SourcesAssignment_3_1 ) ) ;
    public final void rule__RosettaSynonym__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12910:1: ( ( ( rule__RosettaSynonym__SourcesAssignment_3_1 ) ) )
            // InternalRosetta.g:12911:1: ( ( rule__RosettaSynonym__SourcesAssignment_3_1 ) )
            {
            // InternalRosetta.g:12911:1: ( ( rule__RosettaSynonym__SourcesAssignment_3_1 ) )
            // InternalRosetta.g:12912:2: ( rule__RosettaSynonym__SourcesAssignment_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getSourcesAssignment_3_1()); }
            // InternalRosetta.g:12913:2: ( rule__RosettaSynonym__SourcesAssignment_3_1 )
            // InternalRosetta.g:12913:3: rule__RosettaSynonym__SourcesAssignment_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonym__SourcesAssignment_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getSourcesAssignment_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__Group_3__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group__0"
    // InternalRosetta.g:12922:1: rule__RosettaSynonymBody__Group__0 : rule__RosettaSynonymBody__Group__0__Impl rule__RosettaSynonymBody__Group__1 ;
    public final void rule__RosettaSynonymBody__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12926:1: ( rule__RosettaSynonymBody__Group__0__Impl rule__RosettaSynonymBody__Group__1 )
            // InternalRosetta.g:12927:2: rule__RosettaSynonymBody__Group__0__Impl rule__RosettaSynonymBody__Group__1
            {
            pushFollow(FOLLOW_63);
            rule__RosettaSynonymBody__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group__0__Impl"
    // InternalRosetta.g:12934:1: rule__RosettaSynonymBody__Group__0__Impl : ( ( rule__RosettaSynonymBody__Alternatives_0 ) ) ;
    public final void rule__RosettaSynonymBody__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12938:1: ( ( ( rule__RosettaSynonymBody__Alternatives_0 ) ) )
            // InternalRosetta.g:12939:1: ( ( rule__RosettaSynonymBody__Alternatives_0 ) )
            {
            // InternalRosetta.g:12939:1: ( ( rule__RosettaSynonymBody__Alternatives_0 ) )
            // InternalRosetta.g:12940:2: ( rule__RosettaSynonymBody__Alternatives_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getAlternatives_0()); }
            // InternalRosetta.g:12941:2: ( rule__RosettaSynonymBody__Alternatives_0 )
            // InternalRosetta.g:12941:3: rule__RosettaSynonymBody__Alternatives_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Alternatives_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getAlternatives_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group__1"
    // InternalRosetta.g:12949:1: rule__RosettaSynonymBody__Group__1 : rule__RosettaSynonymBody__Group__1__Impl rule__RosettaSynonymBody__Group__2 ;
    public final void rule__RosettaSynonymBody__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12953:1: ( rule__RosettaSynonymBody__Group__1__Impl rule__RosettaSynonymBody__Group__2 )
            // InternalRosetta.g:12954:2: rule__RosettaSynonymBody__Group__1__Impl rule__RosettaSynonymBody__Group__2
            {
            pushFollow(FOLLOW_63);
            rule__RosettaSynonymBody__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group__1__Impl"
    // InternalRosetta.g:12961:1: rule__RosettaSynonymBody__Group__1__Impl : ( ( rule__RosettaSynonymBody__Group_1__0 )? ) ;
    public final void rule__RosettaSynonymBody__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12965:1: ( ( ( rule__RosettaSynonymBody__Group_1__0 )? ) )
            // InternalRosetta.g:12966:1: ( ( rule__RosettaSynonymBody__Group_1__0 )? )
            {
            // InternalRosetta.g:12966:1: ( ( rule__RosettaSynonymBody__Group_1__0 )? )
            // InternalRosetta.g:12967:2: ( rule__RosettaSynonymBody__Group_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_1()); }
            // InternalRosetta.g:12968:2: ( rule__RosettaSynonymBody__Group_1__0 )?
            int alt170=2;
            int LA170_0 = input.LA(1);
            if ( (LA170_0==97) ) {
                alt170=1;
            }
            switch (alt170) {
                case 1 :
                    // InternalRosetta.g:12968:3: rule__RosettaSynonymBody__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymBody__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group__2"
    // InternalRosetta.g:12976:1: rule__RosettaSynonymBody__Group__2 : rule__RosettaSynonymBody__Group__2__Impl rule__RosettaSynonymBody__Group__3 ;
    public final void rule__RosettaSynonymBody__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12980:1: ( rule__RosettaSynonymBody__Group__2__Impl rule__RosettaSynonymBody__Group__3 )
            // InternalRosetta.g:12981:2: rule__RosettaSynonymBody__Group__2__Impl rule__RosettaSynonymBody__Group__3
            {
            pushFollow(FOLLOW_63);
            rule__RosettaSynonymBody__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group__2"
    // $ANTLR start "rule__RosettaSynonymBody__Group__2__Impl"
    // InternalRosetta.g:12988:1: rule__RosettaSynonymBody__Group__2__Impl : ( ( rule__RosettaSynonymBody__Group_2__0 )? ) ;
    public final void rule__RosettaSynonymBody__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:12992:1: ( ( ( rule__RosettaSynonymBody__Group_2__0 )? ) )
            // InternalRosetta.g:12993:1: ( ( rule__RosettaSynonymBody__Group_2__0 )? )
            {
            // InternalRosetta.g:12993:1: ( ( rule__RosettaSynonymBody__Group_2__0 )? )
            // InternalRosetta.g:12994:2: ( rule__RosettaSynonymBody__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_2()); }
            // InternalRosetta.g:12995:2: ( rule__RosettaSynonymBody__Group_2__0 )?
            int alt171=2;
            int LA171_0 = input.LA(1);
            if ( (LA171_0==18) ) {
                alt171=1;
            }
            switch (alt171) {
                case 1 :
                    // InternalRosetta.g:12995:3: rule__RosettaSynonymBody__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymBody__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group__2__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group__3"
    // InternalRosetta.g:13003:1: rule__RosettaSynonymBody__Group__3 : rule__RosettaSynonymBody__Group__3__Impl rule__RosettaSynonymBody__Group__4 ;
    public final void rule__RosettaSynonymBody__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13007:1: ( rule__RosettaSynonymBody__Group__3__Impl rule__RosettaSynonymBody__Group__4 )
            // InternalRosetta.g:13008:2: rule__RosettaSynonymBody__Group__3__Impl rule__RosettaSynonymBody__Group__4
            {
            pushFollow(FOLLOW_63);
            rule__RosettaSynonymBody__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group__3"
    // $ANTLR start "rule__RosettaSynonymBody__Group__3__Impl"
    // InternalRosetta.g:13015:1: rule__RosettaSynonymBody__Group__3__Impl : ( ( rule__RosettaSynonymBody__RemoveHtmlAssignment_3 )? ) ;
    public final void rule__RosettaSynonymBody__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13019:1: ( ( ( rule__RosettaSynonymBody__RemoveHtmlAssignment_3 )? ) )
            // InternalRosetta.g:13020:1: ( ( rule__RosettaSynonymBody__RemoveHtmlAssignment_3 )? )
            {
            // InternalRosetta.g:13020:1: ( ( rule__RosettaSynonymBody__RemoveHtmlAssignment_3 )? )
            // InternalRosetta.g:13021:2: ( rule__RosettaSynonymBody__RemoveHtmlAssignment_3 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getRemoveHtmlAssignment_3()); }
            // InternalRosetta.g:13022:2: ( rule__RosettaSynonymBody__RemoveHtmlAssignment_3 )?
            int alt172=2;
            int LA172_0 = input.LA(1);
            if ( (LA172_0==134) ) {
                alt172=1;
            }
            switch (alt172) {
                case 1 :
                    // InternalRosetta.g:13022:3: rule__RosettaSynonymBody__RemoveHtmlAssignment_3
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymBody__RemoveHtmlAssignment_3();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getRemoveHtmlAssignment_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group__3__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group__4"
    // InternalRosetta.g:13030:1: rule__RosettaSynonymBody__Group__4 : rule__RosettaSynonymBody__Group__4__Impl ;
    public final void rule__RosettaSynonymBody__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13034:1: ( rule__RosettaSynonymBody__Group__4__Impl )
            // InternalRosetta.g:13035:2: rule__RosettaSynonymBody__Group__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group__4"
    // $ANTLR start "rule__RosettaSynonymBody__Group__4__Impl"
    // InternalRosetta.g:13041:1: rule__RosettaSynonymBody__Group__4__Impl : ( ( rule__RosettaSynonymBody__Group_4__0 )? ) ;
    public final void rule__RosettaSynonymBody__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13045:1: ( ( ( rule__RosettaSynonymBody__Group_4__0 )? ) )
            // InternalRosetta.g:13046:1: ( ( rule__RosettaSynonymBody__Group_4__0 )? )
            {
            // InternalRosetta.g:13046:1: ( ( rule__RosettaSynonymBody__Group_4__0 )? )
            // InternalRosetta.g:13047:2: ( rule__RosettaSynonymBody__Group_4__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_4()); }
            // InternalRosetta.g:13048:2: ( rule__RosettaSynonymBody__Group_4__0 )?
            int alt173=2;
            int LA173_0 = input.LA(1);
            if ( (LA173_0==98) ) {
                alt173=1;
            }
            switch (alt173) {
                case 1 :
                    // InternalRosetta.g:13048:3: rule__RosettaSynonymBody__Group_4__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymBody__Group_4__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group__4__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0__0"
    // InternalRosetta.g:13057:1: rule__RosettaSynonymBody__Group_0_0__0 : rule__RosettaSynonymBody__Group_0_0__0__Impl rule__RosettaSynonymBody__Group_0_0__1 ;
    public final void rule__RosettaSynonymBody__Group_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13061:1: ( rule__RosettaSynonymBody__Group_0_0__0__Impl rule__RosettaSynonymBody__Group_0_0__1 )
            // InternalRosetta.g:13062:2: rule__RosettaSynonymBody__Group_0_0__0__Impl rule__RosettaSynonymBody__Group_0_0__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0__0__Impl"
    // InternalRosetta.g:13069:1: rule__RosettaSynonymBody__Group_0_0__0__Impl : ( 'value' ) ;
    public final void rule__RosettaSynonymBody__Group_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13073:1: ( ( 'value' ) )
            // InternalRosetta.g:13074:1: ( 'value' )
            {
            // InternalRosetta.g:13074:1: ( 'value' )
            // InternalRosetta.g:13075:2: 'value'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getValueKeyword_0_0_0()); }
            match(input,16,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getValueKeyword_0_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0__1"
    // InternalRosetta.g:13084:1: rule__RosettaSynonymBody__Group_0_0__1 : rule__RosettaSynonymBody__Group_0_0__1__Impl rule__RosettaSynonymBody__Group_0_0__2 ;
    public final void rule__RosettaSynonymBody__Group_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13088:1: ( rule__RosettaSynonymBody__Group_0_0__1__Impl rule__RosettaSynonymBody__Group_0_0__2 )
            // InternalRosetta.g:13089:2: rule__RosettaSynonymBody__Group_0_0__1__Impl rule__RosettaSynonymBody__Group_0_0__2
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0__1__Impl"
    // InternalRosetta.g:13096:1: rule__RosettaSynonymBody__Group_0_0__1__Impl : ( ( rule__RosettaSynonymBody__Group_0_0_1__0 )* ) ;
    public final void rule__RosettaSynonymBody__Group_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13100:1: ( ( ( rule__RosettaSynonymBody__Group_0_0_1__0 )* ) )
            // InternalRosetta.g:13101:1: ( ( rule__RosettaSynonymBody__Group_0_0_1__0 )* )
            {
            // InternalRosetta.g:13101:1: ( ( rule__RosettaSynonymBody__Group_0_0_1__0 )* )
            // InternalRosetta.g:13102:2: ( rule__RosettaSynonymBody__Group_0_0_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_0_1()); }
            // InternalRosetta.g:13103:2: ( rule__RosettaSynonymBody__Group_0_0_1__0 )*
            loop174:
            do {
                int alt174=2;
                alt174 = dfa174.predict(input);
                switch (alt174) {
            	case 1 :
            	    // InternalRosetta.g:13103:3: rule__RosettaSynonymBody__Group_0_0_1__0
            	    {
            	    pushFollow(FOLLOW_22);
            	    rule__RosettaSynonymBody__Group_0_0_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop174;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0__2"
    // InternalRosetta.g:13111:1: rule__RosettaSynonymBody__Group_0_0__2 : rule__RosettaSynonymBody__Group_0_0__2__Impl rule__RosettaSynonymBody__Group_0_0__3 ;
    public final void rule__RosettaSynonymBody__Group_0_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13115:1: ( rule__RosettaSynonymBody__Group_0_0__2__Impl rule__RosettaSynonymBody__Group_0_0__3 )
            // InternalRosetta.g:13116:2: rule__RosettaSynonymBody__Group_0_0__2__Impl rule__RosettaSynonymBody__Group_0_0__3
            {
            pushFollow(FOLLOW_64);
            rule__RosettaSynonymBody__Group_0_0__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0__2"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0__2__Impl"
    // InternalRosetta.g:13123:1: rule__RosettaSynonymBody__Group_0_0__2__Impl : ( ( rule__RosettaSynonymBody__ValuesAssignment_0_0_2 ) ) ;
    public final void rule__RosettaSynonymBody__Group_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13127:1: ( ( ( rule__RosettaSynonymBody__ValuesAssignment_0_0_2 ) ) )
            // InternalRosetta.g:13128:1: ( ( rule__RosettaSynonymBody__ValuesAssignment_0_0_2 ) )
            {
            // InternalRosetta.g:13128:1: ( ( rule__RosettaSynonymBody__ValuesAssignment_0_0_2 ) )
            // InternalRosetta.g:13129:2: ( rule__RosettaSynonymBody__ValuesAssignment_0_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getValuesAssignment_0_0_2()); }
            // InternalRosetta.g:13130:2: ( rule__RosettaSynonymBody__ValuesAssignment_0_0_2 )
            // InternalRosetta.g:13130:3: rule__RosettaSynonymBody__ValuesAssignment_0_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__ValuesAssignment_0_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getValuesAssignment_0_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0__2__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0__3"
    // InternalRosetta.g:13138:1: rule__RosettaSynonymBody__Group_0_0__3 : rule__RosettaSynonymBody__Group_0_0__3__Impl rule__RosettaSynonymBody__Group_0_0__4 ;
    public final void rule__RosettaSynonymBody__Group_0_0__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13142:1: ( rule__RosettaSynonymBody__Group_0_0__3__Impl rule__RosettaSynonymBody__Group_0_0__4 )
            // InternalRosetta.g:13143:2: rule__RosettaSynonymBody__Group_0_0__3__Impl rule__RosettaSynonymBody__Group_0_0__4
            {
            pushFollow(FOLLOW_64);
            rule__RosettaSynonymBody__Group_0_0__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0__3"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0__3__Impl"
    // InternalRosetta.g:13150:1: rule__RosettaSynonymBody__Group_0_0__3__Impl : ( ( rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3 )? ) ;
    public final void rule__RosettaSynonymBody__Group_0_0__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13154:1: ( ( ( rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3 )? ) )
            // InternalRosetta.g:13155:1: ( ( rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3 )? )
            {
            // InternalRosetta.g:13155:1: ( ( rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3 )? )
            // InternalRosetta.g:13156:2: ( rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMappingLogicAssignment_0_0_3()); }
            // InternalRosetta.g:13157:2: ( rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3 )?
            int alt175=2;
            int LA175_0 = input.LA(1);
            if ( (LA175_0==11||LA175_0==119) ) {
                alt175=1;
            }
            switch (alt175) {
                case 1 :
                    // InternalRosetta.g:13157:3: rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMappingLogicAssignment_0_0_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0__3__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0__4"
    // InternalRosetta.g:13165:1: rule__RosettaSynonymBody__Group_0_0__4 : rule__RosettaSynonymBody__Group_0_0__4__Impl ;
    public final void rule__RosettaSynonymBody__Group_0_0__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13169:1: ( rule__RosettaSynonymBody__Group_0_0__4__Impl )
            // InternalRosetta.g:13170:2: rule__RosettaSynonymBody__Group_0_0__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0__4"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0__4__Impl"
    // InternalRosetta.g:13176:1: rule__RosettaSynonymBody__Group_0_0__4__Impl : ( ( rule__RosettaSynonymBody__Group_0_0_4__0 )? ) ;
    public final void rule__RosettaSynonymBody__Group_0_0__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13180:1: ( ( ( rule__RosettaSynonymBody__Group_0_0_4__0 )? ) )
            // InternalRosetta.g:13181:1: ( ( rule__RosettaSynonymBody__Group_0_0_4__0 )? )
            {
            // InternalRosetta.g:13181:1: ( ( rule__RosettaSynonymBody__Group_0_0_4__0 )? )
            // InternalRosetta.g:13182:2: ( rule__RosettaSynonymBody__Group_0_0_4__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_0_4()); }
            // InternalRosetta.g:13183:2: ( rule__RosettaSynonymBody__Group_0_0_4__0 )?
            int alt176=2;
            int LA176_0 = input.LA(1);
            if ( (LA176_0==93) ) {
                alt176=1;
            }
            switch (alt176) {
                case 1 :
                    // InternalRosetta.g:13183:3: rule__RosettaSynonymBody__Group_0_0_4__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymBody__Group_0_0_4__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_0_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0__4__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_1__0"
    // InternalRosetta.g:13192:1: rule__RosettaSynonymBody__Group_0_0_1__0 : rule__RosettaSynonymBody__Group_0_0_1__0__Impl rule__RosettaSynonymBody__Group_0_0_1__1 ;
    public final void rule__RosettaSynonymBody__Group_0_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13196:1: ( rule__RosettaSynonymBody__Group_0_0_1__0__Impl rule__RosettaSynonymBody__Group_0_0_1__1 )
            // InternalRosetta.g:13197:2: rule__RosettaSynonymBody__Group_0_0_1__0__Impl rule__RosettaSynonymBody__Group_0_0_1__1
            {
            pushFollow(FOLLOW_41);
            rule__RosettaSynonymBody__Group_0_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_1__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_1__0__Impl"
    // InternalRosetta.g:13204:1: rule__RosettaSynonymBody__Group_0_0_1__0__Impl : ( ( rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0 ) ) ;
    public final void rule__RosettaSynonymBody__Group_0_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13208:1: ( ( ( rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0 ) ) )
            // InternalRosetta.g:13209:1: ( ( rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0 ) )
            {
            // InternalRosetta.g:13209:1: ( ( rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0 ) )
            // InternalRosetta.g:13210:2: ( rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getValuesAssignment_0_0_1_0()); }
            // InternalRosetta.g:13211:2: ( rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0 )
            // InternalRosetta.g:13211:3: rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getValuesAssignment_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_1__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_1__1"
    // InternalRosetta.g:13219:1: rule__RosettaSynonymBody__Group_0_0_1__1 : rule__RosettaSynonymBody__Group_0_0_1__1__Impl ;
    public final void rule__RosettaSynonymBody__Group_0_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13223:1: ( rule__RosettaSynonymBody__Group_0_0_1__1__Impl )
            // InternalRosetta.g:13224:2: rule__RosettaSynonymBody__Group_0_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_1__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_1__1__Impl"
    // InternalRosetta.g:13230:1: rule__RosettaSynonymBody__Group_0_0_1__1__Impl : ( ',' ) ;
    public final void rule__RosettaSynonymBody__Group_0_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13234:1: ( ( ',' ) )
            // InternalRosetta.g:13235:1: ( ',' )
            {
            // InternalRosetta.g:13235:1: ( ',' )
            // InternalRosetta.g:13236:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getCommaKeyword_0_0_1_1()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getCommaKeyword_0_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_1__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_4__0"
    // InternalRosetta.g:13246:1: rule__RosettaSynonymBody__Group_0_0_4__0 : rule__RosettaSynonymBody__Group_0_0_4__0__Impl rule__RosettaSynonymBody__Group_0_0_4__1 ;
    public final void rule__RosettaSynonymBody__Group_0_0_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13250:1: ( rule__RosettaSynonymBody__Group_0_0_4__0__Impl rule__RosettaSynonymBody__Group_0_0_4__1 )
            // InternalRosetta.g:13251:2: rule__RosettaSynonymBody__Group_0_0_4__0__Impl rule__RosettaSynonymBody__Group_0_0_4__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_0_0_4__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0_4__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_4__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_4__0__Impl"
    // InternalRosetta.g:13258:1: rule__RosettaSynonymBody__Group_0_0_4__0__Impl : ( 'meta' ) ;
    public final void rule__RosettaSynonymBody__Group_0_0_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13262:1: ( ( 'meta' ) )
            // InternalRosetta.g:13263:1: ( 'meta' )
            {
            // InternalRosetta.g:13263:1: ( 'meta' )
            // InternalRosetta.g:13264:2: 'meta'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMetaKeyword_0_0_4_0()); }
            match(input,93,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMetaKeyword_0_0_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_4__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_4__1"
    // InternalRosetta.g:13273:1: rule__RosettaSynonymBody__Group_0_0_4__1 : rule__RosettaSynonymBody__Group_0_0_4__1__Impl rule__RosettaSynonymBody__Group_0_0_4__2 ;
    public final void rule__RosettaSynonymBody__Group_0_0_4__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13277:1: ( rule__RosettaSynonymBody__Group_0_0_4__1__Impl rule__RosettaSynonymBody__Group_0_0_4__2 )
            // InternalRosetta.g:13278:2: rule__RosettaSynonymBody__Group_0_0_4__1__Impl rule__RosettaSynonymBody__Group_0_0_4__2
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_0_0_4__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0_4__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_4__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_4__1__Impl"
    // InternalRosetta.g:13285:1: rule__RosettaSynonymBody__Group_0_0_4__1__Impl : ( ( rule__RosettaSynonymBody__Group_0_0_4_1__0 )* ) ;
    public final void rule__RosettaSynonymBody__Group_0_0_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13289:1: ( ( ( rule__RosettaSynonymBody__Group_0_0_4_1__0 )* ) )
            // InternalRosetta.g:13290:1: ( ( rule__RosettaSynonymBody__Group_0_0_4_1__0 )* )
            {
            // InternalRosetta.g:13290:1: ( ( rule__RosettaSynonymBody__Group_0_0_4_1__0 )* )
            // InternalRosetta.g:13291:2: ( rule__RosettaSynonymBody__Group_0_0_4_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_0_4_1()); }
            // InternalRosetta.g:13292:2: ( rule__RosettaSynonymBody__Group_0_0_4_1__0 )*
            loop177:
            do {
                int alt177=2;
                int LA177_0 = input.LA(1);
                if ( (LA177_0==RULE_STRING) ) {
                    int LA177_1 = input.LA(2);
                    if ( (LA177_1==40) ) {
                        alt177=1;
                    }
                }
                switch (alt177) {
            	case 1 :
            	    // InternalRosetta.g:13292:3: rule__RosettaSynonymBody__Group_0_0_4_1__0
            	    {
            	    pushFollow(FOLLOW_22);
            	    rule__RosettaSynonymBody__Group_0_0_4_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop177;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_0_4_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_4__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_4__2"
    // InternalRosetta.g:13300:1: rule__RosettaSynonymBody__Group_0_0_4__2 : rule__RosettaSynonymBody__Group_0_0_4__2__Impl ;
    public final void rule__RosettaSynonymBody__Group_0_0_4__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13304:1: ( rule__RosettaSynonymBody__Group_0_0_4__2__Impl )
            // InternalRosetta.g:13305:2: rule__RosettaSynonymBody__Group_0_0_4__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0_4__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_4__2"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_4__2__Impl"
    // InternalRosetta.g:13311:1: rule__RosettaSynonymBody__Group_0_0_4__2__Impl : ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2 ) ) ;
    public final void rule__RosettaSynonymBody__Group_0_0_4__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13315:1: ( ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2 ) ) )
            // InternalRosetta.g:13316:1: ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2 ) )
            {
            // InternalRosetta.g:13316:1: ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2 ) )
            // InternalRosetta.g:13317:2: ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesAssignment_0_0_4_2()); }
            // InternalRosetta.g:13318:2: ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2 )
            // InternalRosetta.g:13318:3: rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesAssignment_0_0_4_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_4__2__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_4_1__0"
    // InternalRosetta.g:13327:1: rule__RosettaSynonymBody__Group_0_0_4_1__0 : rule__RosettaSynonymBody__Group_0_0_4_1__0__Impl rule__RosettaSynonymBody__Group_0_0_4_1__1 ;
    public final void rule__RosettaSynonymBody__Group_0_0_4_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13331:1: ( rule__RosettaSynonymBody__Group_0_0_4_1__0__Impl rule__RosettaSynonymBody__Group_0_0_4_1__1 )
            // InternalRosetta.g:13332:2: rule__RosettaSynonymBody__Group_0_0_4_1__0__Impl rule__RosettaSynonymBody__Group_0_0_4_1__1
            {
            pushFollow(FOLLOW_41);
            rule__RosettaSynonymBody__Group_0_0_4_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0_4_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_4_1__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_4_1__0__Impl"
    // InternalRosetta.g:13339:1: rule__RosettaSynonymBody__Group_0_0_4_1__0__Impl : ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0 ) ) ;
    public final void rule__RosettaSynonymBody__Group_0_0_4_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13343:1: ( ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0 ) ) )
            // InternalRosetta.g:13344:1: ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0 ) )
            {
            // InternalRosetta.g:13344:1: ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0 ) )
            // InternalRosetta.g:13345:2: ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesAssignment_0_0_4_1_0()); }
            // InternalRosetta.g:13346:2: ( rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0 )
            // InternalRosetta.g:13346:3: rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesAssignment_0_0_4_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_4_1__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_4_1__1"
    // InternalRosetta.g:13354:1: rule__RosettaSynonymBody__Group_0_0_4_1__1 : rule__RosettaSynonymBody__Group_0_0_4_1__1__Impl ;
    public final void rule__RosettaSynonymBody__Group_0_0_4_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13358:1: ( rule__RosettaSynonymBody__Group_0_0_4_1__1__Impl )
            // InternalRosetta.g:13359:2: rule__RosettaSynonymBody__Group_0_0_4_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_0_4_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_4_1__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_0_4_1__1__Impl"
    // InternalRosetta.g:13365:1: rule__RosettaSynonymBody__Group_0_0_4_1__1__Impl : ( ',' ) ;
    public final void rule__RosettaSynonymBody__Group_0_0_4_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13369:1: ( ( ',' ) )
            // InternalRosetta.g:13370:1: ( ',' )
            {
            // InternalRosetta.g:13370:1: ( ',' )
            // InternalRosetta.g:13371:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getCommaKeyword_0_0_4_1_1()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getCommaKeyword_0_0_4_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_0_4_1__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_1__0"
    // InternalRosetta.g:13381:1: rule__RosettaSynonymBody__Group_0_1__0 : rule__RosettaSynonymBody__Group_0_1__0__Impl rule__RosettaSynonymBody__Group_0_1__1 ;
    public final void rule__RosettaSynonymBody__Group_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13385:1: ( rule__RosettaSynonymBody__Group_0_1__0__Impl rule__RosettaSynonymBody__Group_0_1__1 )
            // InternalRosetta.g:13386:2: rule__RosettaSynonymBody__Group_0_1__0__Impl rule__RosettaSynonymBody__Group_0_1__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_1__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_1__0__Impl"
    // InternalRosetta.g:13393:1: rule__RosettaSynonymBody__Group_0_1__0__Impl : ( 'hint' ) ;
    public final void rule__RosettaSynonymBody__Group_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13397:1: ( ( 'hint' ) )
            // InternalRosetta.g:13398:1: ( 'hint' )
            {
            // InternalRosetta.g:13398:1: ( 'hint' )
            // InternalRosetta.g:13399:2: 'hint'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getHintKeyword_0_1_0()); }
            match(input,95,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getHintKeyword_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_1__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_1__1"
    // InternalRosetta.g:13408:1: rule__RosettaSynonymBody__Group_0_1__1 : rule__RosettaSynonymBody__Group_0_1__1__Impl rule__RosettaSynonymBody__Group_0_1__2 ;
    public final void rule__RosettaSynonymBody__Group_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13412:1: ( rule__RosettaSynonymBody__Group_0_1__1__Impl rule__RosettaSynonymBody__Group_0_1__2 )
            // InternalRosetta.g:13413:2: rule__RosettaSynonymBody__Group_0_1__1__Impl rule__RosettaSynonymBody__Group_0_1__2
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_1__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_1__1__Impl"
    // InternalRosetta.g:13420:1: rule__RosettaSynonymBody__Group_0_1__1__Impl : ( ( rule__RosettaSynonymBody__Group_0_1_1__0 )* ) ;
    public final void rule__RosettaSynonymBody__Group_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13424:1: ( ( ( rule__RosettaSynonymBody__Group_0_1_1__0 )* ) )
            // InternalRosetta.g:13425:1: ( ( rule__RosettaSynonymBody__Group_0_1_1__0 )* )
            {
            // InternalRosetta.g:13425:1: ( ( rule__RosettaSynonymBody__Group_0_1_1__0 )* )
            // InternalRosetta.g:13426:2: ( rule__RosettaSynonymBody__Group_0_1_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_1_1()); }
            // InternalRosetta.g:13427:2: ( rule__RosettaSynonymBody__Group_0_1_1__0 )*
            loop178:
            do {
                int alt178=2;
                int LA178_0 = input.LA(1);
                if ( (LA178_0==RULE_STRING) ) {
                    int LA178_1 = input.LA(2);
                    if ( (LA178_1==40) ) {
                        alt178=1;
                    }
                }
                switch (alt178) {
            	case 1 :
            	    // InternalRosetta.g:13427:3: rule__RosettaSynonymBody__Group_0_1_1__0
            	    {
            	    pushFollow(FOLLOW_22);
            	    rule__RosettaSynonymBody__Group_0_1_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop178;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_1__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_1__2"
    // InternalRosetta.g:13435:1: rule__RosettaSynonymBody__Group_0_1__2 : rule__RosettaSynonymBody__Group_0_1__2__Impl ;
    public final void rule__RosettaSynonymBody__Group_0_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13439:1: ( rule__RosettaSynonymBody__Group_0_1__2__Impl )
            // InternalRosetta.g:13440:2: rule__RosettaSynonymBody__Group_0_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_1__2"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_1__2__Impl"
    // InternalRosetta.g:13446:1: rule__RosettaSynonymBody__Group_0_1__2__Impl : ( ( rule__RosettaSynonymBody__HintsAssignment_0_1_2 ) ) ;
    public final void rule__RosettaSynonymBody__Group_0_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13450:1: ( ( ( rule__RosettaSynonymBody__HintsAssignment_0_1_2 ) ) )
            // InternalRosetta.g:13451:1: ( ( rule__RosettaSynonymBody__HintsAssignment_0_1_2 ) )
            {
            // InternalRosetta.g:13451:1: ( ( rule__RosettaSynonymBody__HintsAssignment_0_1_2 ) )
            // InternalRosetta.g:13452:2: ( rule__RosettaSynonymBody__HintsAssignment_0_1_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getHintsAssignment_0_1_2()); }
            // InternalRosetta.g:13453:2: ( rule__RosettaSynonymBody__HintsAssignment_0_1_2 )
            // InternalRosetta.g:13453:3: rule__RosettaSynonymBody__HintsAssignment_0_1_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__HintsAssignment_0_1_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getHintsAssignment_0_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_1__2__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_1_1__0"
    // InternalRosetta.g:13462:1: rule__RosettaSynonymBody__Group_0_1_1__0 : rule__RosettaSynonymBody__Group_0_1_1__0__Impl rule__RosettaSynonymBody__Group_0_1_1__1 ;
    public final void rule__RosettaSynonymBody__Group_0_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13466:1: ( rule__RosettaSynonymBody__Group_0_1_1__0__Impl rule__RosettaSynonymBody__Group_0_1_1__1 )
            // InternalRosetta.g:13467:2: rule__RosettaSynonymBody__Group_0_1_1__0__Impl rule__RosettaSynonymBody__Group_0_1_1__1
            {
            pushFollow(FOLLOW_41);
            rule__RosettaSynonymBody__Group_0_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_1_1__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_1_1__0__Impl"
    // InternalRosetta.g:13474:1: rule__RosettaSynonymBody__Group_0_1_1__0__Impl : ( ( rule__RosettaSynonymBody__HintsAssignment_0_1_1_0 ) ) ;
    public final void rule__RosettaSynonymBody__Group_0_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13478:1: ( ( ( rule__RosettaSynonymBody__HintsAssignment_0_1_1_0 ) ) )
            // InternalRosetta.g:13479:1: ( ( rule__RosettaSynonymBody__HintsAssignment_0_1_1_0 ) )
            {
            // InternalRosetta.g:13479:1: ( ( rule__RosettaSynonymBody__HintsAssignment_0_1_1_0 ) )
            // InternalRosetta.g:13480:2: ( rule__RosettaSynonymBody__HintsAssignment_0_1_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getHintsAssignment_0_1_1_0()); }
            // InternalRosetta.g:13481:2: ( rule__RosettaSynonymBody__HintsAssignment_0_1_1_0 )
            // InternalRosetta.g:13481:3: rule__RosettaSynonymBody__HintsAssignment_0_1_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__HintsAssignment_0_1_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getHintsAssignment_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_1_1__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_1_1__1"
    // InternalRosetta.g:13489:1: rule__RosettaSynonymBody__Group_0_1_1__1 : rule__RosettaSynonymBody__Group_0_1_1__1__Impl ;
    public final void rule__RosettaSynonymBody__Group_0_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13493:1: ( rule__RosettaSynonymBody__Group_0_1_1__1__Impl )
            // InternalRosetta.g:13494:2: rule__RosettaSynonymBody__Group_0_1_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_1_1__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_1_1__1__Impl"
    // InternalRosetta.g:13500:1: rule__RosettaSynonymBody__Group_0_1_1__1__Impl : ( ',' ) ;
    public final void rule__RosettaSynonymBody__Group_0_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13504:1: ( ( ',' ) )
            // InternalRosetta.g:13505:1: ( ',' )
            {
            // InternalRosetta.g:13505:1: ( ',' )
            // InternalRosetta.g:13506:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getCommaKeyword_0_1_1_1()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getCommaKeyword_0_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_1_1__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_2__0"
    // InternalRosetta.g:13516:1: rule__RosettaSynonymBody__Group_0_2__0 : rule__RosettaSynonymBody__Group_0_2__0__Impl rule__RosettaSynonymBody__Group_0_2__1 ;
    public final void rule__RosettaSynonymBody__Group_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13520:1: ( rule__RosettaSynonymBody__Group_0_2__0__Impl rule__RosettaSynonymBody__Group_0_2__1 )
            // InternalRosetta.g:13521:2: rule__RosettaSynonymBody__Group_0_2__0__Impl rule__RosettaSynonymBody__Group_0_2__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_2__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_2__0__Impl"
    // InternalRosetta.g:13528:1: rule__RosettaSynonymBody__Group_0_2__0__Impl : ( 'merge' ) ;
    public final void rule__RosettaSynonymBody__Group_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13532:1: ( ( 'merge' ) )
            // InternalRosetta.g:13533:1: ( 'merge' )
            {
            // InternalRosetta.g:13533:1: ( 'merge' )
            // InternalRosetta.g:13534:2: 'merge'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMergeKeyword_0_2_0()); }
            match(input,96,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMergeKeyword_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_2__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_2__1"
    // InternalRosetta.g:13543:1: rule__RosettaSynonymBody__Group_0_2__1 : rule__RosettaSynonymBody__Group_0_2__1__Impl ;
    public final void rule__RosettaSynonymBody__Group_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13547:1: ( rule__RosettaSynonymBody__Group_0_2__1__Impl )
            // InternalRosetta.g:13548:2: rule__RosettaSynonymBody__Group_0_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_2__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_2__1__Impl"
    // InternalRosetta.g:13554:1: rule__RosettaSynonymBody__Group_0_2__1__Impl : ( ( rule__RosettaSynonymBody__MergeAssignment_0_2_1 ) ) ;
    public final void rule__RosettaSynonymBody__Group_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13558:1: ( ( ( rule__RosettaSynonymBody__MergeAssignment_0_2_1 ) ) )
            // InternalRosetta.g:13559:1: ( ( rule__RosettaSynonymBody__MergeAssignment_0_2_1 ) )
            {
            // InternalRosetta.g:13559:1: ( ( rule__RosettaSynonymBody__MergeAssignment_0_2_1 ) )
            // InternalRosetta.g:13560:2: ( rule__RosettaSynonymBody__MergeAssignment_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMergeAssignment_0_2_1()); }
            // InternalRosetta.g:13561:2: ( rule__RosettaSynonymBody__MergeAssignment_0_2_1 )
            // InternalRosetta.g:13561:3: rule__RosettaSynonymBody__MergeAssignment_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__MergeAssignment_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMergeAssignment_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_2__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_4__0"
    // InternalRosetta.g:13570:1: rule__RosettaSynonymBody__Group_0_4__0 : rule__RosettaSynonymBody__Group_0_4__0__Impl rule__RosettaSynonymBody__Group_0_4__1 ;
    public final void rule__RosettaSynonymBody__Group_0_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13574:1: ( rule__RosettaSynonymBody__Group_0_4__0__Impl rule__RosettaSynonymBody__Group_0_4__1 )
            // InternalRosetta.g:13575:2: rule__RosettaSynonymBody__Group_0_4__0__Impl rule__RosettaSynonymBody__Group_0_4__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_0_4__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_4__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_4__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_4__0__Impl"
    // InternalRosetta.g:13582:1: rule__RosettaSynonymBody__Group_0_4__0__Impl : ( 'meta' ) ;
    public final void rule__RosettaSynonymBody__Group_0_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13586:1: ( ( 'meta' ) )
            // InternalRosetta.g:13587:1: ( 'meta' )
            {
            // InternalRosetta.g:13587:1: ( 'meta' )
            // InternalRosetta.g:13588:2: 'meta'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMetaKeyword_0_4_0()); }
            match(input,93,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMetaKeyword_0_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_4__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_4__1"
    // InternalRosetta.g:13597:1: rule__RosettaSynonymBody__Group_0_4__1 : rule__RosettaSynonymBody__Group_0_4__1__Impl rule__RosettaSynonymBody__Group_0_4__2 ;
    public final void rule__RosettaSynonymBody__Group_0_4__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13601:1: ( rule__RosettaSynonymBody__Group_0_4__1__Impl rule__RosettaSynonymBody__Group_0_4__2 )
            // InternalRosetta.g:13602:2: rule__RosettaSynonymBody__Group_0_4__1__Impl rule__RosettaSynonymBody__Group_0_4__2
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_0_4__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_4__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_4__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_4__1__Impl"
    // InternalRosetta.g:13609:1: rule__RosettaSynonymBody__Group_0_4__1__Impl : ( ( rule__RosettaSynonymBody__Group_0_4_1__0 )* ) ;
    public final void rule__RosettaSynonymBody__Group_0_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13613:1: ( ( ( rule__RosettaSynonymBody__Group_0_4_1__0 )* ) )
            // InternalRosetta.g:13614:1: ( ( rule__RosettaSynonymBody__Group_0_4_1__0 )* )
            {
            // InternalRosetta.g:13614:1: ( ( rule__RosettaSynonymBody__Group_0_4_1__0 )* )
            // InternalRosetta.g:13615:2: ( rule__RosettaSynonymBody__Group_0_4_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_4_1()); }
            // InternalRosetta.g:13616:2: ( rule__RosettaSynonymBody__Group_0_4_1__0 )*
            loop179:
            do {
                int alt179=2;
                int LA179_0 = input.LA(1);
                if ( (LA179_0==RULE_STRING) ) {
                    int LA179_1 = input.LA(2);
                    if ( (LA179_1==40) ) {
                        alt179=1;
                    }
                }
                switch (alt179) {
            	case 1 :
            	    // InternalRosetta.g:13616:3: rule__RosettaSynonymBody__Group_0_4_1__0
            	    {
            	    pushFollow(FOLLOW_22);
            	    rule__RosettaSynonymBody__Group_0_4_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop179;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getGroup_0_4_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_4__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_4__2"
    // InternalRosetta.g:13624:1: rule__RosettaSynonymBody__Group_0_4__2 : rule__RosettaSynonymBody__Group_0_4__2__Impl ;
    public final void rule__RosettaSynonymBody__Group_0_4__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13628:1: ( rule__RosettaSynonymBody__Group_0_4__2__Impl )
            // InternalRosetta.g:13629:2: rule__RosettaSynonymBody__Group_0_4__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_4__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_4__2"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_4__2__Impl"
    // InternalRosetta.g:13635:1: rule__RosettaSynonymBody__Group_0_4__2__Impl : ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2 ) ) ;
    public final void rule__RosettaSynonymBody__Group_0_4__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13639:1: ( ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2 ) ) )
            // InternalRosetta.g:13640:1: ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2 ) )
            {
            // InternalRosetta.g:13640:1: ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2 ) )
            // InternalRosetta.g:13641:2: ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesAssignment_0_4_2()); }
            // InternalRosetta.g:13642:2: ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2 )
            // InternalRosetta.g:13642:3: rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesAssignment_0_4_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_4__2__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_4_1__0"
    // InternalRosetta.g:13651:1: rule__RosettaSynonymBody__Group_0_4_1__0 : rule__RosettaSynonymBody__Group_0_4_1__0__Impl rule__RosettaSynonymBody__Group_0_4_1__1 ;
    public final void rule__RosettaSynonymBody__Group_0_4_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13655:1: ( rule__RosettaSynonymBody__Group_0_4_1__0__Impl rule__RosettaSynonymBody__Group_0_4_1__1 )
            // InternalRosetta.g:13656:2: rule__RosettaSynonymBody__Group_0_4_1__0__Impl rule__RosettaSynonymBody__Group_0_4_1__1
            {
            pushFollow(FOLLOW_41);
            rule__RosettaSynonymBody__Group_0_4_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_4_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_4_1__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_4_1__0__Impl"
    // InternalRosetta.g:13663:1: rule__RosettaSynonymBody__Group_0_4_1__0__Impl : ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0 ) ) ;
    public final void rule__RosettaSynonymBody__Group_0_4_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13667:1: ( ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0 ) ) )
            // InternalRosetta.g:13668:1: ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0 ) )
            {
            // InternalRosetta.g:13668:1: ( ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0 ) )
            // InternalRosetta.g:13669:2: ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesAssignment_0_4_1_0()); }
            // InternalRosetta.g:13670:2: ( rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0 )
            // InternalRosetta.g:13670:3: rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesAssignment_0_4_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_4_1__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_4_1__1"
    // InternalRosetta.g:13678:1: rule__RosettaSynonymBody__Group_0_4_1__1 : rule__RosettaSynonymBody__Group_0_4_1__1__Impl ;
    public final void rule__RosettaSynonymBody__Group_0_4_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13682:1: ( rule__RosettaSynonymBody__Group_0_4_1__1__Impl )
            // InternalRosetta.g:13683:2: rule__RosettaSynonymBody__Group_0_4_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_0_4_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_4_1__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_0_4_1__1__Impl"
    // InternalRosetta.g:13689:1: rule__RosettaSynonymBody__Group_0_4_1__1__Impl : ( ',' ) ;
    public final void rule__RosettaSynonymBody__Group_0_4_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13693:1: ( ( ',' ) )
            // InternalRosetta.g:13694:1: ( ',' )
            {
            // InternalRosetta.g:13694:1: ( ',' )
            // InternalRosetta.g:13695:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getCommaKeyword_0_4_1_1()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getCommaKeyword_0_4_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_0_4_1__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_1__0"
    // InternalRosetta.g:13705:1: rule__RosettaSynonymBody__Group_1__0 : rule__RosettaSynonymBody__Group_1__0__Impl rule__RosettaSynonymBody__Group_1__1 ;
    public final void rule__RosettaSynonymBody__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13709:1: ( rule__RosettaSynonymBody__Group_1__0__Impl rule__RosettaSynonymBody__Group_1__1 )
            // InternalRosetta.g:13710:2: rule__RosettaSynonymBody__Group_1__0__Impl rule__RosettaSynonymBody__Group_1__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_1__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_1__0__Impl"
    // InternalRosetta.g:13717:1: rule__RosettaSynonymBody__Group_1__0__Impl : ( 'dateFormat' ) ;
    public final void rule__RosettaSynonymBody__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13721:1: ( ( 'dateFormat' ) )
            // InternalRosetta.g:13722:1: ( 'dateFormat' )
            {
            // InternalRosetta.g:13722:1: ( 'dateFormat' )
            // InternalRosetta.g:13723:2: 'dateFormat'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getDateFormatKeyword_1_0()); }
            match(input,97,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getDateFormatKeyword_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_1__1"
    // InternalRosetta.g:13732:1: rule__RosettaSynonymBody__Group_1__1 : rule__RosettaSynonymBody__Group_1__1__Impl ;
    public final void rule__RosettaSynonymBody__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13736:1: ( rule__RosettaSynonymBody__Group_1__1__Impl )
            // InternalRosetta.g:13737:2: rule__RosettaSynonymBody__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_1__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_1__1__Impl"
    // InternalRosetta.g:13743:1: rule__RosettaSynonymBody__Group_1__1__Impl : ( ( rule__RosettaSynonymBody__FormatAssignment_1_1 ) ) ;
    public final void rule__RosettaSynonymBody__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13747:1: ( ( ( rule__RosettaSynonymBody__FormatAssignment_1_1 ) ) )
            // InternalRosetta.g:13748:1: ( ( rule__RosettaSynonymBody__FormatAssignment_1_1 ) )
            {
            // InternalRosetta.g:13748:1: ( ( rule__RosettaSynonymBody__FormatAssignment_1_1 ) )
            // InternalRosetta.g:13749:2: ( rule__RosettaSynonymBody__FormatAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getFormatAssignment_1_1()); }
            // InternalRosetta.g:13750:2: ( rule__RosettaSynonymBody__FormatAssignment_1_1 )
            // InternalRosetta.g:13750:3: rule__RosettaSynonymBody__FormatAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__FormatAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getFormatAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_2__0"
    // InternalRosetta.g:13759:1: rule__RosettaSynonymBody__Group_2__0 : rule__RosettaSynonymBody__Group_2__0__Impl rule__RosettaSynonymBody__Group_2__1 ;
    public final void rule__RosettaSynonymBody__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13763:1: ( rule__RosettaSynonymBody__Group_2__0__Impl rule__RosettaSynonymBody__Group_2__1 )
            // InternalRosetta.g:13764:2: rule__RosettaSynonymBody__Group_2__0__Impl rule__RosettaSynonymBody__Group_2__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_2__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_2__0__Impl"
    // InternalRosetta.g:13771:1: rule__RosettaSynonymBody__Group_2__0__Impl : ( 'pattern' ) ;
    public final void rule__RosettaSynonymBody__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13775:1: ( ( 'pattern' ) )
            // InternalRosetta.g:13776:1: ( 'pattern' )
            {
            // InternalRosetta.g:13776:1: ( 'pattern' )
            // InternalRosetta.g:13777:2: 'pattern'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getPatternKeyword_2_0()); }
            match(input,18,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getPatternKeyword_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_2__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_2__1"
    // InternalRosetta.g:13786:1: rule__RosettaSynonymBody__Group_2__1 : rule__RosettaSynonymBody__Group_2__1__Impl rule__RosettaSynonymBody__Group_2__2 ;
    public final void rule__RosettaSynonymBody__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13790:1: ( rule__RosettaSynonymBody__Group_2__1__Impl rule__RosettaSynonymBody__Group_2__2 )
            // InternalRosetta.g:13791:2: rule__RosettaSynonymBody__Group_2__1__Impl rule__RosettaSynonymBody__Group_2__2
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_2__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_2__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_2__1__Impl"
    // InternalRosetta.g:13798:1: rule__RosettaSynonymBody__Group_2__1__Impl : ( ( rule__RosettaSynonymBody__PatternMatchAssignment_2_1 ) ) ;
    public final void rule__RosettaSynonymBody__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13802:1: ( ( ( rule__RosettaSynonymBody__PatternMatchAssignment_2_1 ) ) )
            // InternalRosetta.g:13803:1: ( ( rule__RosettaSynonymBody__PatternMatchAssignment_2_1 ) )
            {
            // InternalRosetta.g:13803:1: ( ( rule__RosettaSynonymBody__PatternMatchAssignment_2_1 ) )
            // InternalRosetta.g:13804:2: ( rule__RosettaSynonymBody__PatternMatchAssignment_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getPatternMatchAssignment_2_1()); }
            // InternalRosetta.g:13805:2: ( rule__RosettaSynonymBody__PatternMatchAssignment_2_1 )
            // InternalRosetta.g:13805:3: rule__RosettaSynonymBody__PatternMatchAssignment_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__PatternMatchAssignment_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getPatternMatchAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_2__1__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_2__2"
    // InternalRosetta.g:13813:1: rule__RosettaSynonymBody__Group_2__2 : rule__RosettaSynonymBody__Group_2__2__Impl ;
    public final void rule__RosettaSynonymBody__Group_2__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13817:1: ( rule__RosettaSynonymBody__Group_2__2__Impl )
            // InternalRosetta.g:13818:2: rule__RosettaSynonymBody__Group_2__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_2__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_2__2"
    // $ANTLR start "rule__RosettaSynonymBody__Group_2__2__Impl"
    // InternalRosetta.g:13824:1: rule__RosettaSynonymBody__Group_2__2__Impl : ( ( rule__RosettaSynonymBody__PatternReplaceAssignment_2_2 ) ) ;
    public final void rule__RosettaSynonymBody__Group_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13828:1: ( ( ( rule__RosettaSynonymBody__PatternReplaceAssignment_2_2 ) ) )
            // InternalRosetta.g:13829:1: ( ( rule__RosettaSynonymBody__PatternReplaceAssignment_2_2 ) )
            {
            // InternalRosetta.g:13829:1: ( ( rule__RosettaSynonymBody__PatternReplaceAssignment_2_2 ) )
            // InternalRosetta.g:13830:2: ( rule__RosettaSynonymBody__PatternReplaceAssignment_2_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getPatternReplaceAssignment_2_2()); }
            // InternalRosetta.g:13831:2: ( rule__RosettaSynonymBody__PatternReplaceAssignment_2_2 )
            // InternalRosetta.g:13831:3: rule__RosettaSynonymBody__PatternReplaceAssignment_2_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__PatternReplaceAssignment_2_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getPatternReplaceAssignment_2_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_2__2__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_4__0"
    // InternalRosetta.g:13840:1: rule__RosettaSynonymBody__Group_4__0 : rule__RosettaSynonymBody__Group_4__0__Impl rule__RosettaSynonymBody__Group_4__1 ;
    public final void rule__RosettaSynonymBody__Group_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13844:1: ( rule__RosettaSynonymBody__Group_4__0__Impl rule__RosettaSynonymBody__Group_4__1 )
            // InternalRosetta.g:13845:2: rule__RosettaSynonymBody__Group_4__0__Impl rule__RosettaSynonymBody__Group_4__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymBody__Group_4__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_4__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_4__0"
    // $ANTLR start "rule__RosettaSynonymBody__Group_4__0__Impl"
    // InternalRosetta.g:13852:1: rule__RosettaSynonymBody__Group_4__0__Impl : ( 'mapper' ) ;
    public final void rule__RosettaSynonymBody__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13856:1: ( ( 'mapper' ) )
            // InternalRosetta.g:13857:1: ( 'mapper' )
            {
            // InternalRosetta.g:13857:1: ( 'mapper' )
            // InternalRosetta.g:13858:2: 'mapper'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMapperKeyword_4_0()); }
            match(input,98,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMapperKeyword_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_4__0__Impl"
    // $ANTLR start "rule__RosettaSynonymBody__Group_4__1"
    // InternalRosetta.g:13867:1: rule__RosettaSynonymBody__Group_4__1 : rule__RosettaSynonymBody__Group_4__1__Impl ;
    public final void rule__RosettaSynonymBody__Group_4__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13871:1: ( rule__RosettaSynonymBody__Group_4__1__Impl )
            // InternalRosetta.g:13872:2: rule__RosettaSynonymBody__Group_4__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__Group_4__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_4__1"
    // $ANTLR start "rule__RosettaSynonymBody__Group_4__1__Impl"
    // InternalRosetta.g:13878:1: rule__RosettaSynonymBody__Group_4__1__Impl : ( ( rule__RosettaSynonymBody__MapperAssignment_4_1 ) ) ;
    public final void rule__RosettaSynonymBody__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13882:1: ( ( ( rule__RosettaSynonymBody__MapperAssignment_4_1 ) ) )
            // InternalRosetta.g:13883:1: ( ( rule__RosettaSynonymBody__MapperAssignment_4_1 ) )
            {
            // InternalRosetta.g:13883:1: ( ( rule__RosettaSynonymBody__MapperAssignment_4_1 ) )
            // InternalRosetta.g:13884:2: ( rule__RosettaSynonymBody__MapperAssignment_4_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMapperAssignment_4_1()); }
            // InternalRosetta.g:13885:2: ( rule__RosettaSynonymBody__MapperAssignment_4_1 )
            // InternalRosetta.g:13885:3: rule__RosettaSynonymBody__MapperAssignment_4_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymBody__MapperAssignment_4_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMapperAssignment_4_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__Group_4__1__Impl"
    // $ANTLR start "rule__RosettaSynonymValue__Group__0"
    // InternalRosetta.g:13894:1: rule__RosettaSynonymValue__Group__0 : rule__RosettaSynonymValue__Group__0__Impl rule__RosettaSynonymValue__Group__1 ;
    public final void rule__RosettaSynonymValue__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13898:1: ( rule__RosettaSynonymValue__Group__0__Impl rule__RosettaSynonymValue__Group__1 )
            // InternalRosetta.g:13899:2: rule__RosettaSynonymValue__Group__0__Impl rule__RosettaSynonymValue__Group__1
            {
            pushFollow(FOLLOW_65);
            rule__RosettaSynonymValue__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group__0"
    // $ANTLR start "rule__RosettaSynonymValue__Group__0__Impl"
    // InternalRosetta.g:13906:1: rule__RosettaSynonymValue__Group__0__Impl : ( ( rule__RosettaSynonymValue__NameAssignment_0 ) ) ;
    public final void rule__RosettaSynonymValue__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13910:1: ( ( ( rule__RosettaSynonymValue__NameAssignment_0 ) ) )
            // InternalRosetta.g:13911:1: ( ( rule__RosettaSynonymValue__NameAssignment_0 ) )
            {
            // InternalRosetta.g:13911:1: ( ( rule__RosettaSynonymValue__NameAssignment_0 ) )
            // InternalRosetta.g:13912:2: ( rule__RosettaSynonymValue__NameAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getNameAssignment_0()); }
            // InternalRosetta.g:13913:2: ( rule__RosettaSynonymValue__NameAssignment_0 )
            // InternalRosetta.g:13913:3: rule__RosettaSynonymValue__NameAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__NameAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getNameAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group__0__Impl"
    // $ANTLR start "rule__RosettaSynonymValue__Group__1"
    // InternalRosetta.g:13921:1: rule__RosettaSynonymValue__Group__1 : rule__RosettaSynonymValue__Group__1__Impl rule__RosettaSynonymValue__Group__2 ;
    public final void rule__RosettaSynonymValue__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13925:1: ( rule__RosettaSynonymValue__Group__1__Impl rule__RosettaSynonymValue__Group__2 )
            // InternalRosetta.g:13926:2: rule__RosettaSynonymValue__Group__1__Impl rule__RosettaSynonymValue__Group__2
            {
            pushFollow(FOLLOW_65);
            rule__RosettaSynonymValue__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group__1"
    // $ANTLR start "rule__RosettaSynonymValue__Group__1__Impl"
    // InternalRosetta.g:13933:1: rule__RosettaSynonymValue__Group__1__Impl : ( ( rule__RosettaSynonymValue__Group_1__0 )? ) ;
    public final void rule__RosettaSynonymValue__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13937:1: ( ( ( rule__RosettaSynonymValue__Group_1__0 )? ) )
            // InternalRosetta.g:13938:1: ( ( rule__RosettaSynonymValue__Group_1__0 )? )
            {
            // InternalRosetta.g:13938:1: ( ( rule__RosettaSynonymValue__Group_1__0 )? )
            // InternalRosetta.g:13939:2: ( rule__RosettaSynonymValue__Group_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getGroup_1()); }
            // InternalRosetta.g:13940:2: ( rule__RosettaSynonymValue__Group_1__0 )?
            int alt180=2;
            int LA180_0 = input.LA(1);
            if ( ((LA180_0>=51 && LA180_0<=52)) ) {
                alt180=1;
            }
            switch (alt180) {
                case 1 :
                    // InternalRosetta.g:13940:3: rule__RosettaSynonymValue__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymValue__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group__1__Impl"
    // $ANTLR start "rule__RosettaSynonymValue__Group__2"
    // InternalRosetta.g:13948:1: rule__RosettaSynonymValue__Group__2 : rule__RosettaSynonymValue__Group__2__Impl rule__RosettaSynonymValue__Group__3 ;
    public final void rule__RosettaSynonymValue__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13952:1: ( rule__RosettaSynonymValue__Group__2__Impl rule__RosettaSynonymValue__Group__3 )
            // InternalRosetta.g:13953:2: rule__RosettaSynonymValue__Group__2__Impl rule__RosettaSynonymValue__Group__3
            {
            pushFollow(FOLLOW_65);
            rule__RosettaSynonymValue__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group__2"
    // $ANTLR start "rule__RosettaSynonymValue__Group__2__Impl"
    // InternalRosetta.g:13960:1: rule__RosettaSynonymValue__Group__2__Impl : ( ( rule__RosettaSynonymValue__Group_2__0 )? ) ;
    public final void rule__RosettaSynonymValue__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13964:1: ( ( ( rule__RosettaSynonymValue__Group_2__0 )? ) )
            // InternalRosetta.g:13965:1: ( ( rule__RosettaSynonymValue__Group_2__0 )? )
            {
            // InternalRosetta.g:13965:1: ( ( rule__RosettaSynonymValue__Group_2__0 )? )
            // InternalRosetta.g:13966:2: ( rule__RosettaSynonymValue__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getGroup_2()); }
            // InternalRosetta.g:13967:2: ( rule__RosettaSynonymValue__Group_2__0 )?
            int alt181=2;
            int LA181_0 = input.LA(1);
            if ( (LA181_0==94) ) {
                alt181=1;
            }
            switch (alt181) {
                case 1 :
                    // InternalRosetta.g:13967:3: rule__RosettaSynonymValue__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymValue__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group__2__Impl"
    // $ANTLR start "rule__RosettaSynonymValue__Group__3"
    // InternalRosetta.g:13975:1: rule__RosettaSynonymValue__Group__3 : rule__RosettaSynonymValue__Group__3__Impl ;
    public final void rule__RosettaSynonymValue__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13979:1: ( rule__RosettaSynonymValue__Group__3__Impl )
            // InternalRosetta.g:13980:2: rule__RosettaSynonymValue__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group__3"
    // $ANTLR start "rule__RosettaSynonymValue__Group__3__Impl"
    // InternalRosetta.g:13986:1: rule__RosettaSynonymValue__Group__3__Impl : ( ( rule__RosettaSynonymValue__Group_3__0 )? ) ;
    public final void rule__RosettaSynonymValue__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:13990:1: ( ( ( rule__RosettaSynonymValue__Group_3__0 )? ) )
            // InternalRosetta.g:13991:1: ( ( rule__RosettaSynonymValue__Group_3__0 )? )
            {
            // InternalRosetta.g:13991:1: ( ( rule__RosettaSynonymValue__Group_3__0 )? )
            // InternalRosetta.g:13992:2: ( rule__RosettaSynonymValue__Group_3__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getGroup_3()); }
            // InternalRosetta.g:13993:2: ( rule__RosettaSynonymValue__Group_3__0 )?
            int alt182=2;
            int LA182_0 = input.LA(1);
            if ( (LA182_0==99) ) {
                alt182=1;
            }
            switch (alt182) {
                case 1 :
                    // InternalRosetta.g:13993:3: rule__RosettaSynonymValue__Group_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaSynonymValue__Group_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getGroup_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group__3__Impl"
    // $ANTLR start "rule__RosettaSynonymValue__Group_1__0"
    // InternalRosetta.g:14002:1: rule__RosettaSynonymValue__Group_1__0 : rule__RosettaSynonymValue__Group_1__0__Impl rule__RosettaSynonymValue__Group_1__1 ;
    public final void rule__RosettaSynonymValue__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14006:1: ( rule__RosettaSynonymValue__Group_1__0__Impl rule__RosettaSynonymValue__Group_1__1 )
            // InternalRosetta.g:14007:2: rule__RosettaSynonymValue__Group_1__0__Impl rule__RosettaSynonymValue__Group_1__1
            {
            pushFollow(FOLLOW_57);
            rule__RosettaSynonymValue__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_1__0"
    // $ANTLR start "rule__RosettaSynonymValue__Group_1__0__Impl"
    // InternalRosetta.g:14014:1: rule__RosettaSynonymValue__Group_1__0__Impl : ( ( rule__RosettaSynonymValue__RefTypeAssignment_1_0 ) ) ;
    public final void rule__RosettaSynonymValue__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14018:1: ( ( ( rule__RosettaSynonymValue__RefTypeAssignment_1_0 ) ) )
            // InternalRosetta.g:14019:1: ( ( rule__RosettaSynonymValue__RefTypeAssignment_1_0 ) )
            {
            // InternalRosetta.g:14019:1: ( ( rule__RosettaSynonymValue__RefTypeAssignment_1_0 ) )
            // InternalRosetta.g:14020:2: ( rule__RosettaSynonymValue__RefTypeAssignment_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getRefTypeAssignment_1_0()); }
            // InternalRosetta.g:14021:2: ( rule__RosettaSynonymValue__RefTypeAssignment_1_0 )
            // InternalRosetta.g:14021:3: rule__RosettaSynonymValue__RefTypeAssignment_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__RefTypeAssignment_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getRefTypeAssignment_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaSynonymValue__Group_1__1"
    // InternalRosetta.g:14029:1: rule__RosettaSynonymValue__Group_1__1 : rule__RosettaSynonymValue__Group_1__1__Impl ;
    public final void rule__RosettaSynonymValue__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14033:1: ( rule__RosettaSynonymValue__Group_1__1__Impl )
            // InternalRosetta.g:14034:2: rule__RosettaSynonymValue__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_1__1"
    // $ANTLR start "rule__RosettaSynonymValue__Group_1__1__Impl"
    // InternalRosetta.g:14040:1: rule__RosettaSynonymValue__Group_1__1__Impl : ( ( rule__RosettaSynonymValue__ValueAssignment_1_1 ) ) ;
    public final void rule__RosettaSynonymValue__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14044:1: ( ( ( rule__RosettaSynonymValue__ValueAssignment_1_1 ) ) )
            // InternalRosetta.g:14045:1: ( ( rule__RosettaSynonymValue__ValueAssignment_1_1 ) )
            {
            // InternalRosetta.g:14045:1: ( ( rule__RosettaSynonymValue__ValueAssignment_1_1 ) )
            // InternalRosetta.g:14046:2: ( rule__RosettaSynonymValue__ValueAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getValueAssignment_1_1()); }
            // InternalRosetta.g:14047:2: ( rule__RosettaSynonymValue__ValueAssignment_1_1 )
            // InternalRosetta.g:14047:3: rule__RosettaSynonymValue__ValueAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__ValueAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getValueAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaSynonymValue__Group_2__0"
    // InternalRosetta.g:14056:1: rule__RosettaSynonymValue__Group_2__0 : rule__RosettaSynonymValue__Group_2__0__Impl rule__RosettaSynonymValue__Group_2__1 ;
    public final void rule__RosettaSynonymValue__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14060:1: ( rule__RosettaSynonymValue__Group_2__0__Impl rule__RosettaSynonymValue__Group_2__1 )
            // InternalRosetta.g:14061:2: rule__RosettaSynonymValue__Group_2__0__Impl rule__RosettaSynonymValue__Group_2__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSynonymValue__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_2__0"
    // $ANTLR start "rule__RosettaSynonymValue__Group_2__0__Impl"
    // InternalRosetta.g:14068:1: rule__RosettaSynonymValue__Group_2__0__Impl : ( 'path' ) ;
    public final void rule__RosettaSynonymValue__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14072:1: ( ( 'path' ) )
            // InternalRosetta.g:14073:1: ( 'path' )
            {
            // InternalRosetta.g:14073:1: ( 'path' )
            // InternalRosetta.g:14074:2: 'path'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getPathKeyword_2_0()); }
            match(input,94,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getPathKeyword_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_2__0__Impl"
    // $ANTLR start "rule__RosettaSynonymValue__Group_2__1"
    // InternalRosetta.g:14083:1: rule__RosettaSynonymValue__Group_2__1 : rule__RosettaSynonymValue__Group_2__1__Impl ;
    public final void rule__RosettaSynonymValue__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14087:1: ( rule__RosettaSynonymValue__Group_2__1__Impl )
            // InternalRosetta.g:14088:2: rule__RosettaSynonymValue__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_2__1"
    // $ANTLR start "rule__RosettaSynonymValue__Group_2__1__Impl"
    // InternalRosetta.g:14094:1: rule__RosettaSynonymValue__Group_2__1__Impl : ( ( rule__RosettaSynonymValue__PathAssignment_2_1 ) ) ;
    public final void rule__RosettaSynonymValue__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14098:1: ( ( ( rule__RosettaSynonymValue__PathAssignment_2_1 ) ) )
            // InternalRosetta.g:14099:1: ( ( rule__RosettaSynonymValue__PathAssignment_2_1 ) )
            {
            // InternalRosetta.g:14099:1: ( ( rule__RosettaSynonymValue__PathAssignment_2_1 ) )
            // InternalRosetta.g:14100:2: ( rule__RosettaSynonymValue__PathAssignment_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getPathAssignment_2_1()); }
            // InternalRosetta.g:14101:2: ( rule__RosettaSynonymValue__PathAssignment_2_1 )
            // InternalRosetta.g:14101:3: rule__RosettaSynonymValue__PathAssignment_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__PathAssignment_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getPathAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_2__1__Impl"
    // $ANTLR start "rule__RosettaSynonymValue__Group_3__0"
    // InternalRosetta.g:14110:1: rule__RosettaSynonymValue__Group_3__0 : rule__RosettaSynonymValue__Group_3__0__Impl rule__RosettaSynonymValue__Group_3__1 ;
    public final void rule__RosettaSynonymValue__Group_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14114:1: ( rule__RosettaSynonymValue__Group_3__0__Impl rule__RosettaSynonymValue__Group_3__1 )
            // InternalRosetta.g:14115:2: rule__RosettaSynonymValue__Group_3__0__Impl rule__RosettaSynonymValue__Group_3__1
            {
            pushFollow(FOLLOW_57);
            rule__RosettaSynonymValue__Group_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__Group_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_3__0"
    // $ANTLR start "rule__RosettaSynonymValue__Group_3__0__Impl"
    // InternalRosetta.g:14122:1: rule__RosettaSynonymValue__Group_3__0__Impl : ( 'maps' ) ;
    public final void rule__RosettaSynonymValue__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14126:1: ( ( 'maps' ) )
            // InternalRosetta.g:14127:1: ( 'maps' )
            {
            // InternalRosetta.g:14127:1: ( 'maps' )
            // InternalRosetta.g:14128:2: 'maps'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getMapsKeyword_3_0()); }
            match(input,99,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getMapsKeyword_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_3__0__Impl"
    // $ANTLR start "rule__RosettaSynonymValue__Group_3__1"
    // InternalRosetta.g:14137:1: rule__RosettaSynonymValue__Group_3__1 : rule__RosettaSynonymValue__Group_3__1__Impl ;
    public final void rule__RosettaSynonymValue__Group_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14141:1: ( rule__RosettaSynonymValue__Group_3__1__Impl )
            // InternalRosetta.g:14142:2: rule__RosettaSynonymValue__Group_3__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__Group_3__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_3__1"
    // $ANTLR start "rule__RosettaSynonymValue__Group_3__1__Impl"
    // InternalRosetta.g:14148:1: rule__RosettaSynonymValue__Group_3__1__Impl : ( ( rule__RosettaSynonymValue__MapsAssignment_3_1 ) ) ;
    public final void rule__RosettaSynonymValue__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14152:1: ( ( ( rule__RosettaSynonymValue__MapsAssignment_3_1 ) ) )
            // InternalRosetta.g:14153:1: ( ( rule__RosettaSynonymValue__MapsAssignment_3_1 ) )
            {
            // InternalRosetta.g:14153:1: ( ( rule__RosettaSynonymValue__MapsAssignment_3_1 ) )
            // InternalRosetta.g:14154:2: ( rule__RosettaSynonymValue__MapsAssignment_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getMapsAssignment_3_1()); }
            // InternalRosetta.g:14155:2: ( rule__RosettaSynonymValue__MapsAssignment_3_1 )
            // InternalRosetta.g:14155:3: rule__RosettaSynonymValue__MapsAssignment_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSynonymValue__MapsAssignment_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getMapsAssignment_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__Group_3__1__Impl"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group__0"
    // InternalRosetta.g:14164:1: rule__RosettaMetaSynonymValue__Group__0 : rule__RosettaMetaSynonymValue__Group__0__Impl rule__RosettaMetaSynonymValue__Group__1 ;
    public final void rule__RosettaMetaSynonymValue__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14168:1: ( rule__RosettaMetaSynonymValue__Group__0__Impl rule__RosettaMetaSynonymValue__Group__1 )
            // InternalRosetta.g:14169:2: rule__RosettaMetaSynonymValue__Group__0__Impl rule__RosettaMetaSynonymValue__Group__1
            {
            pushFollow(FOLLOW_65);
            rule__RosettaMetaSynonymValue__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group__0"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group__0__Impl"
    // InternalRosetta.g:14176:1: rule__RosettaMetaSynonymValue__Group__0__Impl : ( ( rule__RosettaMetaSynonymValue__NameAssignment_0 ) ) ;
    public final void rule__RosettaMetaSynonymValue__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14180:1: ( ( ( rule__RosettaMetaSynonymValue__NameAssignment_0 ) ) )
            // InternalRosetta.g:14181:1: ( ( rule__RosettaMetaSynonymValue__NameAssignment_0 ) )
            {
            // InternalRosetta.g:14181:1: ( ( rule__RosettaMetaSynonymValue__NameAssignment_0 ) )
            // InternalRosetta.g:14182:2: ( rule__RosettaMetaSynonymValue__NameAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getNameAssignment_0()); }
            // InternalRosetta.g:14183:2: ( rule__RosettaMetaSynonymValue__NameAssignment_0 )
            // InternalRosetta.g:14183:3: rule__RosettaMetaSynonymValue__NameAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__NameAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getNameAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group__0__Impl"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group__1"
    // InternalRosetta.g:14191:1: rule__RosettaMetaSynonymValue__Group__1 : rule__RosettaMetaSynonymValue__Group__1__Impl rule__RosettaMetaSynonymValue__Group__2 ;
    public final void rule__RosettaMetaSynonymValue__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14195:1: ( rule__RosettaMetaSynonymValue__Group__1__Impl rule__RosettaMetaSynonymValue__Group__2 )
            // InternalRosetta.g:14196:2: rule__RosettaMetaSynonymValue__Group__1__Impl rule__RosettaMetaSynonymValue__Group__2
            {
            pushFollow(FOLLOW_65);
            rule__RosettaMetaSynonymValue__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group__1"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group__1__Impl"
    // InternalRosetta.g:14203:1: rule__RosettaMetaSynonymValue__Group__1__Impl : ( ( rule__RosettaMetaSynonymValue__Group_1__0 )? ) ;
    public final void rule__RosettaMetaSynonymValue__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14207:1: ( ( ( rule__RosettaMetaSynonymValue__Group_1__0 )? ) )
            // InternalRosetta.g:14208:1: ( ( rule__RosettaMetaSynonymValue__Group_1__0 )? )
            {
            // InternalRosetta.g:14208:1: ( ( rule__RosettaMetaSynonymValue__Group_1__0 )? )
            // InternalRosetta.g:14209:2: ( rule__RosettaMetaSynonymValue__Group_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getGroup_1()); }
            // InternalRosetta.g:14210:2: ( rule__RosettaMetaSynonymValue__Group_1__0 )?
            int alt183=2;
            int LA183_0 = input.LA(1);
            if ( ((LA183_0>=51 && LA183_0<=52)) ) {
                alt183=1;
            }
            switch (alt183) {
                case 1 :
                    // InternalRosetta.g:14210:3: rule__RosettaMetaSynonymValue__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaMetaSynonymValue__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group__1__Impl"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group__2"
    // InternalRosetta.g:14218:1: rule__RosettaMetaSynonymValue__Group__2 : rule__RosettaMetaSynonymValue__Group__2__Impl rule__RosettaMetaSynonymValue__Group__3 ;
    public final void rule__RosettaMetaSynonymValue__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14222:1: ( rule__RosettaMetaSynonymValue__Group__2__Impl rule__RosettaMetaSynonymValue__Group__3 )
            // InternalRosetta.g:14223:2: rule__RosettaMetaSynonymValue__Group__2__Impl rule__RosettaMetaSynonymValue__Group__3
            {
            pushFollow(FOLLOW_65);
            rule__RosettaMetaSynonymValue__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group__2"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group__2__Impl"
    // InternalRosetta.g:14230:1: rule__RosettaMetaSynonymValue__Group__2__Impl : ( ( rule__RosettaMetaSynonymValue__Group_2__0 )? ) ;
    public final void rule__RosettaMetaSynonymValue__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14234:1: ( ( ( rule__RosettaMetaSynonymValue__Group_2__0 )? ) )
            // InternalRosetta.g:14235:1: ( ( rule__RosettaMetaSynonymValue__Group_2__0 )? )
            {
            // InternalRosetta.g:14235:1: ( ( rule__RosettaMetaSynonymValue__Group_2__0 )? )
            // InternalRosetta.g:14236:2: ( rule__RosettaMetaSynonymValue__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getGroup_2()); }
            // InternalRosetta.g:14237:2: ( rule__RosettaMetaSynonymValue__Group_2__0 )?
            int alt184=2;
            int LA184_0 = input.LA(1);
            if ( (LA184_0==94) ) {
                alt184=1;
            }
            switch (alt184) {
                case 1 :
                    // InternalRosetta.g:14237:3: rule__RosettaMetaSynonymValue__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaMetaSynonymValue__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group__2__Impl"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group__3"
    // InternalRosetta.g:14245:1: rule__RosettaMetaSynonymValue__Group__3 : rule__RosettaMetaSynonymValue__Group__3__Impl ;
    public final void rule__RosettaMetaSynonymValue__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14249:1: ( rule__RosettaMetaSynonymValue__Group__3__Impl )
            // InternalRosetta.g:14250:2: rule__RosettaMetaSynonymValue__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group__3"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group__3__Impl"
    // InternalRosetta.g:14256:1: rule__RosettaMetaSynonymValue__Group__3__Impl : ( ( rule__RosettaMetaSynonymValue__Group_3__0 )? ) ;
    public final void rule__RosettaMetaSynonymValue__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14260:1: ( ( ( rule__RosettaMetaSynonymValue__Group_3__0 )? ) )
            // InternalRosetta.g:14261:1: ( ( rule__RosettaMetaSynonymValue__Group_3__0 )? )
            {
            // InternalRosetta.g:14261:1: ( ( rule__RosettaMetaSynonymValue__Group_3__0 )? )
            // InternalRosetta.g:14262:2: ( rule__RosettaMetaSynonymValue__Group_3__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getGroup_3()); }
            // InternalRosetta.g:14263:2: ( rule__RosettaMetaSynonymValue__Group_3__0 )?
            int alt185=2;
            int LA185_0 = input.LA(1);
            if ( (LA185_0==99) ) {
                alt185=1;
            }
            switch (alt185) {
                case 1 :
                    // InternalRosetta.g:14263:3: rule__RosettaMetaSynonymValue__Group_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaMetaSynonymValue__Group_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getGroup_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group__3__Impl"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_1__0"
    // InternalRosetta.g:14272:1: rule__RosettaMetaSynonymValue__Group_1__0 : rule__RosettaMetaSynonymValue__Group_1__0__Impl rule__RosettaMetaSynonymValue__Group_1__1 ;
    public final void rule__RosettaMetaSynonymValue__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14276:1: ( rule__RosettaMetaSynonymValue__Group_1__0__Impl rule__RosettaMetaSynonymValue__Group_1__1 )
            // InternalRosetta.g:14277:2: rule__RosettaMetaSynonymValue__Group_1__0__Impl rule__RosettaMetaSynonymValue__Group_1__1
            {
            pushFollow(FOLLOW_57);
            rule__RosettaMetaSynonymValue__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_1__0"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_1__0__Impl"
    // InternalRosetta.g:14284:1: rule__RosettaMetaSynonymValue__Group_1__0__Impl : ( ( rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0 ) ) ;
    public final void rule__RosettaMetaSynonymValue__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14288:1: ( ( ( rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0 ) ) )
            // InternalRosetta.g:14289:1: ( ( rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0 ) )
            {
            // InternalRosetta.g:14289:1: ( ( rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0 ) )
            // InternalRosetta.g:14290:2: ( rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getRefTypeAssignment_1_0()); }
            // InternalRosetta.g:14291:2: ( rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0 )
            // InternalRosetta.g:14291:3: rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getRefTypeAssignment_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_1__1"
    // InternalRosetta.g:14299:1: rule__RosettaMetaSynonymValue__Group_1__1 : rule__RosettaMetaSynonymValue__Group_1__1__Impl ;
    public final void rule__RosettaMetaSynonymValue__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14303:1: ( rule__RosettaMetaSynonymValue__Group_1__1__Impl )
            // InternalRosetta.g:14304:2: rule__RosettaMetaSynonymValue__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_1__1"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_1__1__Impl"
    // InternalRosetta.g:14310:1: rule__RosettaMetaSynonymValue__Group_1__1__Impl : ( ( rule__RosettaMetaSynonymValue__ValueAssignment_1_1 ) ) ;
    public final void rule__RosettaMetaSynonymValue__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14314:1: ( ( ( rule__RosettaMetaSynonymValue__ValueAssignment_1_1 ) ) )
            // InternalRosetta.g:14315:1: ( ( rule__RosettaMetaSynonymValue__ValueAssignment_1_1 ) )
            {
            // InternalRosetta.g:14315:1: ( ( rule__RosettaMetaSynonymValue__ValueAssignment_1_1 ) )
            // InternalRosetta.g:14316:2: ( rule__RosettaMetaSynonymValue__ValueAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getValueAssignment_1_1()); }
            // InternalRosetta.g:14317:2: ( rule__RosettaMetaSynonymValue__ValueAssignment_1_1 )
            // InternalRosetta.g:14317:3: rule__RosettaMetaSynonymValue__ValueAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__ValueAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getValueAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_2__0"
    // InternalRosetta.g:14326:1: rule__RosettaMetaSynonymValue__Group_2__0 : rule__RosettaMetaSynonymValue__Group_2__0__Impl rule__RosettaMetaSynonymValue__Group_2__1 ;
    public final void rule__RosettaMetaSynonymValue__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14330:1: ( rule__RosettaMetaSynonymValue__Group_2__0__Impl rule__RosettaMetaSynonymValue__Group_2__1 )
            // InternalRosetta.g:14331:2: rule__RosettaMetaSynonymValue__Group_2__0__Impl rule__RosettaMetaSynonymValue__Group_2__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaMetaSynonymValue__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_2__0"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_2__0__Impl"
    // InternalRosetta.g:14338:1: rule__RosettaMetaSynonymValue__Group_2__0__Impl : ( 'path' ) ;
    public final void rule__RosettaMetaSynonymValue__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14342:1: ( ( 'path' ) )
            // InternalRosetta.g:14343:1: ( 'path' )
            {
            // InternalRosetta.g:14343:1: ( 'path' )
            // InternalRosetta.g:14344:2: 'path'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getPathKeyword_2_0()); }
            match(input,94,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getPathKeyword_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_2__0__Impl"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_2__1"
    // InternalRosetta.g:14353:1: rule__RosettaMetaSynonymValue__Group_2__1 : rule__RosettaMetaSynonymValue__Group_2__1__Impl ;
    public final void rule__RosettaMetaSynonymValue__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14357:1: ( rule__RosettaMetaSynonymValue__Group_2__1__Impl )
            // InternalRosetta.g:14358:2: rule__RosettaMetaSynonymValue__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_2__1"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_2__1__Impl"
    // InternalRosetta.g:14364:1: rule__RosettaMetaSynonymValue__Group_2__1__Impl : ( ( rule__RosettaMetaSynonymValue__PathAssignment_2_1 ) ) ;
    public final void rule__RosettaMetaSynonymValue__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14368:1: ( ( ( rule__RosettaMetaSynonymValue__PathAssignment_2_1 ) ) )
            // InternalRosetta.g:14369:1: ( ( rule__RosettaMetaSynonymValue__PathAssignment_2_1 ) )
            {
            // InternalRosetta.g:14369:1: ( ( rule__RosettaMetaSynonymValue__PathAssignment_2_1 ) )
            // InternalRosetta.g:14370:2: ( rule__RosettaMetaSynonymValue__PathAssignment_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getPathAssignment_2_1()); }
            // InternalRosetta.g:14371:2: ( rule__RosettaMetaSynonymValue__PathAssignment_2_1 )
            // InternalRosetta.g:14371:3: rule__RosettaMetaSynonymValue__PathAssignment_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__PathAssignment_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getPathAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_2__1__Impl"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_3__0"
    // InternalRosetta.g:14380:1: rule__RosettaMetaSynonymValue__Group_3__0 : rule__RosettaMetaSynonymValue__Group_3__0__Impl rule__RosettaMetaSynonymValue__Group_3__1 ;
    public final void rule__RosettaMetaSynonymValue__Group_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14384:1: ( rule__RosettaMetaSynonymValue__Group_3__0__Impl rule__RosettaMetaSynonymValue__Group_3__1 )
            // InternalRosetta.g:14385:2: rule__RosettaMetaSynonymValue__Group_3__0__Impl rule__RosettaMetaSynonymValue__Group_3__1
            {
            pushFollow(FOLLOW_57);
            rule__RosettaMetaSynonymValue__Group_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__Group_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_3__0"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_3__0__Impl"
    // InternalRosetta.g:14392:1: rule__RosettaMetaSynonymValue__Group_3__0__Impl : ( 'maps' ) ;
    public final void rule__RosettaMetaSynonymValue__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14396:1: ( ( 'maps' ) )
            // InternalRosetta.g:14397:1: ( 'maps' )
            {
            // InternalRosetta.g:14397:1: ( 'maps' )
            // InternalRosetta.g:14398:2: 'maps'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getMapsKeyword_3_0()); }
            match(input,99,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getMapsKeyword_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_3__0__Impl"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_3__1"
    // InternalRosetta.g:14407:1: rule__RosettaMetaSynonymValue__Group_3__1 : rule__RosettaMetaSynonymValue__Group_3__1__Impl ;
    public final void rule__RosettaMetaSynonymValue__Group_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14411:1: ( rule__RosettaMetaSynonymValue__Group_3__1__Impl )
            // InternalRosetta.g:14412:2: rule__RosettaMetaSynonymValue__Group_3__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__Group_3__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_3__1"
    // $ANTLR start "rule__RosettaMetaSynonymValue__Group_3__1__Impl"
    // InternalRosetta.g:14418:1: rule__RosettaMetaSynonymValue__Group_3__1__Impl : ( ( rule__RosettaMetaSynonymValue__MapsAssignment_3_1 ) ) ;
    public final void rule__RosettaMetaSynonymValue__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14422:1: ( ( ( rule__RosettaMetaSynonymValue__MapsAssignment_3_1 ) ) )
            // InternalRosetta.g:14423:1: ( ( rule__RosettaMetaSynonymValue__MapsAssignment_3_1 ) )
            {
            // InternalRosetta.g:14423:1: ( ( rule__RosettaMetaSynonymValue__MapsAssignment_3_1 ) )
            // InternalRosetta.g:14424:2: ( rule__RosettaMetaSynonymValue__MapsAssignment_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getMapsAssignment_3_1()); }
            // InternalRosetta.g:14425:2: ( rule__RosettaMetaSynonymValue__MapsAssignment_3_1 )
            // InternalRosetta.g:14425:3: rule__RosettaMetaSynonymValue__MapsAssignment_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMetaSynonymValue__MapsAssignment_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getMapsAssignment_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__Group_3__1__Impl"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group__0"
    // InternalRosetta.g:14434:1: rule__RosettaMergeSynonymValue__Group__0 : rule__RosettaMergeSynonymValue__Group__0__Impl rule__RosettaMergeSynonymValue__Group__1 ;
    public final void rule__RosettaMergeSynonymValue__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14438:1: ( rule__RosettaMergeSynonymValue__Group__0__Impl rule__RosettaMergeSynonymValue__Group__1 )
            // InternalRosetta.g:14439:2: rule__RosettaMergeSynonymValue__Group__0__Impl rule__RosettaMergeSynonymValue__Group__1
            {
            pushFollow(FOLLOW_66);
            rule__RosettaMergeSynonymValue__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMergeSynonymValue__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group__0"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group__0__Impl"
    // InternalRosetta.g:14446:1: rule__RosettaMergeSynonymValue__Group__0__Impl : ( ( rule__RosettaMergeSynonymValue__NameAssignment_0 ) ) ;
    public final void rule__RosettaMergeSynonymValue__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14450:1: ( ( ( rule__RosettaMergeSynonymValue__NameAssignment_0 ) ) )
            // InternalRosetta.g:14451:1: ( ( rule__RosettaMergeSynonymValue__NameAssignment_0 ) )
            {
            // InternalRosetta.g:14451:1: ( ( rule__RosettaMergeSynonymValue__NameAssignment_0 ) )
            // InternalRosetta.g:14452:2: ( rule__RosettaMergeSynonymValue__NameAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMergeSynonymValueAccess().getNameAssignment_0()); }
            // InternalRosetta.g:14453:2: ( rule__RosettaMergeSynonymValue__NameAssignment_0 )
            // InternalRosetta.g:14453:3: rule__RosettaMergeSynonymValue__NameAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMergeSynonymValue__NameAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMergeSynonymValueAccess().getNameAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group__0__Impl"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group__1"
    // InternalRosetta.g:14461:1: rule__RosettaMergeSynonymValue__Group__1 : rule__RosettaMergeSynonymValue__Group__1__Impl ;
    public final void rule__RosettaMergeSynonymValue__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14465:1: ( rule__RosettaMergeSynonymValue__Group__1__Impl )
            // InternalRosetta.g:14466:2: rule__RosettaMergeSynonymValue__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMergeSynonymValue__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group__1"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group__1__Impl"
    // InternalRosetta.g:14472:1: rule__RosettaMergeSynonymValue__Group__1__Impl : ( ( rule__RosettaMergeSynonymValue__Group_1__0 )? ) ;
    public final void rule__RosettaMergeSynonymValue__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14476:1: ( ( ( rule__RosettaMergeSynonymValue__Group_1__0 )? ) )
            // InternalRosetta.g:14477:1: ( ( rule__RosettaMergeSynonymValue__Group_1__0 )? )
            {
            // InternalRosetta.g:14477:1: ( ( rule__RosettaMergeSynonymValue__Group_1__0 )? )
            // InternalRosetta.g:14478:2: ( rule__RosettaMergeSynonymValue__Group_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMergeSynonymValueAccess().getGroup_1()); }
            // InternalRosetta.g:14479:2: ( rule__RosettaMergeSynonymValue__Group_1__0 )?
            int alt186=2;
            int LA186_0 = input.LA(1);
            if ( (LA186_0==100) ) {
                alt186=1;
            }
            switch (alt186) {
                case 1 :
                    // InternalRosetta.g:14479:3: rule__RosettaMergeSynonymValue__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaMergeSynonymValue__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMergeSynonymValueAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group__1__Impl"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group_1__0"
    // InternalRosetta.g:14488:1: rule__RosettaMergeSynonymValue__Group_1__0 : rule__RosettaMergeSynonymValue__Group_1__0__Impl rule__RosettaMergeSynonymValue__Group_1__1 ;
    public final void rule__RosettaMergeSynonymValue__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14492:1: ( rule__RosettaMergeSynonymValue__Group_1__0__Impl rule__RosettaMergeSynonymValue__Group_1__1 )
            // InternalRosetta.g:14493:2: rule__RosettaMergeSynonymValue__Group_1__0__Impl rule__RosettaMergeSynonymValue__Group_1__1
            {
            pushFollow(FOLLOW_67);
            rule__RosettaMergeSynonymValue__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMergeSynonymValue__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group_1__0"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group_1__0__Impl"
    // InternalRosetta.g:14500:1: rule__RosettaMergeSynonymValue__Group_1__0__Impl : ( 'when' ) ;
    public final void rule__RosettaMergeSynonymValue__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14504:1: ( ( 'when' ) )
            // InternalRosetta.g:14505:1: ( 'when' )
            {
            // InternalRosetta.g:14505:1: ( 'when' )
            // InternalRosetta.g:14506:2: 'when'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMergeSynonymValueAccess().getWhenKeyword_1_0()); }
            match(input,100,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMergeSynonymValueAccess().getWhenKeyword_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group_1__1"
    // InternalRosetta.g:14515:1: rule__RosettaMergeSynonymValue__Group_1__1 : rule__RosettaMergeSynonymValue__Group_1__1__Impl rule__RosettaMergeSynonymValue__Group_1__2 ;
    public final void rule__RosettaMergeSynonymValue__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14519:1: ( rule__RosettaMergeSynonymValue__Group_1__1__Impl rule__RosettaMergeSynonymValue__Group_1__2 )
            // InternalRosetta.g:14520:2: rule__RosettaMergeSynonymValue__Group_1__1__Impl rule__RosettaMergeSynonymValue__Group_1__2
            {
            pushFollow(FOLLOW_68);
            rule__RosettaMergeSynonymValue__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMergeSynonymValue__Group_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group_1__1"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group_1__1__Impl"
    // InternalRosetta.g:14527:1: rule__RosettaMergeSynonymValue__Group_1__1__Impl : ( 'path' ) ;
    public final void rule__RosettaMergeSynonymValue__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14531:1: ( ( 'path' ) )
            // InternalRosetta.g:14532:1: ( 'path' )
            {
            // InternalRosetta.g:14532:1: ( 'path' )
            // InternalRosetta.g:14533:2: 'path'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMergeSynonymValueAccess().getPathKeyword_1_1()); }
            match(input,94,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMergeSynonymValueAccess().getPathKeyword_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group_1__2"
    // InternalRosetta.g:14542:1: rule__RosettaMergeSynonymValue__Group_1__2 : rule__RosettaMergeSynonymValue__Group_1__2__Impl rule__RosettaMergeSynonymValue__Group_1__3 ;
    public final void rule__RosettaMergeSynonymValue__Group_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14546:1: ( rule__RosettaMergeSynonymValue__Group_1__2__Impl rule__RosettaMergeSynonymValue__Group_1__3 )
            // InternalRosetta.g:14547:2: rule__RosettaMergeSynonymValue__Group_1__2__Impl rule__RosettaMergeSynonymValue__Group_1__3
            {
            pushFollow(FOLLOW_10);
            rule__RosettaMergeSynonymValue__Group_1__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMergeSynonymValue__Group_1__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group_1__2"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group_1__2__Impl"
    // InternalRosetta.g:14554:1: rule__RosettaMergeSynonymValue__Group_1__2__Impl : ( '<>' ) ;
    public final void rule__RosettaMergeSynonymValue__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14558:1: ( ( '<>' ) )
            // InternalRosetta.g:14559:1: ( '<>' )
            {
            // InternalRosetta.g:14559:1: ( '<>' )
            // InternalRosetta.g:14560:2: '<>'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMergeSynonymValueAccess().getLessThanSignGreaterThanSignKeyword_1_2()); }
            match(input,20,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMergeSynonymValueAccess().getLessThanSignGreaterThanSignKeyword_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group_1__2__Impl"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group_1__3"
    // InternalRosetta.g:14569:1: rule__RosettaMergeSynonymValue__Group_1__3 : rule__RosettaMergeSynonymValue__Group_1__3__Impl ;
    public final void rule__RosettaMergeSynonymValue__Group_1__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14573:1: ( rule__RosettaMergeSynonymValue__Group_1__3__Impl )
            // InternalRosetta.g:14574:2: rule__RosettaMergeSynonymValue__Group_1__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMergeSynonymValue__Group_1__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group_1__3"
    // $ANTLR start "rule__RosettaMergeSynonymValue__Group_1__3__Impl"
    // InternalRosetta.g:14580:1: rule__RosettaMergeSynonymValue__Group_1__3__Impl : ( ( rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3 ) ) ;
    public final void rule__RosettaMergeSynonymValue__Group_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14584:1: ( ( ( rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3 ) ) )
            // InternalRosetta.g:14585:1: ( ( rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3 ) )
            {
            // InternalRosetta.g:14585:1: ( ( rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3 ) )
            // InternalRosetta.g:14586:2: ( rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMergeSynonymValueAccess().getExcludePathAssignment_1_3()); }
            // InternalRosetta.g:14587:2: ( rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3 )
            // InternalRosetta.g:14587:3: rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMergeSynonymValueAccess().getExcludePathAssignment_1_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__Group_1__3__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__0"
    // InternalRosetta.g:14596:1: rule__RosettaEnumSynonym__Group__0 : rule__RosettaEnumSynonym__Group__0__Impl rule__RosettaEnumSynonym__Group__1 ;
    public final void rule__RosettaEnumSynonym__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14600:1: ( rule__RosettaEnumSynonym__Group__0__Impl rule__RosettaEnumSynonym__Group__1 )
            // InternalRosetta.g:14601:2: rule__RosettaEnumSynonym__Group__0__Impl rule__RosettaEnumSynonym__Group__1
            {
            pushFollow(FOLLOW_59);
            rule__RosettaEnumSynonym__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__0"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__0__Impl"
    // InternalRosetta.g:14608:1: rule__RosettaEnumSynonym__Group__0__Impl : ( '[' ) ;
    public final void rule__RosettaEnumSynonym__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14612:1: ( ( '[' ) )
            // InternalRosetta.g:14613:1: ( '[' )
            {
            // InternalRosetta.g:14613:1: ( '[' )
            // InternalRosetta.g:14614:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getLeftSquareBracketKeyword_0()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getLeftSquareBracketKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__0__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__1"
    // InternalRosetta.g:14623:1: rule__RosettaEnumSynonym__Group__1 : rule__RosettaEnumSynonym__Group__1__Impl rule__RosettaEnumSynonym__Group__2 ;
    public final void rule__RosettaEnumSynonym__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14627:1: ( rule__RosettaEnumSynonym__Group__1__Impl rule__RosettaEnumSynonym__Group__2 )
            // InternalRosetta.g:14628:2: rule__RosettaEnumSynonym__Group__1__Impl rule__RosettaEnumSynonym__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaEnumSynonym__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__1"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__1__Impl"
    // InternalRosetta.g:14635:1: rule__RosettaEnumSynonym__Group__1__Impl : ( 'synonym' ) ;
    public final void rule__RosettaEnumSynonym__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14639:1: ( ( 'synonym' ) )
            // InternalRosetta.g:14640:1: ( 'synonym' )
            {
            // InternalRosetta.g:14640:1: ( 'synonym' )
            // InternalRosetta.g:14641:2: 'synonym'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getSynonymKeyword_1()); }
            match(input,81,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getSynonymKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__1__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__2"
    // InternalRosetta.g:14650:1: rule__RosettaEnumSynonym__Group__2 : rule__RosettaEnumSynonym__Group__2__Impl rule__RosettaEnumSynonym__Group__3 ;
    public final void rule__RosettaEnumSynonym__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14654:1: ( rule__RosettaEnumSynonym__Group__2__Impl rule__RosettaEnumSynonym__Group__3 )
            // InternalRosetta.g:14655:2: rule__RosettaEnumSynonym__Group__2__Impl rule__RosettaEnumSynonym__Group__3
            {
            pushFollow(FOLLOW_69);
            rule__RosettaEnumSynonym__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__2"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__2__Impl"
    // InternalRosetta.g:14662:1: rule__RosettaEnumSynonym__Group__2__Impl : ( ( rule__RosettaEnumSynonym__SourcesAssignment_2 ) ) ;
    public final void rule__RosettaEnumSynonym__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14666:1: ( ( ( rule__RosettaEnumSynonym__SourcesAssignment_2 ) ) )
            // InternalRosetta.g:14667:1: ( ( rule__RosettaEnumSynonym__SourcesAssignment_2 ) )
            {
            // InternalRosetta.g:14667:1: ( ( rule__RosettaEnumSynonym__SourcesAssignment_2 ) )
            // InternalRosetta.g:14668:2: ( rule__RosettaEnumSynonym__SourcesAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getSourcesAssignment_2()); }
            // InternalRosetta.g:14669:2: ( rule__RosettaEnumSynonym__SourcesAssignment_2 )
            // InternalRosetta.g:14669:3: rule__RosettaEnumSynonym__SourcesAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__SourcesAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getSourcesAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__2__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__3"
    // InternalRosetta.g:14677:1: rule__RosettaEnumSynonym__Group__3 : rule__RosettaEnumSynonym__Group__3__Impl rule__RosettaEnumSynonym__Group__4 ;
    public final void rule__RosettaEnumSynonym__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14681:1: ( rule__RosettaEnumSynonym__Group__3__Impl rule__RosettaEnumSynonym__Group__4 )
            // InternalRosetta.g:14682:2: rule__RosettaEnumSynonym__Group__3__Impl rule__RosettaEnumSynonym__Group__4
            {
            pushFollow(FOLLOW_69);
            rule__RosettaEnumSynonym__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__3"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__3__Impl"
    // InternalRosetta.g:14689:1: rule__RosettaEnumSynonym__Group__3__Impl : ( ( rule__RosettaEnumSynonym__Group_3__0 )* ) ;
    public final void rule__RosettaEnumSynonym__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14693:1: ( ( ( rule__RosettaEnumSynonym__Group_3__0 )* ) )
            // InternalRosetta.g:14694:1: ( ( rule__RosettaEnumSynonym__Group_3__0 )* )
            {
            // InternalRosetta.g:14694:1: ( ( rule__RosettaEnumSynonym__Group_3__0 )* )
            // InternalRosetta.g:14695:2: ( rule__RosettaEnumSynonym__Group_3__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getGroup_3()); }
            // InternalRosetta.g:14696:2: ( rule__RosettaEnumSynonym__Group_3__0 )*
            loop187:
            do {
                int alt187=2;
                int LA187_0 = input.LA(1);
                if ( (LA187_0==40) ) {
                    alt187=1;
                }
                switch (alt187) {
            	case 1 :
            	    // InternalRosetta.g:14696:3: rule__RosettaEnumSynonym__Group_3__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__RosettaEnumSynonym__Group_3__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop187;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getGroup_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__3__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__4"
    // InternalRosetta.g:14704:1: rule__RosettaEnumSynonym__Group__4 : rule__RosettaEnumSynonym__Group__4__Impl rule__RosettaEnumSynonym__Group__5 ;
    public final void rule__RosettaEnumSynonym__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14708:1: ( rule__RosettaEnumSynonym__Group__4__Impl rule__RosettaEnumSynonym__Group__5 )
            // InternalRosetta.g:14709:2: rule__RosettaEnumSynonym__Group__4__Impl rule__RosettaEnumSynonym__Group__5
            {
            pushFollow(FOLLOW_10);
            rule__RosettaEnumSynonym__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__4"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__4__Impl"
    // InternalRosetta.g:14716:1: rule__RosettaEnumSynonym__Group__4__Impl : ( 'value' ) ;
    public final void rule__RosettaEnumSynonym__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14720:1: ( ( 'value' ) )
            // InternalRosetta.g:14721:1: ( 'value' )
            {
            // InternalRosetta.g:14721:1: ( 'value' )
            // InternalRosetta.g:14722:2: 'value'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getValueKeyword_4()); }
            match(input,16,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getValueKeyword_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__4__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__5"
    // InternalRosetta.g:14731:1: rule__RosettaEnumSynonym__Group__5 : rule__RosettaEnumSynonym__Group__5__Impl rule__RosettaEnumSynonym__Group__6 ;
    public final void rule__RosettaEnumSynonym__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14735:1: ( rule__RosettaEnumSynonym__Group__5__Impl rule__RosettaEnumSynonym__Group__6 )
            // InternalRosetta.g:14736:2: rule__RosettaEnumSynonym__Group__5__Impl rule__RosettaEnumSynonym__Group__6
            {
            pushFollow(FOLLOW_70);
            rule__RosettaEnumSynonym__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group__6(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__5"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__5__Impl"
    // InternalRosetta.g:14743:1: rule__RosettaEnumSynonym__Group__5__Impl : ( ( rule__RosettaEnumSynonym__SynonymValueAssignment_5 ) ) ;
    public final void rule__RosettaEnumSynonym__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14747:1: ( ( ( rule__RosettaEnumSynonym__SynonymValueAssignment_5 ) ) )
            // InternalRosetta.g:14748:1: ( ( rule__RosettaEnumSynonym__SynonymValueAssignment_5 ) )
            {
            // InternalRosetta.g:14748:1: ( ( rule__RosettaEnumSynonym__SynonymValueAssignment_5 ) )
            // InternalRosetta.g:14749:2: ( rule__RosettaEnumSynonym__SynonymValueAssignment_5 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getSynonymValueAssignment_5()); }
            // InternalRosetta.g:14750:2: ( rule__RosettaEnumSynonym__SynonymValueAssignment_5 )
            // InternalRosetta.g:14750:3: rule__RosettaEnumSynonym__SynonymValueAssignment_5
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__SynonymValueAssignment_5(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getSynonymValueAssignment_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__5__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__6"
    // InternalRosetta.g:14758:1: rule__RosettaEnumSynonym__Group__6 : rule__RosettaEnumSynonym__Group__6__Impl rule__RosettaEnumSynonym__Group__7 ;
    public final void rule__RosettaEnumSynonym__Group__6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14762:1: ( rule__RosettaEnumSynonym__Group__6__Impl rule__RosettaEnumSynonym__Group__7 )
            // InternalRosetta.g:14763:2: rule__RosettaEnumSynonym__Group__6__Impl rule__RosettaEnumSynonym__Group__7
            {
            pushFollow(FOLLOW_70);
            rule__RosettaEnumSynonym__Group__6__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group__7(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__6"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__6__Impl"
    // InternalRosetta.g:14770:1: rule__RosettaEnumSynonym__Group__6__Impl : ( ( rule__RosettaEnumSynonym__Group_6__0 )? ) ;
    public final void rule__RosettaEnumSynonym__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14774:1: ( ( ( rule__RosettaEnumSynonym__Group_6__0 )? ) )
            // InternalRosetta.g:14775:1: ( ( rule__RosettaEnumSynonym__Group_6__0 )? )
            {
            // InternalRosetta.g:14775:1: ( ( rule__RosettaEnumSynonym__Group_6__0 )? )
            // InternalRosetta.g:14776:2: ( rule__RosettaEnumSynonym__Group_6__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getGroup_6()); }
            // InternalRosetta.g:14777:2: ( rule__RosettaEnumSynonym__Group_6__0 )?
            int alt188=2;
            int LA188_0 = input.LA(1);
            if ( (LA188_0==101) ) {
                alt188=1;
            }
            switch (alt188) {
                case 1 :
                    // InternalRosetta.g:14777:3: rule__RosettaEnumSynonym__Group_6__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaEnumSynonym__Group_6__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getGroup_6()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__6__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__7"
    // InternalRosetta.g:14785:1: rule__RosettaEnumSynonym__Group__7 : rule__RosettaEnumSynonym__Group__7__Impl rule__RosettaEnumSynonym__Group__8 ;
    public final void rule__RosettaEnumSynonym__Group__7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14789:1: ( rule__RosettaEnumSynonym__Group__7__Impl rule__RosettaEnumSynonym__Group__8 )
            // InternalRosetta.g:14790:2: rule__RosettaEnumSynonym__Group__7__Impl rule__RosettaEnumSynonym__Group__8
            {
            pushFollow(FOLLOW_70);
            rule__RosettaEnumSynonym__Group__7__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group__8(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__7"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__7__Impl"
    // InternalRosetta.g:14797:1: rule__RosettaEnumSynonym__Group__7__Impl : ( ( rule__RosettaEnumSynonym__Group_7__0 )? ) ;
    public final void rule__RosettaEnumSynonym__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14801:1: ( ( ( rule__RosettaEnumSynonym__Group_7__0 )? ) )
            // InternalRosetta.g:14802:1: ( ( rule__RosettaEnumSynonym__Group_7__0 )? )
            {
            // InternalRosetta.g:14802:1: ( ( rule__RosettaEnumSynonym__Group_7__0 )? )
            // InternalRosetta.g:14803:2: ( rule__RosettaEnumSynonym__Group_7__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getGroup_7()); }
            // InternalRosetta.g:14804:2: ( rule__RosettaEnumSynonym__Group_7__0 )?
            int alt189=2;
            int LA189_0 = input.LA(1);
            if ( (LA189_0==18) ) {
                alt189=1;
            }
            switch (alt189) {
                case 1 :
                    // InternalRosetta.g:14804:3: rule__RosettaEnumSynonym__Group_7__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaEnumSynonym__Group_7__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getGroup_7()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__7__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__8"
    // InternalRosetta.g:14812:1: rule__RosettaEnumSynonym__Group__8 : rule__RosettaEnumSynonym__Group__8__Impl rule__RosettaEnumSynonym__Group__9 ;
    public final void rule__RosettaEnumSynonym__Group__8() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14816:1: ( rule__RosettaEnumSynonym__Group__8__Impl rule__RosettaEnumSynonym__Group__9 )
            // InternalRosetta.g:14817:2: rule__RosettaEnumSynonym__Group__8__Impl rule__RosettaEnumSynonym__Group__9
            {
            pushFollow(FOLLOW_70);
            rule__RosettaEnumSynonym__Group__8__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group__9(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__8"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__8__Impl"
    // InternalRosetta.g:14824:1: rule__RosettaEnumSynonym__Group__8__Impl : ( ( rule__RosettaEnumSynonym__RemoveHtmlAssignment_8 )? ) ;
    public final void rule__RosettaEnumSynonym__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14828:1: ( ( ( rule__RosettaEnumSynonym__RemoveHtmlAssignment_8 )? ) )
            // InternalRosetta.g:14829:1: ( ( rule__RosettaEnumSynonym__RemoveHtmlAssignment_8 )? )
            {
            // InternalRosetta.g:14829:1: ( ( rule__RosettaEnumSynonym__RemoveHtmlAssignment_8 )? )
            // InternalRosetta.g:14830:2: ( rule__RosettaEnumSynonym__RemoveHtmlAssignment_8 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getRemoveHtmlAssignment_8()); }
            // InternalRosetta.g:14831:2: ( rule__RosettaEnumSynonym__RemoveHtmlAssignment_8 )?
            int alt190=2;
            int LA190_0 = input.LA(1);
            if ( (LA190_0==134) ) {
                alt190=1;
            }
            switch (alt190) {
                case 1 :
                    // InternalRosetta.g:14831:3: rule__RosettaEnumSynonym__RemoveHtmlAssignment_8
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaEnumSynonym__RemoveHtmlAssignment_8();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getRemoveHtmlAssignment_8()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__8__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__9"
    // InternalRosetta.g:14839:1: rule__RosettaEnumSynonym__Group__9 : rule__RosettaEnumSynonym__Group__9__Impl ;
    public final void rule__RosettaEnumSynonym__Group__9() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14843:1: ( rule__RosettaEnumSynonym__Group__9__Impl )
            // InternalRosetta.g:14844:2: rule__RosettaEnumSynonym__Group__9__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group__9__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__9"
    // $ANTLR start "rule__RosettaEnumSynonym__Group__9__Impl"
    // InternalRosetta.g:14850:1: rule__RosettaEnumSynonym__Group__9__Impl : ( ']' ) ;
    public final void rule__RosettaEnumSynonym__Group__9__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14854:1: ( ( ']' ) )
            // InternalRosetta.g:14855:1: ( ']' )
            {
            // InternalRosetta.g:14855:1: ( ']' )
            // InternalRosetta.g:14856:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getRightSquareBracketKeyword_9()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getRightSquareBracketKeyword_9()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group__9__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_3__0"
    // InternalRosetta.g:14866:1: rule__RosettaEnumSynonym__Group_3__0 : rule__RosettaEnumSynonym__Group_3__0__Impl rule__RosettaEnumSynonym__Group_3__1 ;
    public final void rule__RosettaEnumSynonym__Group_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14870:1: ( rule__RosettaEnumSynonym__Group_3__0__Impl rule__RosettaEnumSynonym__Group_3__1 )
            // InternalRosetta.g:14871:2: rule__RosettaEnumSynonym__Group_3__0__Impl rule__RosettaEnumSynonym__Group_3__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaEnumSynonym__Group_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_3__0"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_3__0__Impl"
    // InternalRosetta.g:14878:1: rule__RosettaEnumSynonym__Group_3__0__Impl : ( ',' ) ;
    public final void rule__RosettaEnumSynonym__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14882:1: ( ( ',' ) )
            // InternalRosetta.g:14883:1: ( ',' )
            {
            // InternalRosetta.g:14883:1: ( ',' )
            // InternalRosetta.g:14884:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getCommaKeyword_3_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getCommaKeyword_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_3__0__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_3__1"
    // InternalRosetta.g:14893:1: rule__RosettaEnumSynonym__Group_3__1 : rule__RosettaEnumSynonym__Group_3__1__Impl ;
    public final void rule__RosettaEnumSynonym__Group_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14897:1: ( rule__RosettaEnumSynonym__Group_3__1__Impl )
            // InternalRosetta.g:14898:2: rule__RosettaEnumSynonym__Group_3__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group_3__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_3__1"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_3__1__Impl"
    // InternalRosetta.g:14904:1: rule__RosettaEnumSynonym__Group_3__1__Impl : ( ( rule__RosettaEnumSynonym__SourcesAssignment_3_1 ) ) ;
    public final void rule__RosettaEnumSynonym__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14908:1: ( ( ( rule__RosettaEnumSynonym__SourcesAssignment_3_1 ) ) )
            // InternalRosetta.g:14909:1: ( ( rule__RosettaEnumSynonym__SourcesAssignment_3_1 ) )
            {
            // InternalRosetta.g:14909:1: ( ( rule__RosettaEnumSynonym__SourcesAssignment_3_1 ) )
            // InternalRosetta.g:14910:2: ( rule__RosettaEnumSynonym__SourcesAssignment_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getSourcesAssignment_3_1()); }
            // InternalRosetta.g:14911:2: ( rule__RosettaEnumSynonym__SourcesAssignment_3_1 )
            // InternalRosetta.g:14911:3: rule__RosettaEnumSynonym__SourcesAssignment_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__SourcesAssignment_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getSourcesAssignment_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_3__1__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_6__0"
    // InternalRosetta.g:14920:1: rule__RosettaEnumSynonym__Group_6__0 : rule__RosettaEnumSynonym__Group_6__0__Impl rule__RosettaEnumSynonym__Group_6__1 ;
    public final void rule__RosettaEnumSynonym__Group_6__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14924:1: ( rule__RosettaEnumSynonym__Group_6__0__Impl rule__RosettaEnumSynonym__Group_6__1 )
            // InternalRosetta.g:14925:2: rule__RosettaEnumSynonym__Group_6__0__Impl rule__RosettaEnumSynonym__Group_6__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaEnumSynonym__Group_6__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group_6__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_6__0"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_6__0__Impl"
    // InternalRosetta.g:14932:1: rule__RosettaEnumSynonym__Group_6__0__Impl : ( 'definition' ) ;
    public final void rule__RosettaEnumSynonym__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14936:1: ( ( 'definition' ) )
            // InternalRosetta.g:14937:1: ( 'definition' )
            {
            // InternalRosetta.g:14937:1: ( 'definition' )
            // InternalRosetta.g:14938:2: 'definition'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getDefinitionKeyword_6_0()); }
            match(input,101,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getDefinitionKeyword_6_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_6__0__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_6__1"
    // InternalRosetta.g:14947:1: rule__RosettaEnumSynonym__Group_6__1 : rule__RosettaEnumSynonym__Group_6__1__Impl ;
    public final void rule__RosettaEnumSynonym__Group_6__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14951:1: ( rule__RosettaEnumSynonym__Group_6__1__Impl )
            // InternalRosetta.g:14952:2: rule__RosettaEnumSynonym__Group_6__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group_6__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_6__1"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_6__1__Impl"
    // InternalRosetta.g:14958:1: rule__RosettaEnumSynonym__Group_6__1__Impl : ( ( rule__RosettaEnumSynonym__DefinitionAssignment_6_1 ) ) ;
    public final void rule__RosettaEnumSynonym__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14962:1: ( ( ( rule__RosettaEnumSynonym__DefinitionAssignment_6_1 ) ) )
            // InternalRosetta.g:14963:1: ( ( rule__RosettaEnumSynonym__DefinitionAssignment_6_1 ) )
            {
            // InternalRosetta.g:14963:1: ( ( rule__RosettaEnumSynonym__DefinitionAssignment_6_1 ) )
            // InternalRosetta.g:14964:2: ( rule__RosettaEnumSynonym__DefinitionAssignment_6_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getDefinitionAssignment_6_1()); }
            // InternalRosetta.g:14965:2: ( rule__RosettaEnumSynonym__DefinitionAssignment_6_1 )
            // InternalRosetta.g:14965:3: rule__RosettaEnumSynonym__DefinitionAssignment_6_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__DefinitionAssignment_6_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getDefinitionAssignment_6_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_6__1__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_7__0"
    // InternalRosetta.g:14974:1: rule__RosettaEnumSynonym__Group_7__0 : rule__RosettaEnumSynonym__Group_7__0__Impl rule__RosettaEnumSynonym__Group_7__1 ;
    public final void rule__RosettaEnumSynonym__Group_7__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14978:1: ( rule__RosettaEnumSynonym__Group_7__0__Impl rule__RosettaEnumSynonym__Group_7__1 )
            // InternalRosetta.g:14979:2: rule__RosettaEnumSynonym__Group_7__0__Impl rule__RosettaEnumSynonym__Group_7__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaEnumSynonym__Group_7__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group_7__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_7__0"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_7__0__Impl"
    // InternalRosetta.g:14986:1: rule__RosettaEnumSynonym__Group_7__0__Impl : ( 'pattern' ) ;
    public final void rule__RosettaEnumSynonym__Group_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:14990:1: ( ( 'pattern' ) )
            // InternalRosetta.g:14991:1: ( 'pattern' )
            {
            // InternalRosetta.g:14991:1: ( 'pattern' )
            // InternalRosetta.g:14992:2: 'pattern'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getPatternKeyword_7_0()); }
            match(input,18,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getPatternKeyword_7_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_7__0__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_7__1"
    // InternalRosetta.g:15001:1: rule__RosettaEnumSynonym__Group_7__1 : rule__RosettaEnumSynonym__Group_7__1__Impl rule__RosettaEnumSynonym__Group_7__2 ;
    public final void rule__RosettaEnumSynonym__Group_7__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15005:1: ( rule__RosettaEnumSynonym__Group_7__1__Impl rule__RosettaEnumSynonym__Group_7__2 )
            // InternalRosetta.g:15006:2: rule__RosettaEnumSynonym__Group_7__1__Impl rule__RosettaEnumSynonym__Group_7__2
            {
            pushFollow(FOLLOW_10);
            rule__RosettaEnumSynonym__Group_7__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group_7__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_7__1"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_7__1__Impl"
    // InternalRosetta.g:15013:1: rule__RosettaEnumSynonym__Group_7__1__Impl : ( ( rule__RosettaEnumSynonym__PatternMatchAssignment_7_1 ) ) ;
    public final void rule__RosettaEnumSynonym__Group_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15017:1: ( ( ( rule__RosettaEnumSynonym__PatternMatchAssignment_7_1 ) ) )
            // InternalRosetta.g:15018:1: ( ( rule__RosettaEnumSynonym__PatternMatchAssignment_7_1 ) )
            {
            // InternalRosetta.g:15018:1: ( ( rule__RosettaEnumSynonym__PatternMatchAssignment_7_1 ) )
            // InternalRosetta.g:15019:2: ( rule__RosettaEnumSynonym__PatternMatchAssignment_7_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getPatternMatchAssignment_7_1()); }
            // InternalRosetta.g:15020:2: ( rule__RosettaEnumSynonym__PatternMatchAssignment_7_1 )
            // InternalRosetta.g:15020:3: rule__RosettaEnumSynonym__PatternMatchAssignment_7_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__PatternMatchAssignment_7_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getPatternMatchAssignment_7_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_7__1__Impl"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_7__2"
    // InternalRosetta.g:15028:1: rule__RosettaEnumSynonym__Group_7__2 : rule__RosettaEnumSynonym__Group_7__2__Impl ;
    public final void rule__RosettaEnumSynonym__Group_7__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15032:1: ( rule__RosettaEnumSynonym__Group_7__2__Impl )
            // InternalRosetta.g:15033:2: rule__RosettaEnumSynonym__Group_7__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__Group_7__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_7__2"
    // $ANTLR start "rule__RosettaEnumSynonym__Group_7__2__Impl"
    // InternalRosetta.g:15039:1: rule__RosettaEnumSynonym__Group_7__2__Impl : ( ( rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2 ) ) ;
    public final void rule__RosettaEnumSynonym__Group_7__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15043:1: ( ( ( rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2 ) ) )
            // InternalRosetta.g:15044:1: ( ( rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2 ) )
            {
            // InternalRosetta.g:15044:1: ( ( rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2 ) )
            // InternalRosetta.g:15045:2: ( rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getPatternReplaceAssignment_7_2()); }
            // InternalRosetta.g:15046:2: ( rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2 )
            // InternalRosetta.g:15046:3: rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getPatternReplaceAssignment_7_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__Group_7__2__Impl"
    // $ANTLR start "rule__RosettaMapping__Group__0"
    // InternalRosetta.g:15055:1: rule__RosettaMapping__Group__0 : rule__RosettaMapping__Group__0__Impl rule__RosettaMapping__Group__1 ;
    public final void rule__RosettaMapping__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15059:1: ( rule__RosettaMapping__Group__0__Impl rule__RosettaMapping__Group__1 )
            // InternalRosetta.g:15060:2: rule__RosettaMapping__Group__0__Impl rule__RosettaMapping__Group__1
            {
            pushFollow(FOLLOW_41);
            rule__RosettaMapping__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapping__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapping__Group__0"
    // $ANTLR start "rule__RosettaMapping__Group__0__Impl"
    // InternalRosetta.g:15067:1: rule__RosettaMapping__Group__0__Impl : ( ( rule__RosettaMapping__InstancesAssignment_0 ) ) ;
    public final void rule__RosettaMapping__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15071:1: ( ( ( rule__RosettaMapping__InstancesAssignment_0 ) ) )
            // InternalRosetta.g:15072:1: ( ( rule__RosettaMapping__InstancesAssignment_0 ) )
            {
            // InternalRosetta.g:15072:1: ( ( rule__RosettaMapping__InstancesAssignment_0 ) )
            // InternalRosetta.g:15073:2: ( rule__RosettaMapping__InstancesAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingAccess().getInstancesAssignment_0()); }
            // InternalRosetta.g:15074:2: ( rule__RosettaMapping__InstancesAssignment_0 )
            // InternalRosetta.g:15074:3: rule__RosettaMapping__InstancesAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapping__InstancesAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingAccess().getInstancesAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapping__Group__0__Impl"
    // $ANTLR start "rule__RosettaMapping__Group__1"
    // InternalRosetta.g:15082:1: rule__RosettaMapping__Group__1 : rule__RosettaMapping__Group__1__Impl ;
    public final void rule__RosettaMapping__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15086:1: ( rule__RosettaMapping__Group__1__Impl )
            // InternalRosetta.g:15087:2: rule__RosettaMapping__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapping__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapping__Group__1"
    // $ANTLR start "rule__RosettaMapping__Group__1__Impl"
    // InternalRosetta.g:15093:1: rule__RosettaMapping__Group__1__Impl : ( ( rule__RosettaMapping__Group_1__0 )* ) ;
    public final void rule__RosettaMapping__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15097:1: ( ( ( rule__RosettaMapping__Group_1__0 )* ) )
            // InternalRosetta.g:15098:1: ( ( rule__RosettaMapping__Group_1__0 )* )
            {
            // InternalRosetta.g:15098:1: ( ( rule__RosettaMapping__Group_1__0 )* )
            // InternalRosetta.g:15099:2: ( rule__RosettaMapping__Group_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingAccess().getGroup_1()); }
            // InternalRosetta.g:15100:2: ( rule__RosettaMapping__Group_1__0 )*
            loop191:
            do {
                int alt191=2;
                int LA191_0 = input.LA(1);
                if ( (LA191_0==40) ) {
                    alt191=1;
                }
                switch (alt191) {
            	case 1 :
            	    // InternalRosetta.g:15100:3: rule__RosettaMapping__Group_1__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__RosettaMapping__Group_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop191;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapping__Group__1__Impl"
    // $ANTLR start "rule__RosettaMapping__Group_1__0"
    // InternalRosetta.g:15109:1: rule__RosettaMapping__Group_1__0 : rule__RosettaMapping__Group_1__0__Impl rule__RosettaMapping__Group_1__1 ;
    public final void rule__RosettaMapping__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15113:1: ( rule__RosettaMapping__Group_1__0__Impl rule__RosettaMapping__Group_1__1 )
            // InternalRosetta.g:15114:2: rule__RosettaMapping__Group_1__0__Impl rule__RosettaMapping__Group_1__1
            {
            pushFollow(FOLLOW_71);
            rule__RosettaMapping__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapping__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapping__Group_1__0"
    // $ANTLR start "rule__RosettaMapping__Group_1__0__Impl"
    // InternalRosetta.g:15121:1: rule__RosettaMapping__Group_1__0__Impl : ( ',' ) ;
    public final void rule__RosettaMapping__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15125:1: ( ( ',' ) )
            // InternalRosetta.g:15126:1: ( ',' )
            {
            // InternalRosetta.g:15126:1: ( ',' )
            // InternalRosetta.g:15127:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingAccess().getCommaKeyword_1_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingAccess().getCommaKeyword_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapping__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaMapping__Group_1__1"
    // InternalRosetta.g:15136:1: rule__RosettaMapping__Group_1__1 : rule__RosettaMapping__Group_1__1__Impl ;
    public final void rule__RosettaMapping__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15140:1: ( rule__RosettaMapping__Group_1__1__Impl )
            // InternalRosetta.g:15141:2: rule__RosettaMapping__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapping__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapping__Group_1__1"
    // $ANTLR start "rule__RosettaMapping__Group_1__1__Impl"
    // InternalRosetta.g:15147:1: rule__RosettaMapping__Group_1__1__Impl : ( ( rule__RosettaMapping__InstancesAssignment_1_1 ) ) ;
    public final void rule__RosettaMapping__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15151:1: ( ( ( rule__RosettaMapping__InstancesAssignment_1_1 ) ) )
            // InternalRosetta.g:15152:1: ( ( rule__RosettaMapping__InstancesAssignment_1_1 ) )
            {
            // InternalRosetta.g:15152:1: ( ( rule__RosettaMapping__InstancesAssignment_1_1 ) )
            // InternalRosetta.g:15153:2: ( rule__RosettaMapping__InstancesAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingAccess().getInstancesAssignment_1_1()); }
            // InternalRosetta.g:15154:2: ( rule__RosettaMapping__InstancesAssignment_1_1 )
            // InternalRosetta.g:15154:3: rule__RosettaMapping__InstancesAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapping__InstancesAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingAccess().getInstancesAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapping__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaMappingInstance__Group_0__0"
    // InternalRosetta.g:15163:1: rule__RosettaMappingInstance__Group_0__0 : rule__RosettaMappingInstance__Group_0__0__Impl rule__RosettaMappingInstance__Group_0__1 ;
    public final void rule__RosettaMappingInstance__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15167:1: ( rule__RosettaMappingInstance__Group_0__0__Impl rule__RosettaMappingInstance__Group_0__1 )
            // InternalRosetta.g:15168:2: rule__RosettaMappingInstance__Group_0__0__Impl rule__RosettaMappingInstance__Group_0__1
            {
            pushFollow(FOLLOW_72);
            rule__RosettaMappingInstance__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_0__0"
    // $ANTLR start "rule__RosettaMappingInstance__Group_0__0__Impl"
    // InternalRosetta.g:15175:1: rule__RosettaMappingInstance__Group_0__0__Impl : ( ( rule__RosettaMappingInstance__Group_0_0__0 ) ) ;
    public final void rule__RosettaMappingInstance__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15179:1: ( ( ( rule__RosettaMappingInstance__Group_0_0__0 ) ) )
            // InternalRosetta.g:15180:1: ( ( rule__RosettaMappingInstance__Group_0_0__0 ) )
            {
            // InternalRosetta.g:15180:1: ( ( rule__RosettaMappingInstance__Group_0_0__0 ) )
            // InternalRosetta.g:15181:2: ( rule__RosettaMappingInstance__Group_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getGroup_0_0()); }
            // InternalRosetta.g:15182:2: ( rule__RosettaMappingInstance__Group_0_0__0 )
            // InternalRosetta.g:15182:3: rule__RosettaMappingInstance__Group_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__Group_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getGroup_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_0__0__Impl"
    // $ANTLR start "rule__RosettaMappingInstance__Group_0__1"
    // InternalRosetta.g:15190:1: rule__RosettaMappingInstance__Group_0__1 : rule__RosettaMappingInstance__Group_0__1__Impl ;
    public final void rule__RosettaMappingInstance__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15194:1: ( rule__RosettaMappingInstance__Group_0__1__Impl )
            // InternalRosetta.g:15195:2: rule__RosettaMappingInstance__Group_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_0__1"
    // $ANTLR start "rule__RosettaMappingInstance__Group_0__1__Impl"
    // InternalRosetta.g:15201:1: rule__RosettaMappingInstance__Group_0__1__Impl : ( ( rule__RosettaMappingInstance__WhenAssignment_0_1 ) ) ;
    public final void rule__RosettaMappingInstance__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15205:1: ( ( ( rule__RosettaMappingInstance__WhenAssignment_0_1 ) ) )
            // InternalRosetta.g:15206:1: ( ( rule__RosettaMappingInstance__WhenAssignment_0_1 ) )
            {
            // InternalRosetta.g:15206:1: ( ( rule__RosettaMappingInstance__WhenAssignment_0_1 ) )
            // InternalRosetta.g:15207:2: ( rule__RosettaMappingInstance__WhenAssignment_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getWhenAssignment_0_1()); }
            // InternalRosetta.g:15208:2: ( rule__RosettaMappingInstance__WhenAssignment_0_1 )
            // InternalRosetta.g:15208:3: rule__RosettaMappingInstance__WhenAssignment_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__WhenAssignment_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getWhenAssignment_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_0__1__Impl"
    // $ANTLR start "rule__RosettaMappingInstance__Group_0_0__0"
    // InternalRosetta.g:15217:1: rule__RosettaMappingInstance__Group_0_0__0 : rule__RosettaMappingInstance__Group_0_0__0__Impl rule__RosettaMappingInstance__Group_0_0__1 ;
    public final void rule__RosettaMappingInstance__Group_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15221:1: ( rule__RosettaMappingInstance__Group_0_0__0__Impl rule__RosettaMappingInstance__Group_0_0__1 )
            // InternalRosetta.g:15222:2: rule__RosettaMappingInstance__Group_0_0__0__Impl rule__RosettaMappingInstance__Group_0_0__1
            {
            pushFollow(FOLLOW_66);
            rule__RosettaMappingInstance__Group_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__Group_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_0_0__0"
    // $ANTLR start "rule__RosettaMappingInstance__Group_0_0__0__Impl"
    // InternalRosetta.g:15229:1: rule__RosettaMappingInstance__Group_0_0__0__Impl : ( 'set' ) ;
    public final void rule__RosettaMappingInstance__Group_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15233:1: ( ( 'set' ) )
            // InternalRosetta.g:15234:1: ( 'set' )
            {
            // InternalRosetta.g:15234:1: ( 'set' )
            // InternalRosetta.g:15235:2: 'set'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getSetKeyword_0_0_0()); }
            match(input,11,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getSetKeyword_0_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_0_0__0__Impl"
    // $ANTLR start "rule__RosettaMappingInstance__Group_0_0__1"
    // InternalRosetta.g:15244:1: rule__RosettaMappingInstance__Group_0_0__1 : rule__RosettaMappingInstance__Group_0_0__1__Impl ;
    public final void rule__RosettaMappingInstance__Group_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15248:1: ( rule__RosettaMappingInstance__Group_0_0__1__Impl )
            // InternalRosetta.g:15249:2: rule__RosettaMappingInstance__Group_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__Group_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_0_0__1"
    // $ANTLR start "rule__RosettaMappingInstance__Group_0_0__1__Impl"
    // InternalRosetta.g:15255:1: rule__RosettaMappingInstance__Group_0_0__1__Impl : ( 'when' ) ;
    public final void rule__RosettaMappingInstance__Group_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15259:1: ( ( 'when' ) )
            // InternalRosetta.g:15260:1: ( 'when' )
            {
            // InternalRosetta.g:15260:1: ( 'when' )
            // InternalRosetta.g:15261:2: 'when'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getWhenKeyword_0_0_1()); }
            match(input,100,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getWhenKeyword_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_0_0__1__Impl"
    // $ANTLR start "rule__RosettaMappingInstance__Group_1__0"
    // InternalRosetta.g:15271:1: rule__RosettaMappingInstance__Group_1__0 : rule__RosettaMappingInstance__Group_1__0__Impl rule__RosettaMappingInstance__Group_1__1 ;
    public final void rule__RosettaMappingInstance__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15275:1: ( rule__RosettaMappingInstance__Group_1__0__Impl rule__RosettaMappingInstance__Group_1__1 )
            // InternalRosetta.g:15276:2: rule__RosettaMappingInstance__Group_1__0__Impl rule__RosettaMappingInstance__Group_1__1
            {
            pushFollow(FOLLOW_73);
            rule__RosettaMappingInstance__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_1__0"
    // $ANTLR start "rule__RosettaMappingInstance__Group_1__0__Impl"
    // InternalRosetta.g:15283:1: rule__RosettaMappingInstance__Group_1__0__Impl : ( ( rule__RosettaMappingInstance__Group_1_0__0 ) ) ;
    public final void rule__RosettaMappingInstance__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15287:1: ( ( ( rule__RosettaMappingInstance__Group_1_0__0 ) ) )
            // InternalRosetta.g:15288:1: ( ( rule__RosettaMappingInstance__Group_1_0__0 ) )
            {
            // InternalRosetta.g:15288:1: ( ( rule__RosettaMappingInstance__Group_1_0__0 ) )
            // InternalRosetta.g:15289:2: ( rule__RosettaMappingInstance__Group_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getGroup_1_0()); }
            // InternalRosetta.g:15290:2: ( rule__RosettaMappingInstance__Group_1_0__0 )
            // InternalRosetta.g:15290:3: rule__RosettaMappingInstance__Group_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__Group_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getGroup_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaMappingInstance__Group_1__1"
    // InternalRosetta.g:15298:1: rule__RosettaMappingInstance__Group_1__1 : rule__RosettaMappingInstance__Group_1__1__Impl ;
    public final void rule__RosettaMappingInstance__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15302:1: ( rule__RosettaMappingInstance__Group_1__1__Impl )
            // InternalRosetta.g:15303:2: rule__RosettaMappingInstance__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_1__1"
    // $ANTLR start "rule__RosettaMappingInstance__Group_1__1__Impl"
    // InternalRosetta.g:15309:1: rule__RosettaMappingInstance__Group_1__1__Impl : ( ( rule__RosettaMappingInstance__SetAssignment_1_1 ) ) ;
    public final void rule__RosettaMappingInstance__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15313:1: ( ( ( rule__RosettaMappingInstance__SetAssignment_1_1 ) ) )
            // InternalRosetta.g:15314:1: ( ( rule__RosettaMappingInstance__SetAssignment_1_1 ) )
            {
            // InternalRosetta.g:15314:1: ( ( rule__RosettaMappingInstance__SetAssignment_1_1 ) )
            // InternalRosetta.g:15315:2: ( rule__RosettaMappingInstance__SetAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getSetAssignment_1_1()); }
            // InternalRosetta.g:15316:2: ( rule__RosettaMappingInstance__SetAssignment_1_1 )
            // InternalRosetta.g:15316:3: rule__RosettaMappingInstance__SetAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__SetAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getSetAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaMappingInstance__Group_1_0__0"
    // InternalRosetta.g:15325:1: rule__RosettaMappingInstance__Group_1_0__0 : rule__RosettaMappingInstance__Group_1_0__0__Impl rule__RosettaMappingInstance__Group_1_0__1 ;
    public final void rule__RosettaMappingInstance__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15329:1: ( rule__RosettaMappingInstance__Group_1_0__0__Impl rule__RosettaMappingInstance__Group_1_0__1 )
            // InternalRosetta.g:15330:2: rule__RosettaMappingInstance__Group_1_0__0__Impl rule__RosettaMappingInstance__Group_1_0__1
            {
            pushFollow(FOLLOW_74);
            rule__RosettaMappingInstance__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__Group_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_1_0__0"
    // $ANTLR start "rule__RosettaMappingInstance__Group_1_0__0__Impl"
    // InternalRosetta.g:15337:1: rule__RosettaMappingInstance__Group_1_0__0__Impl : ( ( rule__RosettaMappingInstance__DefaultAssignment_1_0_0 ) ) ;
    public final void rule__RosettaMappingInstance__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15341:1: ( ( ( rule__RosettaMappingInstance__DefaultAssignment_1_0_0 ) ) )
            // InternalRosetta.g:15342:1: ( ( rule__RosettaMappingInstance__DefaultAssignment_1_0_0 ) )
            {
            // InternalRosetta.g:15342:1: ( ( rule__RosettaMappingInstance__DefaultAssignment_1_0_0 ) )
            // InternalRosetta.g:15343:2: ( rule__RosettaMappingInstance__DefaultAssignment_1_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getDefaultAssignment_1_0_0()); }
            // InternalRosetta.g:15344:2: ( rule__RosettaMappingInstance__DefaultAssignment_1_0_0 )
            // InternalRosetta.g:15344:3: rule__RosettaMappingInstance__DefaultAssignment_1_0_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__DefaultAssignment_1_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getDefaultAssignment_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_1_0__0__Impl"
    // $ANTLR start "rule__RosettaMappingInstance__Group_1_0__1"
    // InternalRosetta.g:15352:1: rule__RosettaMappingInstance__Group_1_0__1 : rule__RosettaMappingInstance__Group_1_0__1__Impl ;
    public final void rule__RosettaMappingInstance__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15356:1: ( rule__RosettaMappingInstance__Group_1_0__1__Impl )
            // InternalRosetta.g:15357:2: rule__RosettaMappingInstance__Group_1_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingInstance__Group_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_1_0__1"
    // $ANTLR start "rule__RosettaMappingInstance__Group_1_0__1__Impl"
    // InternalRosetta.g:15363:1: rule__RosettaMappingInstance__Group_1_0__1__Impl : ( 'to' ) ;
    public final void rule__RosettaMappingInstance__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15367:1: ( ( 'to' ) )
            // InternalRosetta.g:15368:1: ( 'to' )
            {
            // InternalRosetta.g:15368:1: ( 'to' )
            // InternalRosetta.g:15369:2: 'to'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getToKeyword_1_0_1()); }
            match(input,102,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getToKeyword_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__Group_1_0__1__Impl"
    // $ANTLR start "rule__RosettaMappingSetTo__Group__0"
    // InternalRosetta.g:15379:1: rule__RosettaMappingSetTo__Group__0 : rule__RosettaMappingSetTo__Group__0__Impl rule__RosettaMappingSetTo__Group__1 ;
    public final void rule__RosettaMappingSetTo__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15383:1: ( rule__RosettaMappingSetTo__Group__0__Impl rule__RosettaMappingSetTo__Group__1 )
            // InternalRosetta.g:15384:2: rule__RosettaMappingSetTo__Group__0__Impl rule__RosettaMappingSetTo__Group__1
            {
            pushFollow(FOLLOW_41);
            rule__RosettaMappingSetTo__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetTo__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetTo__Group__0"
    // $ANTLR start "rule__RosettaMappingSetTo__Group__0__Impl"
    // InternalRosetta.g:15391:1: rule__RosettaMappingSetTo__Group__0__Impl : ( ( rule__RosettaMappingSetTo__InstancesAssignment_0 ) ) ;
    public final void rule__RosettaMappingSetTo__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15395:1: ( ( ( rule__RosettaMappingSetTo__InstancesAssignment_0 ) ) )
            // InternalRosetta.g:15396:1: ( ( rule__RosettaMappingSetTo__InstancesAssignment_0 ) )
            {
            // InternalRosetta.g:15396:1: ( ( rule__RosettaMappingSetTo__InstancesAssignment_0 ) )
            // InternalRosetta.g:15397:2: ( rule__RosettaMappingSetTo__InstancesAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToAccess().getInstancesAssignment_0()); }
            // InternalRosetta.g:15398:2: ( rule__RosettaMappingSetTo__InstancesAssignment_0 )
            // InternalRosetta.g:15398:3: rule__RosettaMappingSetTo__InstancesAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetTo__InstancesAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToAccess().getInstancesAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetTo__Group__0__Impl"
    // $ANTLR start "rule__RosettaMappingSetTo__Group__1"
    // InternalRosetta.g:15406:1: rule__RosettaMappingSetTo__Group__1 : rule__RosettaMappingSetTo__Group__1__Impl ;
    public final void rule__RosettaMappingSetTo__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15410:1: ( rule__RosettaMappingSetTo__Group__1__Impl )
            // InternalRosetta.g:15411:2: rule__RosettaMappingSetTo__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetTo__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetTo__Group__1"
    // $ANTLR start "rule__RosettaMappingSetTo__Group__1__Impl"
    // InternalRosetta.g:15417:1: rule__RosettaMappingSetTo__Group__1__Impl : ( ( rule__RosettaMappingSetTo__Group_1__0 )* ) ;
    public final void rule__RosettaMappingSetTo__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15421:1: ( ( ( rule__RosettaMappingSetTo__Group_1__0 )* ) )
            // InternalRosetta.g:15422:1: ( ( rule__RosettaMappingSetTo__Group_1__0 )* )
            {
            // InternalRosetta.g:15422:1: ( ( rule__RosettaMappingSetTo__Group_1__0 )* )
            // InternalRosetta.g:15423:2: ( rule__RosettaMappingSetTo__Group_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToAccess().getGroup_1()); }
            // InternalRosetta.g:15424:2: ( rule__RosettaMappingSetTo__Group_1__0 )*
            loop192:
            do {
                int alt192=2;
                int LA192_0 = input.LA(1);
                if ( (LA192_0==40) ) {
                    alt192=1;
                }
                switch (alt192) {
            	case 1 :
            	    // InternalRosetta.g:15424:3: rule__RosettaMappingSetTo__Group_1__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__RosettaMappingSetTo__Group_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop192;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetTo__Group__1__Impl"
    // $ANTLR start "rule__RosettaMappingSetTo__Group_1__0"
    // InternalRosetta.g:15433:1: rule__RosettaMappingSetTo__Group_1__0 : rule__RosettaMappingSetTo__Group_1__0__Impl rule__RosettaMappingSetTo__Group_1__1 ;
    public final void rule__RosettaMappingSetTo__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15437:1: ( rule__RosettaMappingSetTo__Group_1__0__Impl rule__RosettaMappingSetTo__Group_1__1 )
            // InternalRosetta.g:15438:2: rule__RosettaMappingSetTo__Group_1__0__Impl rule__RosettaMappingSetTo__Group_1__1
            {
            pushFollow(FOLLOW_75);
            rule__RosettaMappingSetTo__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetTo__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetTo__Group_1__0"
    // $ANTLR start "rule__RosettaMappingSetTo__Group_1__0__Impl"
    // InternalRosetta.g:15445:1: rule__RosettaMappingSetTo__Group_1__0__Impl : ( ',' ) ;
    public final void rule__RosettaMappingSetTo__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15449:1: ( ( ',' ) )
            // InternalRosetta.g:15450:1: ( ',' )
            {
            // InternalRosetta.g:15450:1: ( ',' )
            // InternalRosetta.g:15451:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToAccess().getCommaKeyword_1_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToAccess().getCommaKeyword_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetTo__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaMappingSetTo__Group_1__1"
    // InternalRosetta.g:15460:1: rule__RosettaMappingSetTo__Group_1__1 : rule__RosettaMappingSetTo__Group_1__1__Impl ;
    public final void rule__RosettaMappingSetTo__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15464:1: ( rule__RosettaMappingSetTo__Group_1__1__Impl )
            // InternalRosetta.g:15465:2: rule__RosettaMappingSetTo__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetTo__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetTo__Group_1__1"
    // $ANTLR start "rule__RosettaMappingSetTo__Group_1__1__Impl"
    // InternalRosetta.g:15471:1: rule__RosettaMappingSetTo__Group_1__1__Impl : ( ( rule__RosettaMappingSetTo__InstancesAssignment_1_1 ) ) ;
    public final void rule__RosettaMappingSetTo__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15475:1: ( ( ( rule__RosettaMappingSetTo__InstancesAssignment_1_1 ) ) )
            // InternalRosetta.g:15476:1: ( ( rule__RosettaMappingSetTo__InstancesAssignment_1_1 ) )
            {
            // InternalRosetta.g:15476:1: ( ( rule__RosettaMappingSetTo__InstancesAssignment_1_1 ) )
            // InternalRosetta.g:15477:2: ( rule__RosettaMappingSetTo__InstancesAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToAccess().getInstancesAssignment_1_1()); }
            // InternalRosetta.g:15478:2: ( rule__RosettaMappingSetTo__InstancesAssignment_1_1 )
            // InternalRosetta.g:15478:3: rule__RosettaMappingSetTo__InstancesAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetTo__InstancesAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToAccess().getInstancesAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetTo__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group__0"
    // InternalRosetta.g:15487:1: rule__RosettaMappingSetToInstance__Group__0 : rule__RosettaMappingSetToInstance__Group__0__Impl rule__RosettaMappingSetToInstance__Group__1 ;
    public final void rule__RosettaMappingSetToInstance__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15491:1: ( rule__RosettaMappingSetToInstance__Group__0__Impl rule__RosettaMappingSetToInstance__Group__1 )
            // InternalRosetta.g:15492:2: rule__RosettaMappingSetToInstance__Group__0__Impl rule__RosettaMappingSetToInstance__Group__1
            {
            pushFollow(FOLLOW_73);
            rule__RosettaMappingSetToInstance__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetToInstance__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group__0"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group__0__Impl"
    // InternalRosetta.g:15499:1: rule__RosettaMappingSetToInstance__Group__0__Impl : ( ( rule__RosettaMappingSetToInstance__Group_0__0 ) ) ;
    public final void rule__RosettaMappingSetToInstance__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15503:1: ( ( ( rule__RosettaMappingSetToInstance__Group_0__0 ) ) )
            // InternalRosetta.g:15504:1: ( ( rule__RosettaMappingSetToInstance__Group_0__0 ) )
            {
            // InternalRosetta.g:15504:1: ( ( rule__RosettaMappingSetToInstance__Group_0__0 ) )
            // InternalRosetta.g:15505:2: ( rule__RosettaMappingSetToInstance__Group_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToInstanceAccess().getGroup_0()); }
            // InternalRosetta.g:15506:2: ( rule__RosettaMappingSetToInstance__Group_0__0 )
            // InternalRosetta.g:15506:3: rule__RosettaMappingSetToInstance__Group_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetToInstance__Group_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToInstanceAccess().getGroup_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group__0__Impl"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group__1"
    // InternalRosetta.g:15514:1: rule__RosettaMappingSetToInstance__Group__1 : rule__RosettaMappingSetToInstance__Group__1__Impl rule__RosettaMappingSetToInstance__Group__2 ;
    public final void rule__RosettaMappingSetToInstance__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15518:1: ( rule__RosettaMappingSetToInstance__Group__1__Impl rule__RosettaMappingSetToInstance__Group__2 )
            // InternalRosetta.g:15519:2: rule__RosettaMappingSetToInstance__Group__1__Impl rule__RosettaMappingSetToInstance__Group__2
            {
            pushFollow(FOLLOW_66);
            rule__RosettaMappingSetToInstance__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetToInstance__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group__1"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group__1__Impl"
    // InternalRosetta.g:15526:1: rule__RosettaMappingSetToInstance__Group__1__Impl : ( ( rule__RosettaMappingSetToInstance__SetAssignment_1 ) ) ;
    public final void rule__RosettaMappingSetToInstance__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15530:1: ( ( ( rule__RosettaMappingSetToInstance__SetAssignment_1 ) ) )
            // InternalRosetta.g:15531:1: ( ( rule__RosettaMappingSetToInstance__SetAssignment_1 ) )
            {
            // InternalRosetta.g:15531:1: ( ( rule__RosettaMappingSetToInstance__SetAssignment_1 ) )
            // InternalRosetta.g:15532:2: ( rule__RosettaMappingSetToInstance__SetAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToInstanceAccess().getSetAssignment_1()); }
            // InternalRosetta.g:15533:2: ( rule__RosettaMappingSetToInstance__SetAssignment_1 )
            // InternalRosetta.g:15533:3: rule__RosettaMappingSetToInstance__SetAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetToInstance__SetAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToInstanceAccess().getSetAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group__1__Impl"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group__2"
    // InternalRosetta.g:15541:1: rule__RosettaMappingSetToInstance__Group__2 : rule__RosettaMappingSetToInstance__Group__2__Impl ;
    public final void rule__RosettaMappingSetToInstance__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15545:1: ( rule__RosettaMappingSetToInstance__Group__2__Impl )
            // InternalRosetta.g:15546:2: rule__RosettaMappingSetToInstance__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetToInstance__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group__2"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group__2__Impl"
    // InternalRosetta.g:15552:1: rule__RosettaMappingSetToInstance__Group__2__Impl : ( ( rule__RosettaMappingSetToInstance__Group_2__0 )? ) ;
    public final void rule__RosettaMappingSetToInstance__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15556:1: ( ( ( rule__RosettaMappingSetToInstance__Group_2__0 )? ) )
            // InternalRosetta.g:15557:1: ( ( rule__RosettaMappingSetToInstance__Group_2__0 )? )
            {
            // InternalRosetta.g:15557:1: ( ( rule__RosettaMappingSetToInstance__Group_2__0 )? )
            // InternalRosetta.g:15558:2: ( rule__RosettaMappingSetToInstance__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToInstanceAccess().getGroup_2()); }
            // InternalRosetta.g:15559:2: ( rule__RosettaMappingSetToInstance__Group_2__0 )?
            int alt193=2;
            int LA193_0 = input.LA(1);
            if ( (LA193_0==100) ) {
                alt193=1;
            }
            switch (alt193) {
                case 1 :
                    // InternalRosetta.g:15559:3: rule__RosettaMappingSetToInstance__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaMappingSetToInstance__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToInstanceAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group__2__Impl"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group_0__0"
    // InternalRosetta.g:15568:1: rule__RosettaMappingSetToInstance__Group_0__0 : rule__RosettaMappingSetToInstance__Group_0__0__Impl rule__RosettaMappingSetToInstance__Group_0__1 ;
    public final void rule__RosettaMappingSetToInstance__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15572:1: ( rule__RosettaMappingSetToInstance__Group_0__0__Impl rule__RosettaMappingSetToInstance__Group_0__1 )
            // InternalRosetta.g:15573:2: rule__RosettaMappingSetToInstance__Group_0__0__Impl rule__RosettaMappingSetToInstance__Group_0__1
            {
            pushFollow(FOLLOW_74);
            rule__RosettaMappingSetToInstance__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetToInstance__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group_0__0"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group_0__0__Impl"
    // InternalRosetta.g:15580:1: rule__RosettaMappingSetToInstance__Group_0__0__Impl : ( 'set' ) ;
    public final void rule__RosettaMappingSetToInstance__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15584:1: ( ( 'set' ) )
            // InternalRosetta.g:15585:1: ( 'set' )
            {
            // InternalRosetta.g:15585:1: ( 'set' )
            // InternalRosetta.g:15586:2: 'set'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToInstanceAccess().getSetKeyword_0_0()); }
            match(input,11,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToInstanceAccess().getSetKeyword_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group_0__0__Impl"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group_0__1"
    // InternalRosetta.g:15595:1: rule__RosettaMappingSetToInstance__Group_0__1 : rule__RosettaMappingSetToInstance__Group_0__1__Impl ;
    public final void rule__RosettaMappingSetToInstance__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15599:1: ( rule__RosettaMappingSetToInstance__Group_0__1__Impl )
            // InternalRosetta.g:15600:2: rule__RosettaMappingSetToInstance__Group_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetToInstance__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group_0__1"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group_0__1__Impl"
    // InternalRosetta.g:15606:1: rule__RosettaMappingSetToInstance__Group_0__1__Impl : ( 'to' ) ;
    public final void rule__RosettaMappingSetToInstance__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15610:1: ( ( 'to' ) )
            // InternalRosetta.g:15611:1: ( 'to' )
            {
            // InternalRosetta.g:15611:1: ( 'to' )
            // InternalRosetta.g:15612:2: 'to'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToInstanceAccess().getToKeyword_0_1()); }
            match(input,102,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToInstanceAccess().getToKeyword_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group_0__1__Impl"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group_2__0"
    // InternalRosetta.g:15622:1: rule__RosettaMappingSetToInstance__Group_2__0 : rule__RosettaMappingSetToInstance__Group_2__0__Impl rule__RosettaMappingSetToInstance__Group_2__1 ;
    public final void rule__RosettaMappingSetToInstance__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15626:1: ( rule__RosettaMappingSetToInstance__Group_2__0__Impl rule__RosettaMappingSetToInstance__Group_2__1 )
            // InternalRosetta.g:15627:2: rule__RosettaMappingSetToInstance__Group_2__0__Impl rule__RosettaMappingSetToInstance__Group_2__1
            {
            pushFollow(FOLLOW_72);
            rule__RosettaMappingSetToInstance__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetToInstance__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group_2__0"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group_2__0__Impl"
    // InternalRosetta.g:15634:1: rule__RosettaMappingSetToInstance__Group_2__0__Impl : ( 'when' ) ;
    public final void rule__RosettaMappingSetToInstance__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15638:1: ( ( 'when' ) )
            // InternalRosetta.g:15639:1: ( 'when' )
            {
            // InternalRosetta.g:15639:1: ( 'when' )
            // InternalRosetta.g:15640:2: 'when'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToInstanceAccess().getWhenKeyword_2_0()); }
            match(input,100,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToInstanceAccess().getWhenKeyword_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group_2__0__Impl"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group_2__1"
    // InternalRosetta.g:15649:1: rule__RosettaMappingSetToInstance__Group_2__1 : rule__RosettaMappingSetToInstance__Group_2__1__Impl ;
    public final void rule__RosettaMappingSetToInstance__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15653:1: ( rule__RosettaMappingSetToInstance__Group_2__1__Impl )
            // InternalRosetta.g:15654:2: rule__RosettaMappingSetToInstance__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetToInstance__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group_2__1"
    // $ANTLR start "rule__RosettaMappingSetToInstance__Group_2__1__Impl"
    // InternalRosetta.g:15660:1: rule__RosettaMappingSetToInstance__Group_2__1__Impl : ( ( rule__RosettaMappingSetToInstance__WhenAssignment_2_1 ) ) ;
    public final void rule__RosettaMappingSetToInstance__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15664:1: ( ( ( rule__RosettaMappingSetToInstance__WhenAssignment_2_1 ) ) )
            // InternalRosetta.g:15665:1: ( ( rule__RosettaMappingSetToInstance__WhenAssignment_2_1 ) )
            {
            // InternalRosetta.g:15665:1: ( ( rule__RosettaMappingSetToInstance__WhenAssignment_2_1 ) )
            // InternalRosetta.g:15666:2: ( rule__RosettaMappingSetToInstance__WhenAssignment_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToInstanceAccess().getWhenAssignment_2_1()); }
            // InternalRosetta.g:15667:2: ( rule__RosettaMappingSetToInstance__WhenAssignment_2_1 )
            // InternalRosetta.g:15667:3: rule__RosettaMappingSetToInstance__WhenAssignment_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingSetToInstance__WhenAssignment_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToInstanceAccess().getWhenAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__Group_2__1__Impl"
    // $ANTLR start "rule__RosettaMappingPathTests__Group__0"
    // InternalRosetta.g:15676:1: rule__RosettaMappingPathTests__Group__0 : rule__RosettaMappingPathTests__Group__0__Impl rule__RosettaMappingPathTests__Group__1 ;
    public final void rule__RosettaMappingPathTests__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15680:1: ( rule__RosettaMappingPathTests__Group__0__Impl rule__RosettaMappingPathTests__Group__1 )
            // InternalRosetta.g:15681:2: rule__RosettaMappingPathTests__Group__0__Impl rule__RosettaMappingPathTests__Group__1
            {
            pushFollow(FOLLOW_76);
            rule__RosettaMappingPathTests__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingPathTests__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingPathTests__Group__0"
    // $ANTLR start "rule__RosettaMappingPathTests__Group__0__Impl"
    // InternalRosetta.g:15688:1: rule__RosettaMappingPathTests__Group__0__Impl : ( ( rule__RosettaMappingPathTests__TestsAssignment_0 ) ) ;
    public final void rule__RosettaMappingPathTests__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15692:1: ( ( ( rule__RosettaMappingPathTests__TestsAssignment_0 ) ) )
            // InternalRosetta.g:15693:1: ( ( rule__RosettaMappingPathTests__TestsAssignment_0 ) )
            {
            // InternalRosetta.g:15693:1: ( ( rule__RosettaMappingPathTests__TestsAssignment_0 ) )
            // InternalRosetta.g:15694:2: ( rule__RosettaMappingPathTests__TestsAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingPathTestsAccess().getTestsAssignment_0()); }
            // InternalRosetta.g:15695:2: ( rule__RosettaMappingPathTests__TestsAssignment_0 )
            // InternalRosetta.g:15695:3: rule__RosettaMappingPathTests__TestsAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingPathTests__TestsAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingPathTestsAccess().getTestsAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingPathTests__Group__0__Impl"
    // $ANTLR start "rule__RosettaMappingPathTests__Group__1"
    // InternalRosetta.g:15703:1: rule__RosettaMappingPathTests__Group__1 : rule__RosettaMappingPathTests__Group__1__Impl ;
    public final void rule__RosettaMappingPathTests__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15707:1: ( rule__RosettaMappingPathTests__Group__1__Impl )
            // InternalRosetta.g:15708:2: rule__RosettaMappingPathTests__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingPathTests__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingPathTests__Group__1"
    // $ANTLR start "rule__RosettaMappingPathTests__Group__1__Impl"
    // InternalRosetta.g:15714:1: rule__RosettaMappingPathTests__Group__1__Impl : ( ( rule__RosettaMappingPathTests__Group_1__0 )* ) ;
    public final void rule__RosettaMappingPathTests__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15718:1: ( ( ( rule__RosettaMappingPathTests__Group_1__0 )* ) )
            // InternalRosetta.g:15719:1: ( ( rule__RosettaMappingPathTests__Group_1__0 )* )
            {
            // InternalRosetta.g:15719:1: ( ( rule__RosettaMappingPathTests__Group_1__0 )* )
            // InternalRosetta.g:15720:2: ( rule__RosettaMappingPathTests__Group_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingPathTestsAccess().getGroup_1()); }
            // InternalRosetta.g:15721:2: ( rule__RosettaMappingPathTests__Group_1__0 )*
            loop194:
            do {
                int alt194=2;
                int LA194_0 = input.LA(1);
                if ( (LA194_0==103) ) {
                    alt194=1;
                }
                switch (alt194) {
            	case 1 :
            	    // InternalRosetta.g:15721:3: rule__RosettaMappingPathTests__Group_1__0
            	    {
            	    pushFollow(FOLLOW_77);
            	    rule__RosettaMappingPathTests__Group_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop194;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingPathTestsAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingPathTests__Group__1__Impl"
    // $ANTLR start "rule__RosettaMappingPathTests__Group_1__0"
    // InternalRosetta.g:15730:1: rule__RosettaMappingPathTests__Group_1__0 : rule__RosettaMappingPathTests__Group_1__0__Impl rule__RosettaMappingPathTests__Group_1__1 ;
    public final void rule__RosettaMappingPathTests__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15734:1: ( rule__RosettaMappingPathTests__Group_1__0__Impl rule__RosettaMappingPathTests__Group_1__1 )
            // InternalRosetta.g:15735:2: rule__RosettaMappingPathTests__Group_1__0__Impl rule__RosettaMappingPathTests__Group_1__1
            {
            pushFollow(FOLLOW_72);
            rule__RosettaMappingPathTests__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMappingPathTests__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingPathTests__Group_1__0"
    // $ANTLR start "rule__RosettaMappingPathTests__Group_1__0__Impl"
    // InternalRosetta.g:15742:1: rule__RosettaMappingPathTests__Group_1__0__Impl : ( 'and' ) ;
    public final void rule__RosettaMappingPathTests__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15746:1: ( ( 'and' ) )
            // InternalRosetta.g:15747:1: ( 'and' )
            {
            // InternalRosetta.g:15747:1: ( 'and' )
            // InternalRosetta.g:15748:2: 'and'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingPathTestsAccess().getAndKeyword_1_0()); }
            match(input,103,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingPathTestsAccess().getAndKeyword_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingPathTests__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaMappingPathTests__Group_1__1"
    // InternalRosetta.g:15757:1: rule__RosettaMappingPathTests__Group_1__1 : rule__RosettaMappingPathTests__Group_1__1__Impl ;
    public final void rule__RosettaMappingPathTests__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15761:1: ( rule__RosettaMappingPathTests__Group_1__1__Impl )
            // InternalRosetta.g:15762:2: rule__RosettaMappingPathTests__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingPathTests__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingPathTests__Group_1__1"
    // $ANTLR start "rule__RosettaMappingPathTests__Group_1__1__Impl"
    // InternalRosetta.g:15768:1: rule__RosettaMappingPathTests__Group_1__1__Impl : ( ( rule__RosettaMappingPathTests__TestsAssignment_1_1 ) ) ;
    public final void rule__RosettaMappingPathTests__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15772:1: ( ( ( rule__RosettaMappingPathTests__TestsAssignment_1_1 ) ) )
            // InternalRosetta.g:15773:1: ( ( rule__RosettaMappingPathTests__TestsAssignment_1_1 ) )
            {
            // InternalRosetta.g:15773:1: ( ( rule__RosettaMappingPathTests__TestsAssignment_1_1 ) )
            // InternalRosetta.g:15774:2: ( rule__RosettaMappingPathTests__TestsAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingPathTestsAccess().getTestsAssignment_1_1()); }
            // InternalRosetta.g:15775:2: ( rule__RosettaMappingPathTests__TestsAssignment_1_1 )
            // InternalRosetta.g:15775:3: rule__RosettaMappingPathTests__TestsAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMappingPathTests__TestsAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingPathTestsAccess().getTestsAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingPathTests__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaMapPath__Group__0"
    // InternalRosetta.g:15784:1: rule__RosettaMapPath__Group__0 : rule__RosettaMapPath__Group__0__Impl rule__RosettaMapPath__Group__1 ;
    public final void rule__RosettaMapPath__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15788:1: ( rule__RosettaMapPath__Group__0__Impl rule__RosettaMapPath__Group__1 )
            // InternalRosetta.g:15789:2: rule__RosettaMapPath__Group__0__Impl rule__RosettaMapPath__Group__1
            {
            pushFollow(FOLLOW_23);
            rule__RosettaMapPath__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapPath__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapPath__Group__0"
    // $ANTLR start "rule__RosettaMapPath__Group__0__Impl"
    // InternalRosetta.g:15796:1: rule__RosettaMapPath__Group__0__Impl : ( 'path' ) ;
    public final void rule__RosettaMapPath__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15800:1: ( ( 'path' ) )
            // InternalRosetta.g:15801:1: ( 'path' )
            {
            // InternalRosetta.g:15801:1: ( 'path' )
            // InternalRosetta.g:15802:2: 'path'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapPathAccess().getPathKeyword_0()); }
            match(input,94,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapPathAccess().getPathKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapPath__Group__0__Impl"
    // $ANTLR start "rule__RosettaMapPath__Group__1"
    // InternalRosetta.g:15811:1: rule__RosettaMapPath__Group__1 : rule__RosettaMapPath__Group__1__Impl rule__RosettaMapPath__Group__2 ;
    public final void rule__RosettaMapPath__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15815:1: ( rule__RosettaMapPath__Group__1__Impl rule__RosettaMapPath__Group__2 )
            // InternalRosetta.g:15816:2: rule__RosettaMapPath__Group__1__Impl rule__RosettaMapPath__Group__2
            {
            pushFollow(FOLLOW_10);
            rule__RosettaMapPath__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapPath__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapPath__Group__1"
    // $ANTLR start "rule__RosettaMapPath__Group__1__Impl"
    // InternalRosetta.g:15823:1: rule__RosettaMapPath__Group__1__Impl : ( '=' ) ;
    public final void rule__RosettaMapPath__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15827:1: ( ( '=' ) )
            // InternalRosetta.g:15828:1: ( '=' )
            {
            // InternalRosetta.g:15828:1: ( '=' )
            // InternalRosetta.g:15829:2: '='
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapPathAccess().getEqualsSignKeyword_1()); }
            match(input,19,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapPathAccess().getEqualsSignKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapPath__Group__1__Impl"
    // $ANTLR start "rule__RosettaMapPath__Group__2"
    // InternalRosetta.g:15838:1: rule__RosettaMapPath__Group__2 : rule__RosettaMapPath__Group__2__Impl ;
    public final void rule__RosettaMapPath__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15842:1: ( rule__RosettaMapPath__Group__2__Impl )
            // InternalRosetta.g:15843:2: rule__RosettaMapPath__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapPath__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapPath__Group__2"
    // $ANTLR start "rule__RosettaMapPath__Group__2__Impl"
    // InternalRosetta.g:15849:1: rule__RosettaMapPath__Group__2__Impl : ( ( rule__RosettaMapPath__PathAssignment_2 ) ) ;
    public final void rule__RosettaMapPath__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15853:1: ( ( ( rule__RosettaMapPath__PathAssignment_2 ) ) )
            // InternalRosetta.g:15854:1: ( ( rule__RosettaMapPath__PathAssignment_2 ) )
            {
            // InternalRosetta.g:15854:1: ( ( rule__RosettaMapPath__PathAssignment_2 ) )
            // InternalRosetta.g:15855:2: ( rule__RosettaMapPath__PathAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapPathAccess().getPathAssignment_2()); }
            // InternalRosetta.g:15856:2: ( rule__RosettaMapPath__PathAssignment_2 )
            // InternalRosetta.g:15856:3: rule__RosettaMapPath__PathAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapPath__PathAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapPathAccess().getPathAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapPath__Group__2__Impl"
    // $ANTLR start "rule__RosettaMapRosettaPath__Group__0"
    // InternalRosetta.g:15865:1: rule__RosettaMapRosettaPath__Group__0 : rule__RosettaMapRosettaPath__Group__0__Impl rule__RosettaMapRosettaPath__Group__1 ;
    public final void rule__RosettaMapRosettaPath__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15869:1: ( rule__RosettaMapRosettaPath__Group__0__Impl rule__RosettaMapRosettaPath__Group__1 )
            // InternalRosetta.g:15870:2: rule__RosettaMapRosettaPath__Group__0__Impl rule__RosettaMapRosettaPath__Group__1
            {
            pushFollow(FOLLOW_23);
            rule__RosettaMapRosettaPath__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapRosettaPath__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapRosettaPath__Group__0"
    // $ANTLR start "rule__RosettaMapRosettaPath__Group__0__Impl"
    // InternalRosetta.g:15877:1: rule__RosettaMapRosettaPath__Group__0__Impl : ( 'rosettaPath' ) ;
    public final void rule__RosettaMapRosettaPath__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15881:1: ( ( 'rosettaPath' ) )
            // InternalRosetta.g:15882:1: ( 'rosettaPath' )
            {
            // InternalRosetta.g:15882:1: ( 'rosettaPath' )
            // InternalRosetta.g:15883:2: 'rosettaPath'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapRosettaPathAccess().getRosettaPathKeyword_0()); }
            match(input,104,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapRosettaPathAccess().getRosettaPathKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapRosettaPath__Group__0__Impl"
    // $ANTLR start "rule__RosettaMapRosettaPath__Group__1"
    // InternalRosetta.g:15892:1: rule__RosettaMapRosettaPath__Group__1 : rule__RosettaMapRosettaPath__Group__1__Impl rule__RosettaMapRosettaPath__Group__2 ;
    public final void rule__RosettaMapRosettaPath__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15896:1: ( rule__RosettaMapRosettaPath__Group__1__Impl rule__RosettaMapRosettaPath__Group__2 )
            // InternalRosetta.g:15897:2: rule__RosettaMapRosettaPath__Group__1__Impl rule__RosettaMapRosettaPath__Group__2
            {
            pushFollow(FOLLOW_4);
            rule__RosettaMapRosettaPath__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapRosettaPath__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapRosettaPath__Group__1"
    // $ANTLR start "rule__RosettaMapRosettaPath__Group__1__Impl"
    // InternalRosetta.g:15904:1: rule__RosettaMapRosettaPath__Group__1__Impl : ( '=' ) ;
    public final void rule__RosettaMapRosettaPath__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15908:1: ( ( '=' ) )
            // InternalRosetta.g:15909:1: ( '=' )
            {
            // InternalRosetta.g:15909:1: ( '=' )
            // InternalRosetta.g:15910:2: '='
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapRosettaPathAccess().getEqualsSignKeyword_1()); }
            match(input,19,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapRosettaPathAccess().getEqualsSignKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapRosettaPath__Group__1__Impl"
    // $ANTLR start "rule__RosettaMapRosettaPath__Group__2"
    // InternalRosetta.g:15919:1: rule__RosettaMapRosettaPath__Group__2 : rule__RosettaMapRosettaPath__Group__2__Impl ;
    public final void rule__RosettaMapRosettaPath__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15923:1: ( rule__RosettaMapRosettaPath__Group__2__Impl )
            // InternalRosetta.g:15924:2: rule__RosettaMapRosettaPath__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapRosettaPath__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapRosettaPath__Group__2"
    // $ANTLR start "rule__RosettaMapRosettaPath__Group__2__Impl"
    // InternalRosetta.g:15930:1: rule__RosettaMapRosettaPath__Group__2__Impl : ( ( rule__RosettaMapRosettaPath__PathAssignment_2 ) ) ;
    public final void rule__RosettaMapRosettaPath__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15934:1: ( ( ( rule__RosettaMapRosettaPath__PathAssignment_2 ) ) )
            // InternalRosetta.g:15935:1: ( ( rule__RosettaMapRosettaPath__PathAssignment_2 ) )
            {
            // InternalRosetta.g:15935:1: ( ( rule__RosettaMapRosettaPath__PathAssignment_2 ) )
            // InternalRosetta.g:15936:2: ( rule__RosettaMapRosettaPath__PathAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapRosettaPathAccess().getPathAssignment_2()); }
            // InternalRosetta.g:15937:2: ( rule__RosettaMapRosettaPath__PathAssignment_2 )
            // InternalRosetta.g:15937:3: rule__RosettaMapRosettaPath__PathAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapRosettaPath__PathAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapRosettaPathAccess().getPathAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapRosettaPath__Group__2__Impl"
    // $ANTLR start "rule__RosettaDataReference__Group__0"
    // InternalRosetta.g:15946:1: rule__RosettaDataReference__Group__0 : rule__RosettaDataReference__Group__0__Impl rule__RosettaDataReference__Group__1 ;
    public final void rule__RosettaDataReference__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15950:1: ( rule__RosettaDataReference__Group__0__Impl rule__RosettaDataReference__Group__1 )
            // InternalRosetta.g:15951:2: rule__RosettaDataReference__Group__0__Impl rule__RosettaDataReference__Group__1
            {
            pushFollow(FOLLOW_4);
            rule__RosettaDataReference__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDataReference__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDataReference__Group__0"
    // $ANTLR start "rule__RosettaDataReference__Group__0__Impl"
    // InternalRosetta.g:15958:1: rule__RosettaDataReference__Group__0__Impl : ( () ) ;
    public final void rule__RosettaDataReference__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15962:1: ( ( () ) )
            // InternalRosetta.g:15963:1: ( () )
            {
            // InternalRosetta.g:15963:1: ( () )
            // InternalRosetta.g:15964:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDataReferenceAccess().getRosettaDataReferenceAction_0()); }
            // InternalRosetta.g:15965:2: ()
            // InternalRosetta.g:15965:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDataReferenceAccess().getRosettaDataReferenceAction_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaDataReference__Group__0__Impl"
    // $ANTLR start "rule__RosettaDataReference__Group__1"
    // InternalRosetta.g:15973:1: rule__RosettaDataReference__Group__1 : rule__RosettaDataReference__Group__1__Impl ;
    public final void rule__RosettaDataReference__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15977:1: ( rule__RosettaDataReference__Group__1__Impl )
            // InternalRosetta.g:15978:2: rule__RosettaDataReference__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDataReference__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDataReference__Group__1"
    // $ANTLR start "rule__RosettaDataReference__Group__1__Impl"
    // InternalRosetta.g:15984:1: rule__RosettaDataReference__Group__1__Impl : ( ( rule__RosettaDataReference__DataAssignment_1 ) ) ;
    public final void rule__RosettaDataReference__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:15988:1: ( ( ( rule__RosettaDataReference__DataAssignment_1 ) ) )
            // InternalRosetta.g:15989:1: ( ( rule__RosettaDataReference__DataAssignment_1 ) )
            {
            // InternalRosetta.g:15989:1: ( ( rule__RosettaDataReference__DataAssignment_1 ) )
            // InternalRosetta.g:15990:2: ( rule__RosettaDataReference__DataAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDataReferenceAccess().getDataAssignment_1()); }
            // InternalRosetta.g:15991:2: ( rule__RosettaDataReference__DataAssignment_1 )
            // InternalRosetta.g:15991:3: rule__RosettaDataReference__DataAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDataReference__DataAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDataReferenceAccess().getDataAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDataReference__Group__1__Impl"
    // $ANTLR start "rule__RosettaAttributeReference__Group__0"
    // InternalRosetta.g:16000:1: rule__RosettaAttributeReference__Group__0 : rule__RosettaAttributeReference__Group__0__Impl rule__RosettaAttributeReference__Group__1 ;
    public final void rule__RosettaAttributeReference__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16004:1: ( rule__RosettaAttributeReference__Group__0__Impl rule__RosettaAttributeReference__Group__1 )
            // InternalRosetta.g:16005:2: rule__RosettaAttributeReference__Group__0__Impl rule__RosettaAttributeReference__Group__1
            {
            pushFollow(FOLLOW_37);
            rule__RosettaAttributeReference__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaAttributeReference__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaAttributeReference__Group__0"
    // $ANTLR start "rule__RosettaAttributeReference__Group__0__Impl"
    // InternalRosetta.g:16012:1: rule__RosettaAttributeReference__Group__0__Impl : ( ruleRosettaDataReference ) ;
    public final void rule__RosettaAttributeReference__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16016:1: ( ( ruleRosettaDataReference ) )
            // InternalRosetta.g:16017:1: ( ruleRosettaDataReference )
            {
            // InternalRosetta.g:16017:1: ( ruleRosettaDataReference )
            // InternalRosetta.g:16018:2: ruleRosettaDataReference
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaAttributeReferenceAccess().getRosettaDataReferenceParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaDataReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaAttributeReferenceAccess().getRosettaDataReferenceParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaAttributeReference__Group__0__Impl"
    // $ANTLR start "rule__RosettaAttributeReference__Group__1"
    // InternalRosetta.g:16027:1: rule__RosettaAttributeReference__Group__1 : rule__RosettaAttributeReference__Group__1__Impl ;
    public final void rule__RosettaAttributeReference__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16031:1: ( rule__RosettaAttributeReference__Group__1__Impl )
            // InternalRosetta.g:16032:2: rule__RosettaAttributeReference__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaAttributeReference__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaAttributeReference__Group__1"
    // $ANTLR start "rule__RosettaAttributeReference__Group__1__Impl"
    // InternalRosetta.g:16038:1: rule__RosettaAttributeReference__Group__1__Impl : ( ( ( rule__RosettaAttributeReference__Group_1__0 ) ) ( ( rule__RosettaAttributeReference__Group_1__0 )* ) ) ;
    public final void rule__RosettaAttributeReference__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16042:1: ( ( ( ( rule__RosettaAttributeReference__Group_1__0 ) ) ( ( rule__RosettaAttributeReference__Group_1__0 )* ) ) )
            // InternalRosetta.g:16043:1: ( ( ( rule__RosettaAttributeReference__Group_1__0 ) ) ( ( rule__RosettaAttributeReference__Group_1__0 )* ) )
            {
            // InternalRosetta.g:16043:1: ( ( ( rule__RosettaAttributeReference__Group_1__0 ) ) ( ( rule__RosettaAttributeReference__Group_1__0 )* ) )
            // InternalRosetta.g:16044:2: ( ( rule__RosettaAttributeReference__Group_1__0 ) ) ( ( rule__RosettaAttributeReference__Group_1__0 )* )
            {
            // InternalRosetta.g:16044:2: ( ( rule__RosettaAttributeReference__Group_1__0 ) )
            // InternalRosetta.g:16045:3: ( rule__RosettaAttributeReference__Group_1__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaAttributeReferenceAccess().getGroup_1()); }
            // InternalRosetta.g:16046:3: ( rule__RosettaAttributeReference__Group_1__0 )
            // InternalRosetta.g:16046:4: rule__RosettaAttributeReference__Group_1__0
            {
            pushFollow(FOLLOW_78);
            rule__RosettaAttributeReference__Group_1__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaAttributeReferenceAccess().getGroup_1()); }}
            // InternalRosetta.g:16049:2: ( ( rule__RosettaAttributeReference__Group_1__0 )* )
            // InternalRosetta.g:16050:3: ( rule__RosettaAttributeReference__Group_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaAttributeReferenceAccess().getGroup_1()); }
            // InternalRosetta.g:16051:3: ( rule__RosettaAttributeReference__Group_1__0 )*
            loop195:
            do {
                int alt195=2;
                int LA195_0 = input.LA(1);
                if ( (LA195_0==78) ) {
                    alt195=1;
                }
                switch (alt195) {
            	case 1 :
            	    // InternalRosetta.g:16051:4: rule__RosettaAttributeReference__Group_1__0
            	    {
            	    pushFollow(FOLLOW_78);
            	    rule__RosettaAttributeReference__Group_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop195;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaAttributeReferenceAccess().getGroup_1()); }}}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaAttributeReference__Group__1__Impl"
    // $ANTLR start "rule__RosettaAttributeReference__Group_1__0"
    // InternalRosetta.g:16061:1: rule__RosettaAttributeReference__Group_1__0 : rule__RosettaAttributeReference__Group_1__0__Impl rule__RosettaAttributeReference__Group_1__1 ;
    public final void rule__RosettaAttributeReference__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16065:1: ( rule__RosettaAttributeReference__Group_1__0__Impl rule__RosettaAttributeReference__Group_1__1 )
            // InternalRosetta.g:16066:2: rule__RosettaAttributeReference__Group_1__0__Impl rule__RosettaAttributeReference__Group_1__1
            {
            pushFollow(FOLLOW_37);
            rule__RosettaAttributeReference__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaAttributeReference__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaAttributeReference__Group_1__0"
    // $ANTLR start "rule__RosettaAttributeReference__Group_1__0__Impl"
    // InternalRosetta.g:16073:1: rule__RosettaAttributeReference__Group_1__0__Impl : ( () ) ;
    public final void rule__RosettaAttributeReference__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16077:1: ( ( () ) )
            // InternalRosetta.g:16078:1: ( () )
            {
            // InternalRosetta.g:16078:1: ( () )
            // InternalRosetta.g:16079:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaAttributeReferenceAccess().getRosettaAttributeReferenceReceiverAction_1_0()); }
            // InternalRosetta.g:16080:2: ()
            // InternalRosetta.g:16080:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaAttributeReferenceAccess().getRosettaAttributeReferenceReceiverAction_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaAttributeReference__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaAttributeReference__Group_1__1"
    // InternalRosetta.g:16088:1: rule__RosettaAttributeReference__Group_1__1 : rule__RosettaAttributeReference__Group_1__1__Impl rule__RosettaAttributeReference__Group_1__2 ;
    public final void rule__RosettaAttributeReference__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16092:1: ( rule__RosettaAttributeReference__Group_1__1__Impl rule__RosettaAttributeReference__Group_1__2 )
            // InternalRosetta.g:16093:2: rule__RosettaAttributeReference__Group_1__1__Impl rule__RosettaAttributeReference__Group_1__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaAttributeReference__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaAttributeReference__Group_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaAttributeReference__Group_1__1"
    // $ANTLR start "rule__RosettaAttributeReference__Group_1__1__Impl"
    // InternalRosetta.g:16100:1: rule__RosettaAttributeReference__Group_1__1__Impl : ( '->' ) ;
    public final void rule__RosettaAttributeReference__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16104:1: ( ( '->' ) )
            // InternalRosetta.g:16105:1: ( '->' )
            {
            // InternalRosetta.g:16105:1: ( '->' )
            // InternalRosetta.g:16106:2: '->'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaAttributeReferenceAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); }
            match(input,78,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaAttributeReferenceAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaAttributeReference__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaAttributeReference__Group_1__2"
    // InternalRosetta.g:16115:1: rule__RosettaAttributeReference__Group_1__2 : rule__RosettaAttributeReference__Group_1__2__Impl ;
    public final void rule__RosettaAttributeReference__Group_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16119:1: ( rule__RosettaAttributeReference__Group_1__2__Impl )
            // InternalRosetta.g:16120:2: rule__RosettaAttributeReference__Group_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaAttributeReference__Group_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaAttributeReference__Group_1__2"
    // $ANTLR start "rule__RosettaAttributeReference__Group_1__2__Impl"
    // InternalRosetta.g:16126:1: rule__RosettaAttributeReference__Group_1__2__Impl : ( ( rule__RosettaAttributeReference__AttributeAssignment_1_2 ) ) ;
    public final void rule__RosettaAttributeReference__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16130:1: ( ( ( rule__RosettaAttributeReference__AttributeAssignment_1_2 ) ) )
            // InternalRosetta.g:16131:1: ( ( rule__RosettaAttributeReference__AttributeAssignment_1_2 ) )
            {
            // InternalRosetta.g:16131:1: ( ( rule__RosettaAttributeReference__AttributeAssignment_1_2 ) )
            // InternalRosetta.g:16132:2: ( rule__RosettaAttributeReference__AttributeAssignment_1_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaAttributeReferenceAccess().getAttributeAssignment_1_2()); }
            // InternalRosetta.g:16133:2: ( rule__RosettaAttributeReference__AttributeAssignment_1_2 )
            // InternalRosetta.g:16133:3: rule__RosettaAttributeReference__AttributeAssignment_1_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaAttributeReference__AttributeAssignment_1_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaAttributeReferenceAccess().getAttributeAssignment_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaAttributeReference__Group_1__2__Impl"
    // $ANTLR start "rule__RosettaMapTestExpression__Group__0"
    // InternalRosetta.g:16142:1: rule__RosettaMapTestExpression__Group__0 : rule__RosettaMapTestExpression__Group__0__Impl rule__RosettaMapTestExpression__Group__1 ;
    public final void rule__RosettaMapTestExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16146:1: ( rule__RosettaMapTestExpression__Group__0__Impl rule__RosettaMapTestExpression__Group__1 )
            // InternalRosetta.g:16147:2: rule__RosettaMapTestExpression__Group__0__Impl rule__RosettaMapTestExpression__Group__1
            {
            pushFollow(FOLLOW_79);
            rule__RosettaMapTestExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group__0"
    // $ANTLR start "rule__RosettaMapTestExpression__Group__0__Impl"
    // InternalRosetta.g:16154:1: rule__RosettaMapTestExpression__Group__0__Impl : ( ruleRosettaMapPathValue ) ;
    public final void rule__RosettaMapTestExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16158:1: ( ( ruleRosettaMapPathValue ) )
            // InternalRosetta.g:16159:1: ( ruleRosettaMapPathValue )
            {
            // InternalRosetta.g:16159:1: ( ruleRosettaMapPathValue )
            // InternalRosetta.g:16160:2: ruleRosettaMapPathValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getRosettaMapPathValueParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMapPathValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getRosettaMapPathValueParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group__0__Impl"
    // $ANTLR start "rule__RosettaMapTestExpression__Group__1"
    // InternalRosetta.g:16169:1: rule__RosettaMapTestExpression__Group__1 : rule__RosettaMapTestExpression__Group__1__Impl ;
    public final void rule__RosettaMapTestExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16173:1: ( rule__RosettaMapTestExpression__Group__1__Impl )
            // InternalRosetta.g:16174:2: rule__RosettaMapTestExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group__1"
    // $ANTLR start "rule__RosettaMapTestExpression__Group__1__Impl"
    // InternalRosetta.g:16180:1: rule__RosettaMapTestExpression__Group__1__Impl : ( ( rule__RosettaMapTestExpression__Alternatives_1 ) ) ;
    public final void rule__RosettaMapTestExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16184:1: ( ( ( rule__RosettaMapTestExpression__Alternatives_1 ) ) )
            // InternalRosetta.g:16185:1: ( ( rule__RosettaMapTestExpression__Alternatives_1 ) )
            {
            // InternalRosetta.g:16185:1: ( ( rule__RosettaMapTestExpression__Alternatives_1 ) )
            // InternalRosetta.g:16186:2: ( rule__RosettaMapTestExpression__Alternatives_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getAlternatives_1()); }
            // InternalRosetta.g:16187:2: ( rule__RosettaMapTestExpression__Alternatives_1 )
            // InternalRosetta.g:16187:3: rule__RosettaMapTestExpression__Alternatives_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Alternatives_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getAlternatives_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group__1__Impl"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_0__0"
    // InternalRosetta.g:16196:1: rule__RosettaMapTestExpression__Group_1_0__0 : rule__RosettaMapTestExpression__Group_1_0__0__Impl rule__RosettaMapTestExpression__Group_1_0__1 ;
    public final void rule__RosettaMapTestExpression__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16200:1: ( rule__RosettaMapTestExpression__Group_1_0__0__Impl rule__RosettaMapTestExpression__Group_1_0__1 )
            // InternalRosetta.g:16201:2: rule__RosettaMapTestExpression__Group_1_0__0__Impl rule__RosettaMapTestExpression__Group_1_0__1
            {
            pushFollow(FOLLOW_80);
            rule__RosettaMapTestExpression__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Group_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_0__0"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_0__0__Impl"
    // InternalRosetta.g:16208:1: rule__RosettaMapTestExpression__Group_1_0__0__Impl : ( () ) ;
    public final void rule__RosettaMapTestExpression__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16212:1: ( ( () ) )
            // InternalRosetta.g:16213:1: ( () )
            {
            // InternalRosetta.g:16213:1: ( () )
            // InternalRosetta.g:16214:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getRosettaMapTestExistsExpressionArgumentAction_1_0_0()); }
            // InternalRosetta.g:16215:2: ()
            // InternalRosetta.g:16215:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getRosettaMapTestExistsExpressionArgumentAction_1_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_0__0__Impl"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_0__1"
    // InternalRosetta.g:16223:1: rule__RosettaMapTestExpression__Group_1_0__1 : rule__RosettaMapTestExpression__Group_1_0__1__Impl ;
    public final void rule__RosettaMapTestExpression__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16227:1: ( rule__RosettaMapTestExpression__Group_1_0__1__Impl )
            // InternalRosetta.g:16228:2: rule__RosettaMapTestExpression__Group_1_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Group_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_0__1"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_0__1__Impl"
    // InternalRosetta.g:16234:1: rule__RosettaMapTestExpression__Group_1_0__1__Impl : ( 'exists' ) ;
    public final void rule__RosettaMapTestExpression__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16238:1: ( ( 'exists' ) )
            // InternalRosetta.g:16239:1: ( 'exists' )
            {
            // InternalRosetta.g:16239:1: ( 'exists' )
            // InternalRosetta.g:16240:2: 'exists'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getExistsKeyword_1_0_1()); }
            match(input,105,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getExistsKeyword_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_0__1__Impl"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_1__0"
    // InternalRosetta.g:16250:1: rule__RosettaMapTestExpression__Group_1_1__0 : rule__RosettaMapTestExpression__Group_1_1__0__Impl rule__RosettaMapTestExpression__Group_1_1__1 ;
    public final void rule__RosettaMapTestExpression__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16254:1: ( rule__RosettaMapTestExpression__Group_1_1__0__Impl rule__RosettaMapTestExpression__Group_1_1__1 )
            // InternalRosetta.g:16255:2: rule__RosettaMapTestExpression__Group_1_1__0__Impl rule__RosettaMapTestExpression__Group_1_1__1
            {
            pushFollow(FOLLOW_81);
            rule__RosettaMapTestExpression__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Group_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_1__0"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_1__0__Impl"
    // InternalRosetta.g:16262:1: rule__RosettaMapTestExpression__Group_1_1__0__Impl : ( () ) ;
    public final void rule__RosettaMapTestExpression__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16266:1: ( ( () ) )
            // InternalRosetta.g:16267:1: ( () )
            {
            // InternalRosetta.g:16267:1: ( () )
            // InternalRosetta.g:16268:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getRosettaMapTestAbsentExpressionArgumentAction_1_1_0()); }
            // InternalRosetta.g:16269:2: ()
            // InternalRosetta.g:16269:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getRosettaMapTestAbsentExpressionArgumentAction_1_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_1__0__Impl"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_1__1"
    // InternalRosetta.g:16277:1: rule__RosettaMapTestExpression__Group_1_1__1 : rule__RosettaMapTestExpression__Group_1_1__1__Impl rule__RosettaMapTestExpression__Group_1_1__2 ;
    public final void rule__RosettaMapTestExpression__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16281:1: ( rule__RosettaMapTestExpression__Group_1_1__1__Impl rule__RosettaMapTestExpression__Group_1_1__2 )
            // InternalRosetta.g:16282:2: rule__RosettaMapTestExpression__Group_1_1__1__Impl rule__RosettaMapTestExpression__Group_1_1__2
            {
            pushFollow(FOLLOW_82);
            rule__RosettaMapTestExpression__Group_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Group_1_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_1__1"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_1__1__Impl"
    // InternalRosetta.g:16289:1: rule__RosettaMapTestExpression__Group_1_1__1__Impl : ( 'is' ) ;
    public final void rule__RosettaMapTestExpression__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16293:1: ( ( 'is' ) )
            // InternalRosetta.g:16294:1: ( 'is' )
            {
            // InternalRosetta.g:16294:1: ( 'is' )
            // InternalRosetta.g:16295:2: 'is'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getIsKeyword_1_1_1()); }
            match(input,106,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getIsKeyword_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_1__1__Impl"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_1__2"
    // InternalRosetta.g:16304:1: rule__RosettaMapTestExpression__Group_1_1__2 : rule__RosettaMapTestExpression__Group_1_1__2__Impl ;
    public final void rule__RosettaMapTestExpression__Group_1_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16308:1: ( rule__RosettaMapTestExpression__Group_1_1__2__Impl )
            // InternalRosetta.g:16309:2: rule__RosettaMapTestExpression__Group_1_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Group_1_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_1__2"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_1__2__Impl"
    // InternalRosetta.g:16315:1: rule__RosettaMapTestExpression__Group_1_1__2__Impl : ( 'absent' ) ;
    public final void rule__RosettaMapTestExpression__Group_1_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16319:1: ( ( 'absent' ) )
            // InternalRosetta.g:16320:1: ( 'absent' )
            {
            // InternalRosetta.g:16320:1: ( 'absent' )
            // InternalRosetta.g:16321:2: 'absent'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getAbsentKeyword_1_1_2()); }
            match(input,107,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getAbsentKeyword_1_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_1__2__Impl"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_2__0"
    // InternalRosetta.g:16331:1: rule__RosettaMapTestExpression__Group_1_2__0 : rule__RosettaMapTestExpression__Group_1_2__0__Impl rule__RosettaMapTestExpression__Group_1_2__1 ;
    public final void rule__RosettaMapTestExpression__Group_1_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16335:1: ( rule__RosettaMapTestExpression__Group_1_2__0__Impl rule__RosettaMapTestExpression__Group_1_2__1 )
            // InternalRosetta.g:16336:2: rule__RosettaMapTestExpression__Group_1_2__0__Impl rule__RosettaMapTestExpression__Group_1_2__1
            {
            pushFollow(FOLLOW_79);
            rule__RosettaMapTestExpression__Group_1_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Group_1_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_2__0"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_2__0__Impl"
    // InternalRosetta.g:16343:1: rule__RosettaMapTestExpression__Group_1_2__0__Impl : ( () ) ;
    public final void rule__RosettaMapTestExpression__Group_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16347:1: ( ( () ) )
            // InternalRosetta.g:16348:1: ( () )
            {
            // InternalRosetta.g:16348:1: ( () )
            // InternalRosetta.g:16349:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getRosettaMapTestEqualityOperationLeftAction_1_2_0()); }
            // InternalRosetta.g:16350:2: ()
            // InternalRosetta.g:16350:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getRosettaMapTestEqualityOperationLeftAction_1_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_2__0__Impl"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_2__1"
    // InternalRosetta.g:16358:1: rule__RosettaMapTestExpression__Group_1_2__1 : rule__RosettaMapTestExpression__Group_1_2__1__Impl rule__RosettaMapTestExpression__Group_1_2__2 ;
    public final void rule__RosettaMapTestExpression__Group_1_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16362:1: ( rule__RosettaMapTestExpression__Group_1_2__1__Impl rule__RosettaMapTestExpression__Group_1_2__2 )
            // InternalRosetta.g:16363:2: rule__RosettaMapTestExpression__Group_1_2__1__Impl rule__RosettaMapTestExpression__Group_1_2__2
            {
            pushFollow(FOLLOW_73);
            rule__RosettaMapTestExpression__Group_1_2__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Group_1_2__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_2__1"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_2__1__Impl"
    // InternalRosetta.g:16370:1: rule__RosettaMapTestExpression__Group_1_2__1__Impl : ( ( rule__RosettaMapTestExpression__OperatorAssignment_1_2_1 ) ) ;
    public final void rule__RosettaMapTestExpression__Group_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16374:1: ( ( ( rule__RosettaMapTestExpression__OperatorAssignment_1_2_1 ) ) )
            // InternalRosetta.g:16375:1: ( ( rule__RosettaMapTestExpression__OperatorAssignment_1_2_1 ) )
            {
            // InternalRosetta.g:16375:1: ( ( rule__RosettaMapTestExpression__OperatorAssignment_1_2_1 ) )
            // InternalRosetta.g:16376:2: ( rule__RosettaMapTestExpression__OperatorAssignment_1_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getOperatorAssignment_1_2_1()); }
            // InternalRosetta.g:16377:2: ( rule__RosettaMapTestExpression__OperatorAssignment_1_2_1 )
            // InternalRosetta.g:16377:3: rule__RosettaMapTestExpression__OperatorAssignment_1_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__OperatorAssignment_1_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getOperatorAssignment_1_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_2__1__Impl"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_2__2"
    // InternalRosetta.g:16385:1: rule__RosettaMapTestExpression__Group_1_2__2 : rule__RosettaMapTestExpression__Group_1_2__2__Impl ;
    public final void rule__RosettaMapTestExpression__Group_1_2__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16389:1: ( rule__RosettaMapTestExpression__Group_1_2__2__Impl )
            // InternalRosetta.g:16390:2: rule__RosettaMapTestExpression__Group_1_2__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__Group_1_2__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_2__2"
    // $ANTLR start "rule__RosettaMapTestExpression__Group_1_2__2__Impl"
    // InternalRosetta.g:16396:1: rule__RosettaMapTestExpression__Group_1_2__2__Impl : ( ( rule__RosettaMapTestExpression__RightAssignment_1_2_2 ) ) ;
    public final void rule__RosettaMapTestExpression__Group_1_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16400:1: ( ( ( rule__RosettaMapTestExpression__RightAssignment_1_2_2 ) ) )
            // InternalRosetta.g:16401:1: ( ( rule__RosettaMapTestExpression__RightAssignment_1_2_2 ) )
            {
            // InternalRosetta.g:16401:1: ( ( rule__RosettaMapTestExpression__RightAssignment_1_2_2 ) )
            // InternalRosetta.g:16402:2: ( rule__RosettaMapTestExpression__RightAssignment_1_2_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getRightAssignment_1_2_2()); }
            // InternalRosetta.g:16403:2: ( rule__RosettaMapTestExpression__RightAssignment_1_2_2 )
            // InternalRosetta.g:16403:3: rule__RosettaMapTestExpression__RightAssignment_1_2_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__RightAssignment_1_2_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getRightAssignment_1_2_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__Group_1_2__2__Impl"
    // $ANTLR start "rule__RosettaMapTestFunc__Group__0"
    // InternalRosetta.g:16412:1: rule__RosettaMapTestFunc__Group__0 : rule__RosettaMapTestFunc__Group__0__Impl rule__RosettaMapTestFunc__Group__1 ;
    public final void rule__RosettaMapTestFunc__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16416:1: ( rule__RosettaMapTestFunc__Group__0__Impl rule__RosettaMapTestFunc__Group__1 )
            // InternalRosetta.g:16417:2: rule__RosettaMapTestFunc__Group__0__Impl rule__RosettaMapTestFunc__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaMapTestFunc__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestFunc__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__Group__0"
    // $ANTLR start "rule__RosettaMapTestFunc__Group__0__Impl"
    // InternalRosetta.g:16424:1: rule__RosettaMapTestFunc__Group__0__Impl : ( 'condition-func' ) ;
    public final void rule__RosettaMapTestFunc__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16428:1: ( ( 'condition-func' ) )
            // InternalRosetta.g:16429:1: ( 'condition-func' )
            {
            // InternalRosetta.g:16429:1: ( 'condition-func' )
            // InternalRosetta.g:16430:2: 'condition-func'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestFuncAccess().getConditionFuncKeyword_0()); }
            match(input,108,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestFuncAccess().getConditionFuncKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__Group__0__Impl"
    // $ANTLR start "rule__RosettaMapTestFunc__Group__1"
    // InternalRosetta.g:16439:1: rule__RosettaMapTestFunc__Group__1 : rule__RosettaMapTestFunc__Group__1__Impl rule__RosettaMapTestFunc__Group__2 ;
    public final void rule__RosettaMapTestFunc__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16443:1: ( rule__RosettaMapTestFunc__Group__1__Impl rule__RosettaMapTestFunc__Group__2 )
            // InternalRosetta.g:16444:2: rule__RosettaMapTestFunc__Group__1__Impl rule__RosettaMapTestFunc__Group__2
            {
            pushFollow(FOLLOW_83);
            rule__RosettaMapTestFunc__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestFunc__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__Group__1"
    // $ANTLR start "rule__RosettaMapTestFunc__Group__1__Impl"
    // InternalRosetta.g:16451:1: rule__RosettaMapTestFunc__Group__1__Impl : ( ( rule__RosettaMapTestFunc__FuncAssignment_1 ) ) ;
    public final void rule__RosettaMapTestFunc__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16455:1: ( ( ( rule__RosettaMapTestFunc__FuncAssignment_1 ) ) )
            // InternalRosetta.g:16456:1: ( ( rule__RosettaMapTestFunc__FuncAssignment_1 ) )
            {
            // InternalRosetta.g:16456:1: ( ( rule__RosettaMapTestFunc__FuncAssignment_1 ) )
            // InternalRosetta.g:16457:2: ( rule__RosettaMapTestFunc__FuncAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestFuncAccess().getFuncAssignment_1()); }
            // InternalRosetta.g:16458:2: ( rule__RosettaMapTestFunc__FuncAssignment_1 )
            // InternalRosetta.g:16458:3: rule__RosettaMapTestFunc__FuncAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestFunc__FuncAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestFuncAccess().getFuncAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__Group__1__Impl"
    // $ANTLR start "rule__RosettaMapTestFunc__Group__2"
    // InternalRosetta.g:16466:1: rule__RosettaMapTestFunc__Group__2 : rule__RosettaMapTestFunc__Group__2__Impl ;
    public final void rule__RosettaMapTestFunc__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16470:1: ( rule__RosettaMapTestFunc__Group__2__Impl )
            // InternalRosetta.g:16471:2: rule__RosettaMapTestFunc__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestFunc__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__Group__2"
    // $ANTLR start "rule__RosettaMapTestFunc__Group__2__Impl"
    // InternalRosetta.g:16477:1: rule__RosettaMapTestFunc__Group__2__Impl : ( ( rule__RosettaMapTestFunc__Group_2__0 )? ) ;
    public final void rule__RosettaMapTestFunc__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16481:1: ( ( ( rule__RosettaMapTestFunc__Group_2__0 )? ) )
            // InternalRosetta.g:16482:1: ( ( rule__RosettaMapTestFunc__Group_2__0 )? )
            {
            // InternalRosetta.g:16482:1: ( ( rule__RosettaMapTestFunc__Group_2__0 )? )
            // InternalRosetta.g:16483:2: ( rule__RosettaMapTestFunc__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestFuncAccess().getGroup_2()); }
            // InternalRosetta.g:16484:2: ( rule__RosettaMapTestFunc__Group_2__0 )?
            int alt196=2;
            int LA196_0 = input.LA(1);
            if ( (LA196_0==109) ) {
                alt196=1;
            }
            switch (alt196) {
                case 1 :
                    // InternalRosetta.g:16484:3: rule__RosettaMapTestFunc__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaMapTestFunc__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestFuncAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__Group__2__Impl"
    // $ANTLR start "rule__RosettaMapTestFunc__Group_2__0"
    // InternalRosetta.g:16493:1: rule__RosettaMapTestFunc__Group_2__0 : rule__RosettaMapTestFunc__Group_2__0__Impl rule__RosettaMapTestFunc__Group_2__1 ;
    public final void rule__RosettaMapTestFunc__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16497:1: ( rule__RosettaMapTestFunc__Group_2__0__Impl rule__RosettaMapTestFunc__Group_2__1 )
            // InternalRosetta.g:16498:2: rule__RosettaMapTestFunc__Group_2__0__Impl rule__RosettaMapTestFunc__Group_2__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaMapTestFunc__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestFunc__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__Group_2__0"
    // $ANTLR start "rule__RosettaMapTestFunc__Group_2__0__Impl"
    // InternalRosetta.g:16505:1: rule__RosettaMapTestFunc__Group_2__0__Impl : ( 'condition-path' ) ;
    public final void rule__RosettaMapTestFunc__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16509:1: ( ( 'condition-path' ) )
            // InternalRosetta.g:16510:1: ( 'condition-path' )
            {
            // InternalRosetta.g:16510:1: ( 'condition-path' )
            // InternalRosetta.g:16511:2: 'condition-path'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestFuncAccess().getConditionPathKeyword_2_0()); }
            match(input,109,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestFuncAccess().getConditionPathKeyword_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__Group_2__0__Impl"
    // $ANTLR start "rule__RosettaMapTestFunc__Group_2__1"
    // InternalRosetta.g:16520:1: rule__RosettaMapTestFunc__Group_2__1 : rule__RosettaMapTestFunc__Group_2__1__Impl ;
    public final void rule__RosettaMapTestFunc__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16524:1: ( rule__RosettaMapTestFunc__Group_2__1__Impl )
            // InternalRosetta.g:16525:2: rule__RosettaMapTestFunc__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestFunc__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__Group_2__1"
    // $ANTLR start "rule__RosettaMapTestFunc__Group_2__1__Impl"
    // InternalRosetta.g:16531:1: rule__RosettaMapTestFunc__Group_2__1__Impl : ( ( rule__RosettaMapTestFunc__PredicatePathAssignment_2_1 ) ) ;
    public final void rule__RosettaMapTestFunc__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16535:1: ( ( ( rule__RosettaMapTestFunc__PredicatePathAssignment_2_1 ) ) )
            // InternalRosetta.g:16536:1: ( ( rule__RosettaMapTestFunc__PredicatePathAssignment_2_1 ) )
            {
            // InternalRosetta.g:16536:1: ( ( rule__RosettaMapTestFunc__PredicatePathAssignment_2_1 ) )
            // InternalRosetta.g:16537:2: ( rule__RosettaMapTestFunc__PredicatePathAssignment_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestFuncAccess().getPredicatePathAssignment_2_1()); }
            // InternalRosetta.g:16538:2: ( rule__RosettaMapTestFunc__PredicatePathAssignment_2_1 )
            // InternalRosetta.g:16538:3: rule__RosettaMapTestFunc__PredicatePathAssignment_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestFunc__PredicatePathAssignment_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestFuncAccess().getPredicatePathAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__Group_2__1__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group__0"
    // InternalRosetta.g:16547:1: rule__RosettaDocReference__Group__0 : rule__RosettaDocReference__Group__0__Impl rule__RosettaDocReference__Group__1 ;
    public final void rule__RosettaDocReference__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16551:1: ( rule__RosettaDocReference__Group__0__Impl rule__RosettaDocReference__Group__1 )
            // InternalRosetta.g:16552:2: rule__RosettaDocReference__Group__0__Impl rule__RosettaDocReference__Group__1
            {
            pushFollow(FOLLOW_84);
            rule__RosettaDocReference__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__0"
    // $ANTLR start "rule__RosettaDocReference__Group__0__Impl"
    // InternalRosetta.g:16559:1: rule__RosettaDocReference__Group__0__Impl : ( '[' ) ;
    public final void rule__RosettaDocReference__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16563:1: ( ( '[' ) )
            // InternalRosetta.g:16564:1: ( '[' )
            {
            // InternalRosetta.g:16564:1: ( '[' )
            // InternalRosetta.g:16565:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getLeftSquareBracketKeyword_0()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getLeftSquareBracketKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__0__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group__1"
    // InternalRosetta.g:16574:1: rule__RosettaDocReference__Group__1 : rule__RosettaDocReference__Group__1__Impl rule__RosettaDocReference__Group__2 ;
    public final void rule__RosettaDocReference__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16578:1: ( rule__RosettaDocReference__Group__1__Impl rule__RosettaDocReference__Group__2 )
            // InternalRosetta.g:16579:2: rule__RosettaDocReference__Group__1__Impl rule__RosettaDocReference__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaDocReference__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__1"
    // $ANTLR start "rule__RosettaDocReference__Group__1__Impl"
    // InternalRosetta.g:16586:1: rule__RosettaDocReference__Group__1__Impl : ( ( rule__RosettaDocReference__Alternatives_1 ) ) ;
    public final void rule__RosettaDocReference__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16590:1: ( ( ( rule__RosettaDocReference__Alternatives_1 ) ) )
            // InternalRosetta.g:16591:1: ( ( rule__RosettaDocReference__Alternatives_1 ) )
            {
            // InternalRosetta.g:16591:1: ( ( rule__RosettaDocReference__Alternatives_1 ) )
            // InternalRosetta.g:16592:2: ( rule__RosettaDocReference__Alternatives_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getAlternatives_1()); }
            // InternalRosetta.g:16593:2: ( rule__RosettaDocReference__Alternatives_1 )
            // InternalRosetta.g:16593:3: rule__RosettaDocReference__Alternatives_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Alternatives_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getAlternatives_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__1__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group__2"
    // InternalRosetta.g:16601:1: rule__RosettaDocReference__Group__2 : rule__RosettaDocReference__Group__2__Impl rule__RosettaDocReference__Group__3 ;
    public final void rule__RosettaDocReference__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16605:1: ( rule__RosettaDocReference__Group__2__Impl rule__RosettaDocReference__Group__3 )
            // InternalRosetta.g:16606:2: rule__RosettaDocReference__Group__2__Impl rule__RosettaDocReference__Group__3
            {
            pushFollow(FOLLOW_85);
            rule__RosettaDocReference__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__2"
    // $ANTLR start "rule__RosettaDocReference__Group__2__Impl"
    // InternalRosetta.g:16613:1: rule__RosettaDocReference__Group__2__Impl : ( ( rule__RosettaDocReference__DocReferenceAssignment_2 ) ) ;
    public final void rule__RosettaDocReference__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16617:1: ( ( ( rule__RosettaDocReference__DocReferenceAssignment_2 ) ) )
            // InternalRosetta.g:16618:1: ( ( rule__RosettaDocReference__DocReferenceAssignment_2 ) )
            {
            // InternalRosetta.g:16618:1: ( ( rule__RosettaDocReference__DocReferenceAssignment_2 ) )
            // InternalRosetta.g:16619:2: ( rule__RosettaDocReference__DocReferenceAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getDocReferenceAssignment_2()); }
            // InternalRosetta.g:16620:2: ( rule__RosettaDocReference__DocReferenceAssignment_2 )
            // InternalRosetta.g:16620:3: rule__RosettaDocReference__DocReferenceAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__DocReferenceAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getDocReferenceAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__2__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group__3"
    // InternalRosetta.g:16628:1: rule__RosettaDocReference__Group__3 : rule__RosettaDocReference__Group__3__Impl rule__RosettaDocReference__Group__4 ;
    public final void rule__RosettaDocReference__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16632:1: ( rule__RosettaDocReference__Group__3__Impl rule__RosettaDocReference__Group__4 )
            // InternalRosetta.g:16633:2: rule__RosettaDocReference__Group__3__Impl rule__RosettaDocReference__Group__4
            {
            pushFollow(FOLLOW_85);
            rule__RosettaDocReference__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__3"
    // $ANTLR start "rule__RosettaDocReference__Group__3__Impl"
    // InternalRosetta.g:16640:1: rule__RosettaDocReference__Group__3__Impl : ( ( rule__RosettaDocReference__RationalesAssignment_3 )* ) ;
    public final void rule__RosettaDocReference__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16644:1: ( ( ( rule__RosettaDocReference__RationalesAssignment_3 )* ) )
            // InternalRosetta.g:16645:1: ( ( rule__RosettaDocReference__RationalesAssignment_3 )* )
            {
            // InternalRosetta.g:16645:1: ( ( rule__RosettaDocReference__RationalesAssignment_3 )* )
            // InternalRosetta.g:16646:2: ( rule__RosettaDocReference__RationalesAssignment_3 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getRationalesAssignment_3()); }
            // InternalRosetta.g:16647:2: ( rule__RosettaDocReference__RationalesAssignment_3 )*
            loop197:
            do {
                int alt197=2;
                int LA197_0 = input.LA(1);
                if ( ((LA197_0>=23 && LA197_0<=24)) ) {
                    alt197=1;
                }
                switch (alt197) {
            	case 1 :
            	    // InternalRosetta.g:16647:3: rule__RosettaDocReference__RationalesAssignment_3
            	    {
            	    pushFollow(FOLLOW_86);
            	    rule__RosettaDocReference__RationalesAssignment_3();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop197;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getRationalesAssignment_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__3__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group__4"
    // InternalRosetta.g:16655:1: rule__RosettaDocReference__Group__4 : rule__RosettaDocReference__Group__4__Impl rule__RosettaDocReference__Group__5 ;
    public final void rule__RosettaDocReference__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16659:1: ( rule__RosettaDocReference__Group__4__Impl rule__RosettaDocReference__Group__5 )
            // InternalRosetta.g:16660:2: rule__RosettaDocReference__Group__4__Impl rule__RosettaDocReference__Group__5
            {
            pushFollow(FOLLOW_85);
            rule__RosettaDocReference__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__4"
    // $ANTLR start "rule__RosettaDocReference__Group__4__Impl"
    // InternalRosetta.g:16667:1: rule__RosettaDocReference__Group__4__Impl : ( ( rule__RosettaDocReference__ExtraneousSegmentsAssignment_4 )* ) ;
    public final void rule__RosettaDocReference__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16671:1: ( ( ( rule__RosettaDocReference__ExtraneousSegmentsAssignment_4 )* ) )
            // InternalRosetta.g:16672:1: ( ( rule__RosettaDocReference__ExtraneousSegmentsAssignment_4 )* )
            {
            // InternalRosetta.g:16672:1: ( ( rule__RosettaDocReference__ExtraneousSegmentsAssignment_4 )* )
            // InternalRosetta.g:16673:2: ( rule__RosettaDocReference__ExtraneousSegmentsAssignment_4 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getExtraneousSegmentsAssignment_4()); }
            // InternalRosetta.g:16674:2: ( rule__RosettaDocReference__ExtraneousSegmentsAssignment_4 )*
            loop198:
            do {
                int alt198=2;
                int LA198_0 = input.LA(1);
                if ( (LA198_0==RULE_ID||(LA198_0>=14 && LA198_0<=18)) ) {
                    alt198=1;
                }
                switch (alt198) {
            	case 1 :
            	    // InternalRosetta.g:16674:3: rule__RosettaDocReference__ExtraneousSegmentsAssignment_4
            	    {
            	    pushFollow(FOLLOW_18);
            	    rule__RosettaDocReference__ExtraneousSegmentsAssignment_4();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop198;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getExtraneousSegmentsAssignment_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__4__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group__5"
    // InternalRosetta.g:16682:1: rule__RosettaDocReference__Group__5 : rule__RosettaDocReference__Group__5__Impl rule__RosettaDocReference__Group__6 ;
    public final void rule__RosettaDocReference__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16686:1: ( rule__RosettaDocReference__Group__5__Impl rule__RosettaDocReference__Group__6 )
            // InternalRosetta.g:16687:2: rule__RosettaDocReference__Group__5__Impl rule__RosettaDocReference__Group__6
            {
            pushFollow(FOLLOW_85);
            rule__RosettaDocReference__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group__6(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__5"
    // $ANTLR start "rule__RosettaDocReference__Group__5__Impl"
    // InternalRosetta.g:16694:1: rule__RosettaDocReference__Group__5__Impl : ( ( rule__RosettaDocReference__Group_5__0 )? ) ;
    public final void rule__RosettaDocReference__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16698:1: ( ( ( rule__RosettaDocReference__Group_5__0 )? ) )
            // InternalRosetta.g:16699:1: ( ( rule__RosettaDocReference__Group_5__0 )? )
            {
            // InternalRosetta.g:16699:1: ( ( rule__RosettaDocReference__Group_5__0 )? )
            // InternalRosetta.g:16700:2: ( rule__RosettaDocReference__Group_5__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getGroup_5()); }
            // InternalRosetta.g:16701:2: ( rule__RosettaDocReference__Group_5__0 )?
            int alt199=2;
            int LA199_0 = input.LA(1);
            if ( (LA199_0==25) ) {
                alt199=1;
            }
            switch (alt199) {
                case 1 :
                    // InternalRosetta.g:16701:3: rule__RosettaDocReference__Group_5__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaDocReference__Group_5__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getGroup_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__5__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group__6"
    // InternalRosetta.g:16709:1: rule__RosettaDocReference__Group__6 : rule__RosettaDocReference__Group__6__Impl rule__RosettaDocReference__Group__7 ;
    public final void rule__RosettaDocReference__Group__6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16713:1: ( rule__RosettaDocReference__Group__6__Impl rule__RosettaDocReference__Group__7 )
            // InternalRosetta.g:16714:2: rule__RosettaDocReference__Group__6__Impl rule__RosettaDocReference__Group__7
            {
            pushFollow(FOLLOW_85);
            rule__RosettaDocReference__Group__6__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group__7(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__6"
    // $ANTLR start "rule__RosettaDocReference__Group__6__Impl"
    // InternalRosetta.g:16721:1: rule__RosettaDocReference__Group__6__Impl : ( ( rule__RosettaDocReference__Group_6__0 )? ) ;
    public final void rule__RosettaDocReference__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16725:1: ( ( ( rule__RosettaDocReference__Group_6__0 )? ) )
            // InternalRosetta.g:16726:1: ( ( rule__RosettaDocReference__Group_6__0 )? )
            {
            // InternalRosetta.g:16726:1: ( ( rule__RosettaDocReference__Group_6__0 )? )
            // InternalRosetta.g:16727:2: ( rule__RosettaDocReference__Group_6__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getGroup_6()); }
            // InternalRosetta.g:16728:2: ( rule__RosettaDocReference__Group_6__0 )?
            int alt200=2;
            int LA200_0 = input.LA(1);
            if ( (LA200_0==110) ) {
                alt200=1;
            }
            switch (alt200) {
                case 1 :
                    // InternalRosetta.g:16728:3: rule__RosettaDocReference__Group_6__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaDocReference__Group_6__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getGroup_6()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__6__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group__7"
    // InternalRosetta.g:16736:1: rule__RosettaDocReference__Group__7 : rule__RosettaDocReference__Group__7__Impl rule__RosettaDocReference__Group__8 ;
    public final void rule__RosettaDocReference__Group__7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16740:1: ( rule__RosettaDocReference__Group__7__Impl rule__RosettaDocReference__Group__8 )
            // InternalRosetta.g:16741:2: rule__RosettaDocReference__Group__7__Impl rule__RosettaDocReference__Group__8
            {
            pushFollow(FOLLOW_85);
            rule__RosettaDocReference__Group__7__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group__8(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__7"
    // $ANTLR start "rule__RosettaDocReference__Group__7__Impl"
    // InternalRosetta.g:16748:1: rule__RosettaDocReference__Group__7__Impl : ( ( rule__RosettaDocReference__ReportedFieldAssignment_7 )? ) ;
    public final void rule__RosettaDocReference__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16752:1: ( ( ( rule__RosettaDocReference__ReportedFieldAssignment_7 )? ) )
            // InternalRosetta.g:16753:1: ( ( rule__RosettaDocReference__ReportedFieldAssignment_7 )? )
            {
            // InternalRosetta.g:16753:1: ( ( rule__RosettaDocReference__ReportedFieldAssignment_7 )? )
            // InternalRosetta.g:16754:2: ( rule__RosettaDocReference__ReportedFieldAssignment_7 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getReportedFieldAssignment_7()); }
            // InternalRosetta.g:16755:2: ( rule__RosettaDocReference__ReportedFieldAssignment_7 )?
            int alt201=2;
            int LA201_0 = input.LA(1);
            if ( (LA201_0==135) ) {
                alt201=1;
            }
            switch (alt201) {
                case 1 :
                    // InternalRosetta.g:16755:3: rule__RosettaDocReference__ReportedFieldAssignment_7
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaDocReference__ReportedFieldAssignment_7();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getReportedFieldAssignment_7()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__7__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group__8"
    // InternalRosetta.g:16763:1: rule__RosettaDocReference__Group__8 : rule__RosettaDocReference__Group__8__Impl ;
    public final void rule__RosettaDocReference__Group__8() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16767:1: ( rule__RosettaDocReference__Group__8__Impl )
            // InternalRosetta.g:16768:2: rule__RosettaDocReference__Group__8__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group__8__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__8"
    // $ANTLR start "rule__RosettaDocReference__Group__8__Impl"
    // InternalRosetta.g:16774:1: rule__RosettaDocReference__Group__8__Impl : ( ']' ) ;
    public final void rule__RosettaDocReference__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16778:1: ( ( ']' ) )
            // InternalRosetta.g:16779:1: ( ']' )
            {
            // InternalRosetta.g:16779:1: ( ']' )
            // InternalRosetta.g:16780:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getRightSquareBracketKeyword_8()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getRightSquareBracketKeyword_8()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group__8__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group_5__0"
    // InternalRosetta.g:16790:1: rule__RosettaDocReference__Group_5__0 : rule__RosettaDocReference__Group_5__0__Impl rule__RosettaDocReference__Group_5__1 ;
    public final void rule__RosettaDocReference__Group_5__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16794:1: ( rule__RosettaDocReference__Group_5__0__Impl rule__RosettaDocReference__Group_5__1 )
            // InternalRosetta.g:16795:2: rule__RosettaDocReference__Group_5__0__Impl rule__RosettaDocReference__Group_5__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaDocReference__Group_5__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group_5__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group_5__0"
    // $ANTLR start "rule__RosettaDocReference__Group_5__0__Impl"
    // InternalRosetta.g:16802:1: rule__RosettaDocReference__Group_5__0__Impl : ( 'structured_provision' ) ;
    public final void rule__RosettaDocReference__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16806:1: ( ( 'structured_provision' ) )
            // InternalRosetta.g:16807:1: ( 'structured_provision' )
            {
            // InternalRosetta.g:16807:1: ( 'structured_provision' )
            // InternalRosetta.g:16808:2: 'structured_provision'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getStructured_provisionKeyword_5_0()); }
            match(input,25,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getStructured_provisionKeyword_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group_5__0__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group_5__1"
    // InternalRosetta.g:16817:1: rule__RosettaDocReference__Group_5__1 : rule__RosettaDocReference__Group_5__1__Impl ;
    public final void rule__RosettaDocReference__Group_5__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16821:1: ( rule__RosettaDocReference__Group_5__1__Impl )
            // InternalRosetta.g:16822:2: rule__RosettaDocReference__Group_5__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group_5__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group_5__1"
    // $ANTLR start "rule__RosettaDocReference__Group_5__1__Impl"
    // InternalRosetta.g:16828:1: rule__RosettaDocReference__Group_5__1__Impl : ( ( rule__RosettaDocReference__StructuredProvisionAssignment_5_1 ) ) ;
    public final void rule__RosettaDocReference__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16832:1: ( ( ( rule__RosettaDocReference__StructuredProvisionAssignment_5_1 ) ) )
            // InternalRosetta.g:16833:1: ( ( rule__RosettaDocReference__StructuredProvisionAssignment_5_1 ) )
            {
            // InternalRosetta.g:16833:1: ( ( rule__RosettaDocReference__StructuredProvisionAssignment_5_1 ) )
            // InternalRosetta.g:16834:2: ( rule__RosettaDocReference__StructuredProvisionAssignment_5_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getStructuredProvisionAssignment_5_1()); }
            // InternalRosetta.g:16835:2: ( rule__RosettaDocReference__StructuredProvisionAssignment_5_1 )
            // InternalRosetta.g:16835:3: rule__RosettaDocReference__StructuredProvisionAssignment_5_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__StructuredProvisionAssignment_5_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getStructuredProvisionAssignment_5_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group_5__1__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group_6__0"
    // InternalRosetta.g:16844:1: rule__RosettaDocReference__Group_6__0 : rule__RosettaDocReference__Group_6__0__Impl rule__RosettaDocReference__Group_6__1 ;
    public final void rule__RosettaDocReference__Group_6__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16848:1: ( rule__RosettaDocReference__Group_6__0__Impl rule__RosettaDocReference__Group_6__1 )
            // InternalRosetta.g:16849:2: rule__RosettaDocReference__Group_6__0__Impl rule__RosettaDocReference__Group_6__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaDocReference__Group_6__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group_6__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group_6__0"
    // $ANTLR start "rule__RosettaDocReference__Group_6__0__Impl"
    // InternalRosetta.g:16856:1: rule__RosettaDocReference__Group_6__0__Impl : ( 'provision' ) ;
    public final void rule__RosettaDocReference__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16860:1: ( ( 'provision' ) )
            // InternalRosetta.g:16861:1: ( 'provision' )
            {
            // InternalRosetta.g:16861:1: ( 'provision' )
            // InternalRosetta.g:16862:2: 'provision'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getProvisionKeyword_6_0()); }
            match(input,110,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getProvisionKeyword_6_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group_6__0__Impl"
    // $ANTLR start "rule__RosettaDocReference__Group_6__1"
    // InternalRosetta.g:16871:1: rule__RosettaDocReference__Group_6__1 : rule__RosettaDocReference__Group_6__1__Impl ;
    public final void rule__RosettaDocReference__Group_6__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16875:1: ( rule__RosettaDocReference__Group_6__1__Impl )
            // InternalRosetta.g:16876:2: rule__RosettaDocReference__Group_6__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__Group_6__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group_6__1"
    // $ANTLR start "rule__RosettaDocReference__Group_6__1__Impl"
    // InternalRosetta.g:16882:1: rule__RosettaDocReference__Group_6__1__Impl : ( ( rule__RosettaDocReference__ProvisionAssignment_6_1 ) ) ;
    public final void rule__RosettaDocReference__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16886:1: ( ( ( rule__RosettaDocReference__ProvisionAssignment_6_1 ) ) )
            // InternalRosetta.g:16887:1: ( ( rule__RosettaDocReference__ProvisionAssignment_6_1 ) )
            {
            // InternalRosetta.g:16887:1: ( ( rule__RosettaDocReference__ProvisionAssignment_6_1 ) )
            // InternalRosetta.g:16888:2: ( rule__RosettaDocReference__ProvisionAssignment_6_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getProvisionAssignment_6_1()); }
            // InternalRosetta.g:16889:2: ( rule__RosettaDocReference__ProvisionAssignment_6_1 )
            // InternalRosetta.g:16889:3: rule__RosettaDocReference__ProvisionAssignment_6_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaDocReference__ProvisionAssignment_6_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getProvisionAssignment_6_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__Group_6__1__Impl"
    // $ANTLR start "rule__DocumentRationale__Group_0__0"
    // InternalRosetta.g:16898:1: rule__DocumentRationale__Group_0__0 : rule__DocumentRationale__Group_0__0__Impl rule__DocumentRationale__Group_0__1 ;
    public final void rule__DocumentRationale__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16902:1: ( rule__DocumentRationale__Group_0__0__Impl rule__DocumentRationale__Group_0__1 )
            // InternalRosetta.g:16903:2: rule__DocumentRationale__Group_0__0__Impl rule__DocumentRationale__Group_0__1
            {
            pushFollow(FOLLOW_10);
            rule__DocumentRationale__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_0__0"
    // $ANTLR start "rule__DocumentRationale__Group_0__0__Impl"
    // InternalRosetta.g:16910:1: rule__DocumentRationale__Group_0__0__Impl : ( 'rationale' ) ;
    public final void rule__DocumentRationale__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16914:1: ( ( 'rationale' ) )
            // InternalRosetta.g:16915:1: ( 'rationale' )
            {
            // InternalRosetta.g:16915:1: ( 'rationale' )
            // InternalRosetta.g:16916:2: 'rationale'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationaleKeyword_0_0()); }
            match(input,23,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationaleKeyword_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_0__0__Impl"
    // $ANTLR start "rule__DocumentRationale__Group_0__1"
    // InternalRosetta.g:16925:1: rule__DocumentRationale__Group_0__1 : rule__DocumentRationale__Group_0__1__Impl rule__DocumentRationale__Group_0__2 ;
    public final void rule__DocumentRationale__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16929:1: ( rule__DocumentRationale__Group_0__1__Impl rule__DocumentRationale__Group_0__2 )
            // InternalRosetta.g:16930:2: rule__DocumentRationale__Group_0__1__Impl rule__DocumentRationale__Group_0__2
            {
            pushFollow(FOLLOW_87);
            rule__DocumentRationale__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__Group_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_0__1"
    // $ANTLR start "rule__DocumentRationale__Group_0__1__Impl"
    // InternalRosetta.g:16937:1: rule__DocumentRationale__Group_0__1__Impl : ( ( rule__DocumentRationale__RationaleAssignment_0_1 ) ) ;
    public final void rule__DocumentRationale__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16941:1: ( ( ( rule__DocumentRationale__RationaleAssignment_0_1 ) ) )
            // InternalRosetta.g:16942:1: ( ( rule__DocumentRationale__RationaleAssignment_0_1 ) )
            {
            // InternalRosetta.g:16942:1: ( ( rule__DocumentRationale__RationaleAssignment_0_1 ) )
            // InternalRosetta.g:16943:2: ( rule__DocumentRationale__RationaleAssignment_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationaleAssignment_0_1()); }
            // InternalRosetta.g:16944:2: ( rule__DocumentRationale__RationaleAssignment_0_1 )
            // InternalRosetta.g:16944:3: rule__DocumentRationale__RationaleAssignment_0_1
            {
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__RationaleAssignment_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationaleAssignment_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_0__1__Impl"
    // $ANTLR start "rule__DocumentRationale__Group_0__2"
    // InternalRosetta.g:16952:1: rule__DocumentRationale__Group_0__2 : rule__DocumentRationale__Group_0__2__Impl ;
    public final void rule__DocumentRationale__Group_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16956:1: ( rule__DocumentRationale__Group_0__2__Impl )
            // InternalRosetta.g:16957:2: rule__DocumentRationale__Group_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__Group_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_0__2"
    // $ANTLR start "rule__DocumentRationale__Group_0__2__Impl"
    // InternalRosetta.g:16963:1: rule__DocumentRationale__Group_0__2__Impl : ( ( rule__DocumentRationale__Group_0_2__0 )? ) ;
    public final void rule__DocumentRationale__Group_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16967:1: ( ( ( rule__DocumentRationale__Group_0_2__0 )? ) )
            // InternalRosetta.g:16968:1: ( ( rule__DocumentRationale__Group_0_2__0 )? )
            {
            // InternalRosetta.g:16968:1: ( ( rule__DocumentRationale__Group_0_2__0 )? )
            // InternalRosetta.g:16969:2: ( rule__DocumentRationale__Group_0_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getGroup_0_2()); }
            // InternalRosetta.g:16970:2: ( rule__DocumentRationale__Group_0_2__0 )?
            int alt202=2;
            int LA202_0 = input.LA(1);
            if ( (LA202_0==24) ) {
                int LA202_1 = input.LA(2);
                if ( (LA202_1==RULE_STRING) ) {
                    int LA202_3 = input.LA(3);
                    if ( (synpred337_InternalRosetta()) ) {
                        alt202=1;
                    }
                }}
            switch (alt202) {
                case 1 :
                    // InternalRosetta.g:16970:3: rule__DocumentRationale__Group_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__DocumentRationale__Group_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getGroup_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_0__2__Impl"
    // $ANTLR start "rule__DocumentRationale__Group_0_2__0"
    // InternalRosetta.g:16979:1: rule__DocumentRationale__Group_0_2__0 : rule__DocumentRationale__Group_0_2__0__Impl rule__DocumentRationale__Group_0_2__1 ;
    public final void rule__DocumentRationale__Group_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16983:1: ( rule__DocumentRationale__Group_0_2__0__Impl rule__DocumentRationale__Group_0_2__1 )
            // InternalRosetta.g:16984:2: rule__DocumentRationale__Group_0_2__0__Impl rule__DocumentRationale__Group_0_2__1
            {
            pushFollow(FOLLOW_10);
            rule__DocumentRationale__Group_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__Group_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_0_2__0"
    // $ANTLR start "rule__DocumentRationale__Group_0_2__0__Impl"
    // InternalRosetta.g:16991:1: rule__DocumentRationale__Group_0_2__0__Impl : ( ( 'rationale_author' ) ) ;
    public final void rule__DocumentRationale__Group_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:16995:1: ( ( ( 'rationale_author' ) ) )
            // InternalRosetta.g:16996:1: ( ( 'rationale_author' ) )
            {
            // InternalRosetta.g:16996:1: ( ( 'rationale_author' ) )
            // InternalRosetta.g:16997:2: ( 'rationale_author' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationale_authorKeyword_0_2_0()); }
            // InternalRosetta.g:16998:2: ( 'rationale_author' )
            // InternalRosetta.g:16998:3: 'rationale_author'
            {
            match(input,24,FOLLOW_2); if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationale_authorKeyword_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_0_2__0__Impl"
    // $ANTLR start "rule__DocumentRationale__Group_0_2__1"
    // InternalRosetta.g:17006:1: rule__DocumentRationale__Group_0_2__1 : rule__DocumentRationale__Group_0_2__1__Impl ;
    public final void rule__DocumentRationale__Group_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17010:1: ( rule__DocumentRationale__Group_0_2__1__Impl )
            // InternalRosetta.g:17011:2: rule__DocumentRationale__Group_0_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__Group_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_0_2__1"
    // $ANTLR start "rule__DocumentRationale__Group_0_2__1__Impl"
    // InternalRosetta.g:17017:1: rule__DocumentRationale__Group_0_2__1__Impl : ( ( rule__DocumentRationale__RationaleAuthorAssignment_0_2_1 ) ) ;
    public final void rule__DocumentRationale__Group_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17021:1: ( ( ( rule__DocumentRationale__RationaleAuthorAssignment_0_2_1 ) ) )
            // InternalRosetta.g:17022:1: ( ( rule__DocumentRationale__RationaleAuthorAssignment_0_2_1 ) )
            {
            // InternalRosetta.g:17022:1: ( ( rule__DocumentRationale__RationaleAuthorAssignment_0_2_1 ) )
            // InternalRosetta.g:17023:2: ( rule__DocumentRationale__RationaleAuthorAssignment_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationaleAuthorAssignment_0_2_1()); }
            // InternalRosetta.g:17024:2: ( rule__DocumentRationale__RationaleAuthorAssignment_0_2_1 )
            // InternalRosetta.g:17024:3: rule__DocumentRationale__RationaleAuthorAssignment_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__RationaleAuthorAssignment_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationaleAuthorAssignment_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_0_2__1__Impl"
    // $ANTLR start "rule__DocumentRationale__Group_1__0"
    // InternalRosetta.g:17033:1: rule__DocumentRationale__Group_1__0 : rule__DocumentRationale__Group_1__0__Impl rule__DocumentRationale__Group_1__1 ;
    public final void rule__DocumentRationale__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17037:1: ( rule__DocumentRationale__Group_1__0__Impl rule__DocumentRationale__Group_1__1 )
            // InternalRosetta.g:17038:2: rule__DocumentRationale__Group_1__0__Impl rule__DocumentRationale__Group_1__1
            {
            pushFollow(FOLLOW_10);
            rule__DocumentRationale__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_1__0"
    // $ANTLR start "rule__DocumentRationale__Group_1__0__Impl"
    // InternalRosetta.g:17045:1: rule__DocumentRationale__Group_1__0__Impl : ( 'rationale_author' ) ;
    public final void rule__DocumentRationale__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17049:1: ( ( 'rationale_author' ) )
            // InternalRosetta.g:17050:1: ( 'rationale_author' )
            {
            // InternalRosetta.g:17050:1: ( 'rationale_author' )
            // InternalRosetta.g:17051:2: 'rationale_author'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationale_authorKeyword_1_0()); }
            match(input,24,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationale_authorKeyword_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_1__0__Impl"
    // $ANTLR start "rule__DocumentRationale__Group_1__1"
    // InternalRosetta.g:17060:1: rule__DocumentRationale__Group_1__1 : rule__DocumentRationale__Group_1__1__Impl rule__DocumentRationale__Group_1__2 ;
    public final void rule__DocumentRationale__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17064:1: ( rule__DocumentRationale__Group_1__1__Impl rule__DocumentRationale__Group_1__2 )
            // InternalRosetta.g:17065:2: rule__DocumentRationale__Group_1__1__Impl rule__DocumentRationale__Group_1__2
            {
            pushFollow(FOLLOW_88);
            rule__DocumentRationale__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__Group_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_1__1"
    // $ANTLR start "rule__DocumentRationale__Group_1__1__Impl"
    // InternalRosetta.g:17072:1: rule__DocumentRationale__Group_1__1__Impl : ( ( rule__DocumentRationale__RationaleAuthorAssignment_1_1 ) ) ;
    public final void rule__DocumentRationale__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17076:1: ( ( ( rule__DocumentRationale__RationaleAuthorAssignment_1_1 ) ) )
            // InternalRosetta.g:17077:1: ( ( rule__DocumentRationale__RationaleAuthorAssignment_1_1 ) )
            {
            // InternalRosetta.g:17077:1: ( ( rule__DocumentRationale__RationaleAuthorAssignment_1_1 ) )
            // InternalRosetta.g:17078:2: ( rule__DocumentRationale__RationaleAuthorAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationaleAuthorAssignment_1_1()); }
            // InternalRosetta.g:17079:2: ( rule__DocumentRationale__RationaleAuthorAssignment_1_1 )
            // InternalRosetta.g:17079:3: rule__DocumentRationale__RationaleAuthorAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__RationaleAuthorAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationaleAuthorAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_1__1__Impl"
    // $ANTLR start "rule__DocumentRationale__Group_1__2"
    // InternalRosetta.g:17087:1: rule__DocumentRationale__Group_1__2 : rule__DocumentRationale__Group_1__2__Impl ;
    public final void rule__DocumentRationale__Group_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17091:1: ( rule__DocumentRationale__Group_1__2__Impl )
            // InternalRosetta.g:17092:2: rule__DocumentRationale__Group_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__Group_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_1__2"
    // $ANTLR start "rule__DocumentRationale__Group_1__2__Impl"
    // InternalRosetta.g:17098:1: rule__DocumentRationale__Group_1__2__Impl : ( ( rule__DocumentRationale__Group_1_2__0 )? ) ;
    public final void rule__DocumentRationale__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17102:1: ( ( ( rule__DocumentRationale__Group_1_2__0 )? ) )
            // InternalRosetta.g:17103:1: ( ( rule__DocumentRationale__Group_1_2__0 )? )
            {
            // InternalRosetta.g:17103:1: ( ( rule__DocumentRationale__Group_1_2__0 )? )
            // InternalRosetta.g:17104:2: ( rule__DocumentRationale__Group_1_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getGroup_1_2()); }
            // InternalRosetta.g:17105:2: ( rule__DocumentRationale__Group_1_2__0 )?
            int alt203=2;
            int LA203_0 = input.LA(1);
            if ( (LA203_0==23) ) {
                int LA203_1 = input.LA(2);
                if ( (LA203_1==RULE_STRING) ) {
                    int LA203_3 = input.LA(3);
                    if ( (synpred338_InternalRosetta()) ) {
                        alt203=1;
                    }
                }}
            switch (alt203) {
                case 1 :
                    // InternalRosetta.g:17105:3: rule__DocumentRationale__Group_1_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__DocumentRationale__Group_1_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getGroup_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_1__2__Impl"
    // $ANTLR start "rule__DocumentRationale__Group_1_2__0"
    // InternalRosetta.g:17114:1: rule__DocumentRationale__Group_1_2__0 : rule__DocumentRationale__Group_1_2__0__Impl rule__DocumentRationale__Group_1_2__1 ;
    public final void rule__DocumentRationale__Group_1_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17118:1: ( rule__DocumentRationale__Group_1_2__0__Impl rule__DocumentRationale__Group_1_2__1 )
            // InternalRosetta.g:17119:2: rule__DocumentRationale__Group_1_2__0__Impl rule__DocumentRationale__Group_1_2__1
            {
            pushFollow(FOLLOW_10);
            rule__DocumentRationale__Group_1_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__Group_1_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_1_2__0"
    // $ANTLR start "rule__DocumentRationale__Group_1_2__0__Impl"
    // InternalRosetta.g:17126:1: rule__DocumentRationale__Group_1_2__0__Impl : ( ( 'rationale' ) ) ;
    public final void rule__DocumentRationale__Group_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17130:1: ( ( ( 'rationale' ) ) )
            // InternalRosetta.g:17131:1: ( ( 'rationale' ) )
            {
            // InternalRosetta.g:17131:1: ( ( 'rationale' ) )
            // InternalRosetta.g:17132:2: ( 'rationale' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationaleKeyword_1_2_0()); }
            // InternalRosetta.g:17133:2: ( 'rationale' )
            // InternalRosetta.g:17133:3: 'rationale'
            {
            match(input,23,FOLLOW_2); if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationaleKeyword_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_1_2__0__Impl"
    // $ANTLR start "rule__DocumentRationale__Group_1_2__1"
    // InternalRosetta.g:17141:1: rule__DocumentRationale__Group_1_2__1 : rule__DocumentRationale__Group_1_2__1__Impl ;
    public final void rule__DocumentRationale__Group_1_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17145:1: ( rule__DocumentRationale__Group_1_2__1__Impl )
            // InternalRosetta.g:17146:2: rule__DocumentRationale__Group_1_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__Group_1_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_1_2__1"
    // $ANTLR start "rule__DocumentRationale__Group_1_2__1__Impl"
    // InternalRosetta.g:17152:1: rule__DocumentRationale__Group_1_2__1__Impl : ( ( rule__DocumentRationale__RationaleAssignment_1_2_1 ) ) ;
    public final void rule__DocumentRationale__Group_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17156:1: ( ( ( rule__DocumentRationale__RationaleAssignment_1_2_1 ) ) )
            // InternalRosetta.g:17157:1: ( ( rule__DocumentRationale__RationaleAssignment_1_2_1 ) )
            {
            // InternalRosetta.g:17157:1: ( ( rule__DocumentRationale__RationaleAssignment_1_2_1 ) )
            // InternalRosetta.g:17158:2: ( rule__DocumentRationale__RationaleAssignment_1_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationaleAssignment_1_2_1()); }
            // InternalRosetta.g:17159:2: ( rule__DocumentRationale__RationaleAssignment_1_2_1 )
            // InternalRosetta.g:17159:3: rule__DocumentRationale__RationaleAssignment_1_2_1
            {
            pushFollow(FOLLOW_2);
            rule__DocumentRationale__RationaleAssignment_1_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationaleAssignment_1_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__Group_1_2__1__Impl"
    // $ANTLR start "rule__RosettaBody__Group__0"
    // InternalRosetta.g:17168:1: rule__RosettaBody__Group__0 : rule__RosettaBody__Group__0__Impl rule__RosettaBody__Group__1 ;
    public final void rule__RosettaBody__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17172:1: ( rule__RosettaBody__Group__0__Impl rule__RosettaBody__Group__1 )
            // InternalRosetta.g:17173:2: rule__RosettaBody__Group__0__Impl rule__RosettaBody__Group__1
            {
            pushFollow(FOLLOW_89);
            rule__RosettaBody__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaBody__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBody__Group__0"
    // $ANTLR start "rule__RosettaBody__Group__0__Impl"
    // InternalRosetta.g:17180:1: rule__RosettaBody__Group__0__Impl : ( 'body' ) ;
    public final void rule__RosettaBody__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17184:1: ( ( 'body' ) )
            // InternalRosetta.g:17185:1: ( 'body' )
            {
            // InternalRosetta.g:17185:1: ( 'body' )
            // InternalRosetta.g:17186:2: 'body'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBodyAccess().getBodyKeyword_0()); }
            match(input,111,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBodyAccess().getBodyKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBody__Group__0__Impl"
    // $ANTLR start "rule__RosettaBody__Group__1"
    // InternalRosetta.g:17195:1: rule__RosettaBody__Group__1 : rule__RosettaBody__Group__1__Impl rule__RosettaBody__Group__2 ;
    public final void rule__RosettaBody__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17199:1: ( rule__RosettaBody__Group__1__Impl rule__RosettaBody__Group__2 )
            // InternalRosetta.g:17200:2: rule__RosettaBody__Group__1__Impl rule__RosettaBody__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaBody__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaBody__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBody__Group__1"
    // $ANTLR start "rule__RosettaBody__Group__1__Impl"
    // InternalRosetta.g:17207:1: rule__RosettaBody__Group__1__Impl : ( ( rule__RosettaBody__BodyTypeAssignment_1 ) ) ;
    public final void rule__RosettaBody__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17211:1: ( ( ( rule__RosettaBody__BodyTypeAssignment_1 ) ) )
            // InternalRosetta.g:17212:1: ( ( rule__RosettaBody__BodyTypeAssignment_1 ) )
            {
            // InternalRosetta.g:17212:1: ( ( rule__RosettaBody__BodyTypeAssignment_1 ) )
            // InternalRosetta.g:17213:2: ( rule__RosettaBody__BodyTypeAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBodyAccess().getBodyTypeAssignment_1()); }
            // InternalRosetta.g:17214:2: ( rule__RosettaBody__BodyTypeAssignment_1 )
            // InternalRosetta.g:17214:3: rule__RosettaBody__BodyTypeAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaBody__BodyTypeAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBodyAccess().getBodyTypeAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBody__Group__1__Impl"
    // $ANTLR start "rule__RosettaBody__Group__2"
    // InternalRosetta.g:17222:1: rule__RosettaBody__Group__2 : rule__RosettaBody__Group__2__Impl rule__RosettaBody__Group__3 ;
    public final void rule__RosettaBody__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17226:1: ( rule__RosettaBody__Group__2__Impl rule__RosettaBody__Group__3 )
            // InternalRosetta.g:17227:2: rule__RosettaBody__Group__2__Impl rule__RosettaBody__Group__3
            {
            pushFollow(FOLLOW_9);
            rule__RosettaBody__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaBody__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBody__Group__2"
    // $ANTLR start "rule__RosettaBody__Group__2__Impl"
    // InternalRosetta.g:17234:1: rule__RosettaBody__Group__2__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaBody__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17238:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:17239:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:17239:1: ( ruleRosettaNamed )
            // InternalRosetta.g:17240:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBodyAccess().getRosettaNamedParserRuleCall_2()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBodyAccess().getRosettaNamedParserRuleCall_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBody__Group__2__Impl"
    // $ANTLR start "rule__RosettaBody__Group__3"
    // InternalRosetta.g:17249:1: rule__RosettaBody__Group__3 : rule__RosettaBody__Group__3__Impl ;
    public final void rule__RosettaBody__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17253:1: ( rule__RosettaBody__Group__3__Impl )
            // InternalRosetta.g:17254:2: rule__RosettaBody__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaBody__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBody__Group__3"
    // $ANTLR start "rule__RosettaBody__Group__3__Impl"
    // InternalRosetta.g:17260:1: rule__RosettaBody__Group__3__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__RosettaBody__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17264:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:17265:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:17265:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:17266:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBodyAccess().getRosettaDefinableParserRuleCall_3()); }
            // InternalRosetta.g:17267:2: ( ruleRosettaDefinable )?
            int alt204=2;
            int LA204_0 = input.LA(1);
            if ( (LA204_0==35) ) {
                alt204=1;
            }
            switch (alt204) {
                case 1 :
                    // InternalRosetta.g:17267:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBodyAccess().getRosettaDefinableParserRuleCall_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBody__Group__3__Impl"
    // $ANTLR start "rule__RosettaCorpus__Group__0"
    // InternalRosetta.g:17276:1: rule__RosettaCorpus__Group__0 : rule__RosettaCorpus__Group__0__Impl rule__RosettaCorpus__Group__1 ;
    public final void rule__RosettaCorpus__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17280:1: ( rule__RosettaCorpus__Group__0__Impl rule__RosettaCorpus__Group__1 )
            // InternalRosetta.g:17281:2: rule__RosettaCorpus__Group__0__Impl rule__RosettaCorpus__Group__1
            {
            pushFollow(FOLLOW_89);
            rule__RosettaCorpus__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCorpus__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__0"
    // $ANTLR start "rule__RosettaCorpus__Group__0__Impl"
    // InternalRosetta.g:17288:1: rule__RosettaCorpus__Group__0__Impl : ( 'corpus' ) ;
    public final void rule__RosettaCorpus__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17292:1: ( ( 'corpus' ) )
            // InternalRosetta.g:17293:1: ( 'corpus' )
            {
            // InternalRosetta.g:17293:1: ( 'corpus' )
            // InternalRosetta.g:17294:2: 'corpus'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusAccess().getCorpusKeyword_0()); }
            match(input,112,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusAccess().getCorpusKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__0__Impl"
    // $ANTLR start "rule__RosettaCorpus__Group__1"
    // InternalRosetta.g:17303:1: rule__RosettaCorpus__Group__1 : rule__RosettaCorpus__Group__1__Impl rule__RosettaCorpus__Group__2 ;
    public final void rule__RosettaCorpus__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17307:1: ( rule__RosettaCorpus__Group__1__Impl rule__RosettaCorpus__Group__2 )
            // InternalRosetta.g:17308:2: rule__RosettaCorpus__Group__1__Impl rule__RosettaCorpus__Group__2
            {
            pushFollow(FOLLOW_4);
            rule__RosettaCorpus__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCorpus__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__1"
    // $ANTLR start "rule__RosettaCorpus__Group__1__Impl"
    // InternalRosetta.g:17315:1: rule__RosettaCorpus__Group__1__Impl : ( ( rule__RosettaCorpus__CorpusTypeAssignment_1 ) ) ;
    public final void rule__RosettaCorpus__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17319:1: ( ( ( rule__RosettaCorpus__CorpusTypeAssignment_1 ) ) )
            // InternalRosetta.g:17320:1: ( ( rule__RosettaCorpus__CorpusTypeAssignment_1 ) )
            {
            // InternalRosetta.g:17320:1: ( ( rule__RosettaCorpus__CorpusTypeAssignment_1 ) )
            // InternalRosetta.g:17321:2: ( rule__RosettaCorpus__CorpusTypeAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusAccess().getCorpusTypeAssignment_1()); }
            // InternalRosetta.g:17322:2: ( rule__RosettaCorpus__CorpusTypeAssignment_1 )
            // InternalRosetta.g:17322:3: rule__RosettaCorpus__CorpusTypeAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCorpus__CorpusTypeAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusAccess().getCorpusTypeAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__1__Impl"
    // $ANTLR start "rule__RosettaCorpus__Group__2"
    // InternalRosetta.g:17330:1: rule__RosettaCorpus__Group__2 : rule__RosettaCorpus__Group__2__Impl rule__RosettaCorpus__Group__3 ;
    public final void rule__RosettaCorpus__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17334:1: ( rule__RosettaCorpus__Group__2__Impl rule__RosettaCorpus__Group__3 )
            // InternalRosetta.g:17335:2: rule__RosettaCorpus__Group__2__Impl rule__RosettaCorpus__Group__3
            {
            pushFollow(FOLLOW_4);
            rule__RosettaCorpus__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCorpus__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__2"
    // $ANTLR start "rule__RosettaCorpus__Group__2__Impl"
    // InternalRosetta.g:17342:1: rule__RosettaCorpus__Group__2__Impl : ( ( rule__RosettaCorpus__BodyAssignment_2 )? ) ;
    public final void rule__RosettaCorpus__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17346:1: ( ( ( rule__RosettaCorpus__BodyAssignment_2 )? ) )
            // InternalRosetta.g:17347:1: ( ( rule__RosettaCorpus__BodyAssignment_2 )? )
            {
            // InternalRosetta.g:17347:1: ( ( rule__RosettaCorpus__BodyAssignment_2 )? )
            // InternalRosetta.g:17348:2: ( rule__RosettaCorpus__BodyAssignment_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusAccess().getBodyAssignment_2()); }
            // InternalRosetta.g:17349:2: ( rule__RosettaCorpus__BodyAssignment_2 )?
            int alt205=2;
            switch ( input.LA(1) ) {
                case RULE_ID:
                    {
                    int LA205_1 = input.LA(2);
                    if ( ((LA205_1>=RULE_STRING && LA205_1<=RULE_ID)||(LA205_1>=14 && LA205_1<=18)||LA205_1==61) ) {
                        alt205=1;
                    }
                    }
                    break;
                case 14:
                    {
                    int LA205_2 = input.LA(2);
                    if ( ((LA205_2>=RULE_STRING && LA205_2<=RULE_ID)||(LA205_2>=14 && LA205_2<=18)||LA205_2==61) ) {
                        alt205=1;
                    }
                    }
                    break;
                case 15:
                    {
                    int LA205_3 = input.LA(2);
                    if ( ((LA205_3>=RULE_STRING && LA205_3<=RULE_ID)||(LA205_3>=14 && LA205_3<=18)||LA205_3==61) ) {
                        alt205=1;
                    }
                    }
                    break;
                case 16:
                    {
                    int LA205_4 = input.LA(2);
                    if ( ((LA205_4>=RULE_STRING && LA205_4<=RULE_ID)||(LA205_4>=14 && LA205_4<=18)||LA205_4==61) ) {
                        alt205=1;
                    }
                    }
                    break;
                case 17:
                    {
                    int LA205_5 = input.LA(2);
                    if ( ((LA205_5>=RULE_STRING && LA205_5<=RULE_ID)||(LA205_5>=14 && LA205_5<=18)||LA205_5==61) ) {
                        alt205=1;
                    }
                    }
                    break;
                case 18:
                    {
                    int LA205_6 = input.LA(2);
                    if ( ((LA205_6>=RULE_STRING && LA205_6<=RULE_ID)||(LA205_6>=14 && LA205_6<=18)||LA205_6==61) ) {
                        alt205=1;
                    }
                    }
                    break;
            }
            switch (alt205) {
                case 1 :
                    // InternalRosetta.g:17349:3: rule__RosettaCorpus__BodyAssignment_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCorpus__BodyAssignment_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusAccess().getBodyAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__2__Impl"
    // $ANTLR start "rule__RosettaCorpus__Group__3"
    // InternalRosetta.g:17357:1: rule__RosettaCorpus__Group__3 : rule__RosettaCorpus__Group__3__Impl rule__RosettaCorpus__Group__4 ;
    public final void rule__RosettaCorpus__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17361:1: ( rule__RosettaCorpus__Group__3__Impl rule__RosettaCorpus__Group__4 )
            // InternalRosetta.g:17362:2: rule__RosettaCorpus__Group__3__Impl rule__RosettaCorpus__Group__4
            {
            pushFollow(FOLLOW_4);
            rule__RosettaCorpus__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCorpus__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__3"
    // $ANTLR start "rule__RosettaCorpus__Group__3__Impl"
    // InternalRosetta.g:17369:1: rule__RosettaCorpus__Group__3__Impl : ( ( rule__RosettaCorpus__DisplayNameAssignment_3 )? ) ;
    public final void rule__RosettaCorpus__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17373:1: ( ( ( rule__RosettaCorpus__DisplayNameAssignment_3 )? ) )
            // InternalRosetta.g:17374:1: ( ( rule__RosettaCorpus__DisplayNameAssignment_3 )? )
            {
            // InternalRosetta.g:17374:1: ( ( rule__RosettaCorpus__DisplayNameAssignment_3 )? )
            // InternalRosetta.g:17375:2: ( rule__RosettaCorpus__DisplayNameAssignment_3 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusAccess().getDisplayNameAssignment_3()); }
            // InternalRosetta.g:17376:2: ( rule__RosettaCorpus__DisplayNameAssignment_3 )?
            int alt206=2;
            int LA206_0 = input.LA(1);
            if ( (LA206_0==RULE_STRING) ) {
                alt206=1;
            }
            switch (alt206) {
                case 1 :
                    // InternalRosetta.g:17376:3: rule__RosettaCorpus__DisplayNameAssignment_3
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCorpus__DisplayNameAssignment_3();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusAccess().getDisplayNameAssignment_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__3__Impl"
    // $ANTLR start "rule__RosettaCorpus__Group__4"
    // InternalRosetta.g:17384:1: rule__RosettaCorpus__Group__4 : rule__RosettaCorpus__Group__4__Impl rule__RosettaCorpus__Group__5 ;
    public final void rule__RosettaCorpus__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17388:1: ( rule__RosettaCorpus__Group__4__Impl rule__RosettaCorpus__Group__5 )
            // InternalRosetta.g:17389:2: rule__RosettaCorpus__Group__4__Impl rule__RosettaCorpus__Group__5
            {
            pushFollow(FOLLOW_9);
            rule__RosettaCorpus__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCorpus__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__4"
    // $ANTLR start "rule__RosettaCorpus__Group__4__Impl"
    // InternalRosetta.g:17396:1: rule__RosettaCorpus__Group__4__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaCorpus__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17400:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:17401:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:17401:1: ( ruleRosettaNamed )
            // InternalRosetta.g:17402:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusAccess().getRosettaNamedParserRuleCall_4()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusAccess().getRosettaNamedParserRuleCall_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__4__Impl"
    // $ANTLR start "rule__RosettaCorpus__Group__5"
    // InternalRosetta.g:17411:1: rule__RosettaCorpus__Group__5 : rule__RosettaCorpus__Group__5__Impl ;
    public final void rule__RosettaCorpus__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17415:1: ( rule__RosettaCorpus__Group__5__Impl )
            // InternalRosetta.g:17416:2: rule__RosettaCorpus__Group__5__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCorpus__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__5"
    // $ANTLR start "rule__RosettaCorpus__Group__5__Impl"
    // InternalRosetta.g:17422:1: rule__RosettaCorpus__Group__5__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__RosettaCorpus__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17426:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:17427:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:17427:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:17428:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusAccess().getRosettaDefinableParserRuleCall_5()); }
            // InternalRosetta.g:17429:2: ( ruleRosettaDefinable )?
            int alt207=2;
            int LA207_0 = input.LA(1);
            if ( (LA207_0==35) ) {
                alt207=1;
            }
            switch (alt207) {
                case 1 :
                    // InternalRosetta.g:17429:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusAccess().getRosettaDefinableParserRuleCall_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__Group__5__Impl"
    // $ANTLR start "rule__RosettaSegment__Group__0"
    // InternalRosetta.g:17438:1: rule__RosettaSegment__Group__0 : rule__RosettaSegment__Group__0__Impl rule__RosettaSegment__Group__1 ;
    public final void rule__RosettaSegment__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17442:1: ( rule__RosettaSegment__Group__0__Impl rule__RosettaSegment__Group__1 )
            // InternalRosetta.g:17443:2: rule__RosettaSegment__Group__0__Impl rule__RosettaSegment__Group__1
            {
            pushFollow(FOLLOW_90);
            rule__RosettaSegment__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSegment__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegment__Group__0"
    // $ANTLR start "rule__RosettaSegment__Group__0__Impl"
    // InternalRosetta.g:17450:1: rule__RosettaSegment__Group__0__Impl : ( 'segment' ) ;
    public final void rule__RosettaSegment__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17454:1: ( ( 'segment' ) )
            // InternalRosetta.g:17455:1: ( 'segment' )
            {
            // InternalRosetta.g:17455:1: ( 'segment' )
            // InternalRosetta.g:17456:2: 'segment'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentAccess().getSegmentKeyword_0()); }
            match(input,113,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentAccess().getSegmentKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegment__Group__0__Impl"
    // $ANTLR start "rule__RosettaSegment__Group__1"
    // InternalRosetta.g:17465:1: rule__RosettaSegment__Group__1 : rule__RosettaSegment__Group__1__Impl ;
    public final void rule__RosettaSegment__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17469:1: ( rule__RosettaSegment__Group__1__Impl )
            // InternalRosetta.g:17470:2: rule__RosettaSegment__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSegment__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegment__Group__1"
    // $ANTLR start "rule__RosettaSegment__Group__1__Impl"
    // InternalRosetta.g:17476:1: rule__RosettaSegment__Group__1__Impl : ( ( rule__RosettaSegment__NameAssignment_1 ) ) ;
    public final void rule__RosettaSegment__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17480:1: ( ( ( rule__RosettaSegment__NameAssignment_1 ) ) )
            // InternalRosetta.g:17481:1: ( ( rule__RosettaSegment__NameAssignment_1 ) )
            {
            // InternalRosetta.g:17481:1: ( ( rule__RosettaSegment__NameAssignment_1 ) )
            // InternalRosetta.g:17482:2: ( rule__RosettaSegment__NameAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentAccess().getNameAssignment_1()); }
            // InternalRosetta.g:17483:2: ( rule__RosettaSegment__NameAssignment_1 )
            // InternalRosetta.g:17483:3: rule__RosettaSegment__NameAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSegment__NameAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentAccess().getNameAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegment__Group__1__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0__0"
    // InternalRosetta.g:17492:1: rule__RosettaReferenceOrFunctionCall__Group_0__0 : rule__RosettaReferenceOrFunctionCall__Group_0__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0__1 ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17496:1: ( rule__RosettaReferenceOrFunctionCall__Group_0__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0__1 )
            // InternalRosetta.g:17497:2: rule__RosettaReferenceOrFunctionCall__Group_0__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaReferenceOrFunctionCall__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0__0"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0__0__Impl"
    // InternalRosetta.g:17504:1: rule__RosettaReferenceOrFunctionCall__Group_0__0__Impl : ( () ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17508:1: ( ( () ) )
            // InternalRosetta.g:17509:1: ( () )
            {
            // InternalRosetta.g:17509:1: ( () )
            // InternalRosetta.g:17510:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRosettaSymbolReferenceAction_0_0()); }
            // InternalRosetta.g:17511:2: ()
            // InternalRosetta.g:17511:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRosettaSymbolReferenceAction_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0__0__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0__1"
    // InternalRosetta.g:17519:1: rule__RosettaReferenceOrFunctionCall__Group_0__1 : rule__RosettaReferenceOrFunctionCall__Group_0__1__Impl rule__RosettaReferenceOrFunctionCall__Group_0__2 ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17523:1: ( rule__RosettaReferenceOrFunctionCall__Group_0__1__Impl rule__RosettaReferenceOrFunctionCall__Group_0__2 )
            // InternalRosetta.g:17524:2: rule__RosettaReferenceOrFunctionCall__Group_0__1__Impl rule__RosettaReferenceOrFunctionCall__Group_0__2
            {
            pushFollow(FOLLOW_28);
            rule__RosettaReferenceOrFunctionCall__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0__1"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0__1__Impl"
    // InternalRosetta.g:17531:1: rule__RosettaReferenceOrFunctionCall__Group_0__1__Impl : ( ( rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1 ) ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17535:1: ( ( ( rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1 ) ) )
            // InternalRosetta.g:17536:1: ( ( rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1 ) )
            {
            // InternalRosetta.g:17536:1: ( ( rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1 ) )
            // InternalRosetta.g:17537:2: ( rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getSymbolAssignment_0_1()); }
            // InternalRosetta.g:17538:2: ( rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1 )
            // InternalRosetta.g:17538:3: rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getSymbolAssignment_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0__1__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0__2"
    // InternalRosetta.g:17546:1: rule__RosettaReferenceOrFunctionCall__Group_0__2 : rule__RosettaReferenceOrFunctionCall__Group_0__2__Impl ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17550:1: ( rule__RosettaReferenceOrFunctionCall__Group_0__2__Impl )
            // InternalRosetta.g:17551:2: rule__RosettaReferenceOrFunctionCall__Group_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0__2"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0__2__Impl"
    // InternalRosetta.g:17557:1: rule__RosettaReferenceOrFunctionCall__Group_0__2__Impl : ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2__0 )? ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17561:1: ( ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2__0 )? ) )
            // InternalRosetta.g:17562:1: ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2__0 )? )
            {
            // InternalRosetta.g:17562:1: ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2__0 )? )
            // InternalRosetta.g:17563:2: ( rule__RosettaReferenceOrFunctionCall__Group_0_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getGroup_0_2()); }
            // InternalRosetta.g:17564:2: ( rule__RosettaReferenceOrFunctionCall__Group_0_2__0 )?
            int alt208=2;
            int LA208_0 = input.LA(1);
            if ( (LA208_0==73) ) {
                alt208=1;
            }
            switch (alt208) {
                case 1 :
                    // InternalRosetta.g:17564:3: rule__RosettaReferenceOrFunctionCall__Group_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaReferenceOrFunctionCall__Group_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getGroup_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0__2__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2__0"
    // InternalRosetta.g:17573:1: rule__RosettaReferenceOrFunctionCall__Group_0_2__0 : rule__RosettaReferenceOrFunctionCall__Group_0_2__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2__1 ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17577:1: ( rule__RosettaReferenceOrFunctionCall__Group_0_2__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2__1 )
            // InternalRosetta.g:17578:2: rule__RosettaReferenceOrFunctionCall__Group_0_2__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2__1
            {
            pushFollow(FOLLOW_91);
            rule__RosettaReferenceOrFunctionCall__Group_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2__0"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2__0__Impl"
    // InternalRosetta.g:17585:1: rule__RosettaReferenceOrFunctionCall__Group_0_2__0__Impl : ( ( rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0 ) ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17589:1: ( ( ( rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0 ) ) )
            // InternalRosetta.g:17590:1: ( ( rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0 ) )
            {
            // InternalRosetta.g:17590:1: ( ( rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0 ) )
            // InternalRosetta.g:17591:2: ( rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getExplicitArgumentsAssignment_0_2_0()); }
            // InternalRosetta.g:17592:2: ( rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0 )
            // InternalRosetta.g:17592:3: rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getExplicitArgumentsAssignment_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2__0__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2__1"
    // InternalRosetta.g:17600:1: rule__RosettaReferenceOrFunctionCall__Group_0_2__1 : rule__RosettaReferenceOrFunctionCall__Group_0_2__1__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2__2 ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17604:1: ( rule__RosettaReferenceOrFunctionCall__Group_0_2__1__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2__2 )
            // InternalRosetta.g:17605:2: rule__RosettaReferenceOrFunctionCall__Group_0_2__1__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2__2
            {
            pushFollow(FOLLOW_91);
            rule__RosettaReferenceOrFunctionCall__Group_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_0_2__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2__1"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2__1__Impl"
    // InternalRosetta.g:17612:1: rule__RosettaReferenceOrFunctionCall__Group_0_2__1__Impl : ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0 )? ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17616:1: ( ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0 )? ) )
            // InternalRosetta.g:17617:1: ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0 )? )
            {
            // InternalRosetta.g:17617:1: ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0 )? )
            // InternalRosetta.g:17618:2: ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getGroup_0_2_1()); }
            // InternalRosetta.g:17619:2: ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0 )?
            int alt209=2;
            int LA209_0 = input.LA(1);
            if ( ((LA209_0>=RULE_STRING && LA209_0<=RULE_INT)||(LA209_0>=12 && LA209_0<=20)||(LA209_0>=26 && LA209_0<=29)||(LA209_0>=32 && LA209_0<=39)||(LA209_0>=49 && LA209_0<=50)||(LA209_0>=55 && LA209_0<=58)||LA209_0==61||LA209_0==65||LA209_0==73||LA209_0==79||LA209_0==103||(LA209_0>=105 && LA209_0<=106)||LA209_0==114||(LA209_0>=119 && LA209_0<=120)||LA209_0==136||(LA209_0>=138 && LA209_0<=162)) ) {
                alt209=1;
            }
            switch (alt209) {
                case 1 :
                    // InternalRosetta.g:17619:3: rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getGroup_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2__1__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2__2"
    // InternalRosetta.g:17627:1: rule__RosettaReferenceOrFunctionCall__Group_0_2__2 : rule__RosettaReferenceOrFunctionCall__Group_0_2__2__Impl ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17631:1: ( rule__RosettaReferenceOrFunctionCall__Group_0_2__2__Impl )
            // InternalRosetta.g:17632:2: rule__RosettaReferenceOrFunctionCall__Group_0_2__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_0_2__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2__2"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2__2__Impl"
    // InternalRosetta.g:17638:1: rule__RosettaReferenceOrFunctionCall__Group_0_2__2__Impl : ( ')' ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17642:1: ( ( ')' ) )
            // InternalRosetta.g:17643:1: ( ')' )
            {
            // InternalRosetta.g:17643:1: ( ')' )
            // InternalRosetta.g:17644:2: ')'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRightParenthesisKeyword_0_2_2()); }
            match(input,74,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRightParenthesisKeyword_0_2_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2__2__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0"
    // InternalRosetta.g:17654:1: rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0 : rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1 ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17658:1: ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1 )
            // InternalRosetta.g:17659:2: rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1
            {
            pushFollow(FOLLOW_41);
            rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0__Impl"
    // InternalRosetta.g:17666:1: rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0__Impl : ( ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0 ) ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17670:1: ( ( ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0 ) ) )
            // InternalRosetta.g:17671:1: ( ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0 ) )
            {
            // InternalRosetta.g:17671:1: ( ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0 ) )
            // InternalRosetta.g:17672:2: ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRawArgsAssignment_0_2_1_0()); }
            // InternalRosetta.g:17673:2: ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0 )
            // InternalRosetta.g:17673:3: rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRawArgsAssignment_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2_1__0__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1"
    // InternalRosetta.g:17681:1: rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1 : rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1__Impl ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17685:1: ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1__Impl )
            // InternalRosetta.g:17686:2: rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1__Impl"
    // InternalRosetta.g:17692:1: rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1__Impl : ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0 )* ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17696:1: ( ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0 )* ) )
            // InternalRosetta.g:17697:1: ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0 )* )
            {
            // InternalRosetta.g:17697:1: ( ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0 )* )
            // InternalRosetta.g:17698:2: ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getGroup_0_2_1_1()); }
            // InternalRosetta.g:17699:2: ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0 )*
            loop210:
            do {
                int alt210=2;
                int LA210_0 = input.LA(1);
                if ( (LA210_0==40) ) {
                    alt210=1;
                }
                switch (alt210) {
            	case 1 :
            	    // InternalRosetta.g:17699:3: rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop210;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getGroup_0_2_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2_1__1__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0"
    // InternalRosetta.g:17708:1: rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0 : rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1 ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17712:1: ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1 )
            // InternalRosetta.g:17713:2: rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0__Impl rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1
            {
            pushFollow(FOLLOW_34);
            rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0__Impl"
    // InternalRosetta.g:17720:1: rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0__Impl : ( ',' ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17724:1: ( ( ',' ) )
            // InternalRosetta.g:17725:1: ( ',' )
            {
            // InternalRosetta.g:17725:1: ( ',' )
            // InternalRosetta.g:17726:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getCommaKeyword_0_2_1_1_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getCommaKeyword_0_2_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__0__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1"
    // InternalRosetta.g:17735:1: rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1 : rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1__Impl ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17739:1: ( rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1__Impl )
            // InternalRosetta.g:17740:2: rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1__Impl"
    // InternalRosetta.g:17746:1: rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1__Impl : ( ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1 ) ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17750:1: ( ( ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1 ) ) )
            // InternalRosetta.g:17751:1: ( ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1 ) )
            {
            // InternalRosetta.g:17751:1: ( ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1 ) )
            // InternalRosetta.g:17752:2: ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRawArgsAssignment_0_2_1_1_1()); }
            // InternalRosetta.g:17753:2: ( rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1 )
            // InternalRosetta.g:17753:3: rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRawArgsAssignment_0_2_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_0_2_1_1__1__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_1__0"
    // InternalRosetta.g:17762:1: rule__RosettaReferenceOrFunctionCall__Group_1__0 : rule__RosettaReferenceOrFunctionCall__Group_1__0__Impl rule__RosettaReferenceOrFunctionCall__Group_1__1 ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17766:1: ( rule__RosettaReferenceOrFunctionCall__Group_1__0__Impl rule__RosettaReferenceOrFunctionCall__Group_1__1 )
            // InternalRosetta.g:17767:2: rule__RosettaReferenceOrFunctionCall__Group_1__0__Impl rule__RosettaReferenceOrFunctionCall__Group_1__1
            {
            pushFollow(FOLLOW_92);
            rule__RosettaReferenceOrFunctionCall__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_1__0"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_1__0__Impl"
    // InternalRosetta.g:17774:1: rule__RosettaReferenceOrFunctionCall__Group_1__0__Impl : ( () ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17778:1: ( ( () ) )
            // InternalRosetta.g:17779:1: ( () )
            {
            // InternalRosetta.g:17779:1: ( () )
            // InternalRosetta.g:17780:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRosettaImplicitVariableAction_1_0()); }
            // InternalRosetta.g:17781:2: ()
            // InternalRosetta.g:17781:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRosettaImplicitVariableAction_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_1__1"
    // InternalRosetta.g:17789:1: rule__RosettaReferenceOrFunctionCall__Group_1__1 : rule__RosettaReferenceOrFunctionCall__Group_1__1__Impl ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17793:1: ( rule__RosettaReferenceOrFunctionCall__Group_1__1__Impl )
            // InternalRosetta.g:17794:2: rule__RosettaReferenceOrFunctionCall__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_1__1"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__Group_1__1__Impl"
    // InternalRosetta.g:17800:1: rule__RosettaReferenceOrFunctionCall__Group_1__1__Impl : ( ( rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1 ) ) ;
    public final void rule__RosettaReferenceOrFunctionCall__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17804:1: ( ( ( rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1 ) ) )
            // InternalRosetta.g:17805:1: ( ( rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1 ) )
            {
            // InternalRosetta.g:17805:1: ( ( rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1 ) )
            // InternalRosetta.g:17806:2: ( rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getNameAssignment_1_1()); }
            // InternalRosetta.g:17807:2: ( rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1 )
            // InternalRosetta.g:17807:3: rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getNameAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaBooleanLiteral__Group_1__0"
    // InternalRosetta.g:17816:1: rule__RosettaBooleanLiteral__Group_1__0 : rule__RosettaBooleanLiteral__Group_1__0__Impl rule__RosettaBooleanLiteral__Group_1__1 ;
    public final void rule__RosettaBooleanLiteral__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17820:1: ( rule__RosettaBooleanLiteral__Group_1__0__Impl rule__RosettaBooleanLiteral__Group_1__1 )
            // InternalRosetta.g:17821:2: rule__RosettaBooleanLiteral__Group_1__0__Impl rule__RosettaBooleanLiteral__Group_1__1
            {
            pushFollow(FOLLOW_93);
            rule__RosettaBooleanLiteral__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaBooleanLiteral__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBooleanLiteral__Group_1__0"
    // $ANTLR start "rule__RosettaBooleanLiteral__Group_1__0__Impl"
    // InternalRosetta.g:17828:1: rule__RosettaBooleanLiteral__Group_1__0__Impl : ( () ) ;
    public final void rule__RosettaBooleanLiteral__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17832:1: ( ( () ) )
            // InternalRosetta.g:17833:1: ( () )
            {
            // InternalRosetta.g:17833:1: ( () )
            // InternalRosetta.g:17834:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBooleanLiteralAccess().getRosettaBooleanLiteralAction_1_0()); }
            // InternalRosetta.g:17835:2: ()
            // InternalRosetta.g:17835:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBooleanLiteralAccess().getRosettaBooleanLiteralAction_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaBooleanLiteral__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaBooleanLiteral__Group_1__1"
    // InternalRosetta.g:17843:1: rule__RosettaBooleanLiteral__Group_1__1 : rule__RosettaBooleanLiteral__Group_1__1__Impl ;
    public final void rule__RosettaBooleanLiteral__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17847:1: ( rule__RosettaBooleanLiteral__Group_1__1__Impl )
            // InternalRosetta.g:17848:2: rule__RosettaBooleanLiteral__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaBooleanLiteral__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBooleanLiteral__Group_1__1"
    // $ANTLR start "rule__RosettaBooleanLiteral__Group_1__1__Impl"
    // InternalRosetta.g:17854:1: rule__RosettaBooleanLiteral__Group_1__1__Impl : ( 'False' ) ;
    public final void rule__RosettaBooleanLiteral__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17858:1: ( ( 'False' ) )
            // InternalRosetta.g:17859:1: ( 'False' )
            {
            // InternalRosetta.g:17859:1: ( 'False' )
            // InternalRosetta.g:17860:2: 'False'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBooleanLiteralAccess().getFalseKeyword_1_1()); }
            match(input,114,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBooleanLiteralAccess().getFalseKeyword_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBooleanLiteral__Group_1__1__Impl"
    // $ANTLR start "rule__BigDecimal__Group__0"
    // InternalRosetta.g:17870:1: rule__BigDecimal__Group__0 : rule__BigDecimal__Group__0__Impl rule__BigDecimal__Group__1 ;
    public final void rule__BigDecimal__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17874:1: ( rule__BigDecimal__Group__0__Impl rule__BigDecimal__Group__1 )
            // InternalRosetta.g:17875:2: rule__BigDecimal__Group__0__Impl rule__BigDecimal__Group__1
            {
            pushFollow(FOLLOW_94);
            rule__BigDecimal__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group__0"
    // $ANTLR start "rule__BigDecimal__Group__0__Impl"
    // InternalRosetta.g:17882:1: rule__BigDecimal__Group__0__Impl : ( ( rule__BigDecimal__Alternatives_0 )? ) ;
    public final void rule__BigDecimal__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17886:1: ( ( ( rule__BigDecimal__Alternatives_0 )? ) )
            // InternalRosetta.g:17887:1: ( ( rule__BigDecimal__Alternatives_0 )? )
            {
            // InternalRosetta.g:17887:1: ( ( rule__BigDecimal__Alternatives_0 )? )
            // InternalRosetta.g:17888:2: ( rule__BigDecimal__Alternatives_0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getAlternatives_0()); }
            // InternalRosetta.g:17889:2: ( rule__BigDecimal__Alternatives_0 )?
            int alt211=2;
            int LA211_0 = input.LA(1);
            if ( ((LA211_0>=28 && LA211_0<=29)) ) {
                alt211=1;
            }
            switch (alt211) {
                case 1 :
                    // InternalRosetta.g:17889:3: rule__BigDecimal__Alternatives_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__BigDecimal__Alternatives_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getAlternatives_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group__0__Impl"
    // $ANTLR start "rule__BigDecimal__Group__1"
    // InternalRosetta.g:17897:1: rule__BigDecimal__Group__1 : rule__BigDecimal__Group__1__Impl rule__BigDecimal__Group__2 ;
    public final void rule__BigDecimal__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17901:1: ( rule__BigDecimal__Group__1__Impl rule__BigDecimal__Group__2 )
            // InternalRosetta.g:17902:2: rule__BigDecimal__Group__1__Impl rule__BigDecimal__Group__2
            {
            pushFollow(FOLLOW_95);
            rule__BigDecimal__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group__1"
    // $ANTLR start "rule__BigDecimal__Group__1__Impl"
    // InternalRosetta.g:17909:1: rule__BigDecimal__Group__1__Impl : ( ( rule__BigDecimal__Alternatives_1 ) ) ;
    public final void rule__BigDecimal__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17913:1: ( ( ( rule__BigDecimal__Alternatives_1 ) ) )
            // InternalRosetta.g:17914:1: ( ( rule__BigDecimal__Alternatives_1 ) )
            {
            // InternalRosetta.g:17914:1: ( ( rule__BigDecimal__Alternatives_1 ) )
            // InternalRosetta.g:17915:2: ( rule__BigDecimal__Alternatives_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getAlternatives_1()); }
            // InternalRosetta.g:17916:2: ( rule__BigDecimal__Alternatives_1 )
            // InternalRosetta.g:17916:3: rule__BigDecimal__Alternatives_1
            {
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Alternatives_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getAlternatives_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group__1__Impl"
    // $ANTLR start "rule__BigDecimal__Group__2"
    // InternalRosetta.g:17924:1: rule__BigDecimal__Group__2 : rule__BigDecimal__Group__2__Impl ;
    public final void rule__BigDecimal__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17928:1: ( rule__BigDecimal__Group__2__Impl )
            // InternalRosetta.g:17929:2: rule__BigDecimal__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group__2"
    // $ANTLR start "rule__BigDecimal__Group__2__Impl"
    // InternalRosetta.g:17935:1: rule__BigDecimal__Group__2__Impl : ( ( rule__BigDecimal__Alternatives_2 )? ) ;
    public final void rule__BigDecimal__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17939:1: ( ( ( rule__BigDecimal__Alternatives_2 )? ) )
            // InternalRosetta.g:17940:1: ( ( rule__BigDecimal__Alternatives_2 )? )
            {
            // InternalRosetta.g:17940:1: ( ( rule__BigDecimal__Alternatives_2 )? )
            // InternalRosetta.g:17941:2: ( rule__BigDecimal__Alternatives_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getAlternatives_2()); }
            // InternalRosetta.g:17942:2: ( rule__BigDecimal__Alternatives_2 )?
            int alt212=2;
            int LA212_0 = input.LA(1);
            if ( (LA212_0==RULE_ID||(LA212_0>=30 && LA212_0<=31)) ) {
                alt212=1;
            }
            switch (alt212) {
                case 1 :
                    // InternalRosetta.g:17942:3: rule__BigDecimal__Alternatives_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__BigDecimal__Alternatives_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getAlternatives_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group__2__Impl"
    // $ANTLR start "rule__BigDecimal__Group_1_0__0"
    // InternalRosetta.g:17951:1: rule__BigDecimal__Group_1_0__0 : rule__BigDecimal__Group_1_0__0__Impl rule__BigDecimal__Group_1_0__1 ;
    public final void rule__BigDecimal__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17955:1: ( rule__BigDecimal__Group_1_0__0__Impl rule__BigDecimal__Group_1_0__1 )
            // InternalRosetta.g:17956:2: rule__BigDecimal__Group_1_0__0__Impl rule__BigDecimal__Group_1_0__1
            {
            pushFollow(FOLLOW_57);
            rule__BigDecimal__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_0__0"
    // $ANTLR start "rule__BigDecimal__Group_1_0__0__Impl"
    // InternalRosetta.g:17963:1: rule__BigDecimal__Group_1_0__0__Impl : ( '.' ) ;
    public final void rule__BigDecimal__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17967:1: ( ( '.' ) )
            // InternalRosetta.g:17968:1: ( '.' )
            {
            // InternalRosetta.g:17968:1: ( '.' )
            // InternalRosetta.g:17969:2: '.'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getFullStopKeyword_1_0_0()); }
            match(input,61,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getFullStopKeyword_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_0__0__Impl"
    // $ANTLR start "rule__BigDecimal__Group_1_0__1"
    // InternalRosetta.g:17978:1: rule__BigDecimal__Group_1_0__1 : rule__BigDecimal__Group_1_0__1__Impl ;
    public final void rule__BigDecimal__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17982:1: ( rule__BigDecimal__Group_1_0__1__Impl )
            // InternalRosetta.g:17983:2: rule__BigDecimal__Group_1_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_0__1"
    // $ANTLR start "rule__BigDecimal__Group_1_0__1__Impl"
    // InternalRosetta.g:17989:1: rule__BigDecimal__Group_1_0__1__Impl : ( RULE_INT ) ;
    public final void rule__BigDecimal__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:17993:1: ( ( RULE_INT ) )
            // InternalRosetta.g:17994:1: ( RULE_INT )
            {
            // InternalRosetta.g:17994:1: ( RULE_INT )
            // InternalRosetta.g:17995:2: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getINTTerminalRuleCall_1_0_1()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getINTTerminalRuleCall_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_0__1__Impl"
    // $ANTLR start "rule__BigDecimal__Group_1_1__0"
    // InternalRosetta.g:18005:1: rule__BigDecimal__Group_1_1__0 : rule__BigDecimal__Group_1_1__0__Impl rule__BigDecimal__Group_1_1__1 ;
    public final void rule__BigDecimal__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18009:1: ( rule__BigDecimal__Group_1_1__0__Impl rule__BigDecimal__Group_1_1__1 )
            // InternalRosetta.g:18010:2: rule__BigDecimal__Group_1_1__0__Impl rule__BigDecimal__Group_1_1__1
            {
            pushFollow(FOLLOW_11);
            rule__BigDecimal__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_1__0"
    // $ANTLR start "rule__BigDecimal__Group_1_1__0__Impl"
    // InternalRosetta.g:18017:1: rule__BigDecimal__Group_1_1__0__Impl : ( RULE_INT ) ;
    public final void rule__BigDecimal__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18021:1: ( ( RULE_INT ) )
            // InternalRosetta.g:18022:1: ( RULE_INT )
            {
            // InternalRosetta.g:18022:1: ( RULE_INT )
            // InternalRosetta.g:18023:2: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getINTTerminalRuleCall_1_1_0()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getINTTerminalRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_1__0__Impl"
    // $ANTLR start "rule__BigDecimal__Group_1_1__1"
    // InternalRosetta.g:18032:1: rule__BigDecimal__Group_1_1__1 : rule__BigDecimal__Group_1_1__1__Impl ;
    public final void rule__BigDecimal__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18036:1: ( rule__BigDecimal__Group_1_1__1__Impl )
            // InternalRosetta.g:18037:2: rule__BigDecimal__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_1__1"
    // $ANTLR start "rule__BigDecimal__Group_1_1__1__Impl"
    // InternalRosetta.g:18043:1: rule__BigDecimal__Group_1_1__1__Impl : ( '.' ) ;
    public final void rule__BigDecimal__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18047:1: ( ( '.' ) )
            // InternalRosetta.g:18048:1: ( '.' )
            {
            // InternalRosetta.g:18048:1: ( '.' )
            // InternalRosetta.g:18049:2: '.'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getFullStopKeyword_1_1_1()); }
            match(input,61,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getFullStopKeyword_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_1__1__Impl"
    // $ANTLR start "rule__BigDecimal__Group_1_2__0"
    // InternalRosetta.g:18059:1: rule__BigDecimal__Group_1_2__0 : rule__BigDecimal__Group_1_2__0__Impl rule__BigDecimal__Group_1_2__1 ;
    public final void rule__BigDecimal__Group_1_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18063:1: ( rule__BigDecimal__Group_1_2__0__Impl rule__BigDecimal__Group_1_2__1 )
            // InternalRosetta.g:18064:2: rule__BigDecimal__Group_1_2__0__Impl rule__BigDecimal__Group_1_2__1
            {
            pushFollow(FOLLOW_11);
            rule__BigDecimal__Group_1_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group_1_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_2__0"
    // $ANTLR start "rule__BigDecimal__Group_1_2__0__Impl"
    // InternalRosetta.g:18071:1: rule__BigDecimal__Group_1_2__0__Impl : ( RULE_INT ) ;
    public final void rule__BigDecimal__Group_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18075:1: ( ( RULE_INT ) )
            // InternalRosetta.g:18076:1: ( RULE_INT )
            {
            // InternalRosetta.g:18076:1: ( RULE_INT )
            // InternalRosetta.g:18077:2: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getINTTerminalRuleCall_1_2_0()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getINTTerminalRuleCall_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_2__0__Impl"
    // $ANTLR start "rule__BigDecimal__Group_1_2__1"
    // InternalRosetta.g:18086:1: rule__BigDecimal__Group_1_2__1 : rule__BigDecimal__Group_1_2__1__Impl rule__BigDecimal__Group_1_2__2 ;
    public final void rule__BigDecimal__Group_1_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18090:1: ( rule__BigDecimal__Group_1_2__1__Impl rule__BigDecimal__Group_1_2__2 )
            // InternalRosetta.g:18091:2: rule__BigDecimal__Group_1_2__1__Impl rule__BigDecimal__Group_1_2__2
            {
            pushFollow(FOLLOW_57);
            rule__BigDecimal__Group_1_2__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group_1_2__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_2__1"
    // $ANTLR start "rule__BigDecimal__Group_1_2__1__Impl"
    // InternalRosetta.g:18098:1: rule__BigDecimal__Group_1_2__1__Impl : ( '.' ) ;
    public final void rule__BigDecimal__Group_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18102:1: ( ( '.' ) )
            // InternalRosetta.g:18103:1: ( '.' )
            {
            // InternalRosetta.g:18103:1: ( '.' )
            // InternalRosetta.g:18104:2: '.'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getFullStopKeyword_1_2_1()); }
            match(input,61,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getFullStopKeyword_1_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_2__1__Impl"
    // $ANTLR start "rule__BigDecimal__Group_1_2__2"
    // InternalRosetta.g:18113:1: rule__BigDecimal__Group_1_2__2 : rule__BigDecimal__Group_1_2__2__Impl ;
    public final void rule__BigDecimal__Group_1_2__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18117:1: ( rule__BigDecimal__Group_1_2__2__Impl )
            // InternalRosetta.g:18118:2: rule__BigDecimal__Group_1_2__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group_1_2__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_2__2"
    // $ANTLR start "rule__BigDecimal__Group_1_2__2__Impl"
    // InternalRosetta.g:18124:1: rule__BigDecimal__Group_1_2__2__Impl : ( RULE_INT ) ;
    public final void rule__BigDecimal__Group_1_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18128:1: ( ( RULE_INT ) )
            // InternalRosetta.g:18129:1: ( RULE_INT )
            {
            // InternalRosetta.g:18129:1: ( RULE_INT )
            // InternalRosetta.g:18130:2: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getINTTerminalRuleCall_1_2_2()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getINTTerminalRuleCall_1_2_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_1_2__2__Impl"
    // $ANTLR start "rule__BigDecimal__Group_2_0__0"
    // InternalRosetta.g:18140:1: rule__BigDecimal__Group_2_0__0 : rule__BigDecimal__Group_2_0__0__Impl rule__BigDecimal__Group_2_0__1 ;
    public final void rule__BigDecimal__Group_2_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18144:1: ( rule__BigDecimal__Group_2_0__0__Impl rule__BigDecimal__Group_2_0__1 )
            // InternalRosetta.g:18145:2: rule__BigDecimal__Group_2_0__0__Impl rule__BigDecimal__Group_2_0__1
            {
            pushFollow(FOLLOW_96);
            rule__BigDecimal__Group_2_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group_2_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_2_0__0"
    // $ANTLR start "rule__BigDecimal__Group_2_0__0__Impl"
    // InternalRosetta.g:18152:1: rule__BigDecimal__Group_2_0__0__Impl : ( ( rule__BigDecimal__Alternatives_2_0_0 ) ) ;
    public final void rule__BigDecimal__Group_2_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18156:1: ( ( ( rule__BigDecimal__Alternatives_2_0_0 ) ) )
            // InternalRosetta.g:18157:1: ( ( rule__BigDecimal__Alternatives_2_0_0 ) )
            {
            // InternalRosetta.g:18157:1: ( ( rule__BigDecimal__Alternatives_2_0_0 ) )
            // InternalRosetta.g:18158:2: ( rule__BigDecimal__Alternatives_2_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getAlternatives_2_0_0()); }
            // InternalRosetta.g:18159:2: ( rule__BigDecimal__Alternatives_2_0_0 )
            // InternalRosetta.g:18159:3: rule__BigDecimal__Alternatives_2_0_0
            {
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Alternatives_2_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getAlternatives_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_2_0__0__Impl"
    // $ANTLR start "rule__BigDecimal__Group_2_0__1"
    // InternalRosetta.g:18167:1: rule__BigDecimal__Group_2_0__1 : rule__BigDecimal__Group_2_0__1__Impl rule__BigDecimal__Group_2_0__2 ;
    public final void rule__BigDecimal__Group_2_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18171:1: ( rule__BigDecimal__Group_2_0__1__Impl rule__BigDecimal__Group_2_0__2 )
            // InternalRosetta.g:18172:2: rule__BigDecimal__Group_2_0__1__Impl rule__BigDecimal__Group_2_0__2
            {
            pushFollow(FOLLOW_57);
            rule__BigDecimal__Group_2_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group_2_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_2_0__1"
    // $ANTLR start "rule__BigDecimal__Group_2_0__1__Impl"
    // InternalRosetta.g:18179:1: rule__BigDecimal__Group_2_0__1__Impl : ( ( rule__BigDecimal__Alternatives_2_0_1 ) ) ;
    public final void rule__BigDecimal__Group_2_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18183:1: ( ( ( rule__BigDecimal__Alternatives_2_0_1 ) ) )
            // InternalRosetta.g:18184:1: ( ( rule__BigDecimal__Alternatives_2_0_1 ) )
            {
            // InternalRosetta.g:18184:1: ( ( rule__BigDecimal__Alternatives_2_0_1 ) )
            // InternalRosetta.g:18185:2: ( rule__BigDecimal__Alternatives_2_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getAlternatives_2_0_1()); }
            // InternalRosetta.g:18186:2: ( rule__BigDecimal__Alternatives_2_0_1 )
            // InternalRosetta.g:18186:3: rule__BigDecimal__Alternatives_2_0_1
            {
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Alternatives_2_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getAlternatives_2_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_2_0__1__Impl"
    // $ANTLR start "rule__BigDecimal__Group_2_0__2"
    // InternalRosetta.g:18194:1: rule__BigDecimal__Group_2_0__2 : rule__BigDecimal__Group_2_0__2__Impl ;
    public final void rule__BigDecimal__Group_2_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18198:1: ( rule__BigDecimal__Group_2_0__2__Impl )
            // InternalRosetta.g:18199:2: rule__BigDecimal__Group_2_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__BigDecimal__Group_2_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_2_0__2"
    // $ANTLR start "rule__BigDecimal__Group_2_0__2__Impl"
    // InternalRosetta.g:18205:1: rule__BigDecimal__Group_2_0__2__Impl : ( RULE_INT ) ;
    public final void rule__BigDecimal__Group_2_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18209:1: ( ( RULE_INT ) )
            // InternalRosetta.g:18210:1: ( RULE_INT )
            {
            // InternalRosetta.g:18210:1: ( RULE_INT )
            // InternalRosetta.g:18211:2: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getBigDecimalAccess().getINTTerminalRuleCall_2_0_2()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getBigDecimalAccess().getINTTerminalRuleCall_2_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__BigDecimal__Group_2_0__2__Impl"
    // $ANTLR start "rule__Integer__Group__0"
    // InternalRosetta.g:18221:1: rule__Integer__Group__0 : rule__Integer__Group__0__Impl rule__Integer__Group__1 ;
    public final void rule__Integer__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18225:1: ( rule__Integer__Group__0__Impl rule__Integer__Group__1 )
            // InternalRosetta.g:18226:2: rule__Integer__Group__0__Impl rule__Integer__Group__1
            {
            pushFollow(FOLLOW_97);
            rule__Integer__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__Integer__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Integer__Group__0"
    // $ANTLR start "rule__Integer__Group__0__Impl"
    // InternalRosetta.g:18233:1: rule__Integer__Group__0__Impl : ( ( rule__Integer__Alternatives_0 )? ) ;
    public final void rule__Integer__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18237:1: ( ( ( rule__Integer__Alternatives_0 )? ) )
            // InternalRosetta.g:18238:1: ( ( rule__Integer__Alternatives_0 )? )
            {
            // InternalRosetta.g:18238:1: ( ( rule__Integer__Alternatives_0 )? )
            // InternalRosetta.g:18239:2: ( rule__Integer__Alternatives_0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getIntegerAccess().getAlternatives_0()); }
            // InternalRosetta.g:18240:2: ( rule__Integer__Alternatives_0 )?
            int alt213=2;
            int LA213_0 = input.LA(1);
            if ( ((LA213_0>=28 && LA213_0<=29)) ) {
                alt213=1;
            }
            switch (alt213) {
                case 1 :
                    // InternalRosetta.g:18240:3: rule__Integer__Alternatives_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__Integer__Alternatives_0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getIntegerAccess().getAlternatives_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Integer__Group__0__Impl"
    // $ANTLR start "rule__Integer__Group__1"
    // InternalRosetta.g:18248:1: rule__Integer__Group__1 : rule__Integer__Group__1__Impl ;
    public final void rule__Integer__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18252:1: ( rule__Integer__Group__1__Impl )
            // InternalRosetta.g:18253:2: rule__Integer__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__Integer__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Integer__Group__1"
    // $ANTLR start "rule__Integer__Group__1__Impl"
    // InternalRosetta.g:18259:1: rule__Integer__Group__1__Impl : ( RULE_INT ) ;
    public final void rule__Integer__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18263:1: ( ( RULE_INT ) )
            // InternalRosetta.g:18264:1: ( RULE_INT )
            {
            // InternalRosetta.g:18264:1: ( RULE_INT )
            // InternalRosetta.g:18265:2: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Integer__Group__1__Impl"
    // $ANTLR start "rule__RosettaQualifiableConfiguration__Group__0"
    // InternalRosetta.g:18275:1: rule__RosettaQualifiableConfiguration__Group__0 : rule__RosettaQualifiableConfiguration__Group__0__Impl rule__RosettaQualifiableConfiguration__Group__1 ;
    public final void rule__RosettaQualifiableConfiguration__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18279:1: ( rule__RosettaQualifiableConfiguration__Group__0__Impl rule__RosettaQualifiableConfiguration__Group__1 )
            // InternalRosetta.g:18280:2: rule__RosettaQualifiableConfiguration__Group__0__Impl rule__RosettaQualifiableConfiguration__Group__1
            {
            pushFollow(FOLLOW_98);
            rule__RosettaQualifiableConfiguration__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiableConfiguration__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiableConfiguration__Group__0"
    // $ANTLR start "rule__RosettaQualifiableConfiguration__Group__0__Impl"
    // InternalRosetta.g:18287:1: rule__RosettaQualifiableConfiguration__Group__0__Impl : ( ( rule__RosettaQualifiableConfiguration__QTypeAssignment_0 ) ) ;
    public final void rule__RosettaQualifiableConfiguration__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18291:1: ( ( ( rule__RosettaQualifiableConfiguration__QTypeAssignment_0 ) ) )
            // InternalRosetta.g:18292:1: ( ( rule__RosettaQualifiableConfiguration__QTypeAssignment_0 ) )
            {
            // InternalRosetta.g:18292:1: ( ( rule__RosettaQualifiableConfiguration__QTypeAssignment_0 ) )
            // InternalRosetta.g:18293:2: ( rule__RosettaQualifiableConfiguration__QTypeAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiableConfigurationAccess().getQTypeAssignment_0()); }
            // InternalRosetta.g:18294:2: ( rule__RosettaQualifiableConfiguration__QTypeAssignment_0 )
            // InternalRosetta.g:18294:3: rule__RosettaQualifiableConfiguration__QTypeAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiableConfiguration__QTypeAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiableConfigurationAccess().getQTypeAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiableConfiguration__Group__0__Impl"
    // $ANTLR start "rule__RosettaQualifiableConfiguration__Group__1"
    // InternalRosetta.g:18302:1: rule__RosettaQualifiableConfiguration__Group__1 : rule__RosettaQualifiableConfiguration__Group__1__Impl rule__RosettaQualifiableConfiguration__Group__2 ;
    public final void rule__RosettaQualifiableConfiguration__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18306:1: ( rule__RosettaQualifiableConfiguration__Group__1__Impl rule__RosettaQualifiableConfiguration__Group__2 )
            // InternalRosetta.g:18307:2: rule__RosettaQualifiableConfiguration__Group__1__Impl rule__RosettaQualifiableConfiguration__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaQualifiableConfiguration__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiableConfiguration__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiableConfiguration__Group__1"
    // $ANTLR start "rule__RosettaQualifiableConfiguration__Group__1__Impl"
    // InternalRosetta.g:18314:1: rule__RosettaQualifiableConfiguration__Group__1__Impl : ( 'root' ) ;
    public final void rule__RosettaQualifiableConfiguration__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18318:1: ( ( 'root' ) )
            // InternalRosetta.g:18319:1: ( 'root' )
            {
            // InternalRosetta.g:18319:1: ( 'root' )
            // InternalRosetta.g:18320:2: 'root'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiableConfigurationAccess().getRootKeyword_1()); }
            match(input,115,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiableConfigurationAccess().getRootKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiableConfiguration__Group__1__Impl"
    // $ANTLR start "rule__RosettaQualifiableConfiguration__Group__2"
    // InternalRosetta.g:18329:1: rule__RosettaQualifiableConfiguration__Group__2 : rule__RosettaQualifiableConfiguration__Group__2__Impl rule__RosettaQualifiableConfiguration__Group__3 ;
    public final void rule__RosettaQualifiableConfiguration__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18333:1: ( rule__RosettaQualifiableConfiguration__Group__2__Impl rule__RosettaQualifiableConfiguration__Group__3 )
            // InternalRosetta.g:18334:2: rule__RosettaQualifiableConfiguration__Group__2__Impl rule__RosettaQualifiableConfiguration__Group__3
            {
            pushFollow(FOLLOW_99);
            rule__RosettaQualifiableConfiguration__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiableConfiguration__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiableConfiguration__Group__2"
    // $ANTLR start "rule__RosettaQualifiableConfiguration__Group__2__Impl"
    // InternalRosetta.g:18341:1: rule__RosettaQualifiableConfiguration__Group__2__Impl : ( ( rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2 ) ) ;
    public final void rule__RosettaQualifiableConfiguration__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18345:1: ( ( ( rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2 ) ) )
            // InternalRosetta.g:18346:1: ( ( rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2 ) )
            {
            // InternalRosetta.g:18346:1: ( ( rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2 ) )
            // InternalRosetta.g:18347:2: ( rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiableConfigurationAccess().getRosettaClassAssignment_2()); }
            // InternalRosetta.g:18348:2: ( rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2 )
            // InternalRosetta.g:18348:3: rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiableConfigurationAccess().getRosettaClassAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiableConfiguration__Group__2__Impl"
    // $ANTLR start "rule__RosettaQualifiableConfiguration__Group__3"
    // InternalRosetta.g:18356:1: rule__RosettaQualifiableConfiguration__Group__3 : rule__RosettaQualifiableConfiguration__Group__3__Impl ;
    public final void rule__RosettaQualifiableConfiguration__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18360:1: ( rule__RosettaQualifiableConfiguration__Group__3__Impl )
            // InternalRosetta.g:18361:2: rule__RosettaQualifiableConfiguration__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaQualifiableConfiguration__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiableConfiguration__Group__3"
    // $ANTLR start "rule__RosettaQualifiableConfiguration__Group__3__Impl"
    // InternalRosetta.g:18367:1: rule__RosettaQualifiableConfiguration__Group__3__Impl : ( ';' ) ;
    public final void rule__RosettaQualifiableConfiguration__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18371:1: ( ( ';' ) )
            // InternalRosetta.g:18372:1: ( ';' )
            {
            // InternalRosetta.g:18372:1: ( ';' )
            // InternalRosetta.g:18373:2: ';'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiableConfigurationAccess().getSemicolonKeyword_3()); }
            match(input,116,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiableConfigurationAccess().getSemicolonKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiableConfiguration__Group__3__Impl"
    // $ANTLR start "rule__InlineFunction__Group__0"
    // InternalRosetta.g:18383:1: rule__InlineFunction__Group__0 : rule__InlineFunction__Group__0__Impl rule__InlineFunction__Group__1 ;
    public final void rule__InlineFunction__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18387:1: ( rule__InlineFunction__Group__0__Impl rule__InlineFunction__Group__1 )
            // InternalRosetta.g:18388:2: rule__InlineFunction__Group__0__Impl rule__InlineFunction__Group__1
            {
            pushFollow(FOLLOW_34);
            rule__InlineFunction__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group__0"
    // $ANTLR start "rule__InlineFunction__Group__0__Impl"
    // InternalRosetta.g:18395:1: rule__InlineFunction__Group__0__Impl : ( ( rule__InlineFunction__Group_0__0 ) ) ;
    public final void rule__InlineFunction__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18399:1: ( ( ( rule__InlineFunction__Group_0__0 ) ) )
            // InternalRosetta.g:18400:1: ( ( rule__InlineFunction__Group_0__0 ) )
            {
            // InternalRosetta.g:18400:1: ( ( rule__InlineFunction__Group_0__0 ) )
            // InternalRosetta.g:18401:2: ( rule__InlineFunction__Group_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getGroup_0()); }
            // InternalRosetta.g:18402:2: ( rule__InlineFunction__Group_0__0 )
            // InternalRosetta.g:18402:3: rule__InlineFunction__Group_0__0
            {
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getGroup_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group__0__Impl"
    // $ANTLR start "rule__InlineFunction__Group__1"
    // InternalRosetta.g:18410:1: rule__InlineFunction__Group__1 : rule__InlineFunction__Group__1__Impl rule__InlineFunction__Group__2 ;
    public final void rule__InlineFunction__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18414:1: ( rule__InlineFunction__Group__1__Impl rule__InlineFunction__Group__2 )
            // InternalRosetta.g:18415:2: rule__InlineFunction__Group__1__Impl rule__InlineFunction__Group__2
            {
            pushFollow(FOLLOW_20);
            rule__InlineFunction__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group__1"
    // $ANTLR start "rule__InlineFunction__Group__1__Impl"
    // InternalRosetta.g:18422:1: rule__InlineFunction__Group__1__Impl : ( ( rule__InlineFunction__BodyAssignment_1 ) ) ;
    public final void rule__InlineFunction__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18426:1: ( ( ( rule__InlineFunction__BodyAssignment_1 ) ) )
            // InternalRosetta.g:18427:1: ( ( rule__InlineFunction__BodyAssignment_1 ) )
            {
            // InternalRosetta.g:18427:1: ( ( rule__InlineFunction__BodyAssignment_1 ) )
            // InternalRosetta.g:18428:2: ( rule__InlineFunction__BodyAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getBodyAssignment_1()); }
            // InternalRosetta.g:18429:2: ( rule__InlineFunction__BodyAssignment_1 )
            // InternalRosetta.g:18429:3: rule__InlineFunction__BodyAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__InlineFunction__BodyAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getBodyAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group__1__Impl"
    // $ANTLR start "rule__InlineFunction__Group__2"
    // InternalRosetta.g:18437:1: rule__InlineFunction__Group__2 : rule__InlineFunction__Group__2__Impl ;
    public final void rule__InlineFunction__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18441:1: ( rule__InlineFunction__Group__2__Impl )
            // InternalRosetta.g:18442:2: rule__InlineFunction__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group__2"
    // $ANTLR start "rule__InlineFunction__Group__2__Impl"
    // InternalRosetta.g:18448:1: rule__InlineFunction__Group__2__Impl : ( ']' ) ;
    public final void rule__InlineFunction__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18452:1: ( ( ']' ) )
            // InternalRosetta.g:18453:1: ( ']' )
            {
            // InternalRosetta.g:18453:1: ( ']' )
            // InternalRosetta.g:18454:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getRightSquareBracketKeyword_2()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getRightSquareBracketKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group__2__Impl"
    // $ANTLR start "rule__InlineFunction__Group_0__0"
    // InternalRosetta.g:18464:1: rule__InlineFunction__Group_0__0 : rule__InlineFunction__Group_0__0__Impl ;
    public final void rule__InlineFunction__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18468:1: ( rule__InlineFunction__Group_0__0__Impl )
            // InternalRosetta.g:18469:2: rule__InlineFunction__Group_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0__0"
    // $ANTLR start "rule__InlineFunction__Group_0__0__Impl"
    // InternalRosetta.g:18475:1: rule__InlineFunction__Group_0__0__Impl : ( ( rule__InlineFunction__Group_0_0__0 ) ) ;
    public final void rule__InlineFunction__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18479:1: ( ( ( rule__InlineFunction__Group_0_0__0 ) ) )
            // InternalRosetta.g:18480:1: ( ( rule__InlineFunction__Group_0_0__0 ) )
            {
            // InternalRosetta.g:18480:1: ( ( rule__InlineFunction__Group_0_0__0 ) )
            // InternalRosetta.g:18481:2: ( rule__InlineFunction__Group_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getGroup_0_0()); }
            // InternalRosetta.g:18482:2: ( rule__InlineFunction__Group_0_0__0 )
            // InternalRosetta.g:18482:3: rule__InlineFunction__Group_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getGroup_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0__0__Impl"
    // $ANTLR start "rule__InlineFunction__Group_0_0__0"
    // InternalRosetta.g:18491:1: rule__InlineFunction__Group_0_0__0 : rule__InlineFunction__Group_0_0__0__Impl rule__InlineFunction__Group_0_0__1 ;
    public final void rule__InlineFunction__Group_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18495:1: ( rule__InlineFunction__Group_0_0__0__Impl rule__InlineFunction__Group_0_0__1 )
            // InternalRosetta.g:18496:2: rule__InlineFunction__Group_0_0__0__Impl rule__InlineFunction__Group_0_0__1
            {
            pushFollow(FOLLOW_39);
            rule__InlineFunction__Group_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0__0"
    // $ANTLR start "rule__InlineFunction__Group_0_0__0__Impl"
    // InternalRosetta.g:18503:1: rule__InlineFunction__Group_0_0__0__Impl : ( ( rule__InlineFunction__Group_0_0_0__0 )? ) ;
    public final void rule__InlineFunction__Group_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18507:1: ( ( ( rule__InlineFunction__Group_0_0_0__0 )? ) )
            // InternalRosetta.g:18508:1: ( ( rule__InlineFunction__Group_0_0_0__0 )? )
            {
            // InternalRosetta.g:18508:1: ( ( rule__InlineFunction__Group_0_0_0__0 )? )
            // InternalRosetta.g:18509:2: ( rule__InlineFunction__Group_0_0_0__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getGroup_0_0_0()); }
            // InternalRosetta.g:18510:2: ( rule__InlineFunction__Group_0_0_0__0 )?
            int alt214=2;
            int LA214_0 = input.LA(1);
            if ( (LA214_0==RULE_ID) ) {
                alt214=1;
            }
            switch (alt214) {
                case 1 :
                    // InternalRosetta.g:18510:3: rule__InlineFunction__Group_0_0_0__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__InlineFunction__Group_0_0_0__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getGroup_0_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0__0__Impl"
    // $ANTLR start "rule__InlineFunction__Group_0_0__1"
    // InternalRosetta.g:18518:1: rule__InlineFunction__Group_0_0__1 : rule__InlineFunction__Group_0_0__1__Impl ;
    public final void rule__InlineFunction__Group_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18522:1: ( rule__InlineFunction__Group_0_0__1__Impl )
            // InternalRosetta.g:18523:2: rule__InlineFunction__Group_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0__1"
    // $ANTLR start "rule__InlineFunction__Group_0_0__1__Impl"
    // InternalRosetta.g:18529:1: rule__InlineFunction__Group_0_0__1__Impl : ( '[' ) ;
    public final void rule__InlineFunction__Group_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18533:1: ( ( '[' ) )
            // InternalRosetta.g:18534:1: ( '[' )
            {
            // InternalRosetta.g:18534:1: ( '[' )
            // InternalRosetta.g:18535:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getLeftSquareBracketKeyword_0_0_1()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getLeftSquareBracketKeyword_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0__1__Impl"
    // $ANTLR start "rule__InlineFunction__Group_0_0_0__0"
    // InternalRosetta.g:18545:1: rule__InlineFunction__Group_0_0_0__0 : rule__InlineFunction__Group_0_0_0__0__Impl rule__InlineFunction__Group_0_0_0__1 ;
    public final void rule__InlineFunction__Group_0_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18549:1: ( rule__InlineFunction__Group_0_0_0__0__Impl rule__InlineFunction__Group_0_0_0__1 )
            // InternalRosetta.g:18550:2: rule__InlineFunction__Group_0_0_0__0__Impl rule__InlineFunction__Group_0_0_0__1
            {
            pushFollow(FOLLOW_41);
            rule__InlineFunction__Group_0_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group_0_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0_0__0"
    // $ANTLR start "rule__InlineFunction__Group_0_0_0__0__Impl"
    // InternalRosetta.g:18557:1: rule__InlineFunction__Group_0_0_0__0__Impl : ( ( rule__InlineFunction__ParametersAssignment_0_0_0_0 ) ) ;
    public final void rule__InlineFunction__Group_0_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18561:1: ( ( ( rule__InlineFunction__ParametersAssignment_0_0_0_0 ) ) )
            // InternalRosetta.g:18562:1: ( ( rule__InlineFunction__ParametersAssignment_0_0_0_0 ) )
            {
            // InternalRosetta.g:18562:1: ( ( rule__InlineFunction__ParametersAssignment_0_0_0_0 ) )
            // InternalRosetta.g:18563:2: ( rule__InlineFunction__ParametersAssignment_0_0_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getParametersAssignment_0_0_0_0()); }
            // InternalRosetta.g:18564:2: ( rule__InlineFunction__ParametersAssignment_0_0_0_0 )
            // InternalRosetta.g:18564:3: rule__InlineFunction__ParametersAssignment_0_0_0_0
            {
            pushFollow(FOLLOW_2);
            rule__InlineFunction__ParametersAssignment_0_0_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getParametersAssignment_0_0_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0_0__0__Impl"
    // $ANTLR start "rule__InlineFunction__Group_0_0_0__1"
    // InternalRosetta.g:18572:1: rule__InlineFunction__Group_0_0_0__1 : rule__InlineFunction__Group_0_0_0__1__Impl ;
    public final void rule__InlineFunction__Group_0_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18576:1: ( rule__InlineFunction__Group_0_0_0__1__Impl )
            // InternalRosetta.g:18577:2: rule__InlineFunction__Group_0_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group_0_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0_0__1"
    // $ANTLR start "rule__InlineFunction__Group_0_0_0__1__Impl"
    // InternalRosetta.g:18583:1: rule__InlineFunction__Group_0_0_0__1__Impl : ( ( rule__InlineFunction__Group_0_0_0_1__0 )* ) ;
    public final void rule__InlineFunction__Group_0_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18587:1: ( ( ( rule__InlineFunction__Group_0_0_0_1__0 )* ) )
            // InternalRosetta.g:18588:1: ( ( rule__InlineFunction__Group_0_0_0_1__0 )* )
            {
            // InternalRosetta.g:18588:1: ( ( rule__InlineFunction__Group_0_0_0_1__0 )* )
            // InternalRosetta.g:18589:2: ( rule__InlineFunction__Group_0_0_0_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getGroup_0_0_0_1()); }
            // InternalRosetta.g:18590:2: ( rule__InlineFunction__Group_0_0_0_1__0 )*
            loop215:
            do {
                int alt215=2;
                int LA215_0 = input.LA(1);
                if ( (LA215_0==40) ) {
                    alt215=1;
                }
                switch (alt215) {
            	case 1 :
            	    // InternalRosetta.g:18590:3: rule__InlineFunction__Group_0_0_0_1__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__InlineFunction__Group_0_0_0_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop215;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getGroup_0_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0_0__1__Impl"
    // $ANTLR start "rule__InlineFunction__Group_0_0_0_1__0"
    // InternalRosetta.g:18599:1: rule__InlineFunction__Group_0_0_0_1__0 : rule__InlineFunction__Group_0_0_0_1__0__Impl rule__InlineFunction__Group_0_0_0_1__1 ;
    public final void rule__InlineFunction__Group_0_0_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18603:1: ( rule__InlineFunction__Group_0_0_0_1__0__Impl rule__InlineFunction__Group_0_0_0_1__1 )
            // InternalRosetta.g:18604:2: rule__InlineFunction__Group_0_0_0_1__0__Impl rule__InlineFunction__Group_0_0_0_1__1
            {
            pushFollow(FOLLOW_89);
            rule__InlineFunction__Group_0_0_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group_0_0_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0_0_1__0"
    // $ANTLR start "rule__InlineFunction__Group_0_0_0_1__0__Impl"
    // InternalRosetta.g:18611:1: rule__InlineFunction__Group_0_0_0_1__0__Impl : ( ',' ) ;
    public final void rule__InlineFunction__Group_0_0_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18615:1: ( ( ',' ) )
            // InternalRosetta.g:18616:1: ( ',' )
            {
            // InternalRosetta.g:18616:1: ( ',' )
            // InternalRosetta.g:18617:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getCommaKeyword_0_0_0_1_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getCommaKeyword_0_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0_0_1__0__Impl"
    // $ANTLR start "rule__InlineFunction__Group_0_0_0_1__1"
    // InternalRosetta.g:18626:1: rule__InlineFunction__Group_0_0_0_1__1 : rule__InlineFunction__Group_0_0_0_1__1__Impl ;
    public final void rule__InlineFunction__Group_0_0_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18630:1: ( rule__InlineFunction__Group_0_0_0_1__1__Impl )
            // InternalRosetta.g:18631:2: rule__InlineFunction__Group_0_0_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__InlineFunction__Group_0_0_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0_0_1__1"
    // $ANTLR start "rule__InlineFunction__Group_0_0_0_1__1__Impl"
    // InternalRosetta.g:18637:1: rule__InlineFunction__Group_0_0_0_1__1__Impl : ( ( rule__InlineFunction__ParametersAssignment_0_0_0_1_1 ) ) ;
    public final void rule__InlineFunction__Group_0_0_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18641:1: ( ( ( rule__InlineFunction__ParametersAssignment_0_0_0_1_1 ) ) )
            // InternalRosetta.g:18642:1: ( ( rule__InlineFunction__ParametersAssignment_0_0_0_1_1 ) )
            {
            // InternalRosetta.g:18642:1: ( ( rule__InlineFunction__ParametersAssignment_0_0_0_1_1 ) )
            // InternalRosetta.g:18643:2: ( rule__InlineFunction__ParametersAssignment_0_0_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getParametersAssignment_0_0_0_1_1()); }
            // InternalRosetta.g:18644:2: ( rule__InlineFunction__ParametersAssignment_0_0_0_1_1 )
            // InternalRosetta.g:18644:3: rule__InlineFunction__ParametersAssignment_0_0_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__InlineFunction__ParametersAssignment_0_0_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getParametersAssignment_0_0_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__Group_0_0_0_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcExpressionWithAsKey__Group__0"
    // InternalRosetta.g:18653:1: rule__RosettaCalcExpressionWithAsKey__Group__0 : rule__RosettaCalcExpressionWithAsKey__Group__0__Impl rule__RosettaCalcExpressionWithAsKey__Group__1 ;
    public final void rule__RosettaCalcExpressionWithAsKey__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18657:1: ( rule__RosettaCalcExpressionWithAsKey__Group__0__Impl rule__RosettaCalcExpressionWithAsKey__Group__1 )
            // InternalRosetta.g:18658:2: rule__RosettaCalcExpressionWithAsKey__Group__0__Impl rule__RosettaCalcExpressionWithAsKey__Group__1
            {
            pushFollow(FOLLOW_100);
            rule__RosettaCalcExpressionWithAsKey__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcExpressionWithAsKey__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcExpressionWithAsKey__Group__0"
    // $ANTLR start "rule__RosettaCalcExpressionWithAsKey__Group__0__Impl"
    // InternalRosetta.g:18665:1: rule__RosettaCalcExpressionWithAsKey__Group__0__Impl : ( ruleRosettaCalcExpression ) ;
    public final void rule__RosettaCalcExpressionWithAsKey__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18669:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:18670:1: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:18670:1: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:18671:2: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getRosettaCalcExpressionParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getRosettaCalcExpressionParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcExpressionWithAsKey__Group__0__Impl"
    // $ANTLR start "rule__RosettaCalcExpressionWithAsKey__Group__1"
    // InternalRosetta.g:18680:1: rule__RosettaCalcExpressionWithAsKey__Group__1 : rule__RosettaCalcExpressionWithAsKey__Group__1__Impl ;
    public final void rule__RosettaCalcExpressionWithAsKey__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18684:1: ( rule__RosettaCalcExpressionWithAsKey__Group__1__Impl )
            // InternalRosetta.g:18685:2: rule__RosettaCalcExpressionWithAsKey__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcExpressionWithAsKey__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcExpressionWithAsKey__Group__1"
    // $ANTLR start "rule__RosettaCalcExpressionWithAsKey__Group__1__Impl"
    // InternalRosetta.g:18691:1: rule__RosettaCalcExpressionWithAsKey__Group__1__Impl : ( ( rule__RosettaCalcExpressionWithAsKey__Group_1__0 )? ) ;
    public final void rule__RosettaCalcExpressionWithAsKey__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18695:1: ( ( ( rule__RosettaCalcExpressionWithAsKey__Group_1__0 )? ) )
            // InternalRosetta.g:18696:1: ( ( rule__RosettaCalcExpressionWithAsKey__Group_1__0 )? )
            {
            // InternalRosetta.g:18696:1: ( ( rule__RosettaCalcExpressionWithAsKey__Group_1__0 )? )
            // InternalRosetta.g:18697:2: ( rule__RosettaCalcExpressionWithAsKey__Group_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getGroup_1()); }
            // InternalRosetta.g:18698:2: ( rule__RosettaCalcExpressionWithAsKey__Group_1__0 )?
            int alt216=2;
            int LA216_0 = input.LA(1);
            if ( (LA216_0==137) ) {
                alt216=1;
            }
            switch (alt216) {
                case 1 :
                    // InternalRosetta.g:18698:3: rule__RosettaCalcExpressionWithAsKey__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcExpressionWithAsKey__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcExpressionWithAsKey__Group__1__Impl"
    // $ANTLR start "rule__RosettaCalcExpressionWithAsKey__Group_1__0"
    // InternalRosetta.g:18707:1: rule__RosettaCalcExpressionWithAsKey__Group_1__0 : rule__RosettaCalcExpressionWithAsKey__Group_1__0__Impl ;
    public final void rule__RosettaCalcExpressionWithAsKey__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18711:1: ( rule__RosettaCalcExpressionWithAsKey__Group_1__0__Impl )
            // InternalRosetta.g:18712:2: rule__RosettaCalcExpressionWithAsKey__Group_1__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcExpressionWithAsKey__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcExpressionWithAsKey__Group_1__0"
    // $ANTLR start "rule__RosettaCalcExpressionWithAsKey__Group_1__0__Impl"
    // InternalRosetta.g:18718:1: rule__RosettaCalcExpressionWithAsKey__Group_1__0__Impl : ( ( rule__RosettaCalcExpressionWithAsKey__Group_1_0__0 ) ) ;
    public final void rule__RosettaCalcExpressionWithAsKey__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18722:1: ( ( ( rule__RosettaCalcExpressionWithAsKey__Group_1_0__0 ) ) )
            // InternalRosetta.g:18723:1: ( ( rule__RosettaCalcExpressionWithAsKey__Group_1_0__0 ) )
            {
            // InternalRosetta.g:18723:1: ( ( rule__RosettaCalcExpressionWithAsKey__Group_1_0__0 ) )
            // InternalRosetta.g:18724:2: ( rule__RosettaCalcExpressionWithAsKey__Group_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getGroup_1_0()); }
            // InternalRosetta.g:18725:2: ( rule__RosettaCalcExpressionWithAsKey__Group_1_0__0 )
            // InternalRosetta.g:18725:3: rule__RosettaCalcExpressionWithAsKey__Group_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcExpressionWithAsKey__Group_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getGroup_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcExpressionWithAsKey__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcExpressionWithAsKey__Group_1_0__0"
    // InternalRosetta.g:18734:1: rule__RosettaCalcExpressionWithAsKey__Group_1_0__0 : rule__RosettaCalcExpressionWithAsKey__Group_1_0__0__Impl rule__RosettaCalcExpressionWithAsKey__Group_1_0__1 ;
    public final void rule__RosettaCalcExpressionWithAsKey__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18738:1: ( rule__RosettaCalcExpressionWithAsKey__Group_1_0__0__Impl rule__RosettaCalcExpressionWithAsKey__Group_1_0__1 )
            // InternalRosetta.g:18739:2: rule__RosettaCalcExpressionWithAsKey__Group_1_0__0__Impl rule__RosettaCalcExpressionWithAsKey__Group_1_0__1
            {
            pushFollow(FOLLOW_100);
            rule__RosettaCalcExpressionWithAsKey__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcExpressionWithAsKey__Group_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcExpressionWithAsKey__Group_1_0__0"
    // $ANTLR start "rule__RosettaCalcExpressionWithAsKey__Group_1_0__0__Impl"
    // InternalRosetta.g:18746:1: rule__RosettaCalcExpressionWithAsKey__Group_1_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcExpressionWithAsKey__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18750:1: ( ( () ) )
            // InternalRosetta.g:18751:1: ( () )
            {
            // InternalRosetta.g:18751:1: ( () )
            // InternalRosetta.g:18752:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getAsKeyOperationArgumentAction_1_0_0()); }
            // InternalRosetta.g:18753:2: ()
            // InternalRosetta.g:18753:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getAsKeyOperationArgumentAction_1_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcExpressionWithAsKey__Group_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcExpressionWithAsKey__Group_1_0__1"
    // InternalRosetta.g:18761:1: rule__RosettaCalcExpressionWithAsKey__Group_1_0__1 : rule__RosettaCalcExpressionWithAsKey__Group_1_0__1__Impl ;
    public final void rule__RosettaCalcExpressionWithAsKey__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18765:1: ( rule__RosettaCalcExpressionWithAsKey__Group_1_0__1__Impl )
            // InternalRosetta.g:18766:2: rule__RosettaCalcExpressionWithAsKey__Group_1_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcExpressionWithAsKey__Group_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcExpressionWithAsKey__Group_1_0__1"
    // $ANTLR start "rule__RosettaCalcExpressionWithAsKey__Group_1_0__1__Impl"
    // InternalRosetta.g:18772:1: rule__RosettaCalcExpressionWithAsKey__Group_1_0__1__Impl : ( ( rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1 ) ) ;
    public final void rule__RosettaCalcExpressionWithAsKey__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18776:1: ( ( ( rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1 ) ) )
            // InternalRosetta.g:18777:1: ( ( rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1 ) )
            {
            // InternalRosetta.g:18777:1: ( ( rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1 ) )
            // InternalRosetta.g:18778:2: ( rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getOperatorAssignment_1_0_1()); }
            // InternalRosetta.g:18779:2: ( rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1 )
            // InternalRosetta.g:18779:3: rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getOperatorAssignment_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcExpressionWithAsKey__Group_1_0__1__Impl"
    // $ANTLR start "rule__ThenOperation__Group__0"
    // InternalRosetta.g:18788:1: rule__ThenOperation__Group__0 : rule__ThenOperation__Group__0__Impl rule__ThenOperation__Group__1 ;
    public final void rule__ThenOperation__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18792:1: ( rule__ThenOperation__Group__0__Impl rule__ThenOperation__Group__1 )
            // InternalRosetta.g:18793:2: rule__ThenOperation__Group__0__Impl rule__ThenOperation__Group__1
            {
            pushFollow(FOLLOW_101);
            rule__ThenOperation__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ThenOperation__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group__0"
    // $ANTLR start "rule__ThenOperation__Group__0__Impl"
    // InternalRosetta.g:18800:1: rule__ThenOperation__Group__0__Impl : ( ruleRosettaCalcOr ) ;
    public final void rule__ThenOperation__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18804:1: ( ( ruleRosettaCalcOr ) )
            // InternalRosetta.g:18805:1: ( ruleRosettaCalcOr )
            {
            // InternalRosetta.g:18805:1: ( ruleRosettaCalcOr )
            // InternalRosetta.g:18806:2: ruleRosettaCalcOr
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getRosettaCalcOrParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcOr(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getRosettaCalcOrParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group__0__Impl"
    // $ANTLR start "rule__ThenOperation__Group__1"
    // InternalRosetta.g:18815:1: rule__ThenOperation__Group__1 : rule__ThenOperation__Group__1__Impl ;
    public final void rule__ThenOperation__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18819:1: ( rule__ThenOperation__Group__1__Impl )
            // InternalRosetta.g:18820:2: rule__ThenOperation__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ThenOperation__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group__1"
    // $ANTLR start "rule__ThenOperation__Group__1__Impl"
    // InternalRosetta.g:18826:1: rule__ThenOperation__Group__1__Impl : ( ( rule__ThenOperation__Group_1__0 )* ) ;
    public final void rule__ThenOperation__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18830:1: ( ( ( rule__ThenOperation__Group_1__0 )* ) )
            // InternalRosetta.g:18831:1: ( ( rule__ThenOperation__Group_1__0 )* )
            {
            // InternalRosetta.g:18831:1: ( ( rule__ThenOperation__Group_1__0 )* )
            // InternalRosetta.g:18832:2: ( rule__ThenOperation__Group_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getGroup_1()); }
            // InternalRosetta.g:18833:2: ( rule__ThenOperation__Group_1__0 )*
            loop217:
            do {
                int alt217=2;
                int LA217_0 = input.LA(1);
                if ( (LA217_0==117) ) {
                    int LA217_2 = input.LA(2);
                    if ( (synpred352_InternalRosetta()) ) {
                        alt217=1;
                    }
                }
                switch (alt217) {
            	case 1 :
            	    // InternalRosetta.g:18833:3: rule__ThenOperation__Group_1__0
            	    {
            	    pushFollow(FOLLOW_102);
            	    rule__ThenOperation__Group_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop217;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group__1__Impl"
    // $ANTLR start "rule__ThenOperation__Group_1__0"
    // InternalRosetta.g:18842:1: rule__ThenOperation__Group_1__0 : rule__ThenOperation__Group_1__0__Impl rule__ThenOperation__Group_1__1 ;
    public final void rule__ThenOperation__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18846:1: ( rule__ThenOperation__Group_1__0__Impl rule__ThenOperation__Group_1__1 )
            // InternalRosetta.g:18847:2: rule__ThenOperation__Group_1__0__Impl rule__ThenOperation__Group_1__1
            {
            pushFollow(FOLLOW_34);
            rule__ThenOperation__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ThenOperation__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group_1__0"
    // $ANTLR start "rule__ThenOperation__Group_1__0__Impl"
    // InternalRosetta.g:18854:1: rule__ThenOperation__Group_1__0__Impl : ( ( rule__ThenOperation__Group_1_0__0 ) ) ;
    public final void rule__ThenOperation__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18858:1: ( ( ( rule__ThenOperation__Group_1_0__0 ) ) )
            // InternalRosetta.g:18859:1: ( ( rule__ThenOperation__Group_1_0__0 ) )
            {
            // InternalRosetta.g:18859:1: ( ( rule__ThenOperation__Group_1_0__0 ) )
            // InternalRosetta.g:18860:2: ( rule__ThenOperation__Group_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getGroup_1_0()); }
            // InternalRosetta.g:18861:2: ( rule__ThenOperation__Group_1_0__0 )
            // InternalRosetta.g:18861:3: rule__ThenOperation__Group_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__ThenOperation__Group_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getGroup_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group_1__0__Impl"
    // $ANTLR start "rule__ThenOperation__Group_1__1"
    // InternalRosetta.g:18869:1: rule__ThenOperation__Group_1__1 : rule__ThenOperation__Group_1__1__Impl ;
    public final void rule__ThenOperation__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18873:1: ( rule__ThenOperation__Group_1__1__Impl )
            // InternalRosetta.g:18874:2: rule__ThenOperation__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ThenOperation__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group_1__1"
    // $ANTLR start "rule__ThenOperation__Group_1__1__Impl"
    // InternalRosetta.g:18880:1: rule__ThenOperation__Group_1__1__Impl : ( ( rule__ThenOperation__Alternatives_1_1 )? ) ;
    public final void rule__ThenOperation__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18884:1: ( ( ( rule__ThenOperation__Alternatives_1_1 )? ) )
            // InternalRosetta.g:18885:1: ( ( rule__ThenOperation__Alternatives_1_1 )? )
            {
            // InternalRosetta.g:18885:1: ( ( rule__ThenOperation__Alternatives_1_1 )? )
            // InternalRosetta.g:18886:2: ( rule__ThenOperation__Alternatives_1_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getAlternatives_1_1()); }
            // InternalRosetta.g:18887:2: ( rule__ThenOperation__Alternatives_1_1 )?
            int alt218=2;
            alt218 = dfa218.predict(input);
            switch (alt218) {
                case 1 :
                    // InternalRosetta.g:18887:3: rule__ThenOperation__Alternatives_1_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__ThenOperation__Alternatives_1_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getAlternatives_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group_1__1__Impl"
    // $ANTLR start "rule__ThenOperation__Group_1_0__0"
    // InternalRosetta.g:18896:1: rule__ThenOperation__Group_1_0__0 : rule__ThenOperation__Group_1_0__0__Impl ;
    public final void rule__ThenOperation__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18900:1: ( rule__ThenOperation__Group_1_0__0__Impl )
            // InternalRosetta.g:18901:2: rule__ThenOperation__Group_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ThenOperation__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group_1_0__0"
    // $ANTLR start "rule__ThenOperation__Group_1_0__0__Impl"
    // InternalRosetta.g:18907:1: rule__ThenOperation__Group_1_0__0__Impl : ( ( rule__ThenOperation__Group_1_0_0__0 ) ) ;
    public final void rule__ThenOperation__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18911:1: ( ( ( rule__ThenOperation__Group_1_0_0__0 ) ) )
            // InternalRosetta.g:18912:1: ( ( rule__ThenOperation__Group_1_0_0__0 ) )
            {
            // InternalRosetta.g:18912:1: ( ( rule__ThenOperation__Group_1_0_0__0 ) )
            // InternalRosetta.g:18913:2: ( rule__ThenOperation__Group_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getGroup_1_0_0()); }
            // InternalRosetta.g:18914:2: ( rule__ThenOperation__Group_1_0_0__0 )
            // InternalRosetta.g:18914:3: rule__ThenOperation__Group_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__ThenOperation__Group_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getGroup_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group_1_0__0__Impl"
    // $ANTLR start "rule__ThenOperation__Group_1_0_0__0"
    // InternalRosetta.g:18923:1: rule__ThenOperation__Group_1_0_0__0 : rule__ThenOperation__Group_1_0_0__0__Impl rule__ThenOperation__Group_1_0_0__1 ;
    public final void rule__ThenOperation__Group_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18927:1: ( rule__ThenOperation__Group_1_0_0__0__Impl rule__ThenOperation__Group_1_0_0__1 )
            // InternalRosetta.g:18928:2: rule__ThenOperation__Group_1_0_0__0__Impl rule__ThenOperation__Group_1_0_0__1
            {
            pushFollow(FOLLOW_101);
            rule__ThenOperation__Group_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ThenOperation__Group_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group_1_0_0__0"
    // $ANTLR start "rule__ThenOperation__Group_1_0_0__0__Impl"
    // InternalRosetta.g:18935:1: rule__ThenOperation__Group_1_0_0__0__Impl : ( () ) ;
    public final void rule__ThenOperation__Group_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18939:1: ( ( () ) )
            // InternalRosetta.g:18940:1: ( () )
            {
            // InternalRosetta.g:18940:1: ( () )
            // InternalRosetta.g:18941:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getThenOperationArgumentAction_1_0_0_0()); }
            // InternalRosetta.g:18942:2: ()
            // InternalRosetta.g:18942:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getThenOperationArgumentAction_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__ThenOperation__Group_1_0_0__0__Impl"
    // $ANTLR start "rule__ThenOperation__Group_1_0_0__1"
    // InternalRosetta.g:18950:1: rule__ThenOperation__Group_1_0_0__1 : rule__ThenOperation__Group_1_0_0__1__Impl ;
    public final void rule__ThenOperation__Group_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18954:1: ( rule__ThenOperation__Group_1_0_0__1__Impl )
            // InternalRosetta.g:18955:2: rule__ThenOperation__Group_1_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ThenOperation__Group_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group_1_0_0__1"
    // $ANTLR start "rule__ThenOperation__Group_1_0_0__1__Impl"
    // InternalRosetta.g:18961:1: rule__ThenOperation__Group_1_0_0__1__Impl : ( ( rule__ThenOperation__OperatorAssignment_1_0_0_1 ) ) ;
    public final void rule__ThenOperation__Group_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18965:1: ( ( ( rule__ThenOperation__OperatorAssignment_1_0_0_1 ) ) )
            // InternalRosetta.g:18966:1: ( ( rule__ThenOperation__OperatorAssignment_1_0_0_1 ) )
            {
            // InternalRosetta.g:18966:1: ( ( rule__ThenOperation__OperatorAssignment_1_0_0_1 ) )
            // InternalRosetta.g:18967:2: ( rule__ThenOperation__OperatorAssignment_1_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getOperatorAssignment_1_0_0_1()); }
            // InternalRosetta.g:18968:2: ( rule__ThenOperation__OperatorAssignment_1_0_0_1 )
            // InternalRosetta.g:18968:3: rule__ThenOperation__OperatorAssignment_1_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__ThenOperation__OperatorAssignment_1_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getOperatorAssignment_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__Group_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_0__0"
    // InternalRosetta.g:18977:1: rule__RosettaCalcOr__Group_0__0 : rule__RosettaCalcOr__Group_0__0__Impl rule__RosettaCalcOr__Group_0__1 ;
    public final void rule__RosettaCalcOr__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18981:1: ( rule__RosettaCalcOr__Group_0__0__Impl rule__RosettaCalcOr__Group_0__1 )
            // InternalRosetta.g:18982:2: rule__RosettaCalcOr__Group_0__0__Impl rule__RosettaCalcOr__Group_0__1
            {
            pushFollow(FOLLOW_103);
            rule__RosettaCalcOr__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0__0"
    // $ANTLR start "rule__RosettaCalcOr__Group_0__0__Impl"
    // InternalRosetta.g:18989:1: rule__RosettaCalcOr__Group_0__0__Impl : ( ruleRosettaCalcAnd ) ;
    public final void rule__RosettaCalcOr__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:18993:1: ( ( ruleRosettaCalcAnd ) )
            // InternalRosetta.g:18994:1: ( ruleRosettaCalcAnd )
            {
            // InternalRosetta.g:18994:1: ( ruleRosettaCalcAnd )
            // InternalRosetta.g:18995:2: ruleRosettaCalcAnd
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getRosettaCalcAndParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcAnd(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getRosettaCalcAndParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_0__1"
    // InternalRosetta.g:19004:1: rule__RosettaCalcOr__Group_0__1 : rule__RosettaCalcOr__Group_0__1__Impl ;
    public final void rule__RosettaCalcOr__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19008:1: ( rule__RosettaCalcOr__Group_0__1__Impl )
            // InternalRosetta.g:19009:2: rule__RosettaCalcOr__Group_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0__1"
    // $ANTLR start "rule__RosettaCalcOr__Group_0__1__Impl"
    // InternalRosetta.g:19015:1: rule__RosettaCalcOr__Group_0__1__Impl : ( ( rule__RosettaCalcOr__Group_0_1__0 )* ) ;
    public final void rule__RosettaCalcOr__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19019:1: ( ( ( rule__RosettaCalcOr__Group_0_1__0 )* ) )
            // InternalRosetta.g:19020:1: ( ( rule__RosettaCalcOr__Group_0_1__0 )* )
            {
            // InternalRosetta.g:19020:1: ( ( rule__RosettaCalcOr__Group_0_1__0 )* )
            // InternalRosetta.g:19021:2: ( rule__RosettaCalcOr__Group_0_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getGroup_0_1()); }
            // InternalRosetta.g:19022:2: ( rule__RosettaCalcOr__Group_0_1__0 )*
            loop219:
            do {
                int alt219=2;
                int LA219_0 = input.LA(1);
                if ( (LA219_0==138) ) {
                    int LA219_2 = input.LA(2);
                    if ( (synpred354_InternalRosetta()) ) {
                        alt219=1;
                    }
                }
                switch (alt219) {
            	case 1 :
            	    // InternalRosetta.g:19022:3: rule__RosettaCalcOr__Group_0_1__0
            	    {
            	    pushFollow(FOLLOW_104);
            	    rule__RosettaCalcOr__Group_0_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop219;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getGroup_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_0_1__0"
    // InternalRosetta.g:19031:1: rule__RosettaCalcOr__Group_0_1__0 : rule__RosettaCalcOr__Group_0_1__0__Impl rule__RosettaCalcOr__Group_0_1__1 ;
    public final void rule__RosettaCalcOr__Group_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19035:1: ( rule__RosettaCalcOr__Group_0_1__0__Impl rule__RosettaCalcOr__Group_0_1__1 )
            // InternalRosetta.g:19036:2: rule__RosettaCalcOr__Group_0_1__0__Impl rule__RosettaCalcOr__Group_0_1__1
            {
            pushFollow(FOLLOW_105);
            rule__RosettaCalcOr__Group_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0_1__0"
    // $ANTLR start "rule__RosettaCalcOr__Group_0_1__0__Impl"
    // InternalRosetta.g:19043:1: rule__RosettaCalcOr__Group_0_1__0__Impl : ( ( rule__RosettaCalcOr__Group_0_1_0__0 ) ) ;
    public final void rule__RosettaCalcOr__Group_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19047:1: ( ( ( rule__RosettaCalcOr__Group_0_1_0__0 ) ) )
            // InternalRosetta.g:19048:1: ( ( rule__RosettaCalcOr__Group_0_1_0__0 ) )
            {
            // InternalRosetta.g:19048:1: ( ( rule__RosettaCalcOr__Group_0_1_0__0 ) )
            // InternalRosetta.g:19049:2: ( rule__RosettaCalcOr__Group_0_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getGroup_0_1_0()); }
            // InternalRosetta.g:19050:2: ( rule__RosettaCalcOr__Group_0_1_0__0 )
            // InternalRosetta.g:19050:3: rule__RosettaCalcOr__Group_0_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_0_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getGroup_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_0_1__1"
    // InternalRosetta.g:19058:1: rule__RosettaCalcOr__Group_0_1__1 : rule__RosettaCalcOr__Group_0_1__1__Impl ;
    public final void rule__RosettaCalcOr__Group_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19062:1: ( rule__RosettaCalcOr__Group_0_1__1__Impl )
            // InternalRosetta.g:19063:2: rule__RosettaCalcOr__Group_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0_1__1"
    // $ANTLR start "rule__RosettaCalcOr__Group_0_1__1__Impl"
    // InternalRosetta.g:19069:1: rule__RosettaCalcOr__Group_0_1__1__Impl : ( ( rule__RosettaCalcOr__RightAssignment_0_1_1 ) ) ;
    public final void rule__RosettaCalcOr__Group_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19073:1: ( ( ( rule__RosettaCalcOr__RightAssignment_0_1_1 ) ) )
            // InternalRosetta.g:19074:1: ( ( rule__RosettaCalcOr__RightAssignment_0_1_1 ) )
            {
            // InternalRosetta.g:19074:1: ( ( rule__RosettaCalcOr__RightAssignment_0_1_1 ) )
            // InternalRosetta.g:19075:2: ( rule__RosettaCalcOr__RightAssignment_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getRightAssignment_0_1_1()); }
            // InternalRosetta.g:19076:2: ( rule__RosettaCalcOr__RightAssignment_0_1_1 )
            // InternalRosetta.g:19076:3: rule__RosettaCalcOr__RightAssignment_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__RightAssignment_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getRightAssignment_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_0_1_0__0"
    // InternalRosetta.g:19085:1: rule__RosettaCalcOr__Group_0_1_0__0 : rule__RosettaCalcOr__Group_0_1_0__0__Impl ;
    public final void rule__RosettaCalcOr__Group_0_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19089:1: ( rule__RosettaCalcOr__Group_0_1_0__0__Impl )
            // InternalRosetta.g:19090:2: rule__RosettaCalcOr__Group_0_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_0_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0_1_0__0"
    // $ANTLR start "rule__RosettaCalcOr__Group_0_1_0__0__Impl"
    // InternalRosetta.g:19096:1: rule__RosettaCalcOr__Group_0_1_0__0__Impl : ( ( rule__RosettaCalcOr__Group_0_1_0_0__0 ) ) ;
    public final void rule__RosettaCalcOr__Group_0_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19100:1: ( ( ( rule__RosettaCalcOr__Group_0_1_0_0__0 ) ) )
            // InternalRosetta.g:19101:1: ( ( rule__RosettaCalcOr__Group_0_1_0_0__0 ) )
            {
            // InternalRosetta.g:19101:1: ( ( rule__RosettaCalcOr__Group_0_1_0_0__0 ) )
            // InternalRosetta.g:19102:2: ( rule__RosettaCalcOr__Group_0_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getGroup_0_1_0_0()); }
            // InternalRosetta.g:19103:2: ( rule__RosettaCalcOr__Group_0_1_0_0__0 )
            // InternalRosetta.g:19103:3: rule__RosettaCalcOr__Group_0_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_0_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getGroup_0_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_0_1_0_0__0"
    // InternalRosetta.g:19112:1: rule__RosettaCalcOr__Group_0_1_0_0__0 : rule__RosettaCalcOr__Group_0_1_0_0__0__Impl rule__RosettaCalcOr__Group_0_1_0_0__1 ;
    public final void rule__RosettaCalcOr__Group_0_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19116:1: ( rule__RosettaCalcOr__Group_0_1_0_0__0__Impl rule__RosettaCalcOr__Group_0_1_0_0__1 )
            // InternalRosetta.g:19117:2: rule__RosettaCalcOr__Group_0_1_0_0__0__Impl rule__RosettaCalcOr__Group_0_1_0_0__1
            {
            pushFollow(FOLLOW_103);
            rule__RosettaCalcOr__Group_0_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_0_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcOr__Group_0_1_0_0__0__Impl"
    // InternalRosetta.g:19124:1: rule__RosettaCalcOr__Group_0_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcOr__Group_0_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19128:1: ( ( () ) )
            // InternalRosetta.g:19129:1: ( () )
            {
            // InternalRosetta.g:19129:1: ( () )
            // InternalRosetta.g:19130:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getLogicalOperationLeftAction_0_1_0_0_0()); }
            // InternalRosetta.g:19131:2: ()
            // InternalRosetta.g:19131:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getLogicalOperationLeftAction_0_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_0_1_0_0__1"
    // InternalRosetta.g:19139:1: rule__RosettaCalcOr__Group_0_1_0_0__1 : rule__RosettaCalcOr__Group_0_1_0_0__1__Impl ;
    public final void rule__RosettaCalcOr__Group_0_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19143:1: ( rule__RosettaCalcOr__Group_0_1_0_0__1__Impl )
            // InternalRosetta.g:19144:2: rule__RosettaCalcOr__Group_0_1_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_0_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcOr__Group_0_1_0_0__1__Impl"
    // InternalRosetta.g:19150:1: rule__RosettaCalcOr__Group_0_1_0_0__1__Impl : ( ( rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1 ) ) ;
    public final void rule__RosettaCalcOr__Group_0_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19154:1: ( ( ( rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1 ) ) )
            // InternalRosetta.g:19155:1: ( ( rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1 ) )
            {
            // InternalRosetta.g:19155:1: ( ( rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1 ) )
            // InternalRosetta.g:19156:2: ( rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getOperatorAssignment_0_1_0_0_1()); }
            // InternalRosetta.g:19157:2: ( rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1 )
            // InternalRosetta.g:19157:3: rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getOperatorAssignment_0_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_0_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_1__0"
    // InternalRosetta.g:19166:1: rule__RosettaCalcOr__Group_1__0 : rule__RosettaCalcOr__Group_1__0__Impl rule__RosettaCalcOr__Group_1__1 ;
    public final void rule__RosettaCalcOr__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19170:1: ( rule__RosettaCalcOr__Group_1__0__Impl rule__RosettaCalcOr__Group_1__1 )
            // InternalRosetta.g:19171:2: rule__RosettaCalcOr__Group_1__0__Impl rule__RosettaCalcOr__Group_1__1
            {
            pushFollow(FOLLOW_103);
            rule__RosettaCalcOr__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1__0"
    // $ANTLR start "rule__RosettaCalcOr__Group_1__0__Impl"
    // InternalRosetta.g:19178:1: rule__RosettaCalcOr__Group_1__0__Impl : ( ( rule__RosettaCalcOr__Group_1_0__0 ) ) ;
    public final void rule__RosettaCalcOr__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19182:1: ( ( ( rule__RosettaCalcOr__Group_1_0__0 ) ) )
            // InternalRosetta.g:19183:1: ( ( rule__RosettaCalcOr__Group_1_0__0 ) )
            {
            // InternalRosetta.g:19183:1: ( ( rule__RosettaCalcOr__Group_1_0__0 ) )
            // InternalRosetta.g:19184:2: ( rule__RosettaCalcOr__Group_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getGroup_1_0()); }
            // InternalRosetta.g:19185:2: ( rule__RosettaCalcOr__Group_1_0__0 )
            // InternalRosetta.g:19185:3: rule__RosettaCalcOr__Group_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getGroup_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_1__1"
    // InternalRosetta.g:19193:1: rule__RosettaCalcOr__Group_1__1 : rule__RosettaCalcOr__Group_1__1__Impl ;
    public final void rule__RosettaCalcOr__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19197:1: ( rule__RosettaCalcOr__Group_1__1__Impl )
            // InternalRosetta.g:19198:2: rule__RosettaCalcOr__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1__1"
    // $ANTLR start "rule__RosettaCalcOr__Group_1__1__Impl"
    // InternalRosetta.g:19204:1: rule__RosettaCalcOr__Group_1__1__Impl : ( ( rule__RosettaCalcOr__Group_1_1__0 )* ) ;
    public final void rule__RosettaCalcOr__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19208:1: ( ( ( rule__RosettaCalcOr__Group_1_1__0 )* ) )
            // InternalRosetta.g:19209:1: ( ( rule__RosettaCalcOr__Group_1_1__0 )* )
            {
            // InternalRosetta.g:19209:1: ( ( rule__RosettaCalcOr__Group_1_1__0 )* )
            // InternalRosetta.g:19210:2: ( rule__RosettaCalcOr__Group_1_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getGroup_1_1()); }
            // InternalRosetta.g:19211:2: ( rule__RosettaCalcOr__Group_1_1__0 )*
            loop220:
            do {
                int alt220=2;
                int LA220_0 = input.LA(1);
                if ( (LA220_0==138) ) {
                    int LA220_2 = input.LA(2);
                    if ( (synpred355_InternalRosetta()) ) {
                        alt220=1;
                    }
                }
                switch (alt220) {
            	case 1 :
            	    // InternalRosetta.g:19211:3: rule__RosettaCalcOr__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_104);
            	    rule__RosettaCalcOr__Group_1_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop220;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getGroup_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_0__0"
    // InternalRosetta.g:19220:1: rule__RosettaCalcOr__Group_1_0__0 : rule__RosettaCalcOr__Group_1_0__0__Impl rule__RosettaCalcOr__Group_1_0__1 ;
    public final void rule__RosettaCalcOr__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19224:1: ( rule__RosettaCalcOr__Group_1_0__0__Impl rule__RosettaCalcOr__Group_1_0__1 )
            // InternalRosetta.g:19225:2: rule__RosettaCalcOr__Group_1_0__0__Impl rule__RosettaCalcOr__Group_1_0__1
            {
            pushFollow(FOLLOW_34);
            rule__RosettaCalcOr__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_0__0"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_0__0__Impl"
    // InternalRosetta.g:19232:1: rule__RosettaCalcOr__Group_1_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcOr__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19236:1: ( ( () ) )
            // InternalRosetta.g:19237:1: ( () )
            {
            // InternalRosetta.g:19237:1: ( () )
            // InternalRosetta.g:19238:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getLogicalOperationAction_1_0_0()); }
            // InternalRosetta.g:19239:2: ()
            // InternalRosetta.g:19239:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getLogicalOperationAction_1_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_0__1"
    // InternalRosetta.g:19247:1: rule__RosettaCalcOr__Group_1_0__1 : rule__RosettaCalcOr__Group_1_0__1__Impl rule__RosettaCalcOr__Group_1_0__2 ;
    public final void rule__RosettaCalcOr__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19251:1: ( rule__RosettaCalcOr__Group_1_0__1__Impl rule__RosettaCalcOr__Group_1_0__2 )
            // InternalRosetta.g:19252:2: rule__RosettaCalcOr__Group_1_0__1__Impl rule__RosettaCalcOr__Group_1_0__2
            {
            pushFollow(FOLLOW_105);
            rule__RosettaCalcOr__Group_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_0__1"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_0__1__Impl"
    // InternalRosetta.g:19259:1: rule__RosettaCalcOr__Group_1_0__1__Impl : ( ( rule__RosettaCalcOr__OperatorAssignment_1_0_1 ) ) ;
    public final void rule__RosettaCalcOr__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19263:1: ( ( ( rule__RosettaCalcOr__OperatorAssignment_1_0_1 ) ) )
            // InternalRosetta.g:19264:1: ( ( rule__RosettaCalcOr__OperatorAssignment_1_0_1 ) )
            {
            // InternalRosetta.g:19264:1: ( ( rule__RosettaCalcOr__OperatorAssignment_1_0_1 ) )
            // InternalRosetta.g:19265:2: ( rule__RosettaCalcOr__OperatorAssignment_1_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getOperatorAssignment_1_0_1()); }
            // InternalRosetta.g:19266:2: ( rule__RosettaCalcOr__OperatorAssignment_1_0_1 )
            // InternalRosetta.g:19266:3: rule__RosettaCalcOr__OperatorAssignment_1_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__OperatorAssignment_1_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getOperatorAssignment_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_0__2"
    // InternalRosetta.g:19274:1: rule__RosettaCalcOr__Group_1_0__2 : rule__RosettaCalcOr__Group_1_0__2__Impl ;
    public final void rule__RosettaCalcOr__Group_1_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19278:1: ( rule__RosettaCalcOr__Group_1_0__2__Impl )
            // InternalRosetta.g:19279:2: rule__RosettaCalcOr__Group_1_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_0__2"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_0__2__Impl"
    // InternalRosetta.g:19285:1: rule__RosettaCalcOr__Group_1_0__2__Impl : ( ( rule__RosettaCalcOr__RightAssignment_1_0_2 ) ) ;
    public final void rule__RosettaCalcOr__Group_1_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19289:1: ( ( ( rule__RosettaCalcOr__RightAssignment_1_0_2 ) ) )
            // InternalRosetta.g:19290:1: ( ( rule__RosettaCalcOr__RightAssignment_1_0_2 ) )
            {
            // InternalRosetta.g:19290:1: ( ( rule__RosettaCalcOr__RightAssignment_1_0_2 ) )
            // InternalRosetta.g:19291:2: ( rule__RosettaCalcOr__RightAssignment_1_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getRightAssignment_1_0_2()); }
            // InternalRosetta.g:19292:2: ( rule__RosettaCalcOr__RightAssignment_1_0_2 )
            // InternalRosetta.g:19292:3: rule__RosettaCalcOr__RightAssignment_1_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__RightAssignment_1_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getRightAssignment_1_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_1__0"
    // InternalRosetta.g:19301:1: rule__RosettaCalcOr__Group_1_1__0 : rule__RosettaCalcOr__Group_1_1__0__Impl rule__RosettaCalcOr__Group_1_1__1 ;
    public final void rule__RosettaCalcOr__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19305:1: ( rule__RosettaCalcOr__Group_1_1__0__Impl rule__RosettaCalcOr__Group_1_1__1 )
            // InternalRosetta.g:19306:2: rule__RosettaCalcOr__Group_1_1__0__Impl rule__RosettaCalcOr__Group_1_1__1
            {
            pushFollow(FOLLOW_105);
            rule__RosettaCalcOr__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_1__0"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_1__0__Impl"
    // InternalRosetta.g:19313:1: rule__RosettaCalcOr__Group_1_1__0__Impl : ( ( rule__RosettaCalcOr__Group_1_1_0__0 ) ) ;
    public final void rule__RosettaCalcOr__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19317:1: ( ( ( rule__RosettaCalcOr__Group_1_1_0__0 ) ) )
            // InternalRosetta.g:19318:1: ( ( rule__RosettaCalcOr__Group_1_1_0__0 ) )
            {
            // InternalRosetta.g:19318:1: ( ( rule__RosettaCalcOr__Group_1_1_0__0 ) )
            // InternalRosetta.g:19319:2: ( rule__RosettaCalcOr__Group_1_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getGroup_1_1_0()); }
            // InternalRosetta.g:19320:2: ( rule__RosettaCalcOr__Group_1_1_0__0 )
            // InternalRosetta.g:19320:3: rule__RosettaCalcOr__Group_1_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getGroup_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_1__1"
    // InternalRosetta.g:19328:1: rule__RosettaCalcOr__Group_1_1__1 : rule__RosettaCalcOr__Group_1_1__1__Impl ;
    public final void rule__RosettaCalcOr__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19332:1: ( rule__RosettaCalcOr__Group_1_1__1__Impl )
            // InternalRosetta.g:19333:2: rule__RosettaCalcOr__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_1__1"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_1__1__Impl"
    // InternalRosetta.g:19339:1: rule__RosettaCalcOr__Group_1_1__1__Impl : ( ( rule__RosettaCalcOr__RightAssignment_1_1_1 ) ) ;
    public final void rule__RosettaCalcOr__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19343:1: ( ( ( rule__RosettaCalcOr__RightAssignment_1_1_1 ) ) )
            // InternalRosetta.g:19344:1: ( ( rule__RosettaCalcOr__RightAssignment_1_1_1 ) )
            {
            // InternalRosetta.g:19344:1: ( ( rule__RosettaCalcOr__RightAssignment_1_1_1 ) )
            // InternalRosetta.g:19345:2: ( rule__RosettaCalcOr__RightAssignment_1_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getRightAssignment_1_1_1()); }
            // InternalRosetta.g:19346:2: ( rule__RosettaCalcOr__RightAssignment_1_1_1 )
            // InternalRosetta.g:19346:3: rule__RosettaCalcOr__RightAssignment_1_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__RightAssignment_1_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getRightAssignment_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_1_0__0"
    // InternalRosetta.g:19355:1: rule__RosettaCalcOr__Group_1_1_0__0 : rule__RosettaCalcOr__Group_1_1_0__0__Impl ;
    public final void rule__RosettaCalcOr__Group_1_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19359:1: ( rule__RosettaCalcOr__Group_1_1_0__0__Impl )
            // InternalRosetta.g:19360:2: rule__RosettaCalcOr__Group_1_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_1_0__0"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_1_0__0__Impl"
    // InternalRosetta.g:19366:1: rule__RosettaCalcOr__Group_1_1_0__0__Impl : ( ( rule__RosettaCalcOr__Group_1_1_0_0__0 ) ) ;
    public final void rule__RosettaCalcOr__Group_1_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19370:1: ( ( ( rule__RosettaCalcOr__Group_1_1_0_0__0 ) ) )
            // InternalRosetta.g:19371:1: ( ( rule__RosettaCalcOr__Group_1_1_0_0__0 ) )
            {
            // InternalRosetta.g:19371:1: ( ( rule__RosettaCalcOr__Group_1_1_0_0__0 ) )
            // InternalRosetta.g:19372:2: ( rule__RosettaCalcOr__Group_1_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getGroup_1_1_0_0()); }
            // InternalRosetta.g:19373:2: ( rule__RosettaCalcOr__Group_1_1_0_0__0 )
            // InternalRosetta.g:19373:3: rule__RosettaCalcOr__Group_1_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getGroup_1_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_1_0_0__0"
    // InternalRosetta.g:19382:1: rule__RosettaCalcOr__Group_1_1_0_0__0 : rule__RosettaCalcOr__Group_1_1_0_0__0__Impl rule__RosettaCalcOr__Group_1_1_0_0__1 ;
    public final void rule__RosettaCalcOr__Group_1_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19386:1: ( rule__RosettaCalcOr__Group_1_1_0_0__0__Impl rule__RosettaCalcOr__Group_1_1_0_0__1 )
            // InternalRosetta.g:19387:2: rule__RosettaCalcOr__Group_1_1_0_0__0__Impl rule__RosettaCalcOr__Group_1_1_0_0__1
            {
            pushFollow(FOLLOW_103);
            rule__RosettaCalcOr__Group_1_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_1_0_0__0__Impl"
    // InternalRosetta.g:19394:1: rule__RosettaCalcOr__Group_1_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcOr__Group_1_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19398:1: ( ( () ) )
            // InternalRosetta.g:19399:1: ( () )
            {
            // InternalRosetta.g:19399:1: ( () )
            // InternalRosetta.g:19400:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getLogicalOperationLeftAction_1_1_0_0_0()); }
            // InternalRosetta.g:19401:2: ()
            // InternalRosetta.g:19401:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getLogicalOperationLeftAction_1_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_1_0_0__1"
    // InternalRosetta.g:19409:1: rule__RosettaCalcOr__Group_1_1_0_0__1 : rule__RosettaCalcOr__Group_1_1_0_0__1__Impl ;
    public final void rule__RosettaCalcOr__Group_1_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19413:1: ( rule__RosettaCalcOr__Group_1_1_0_0__1__Impl )
            // InternalRosetta.g:19414:2: rule__RosettaCalcOr__Group_1_1_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__Group_1_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcOr__Group_1_1_0_0__1__Impl"
    // InternalRosetta.g:19420:1: rule__RosettaCalcOr__Group_1_1_0_0__1__Impl : ( ( rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1 ) ) ;
    public final void rule__RosettaCalcOr__Group_1_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19424:1: ( ( ( rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1 ) ) )
            // InternalRosetta.g:19425:1: ( ( rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1 ) )
            {
            // InternalRosetta.g:19425:1: ( ( rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1 ) )
            // InternalRosetta.g:19426:2: ( rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getOperatorAssignment_1_1_0_0_1()); }
            // InternalRosetta.g:19427:2: ( rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1 )
            // InternalRosetta.g:19427:3: rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getOperatorAssignment_1_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__Group_1_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0__0"
    // InternalRosetta.g:19436:1: rule__RosettaCalcAnd__Group_0__0 : rule__RosettaCalcAnd__Group_0__0__Impl rule__RosettaCalcAnd__Group_0__1 ;
    public final void rule__RosettaCalcAnd__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19440:1: ( rule__RosettaCalcAnd__Group_0__0__Impl rule__RosettaCalcAnd__Group_0__1 )
            // InternalRosetta.g:19441:2: rule__RosettaCalcAnd__Group_0__0__Impl rule__RosettaCalcAnd__Group_0__1
            {
            pushFollow(FOLLOW_76);
            rule__RosettaCalcAnd__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0__0"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0__0__Impl"
    // InternalRosetta.g:19448:1: rule__RosettaCalcAnd__Group_0__0__Impl : ( ruleRosettaCalcEquality ) ;
    public final void rule__RosettaCalcAnd__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19452:1: ( ( ruleRosettaCalcEquality ) )
            // InternalRosetta.g:19453:1: ( ruleRosettaCalcEquality )
            {
            // InternalRosetta.g:19453:1: ( ruleRosettaCalcEquality )
            // InternalRosetta.g:19454:2: ruleRosettaCalcEquality
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getRosettaCalcEqualityParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcEquality(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getRosettaCalcEqualityParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0__1"
    // InternalRosetta.g:19463:1: rule__RosettaCalcAnd__Group_0__1 : rule__RosettaCalcAnd__Group_0__1__Impl ;
    public final void rule__RosettaCalcAnd__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19467:1: ( rule__RosettaCalcAnd__Group_0__1__Impl )
            // InternalRosetta.g:19468:2: rule__RosettaCalcAnd__Group_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0__1"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0__1__Impl"
    // InternalRosetta.g:19474:1: rule__RosettaCalcAnd__Group_0__1__Impl : ( ( rule__RosettaCalcAnd__Group_0_1__0 )* ) ;
    public final void rule__RosettaCalcAnd__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19478:1: ( ( ( rule__RosettaCalcAnd__Group_0_1__0 )* ) )
            // InternalRosetta.g:19479:1: ( ( rule__RosettaCalcAnd__Group_0_1__0 )* )
            {
            // InternalRosetta.g:19479:1: ( ( rule__RosettaCalcAnd__Group_0_1__0 )* )
            // InternalRosetta.g:19480:2: ( rule__RosettaCalcAnd__Group_0_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getGroup_0_1()); }
            // InternalRosetta.g:19481:2: ( rule__RosettaCalcAnd__Group_0_1__0 )*
            loop221:
            do {
                int alt221=2;
                int LA221_0 = input.LA(1);
                if ( (LA221_0==103) ) {
                    int LA221_2 = input.LA(2);
                    if ( (synpred356_InternalRosetta()) ) {
                        alt221=1;
                    }
                }
                switch (alt221) {
            	case 1 :
            	    // InternalRosetta.g:19481:3: rule__RosettaCalcAnd__Group_0_1__0
            	    {
            	    pushFollow(FOLLOW_77);
            	    rule__RosettaCalcAnd__Group_0_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop221;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getGroup_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0_1__0"
    // InternalRosetta.g:19490:1: rule__RosettaCalcAnd__Group_0_1__0 : rule__RosettaCalcAnd__Group_0_1__0__Impl rule__RosettaCalcAnd__Group_0_1__1 ;
    public final void rule__RosettaCalcAnd__Group_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19494:1: ( rule__RosettaCalcAnd__Group_0_1__0__Impl rule__RosettaCalcAnd__Group_0_1__1 )
            // InternalRosetta.g:19495:2: rule__RosettaCalcAnd__Group_0_1__0__Impl rule__RosettaCalcAnd__Group_0_1__1
            {
            pushFollow(FOLLOW_106);
            rule__RosettaCalcAnd__Group_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0_1__0"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0_1__0__Impl"
    // InternalRosetta.g:19502:1: rule__RosettaCalcAnd__Group_0_1__0__Impl : ( ( rule__RosettaCalcAnd__Group_0_1_0__0 ) ) ;
    public final void rule__RosettaCalcAnd__Group_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19506:1: ( ( ( rule__RosettaCalcAnd__Group_0_1_0__0 ) ) )
            // InternalRosetta.g:19507:1: ( ( rule__RosettaCalcAnd__Group_0_1_0__0 ) )
            {
            // InternalRosetta.g:19507:1: ( ( rule__RosettaCalcAnd__Group_0_1_0__0 ) )
            // InternalRosetta.g:19508:2: ( rule__RosettaCalcAnd__Group_0_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getGroup_0_1_0()); }
            // InternalRosetta.g:19509:2: ( rule__RosettaCalcAnd__Group_0_1_0__0 )
            // InternalRosetta.g:19509:3: rule__RosettaCalcAnd__Group_0_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_0_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getGroup_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0_1__1"
    // InternalRosetta.g:19517:1: rule__RosettaCalcAnd__Group_0_1__1 : rule__RosettaCalcAnd__Group_0_1__1__Impl ;
    public final void rule__RosettaCalcAnd__Group_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19521:1: ( rule__RosettaCalcAnd__Group_0_1__1__Impl )
            // InternalRosetta.g:19522:2: rule__RosettaCalcAnd__Group_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0_1__1"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0_1__1__Impl"
    // InternalRosetta.g:19528:1: rule__RosettaCalcAnd__Group_0_1__1__Impl : ( ( rule__RosettaCalcAnd__RightAssignment_0_1_1 ) ) ;
    public final void rule__RosettaCalcAnd__Group_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19532:1: ( ( ( rule__RosettaCalcAnd__RightAssignment_0_1_1 ) ) )
            // InternalRosetta.g:19533:1: ( ( rule__RosettaCalcAnd__RightAssignment_0_1_1 ) )
            {
            // InternalRosetta.g:19533:1: ( ( rule__RosettaCalcAnd__RightAssignment_0_1_1 ) )
            // InternalRosetta.g:19534:2: ( rule__RosettaCalcAnd__RightAssignment_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getRightAssignment_0_1_1()); }
            // InternalRosetta.g:19535:2: ( rule__RosettaCalcAnd__RightAssignment_0_1_1 )
            // InternalRosetta.g:19535:3: rule__RosettaCalcAnd__RightAssignment_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__RightAssignment_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getRightAssignment_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0_1_0__0"
    // InternalRosetta.g:19544:1: rule__RosettaCalcAnd__Group_0_1_0__0 : rule__RosettaCalcAnd__Group_0_1_0__0__Impl ;
    public final void rule__RosettaCalcAnd__Group_0_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19548:1: ( rule__RosettaCalcAnd__Group_0_1_0__0__Impl )
            // InternalRosetta.g:19549:2: rule__RosettaCalcAnd__Group_0_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_0_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0_1_0__0"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0_1_0__0__Impl"
    // InternalRosetta.g:19555:1: rule__RosettaCalcAnd__Group_0_1_0__0__Impl : ( ( rule__RosettaCalcAnd__Group_0_1_0_0__0 ) ) ;
    public final void rule__RosettaCalcAnd__Group_0_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19559:1: ( ( ( rule__RosettaCalcAnd__Group_0_1_0_0__0 ) ) )
            // InternalRosetta.g:19560:1: ( ( rule__RosettaCalcAnd__Group_0_1_0_0__0 ) )
            {
            // InternalRosetta.g:19560:1: ( ( rule__RosettaCalcAnd__Group_0_1_0_0__0 ) )
            // InternalRosetta.g:19561:2: ( rule__RosettaCalcAnd__Group_0_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getGroup_0_1_0_0()); }
            // InternalRosetta.g:19562:2: ( rule__RosettaCalcAnd__Group_0_1_0_0__0 )
            // InternalRosetta.g:19562:3: rule__RosettaCalcAnd__Group_0_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_0_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getGroup_0_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0_1_0_0__0"
    // InternalRosetta.g:19571:1: rule__RosettaCalcAnd__Group_0_1_0_0__0 : rule__RosettaCalcAnd__Group_0_1_0_0__0__Impl rule__RosettaCalcAnd__Group_0_1_0_0__1 ;
    public final void rule__RosettaCalcAnd__Group_0_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19575:1: ( rule__RosettaCalcAnd__Group_0_1_0_0__0__Impl rule__RosettaCalcAnd__Group_0_1_0_0__1 )
            // InternalRosetta.g:19576:2: rule__RosettaCalcAnd__Group_0_1_0_0__0__Impl rule__RosettaCalcAnd__Group_0_1_0_0__1
            {
            pushFollow(FOLLOW_76);
            rule__RosettaCalcAnd__Group_0_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_0_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0_1_0_0__0__Impl"
    // InternalRosetta.g:19583:1: rule__RosettaCalcAnd__Group_0_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcAnd__Group_0_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19587:1: ( ( () ) )
            // InternalRosetta.g:19588:1: ( () )
            {
            // InternalRosetta.g:19588:1: ( () )
            // InternalRosetta.g:19589:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getLogicalOperationLeftAction_0_1_0_0_0()); }
            // InternalRosetta.g:19590:2: ()
            // InternalRosetta.g:19590:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getLogicalOperationLeftAction_0_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0_1_0_0__1"
    // InternalRosetta.g:19598:1: rule__RosettaCalcAnd__Group_0_1_0_0__1 : rule__RosettaCalcAnd__Group_0_1_0_0__1__Impl ;
    public final void rule__RosettaCalcAnd__Group_0_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19602:1: ( rule__RosettaCalcAnd__Group_0_1_0_0__1__Impl )
            // InternalRosetta.g:19603:2: rule__RosettaCalcAnd__Group_0_1_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_0_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcAnd__Group_0_1_0_0__1__Impl"
    // InternalRosetta.g:19609:1: rule__RosettaCalcAnd__Group_0_1_0_0__1__Impl : ( ( rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1 ) ) ;
    public final void rule__RosettaCalcAnd__Group_0_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19613:1: ( ( ( rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1 ) ) )
            // InternalRosetta.g:19614:1: ( ( rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1 ) )
            {
            // InternalRosetta.g:19614:1: ( ( rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1 ) )
            // InternalRosetta.g:19615:2: ( rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getOperatorAssignment_0_1_0_0_1()); }
            // InternalRosetta.g:19616:2: ( rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1 )
            // InternalRosetta.g:19616:3: rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getOperatorAssignment_0_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_0_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1__0"
    // InternalRosetta.g:19625:1: rule__RosettaCalcAnd__Group_1__0 : rule__RosettaCalcAnd__Group_1__0__Impl rule__RosettaCalcAnd__Group_1__1 ;
    public final void rule__RosettaCalcAnd__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19629:1: ( rule__RosettaCalcAnd__Group_1__0__Impl rule__RosettaCalcAnd__Group_1__1 )
            // InternalRosetta.g:19630:2: rule__RosettaCalcAnd__Group_1__0__Impl rule__RosettaCalcAnd__Group_1__1
            {
            pushFollow(FOLLOW_76);
            rule__RosettaCalcAnd__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1__0"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1__0__Impl"
    // InternalRosetta.g:19637:1: rule__RosettaCalcAnd__Group_1__0__Impl : ( ( rule__RosettaCalcAnd__Group_1_0__0 ) ) ;
    public final void rule__RosettaCalcAnd__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19641:1: ( ( ( rule__RosettaCalcAnd__Group_1_0__0 ) ) )
            // InternalRosetta.g:19642:1: ( ( rule__RosettaCalcAnd__Group_1_0__0 ) )
            {
            // InternalRosetta.g:19642:1: ( ( rule__RosettaCalcAnd__Group_1_0__0 ) )
            // InternalRosetta.g:19643:2: ( rule__RosettaCalcAnd__Group_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getGroup_1_0()); }
            // InternalRosetta.g:19644:2: ( rule__RosettaCalcAnd__Group_1_0__0 )
            // InternalRosetta.g:19644:3: rule__RosettaCalcAnd__Group_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getGroup_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1__1"
    // InternalRosetta.g:19652:1: rule__RosettaCalcAnd__Group_1__1 : rule__RosettaCalcAnd__Group_1__1__Impl ;
    public final void rule__RosettaCalcAnd__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19656:1: ( rule__RosettaCalcAnd__Group_1__1__Impl )
            // InternalRosetta.g:19657:2: rule__RosettaCalcAnd__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1__1"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1__1__Impl"
    // InternalRosetta.g:19663:1: rule__RosettaCalcAnd__Group_1__1__Impl : ( ( rule__RosettaCalcAnd__Group_1_1__0 )* ) ;
    public final void rule__RosettaCalcAnd__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19667:1: ( ( ( rule__RosettaCalcAnd__Group_1_1__0 )* ) )
            // InternalRosetta.g:19668:1: ( ( rule__RosettaCalcAnd__Group_1_1__0 )* )
            {
            // InternalRosetta.g:19668:1: ( ( rule__RosettaCalcAnd__Group_1_1__0 )* )
            // InternalRosetta.g:19669:2: ( rule__RosettaCalcAnd__Group_1_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getGroup_1_1()); }
            // InternalRosetta.g:19670:2: ( rule__RosettaCalcAnd__Group_1_1__0 )*
            loop222:
            do {
                int alt222=2;
                int LA222_0 = input.LA(1);
                if ( (LA222_0==103) ) {
                    int LA222_2 = input.LA(2);
                    if ( (synpred357_InternalRosetta()) ) {
                        alt222=1;
                    }
                }
                switch (alt222) {
            	case 1 :
            	    // InternalRosetta.g:19670:3: rule__RosettaCalcAnd__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_77);
            	    rule__RosettaCalcAnd__Group_1_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop222;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getGroup_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_0__0"
    // InternalRosetta.g:19679:1: rule__RosettaCalcAnd__Group_1_0__0 : rule__RosettaCalcAnd__Group_1_0__0__Impl rule__RosettaCalcAnd__Group_1_0__1 ;
    public final void rule__RosettaCalcAnd__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19683:1: ( rule__RosettaCalcAnd__Group_1_0__0__Impl rule__RosettaCalcAnd__Group_1_0__1 )
            // InternalRosetta.g:19684:2: rule__RosettaCalcAnd__Group_1_0__0__Impl rule__RosettaCalcAnd__Group_1_0__1
            {
            pushFollow(FOLLOW_105);
            rule__RosettaCalcAnd__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_0__0"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_0__0__Impl"
    // InternalRosetta.g:19691:1: rule__RosettaCalcAnd__Group_1_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcAnd__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19695:1: ( ( () ) )
            // InternalRosetta.g:19696:1: ( () )
            {
            // InternalRosetta.g:19696:1: ( () )
            // InternalRosetta.g:19697:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getLogicalOperationAction_1_0_0()); }
            // InternalRosetta.g:19698:2: ()
            // InternalRosetta.g:19698:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getLogicalOperationAction_1_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_0__1"
    // InternalRosetta.g:19706:1: rule__RosettaCalcAnd__Group_1_0__1 : rule__RosettaCalcAnd__Group_1_0__1__Impl rule__RosettaCalcAnd__Group_1_0__2 ;
    public final void rule__RosettaCalcAnd__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19710:1: ( rule__RosettaCalcAnd__Group_1_0__1__Impl rule__RosettaCalcAnd__Group_1_0__2 )
            // InternalRosetta.g:19711:2: rule__RosettaCalcAnd__Group_1_0__1__Impl rule__RosettaCalcAnd__Group_1_0__2
            {
            pushFollow(FOLLOW_106);
            rule__RosettaCalcAnd__Group_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_0__1"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_0__1__Impl"
    // InternalRosetta.g:19718:1: rule__RosettaCalcAnd__Group_1_0__1__Impl : ( ( rule__RosettaCalcAnd__OperatorAssignment_1_0_1 ) ) ;
    public final void rule__RosettaCalcAnd__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19722:1: ( ( ( rule__RosettaCalcAnd__OperatorAssignment_1_0_1 ) ) )
            // InternalRosetta.g:19723:1: ( ( rule__RosettaCalcAnd__OperatorAssignment_1_0_1 ) )
            {
            // InternalRosetta.g:19723:1: ( ( rule__RosettaCalcAnd__OperatorAssignment_1_0_1 ) )
            // InternalRosetta.g:19724:2: ( rule__RosettaCalcAnd__OperatorAssignment_1_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getOperatorAssignment_1_0_1()); }
            // InternalRosetta.g:19725:2: ( rule__RosettaCalcAnd__OperatorAssignment_1_0_1 )
            // InternalRosetta.g:19725:3: rule__RosettaCalcAnd__OperatorAssignment_1_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__OperatorAssignment_1_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getOperatorAssignment_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_0__2"
    // InternalRosetta.g:19733:1: rule__RosettaCalcAnd__Group_1_0__2 : rule__RosettaCalcAnd__Group_1_0__2__Impl ;
    public final void rule__RosettaCalcAnd__Group_1_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19737:1: ( rule__RosettaCalcAnd__Group_1_0__2__Impl )
            // InternalRosetta.g:19738:2: rule__RosettaCalcAnd__Group_1_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_0__2"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_0__2__Impl"
    // InternalRosetta.g:19744:1: rule__RosettaCalcAnd__Group_1_0__2__Impl : ( ( rule__RosettaCalcAnd__RightAssignment_1_0_2 ) ) ;
    public final void rule__RosettaCalcAnd__Group_1_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19748:1: ( ( ( rule__RosettaCalcAnd__RightAssignment_1_0_2 ) ) )
            // InternalRosetta.g:19749:1: ( ( rule__RosettaCalcAnd__RightAssignment_1_0_2 ) )
            {
            // InternalRosetta.g:19749:1: ( ( rule__RosettaCalcAnd__RightAssignment_1_0_2 ) )
            // InternalRosetta.g:19750:2: ( rule__RosettaCalcAnd__RightAssignment_1_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getRightAssignment_1_0_2()); }
            // InternalRosetta.g:19751:2: ( rule__RosettaCalcAnd__RightAssignment_1_0_2 )
            // InternalRosetta.g:19751:3: rule__RosettaCalcAnd__RightAssignment_1_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__RightAssignment_1_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getRightAssignment_1_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_1__0"
    // InternalRosetta.g:19760:1: rule__RosettaCalcAnd__Group_1_1__0 : rule__RosettaCalcAnd__Group_1_1__0__Impl rule__RosettaCalcAnd__Group_1_1__1 ;
    public final void rule__RosettaCalcAnd__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19764:1: ( rule__RosettaCalcAnd__Group_1_1__0__Impl rule__RosettaCalcAnd__Group_1_1__1 )
            // InternalRosetta.g:19765:2: rule__RosettaCalcAnd__Group_1_1__0__Impl rule__RosettaCalcAnd__Group_1_1__1
            {
            pushFollow(FOLLOW_106);
            rule__RosettaCalcAnd__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_1__0"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_1__0__Impl"
    // InternalRosetta.g:19772:1: rule__RosettaCalcAnd__Group_1_1__0__Impl : ( ( rule__RosettaCalcAnd__Group_1_1_0__0 ) ) ;
    public final void rule__RosettaCalcAnd__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19776:1: ( ( ( rule__RosettaCalcAnd__Group_1_1_0__0 ) ) )
            // InternalRosetta.g:19777:1: ( ( rule__RosettaCalcAnd__Group_1_1_0__0 ) )
            {
            // InternalRosetta.g:19777:1: ( ( rule__RosettaCalcAnd__Group_1_1_0__0 ) )
            // InternalRosetta.g:19778:2: ( rule__RosettaCalcAnd__Group_1_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getGroup_1_1_0()); }
            // InternalRosetta.g:19779:2: ( rule__RosettaCalcAnd__Group_1_1_0__0 )
            // InternalRosetta.g:19779:3: rule__RosettaCalcAnd__Group_1_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getGroup_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_1__1"
    // InternalRosetta.g:19787:1: rule__RosettaCalcAnd__Group_1_1__1 : rule__RosettaCalcAnd__Group_1_1__1__Impl ;
    public final void rule__RosettaCalcAnd__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19791:1: ( rule__RosettaCalcAnd__Group_1_1__1__Impl )
            // InternalRosetta.g:19792:2: rule__RosettaCalcAnd__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_1__1"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_1__1__Impl"
    // InternalRosetta.g:19798:1: rule__RosettaCalcAnd__Group_1_1__1__Impl : ( ( rule__RosettaCalcAnd__RightAssignment_1_1_1 ) ) ;
    public final void rule__RosettaCalcAnd__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19802:1: ( ( ( rule__RosettaCalcAnd__RightAssignment_1_1_1 ) ) )
            // InternalRosetta.g:19803:1: ( ( rule__RosettaCalcAnd__RightAssignment_1_1_1 ) )
            {
            // InternalRosetta.g:19803:1: ( ( rule__RosettaCalcAnd__RightAssignment_1_1_1 ) )
            // InternalRosetta.g:19804:2: ( rule__RosettaCalcAnd__RightAssignment_1_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getRightAssignment_1_1_1()); }
            // InternalRosetta.g:19805:2: ( rule__RosettaCalcAnd__RightAssignment_1_1_1 )
            // InternalRosetta.g:19805:3: rule__RosettaCalcAnd__RightAssignment_1_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__RightAssignment_1_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getRightAssignment_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_1_0__0"
    // InternalRosetta.g:19814:1: rule__RosettaCalcAnd__Group_1_1_0__0 : rule__RosettaCalcAnd__Group_1_1_0__0__Impl ;
    public final void rule__RosettaCalcAnd__Group_1_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19818:1: ( rule__RosettaCalcAnd__Group_1_1_0__0__Impl )
            // InternalRosetta.g:19819:2: rule__RosettaCalcAnd__Group_1_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_1_0__0"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_1_0__0__Impl"
    // InternalRosetta.g:19825:1: rule__RosettaCalcAnd__Group_1_1_0__0__Impl : ( ( rule__RosettaCalcAnd__Group_1_1_0_0__0 ) ) ;
    public final void rule__RosettaCalcAnd__Group_1_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19829:1: ( ( ( rule__RosettaCalcAnd__Group_1_1_0_0__0 ) ) )
            // InternalRosetta.g:19830:1: ( ( rule__RosettaCalcAnd__Group_1_1_0_0__0 ) )
            {
            // InternalRosetta.g:19830:1: ( ( rule__RosettaCalcAnd__Group_1_1_0_0__0 ) )
            // InternalRosetta.g:19831:2: ( rule__RosettaCalcAnd__Group_1_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getGroup_1_1_0_0()); }
            // InternalRosetta.g:19832:2: ( rule__RosettaCalcAnd__Group_1_1_0_0__0 )
            // InternalRosetta.g:19832:3: rule__RosettaCalcAnd__Group_1_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getGroup_1_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_1_0_0__0"
    // InternalRosetta.g:19841:1: rule__RosettaCalcAnd__Group_1_1_0_0__0 : rule__RosettaCalcAnd__Group_1_1_0_0__0__Impl rule__RosettaCalcAnd__Group_1_1_0_0__1 ;
    public final void rule__RosettaCalcAnd__Group_1_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19845:1: ( rule__RosettaCalcAnd__Group_1_1_0_0__0__Impl rule__RosettaCalcAnd__Group_1_1_0_0__1 )
            // InternalRosetta.g:19846:2: rule__RosettaCalcAnd__Group_1_1_0_0__0__Impl rule__RosettaCalcAnd__Group_1_1_0_0__1
            {
            pushFollow(FOLLOW_76);
            rule__RosettaCalcAnd__Group_1_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_1_0_0__0__Impl"
    // InternalRosetta.g:19853:1: rule__RosettaCalcAnd__Group_1_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcAnd__Group_1_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19857:1: ( ( () ) )
            // InternalRosetta.g:19858:1: ( () )
            {
            // InternalRosetta.g:19858:1: ( () )
            // InternalRosetta.g:19859:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getLogicalOperationLeftAction_1_1_0_0_0()); }
            // InternalRosetta.g:19860:2: ()
            // InternalRosetta.g:19860:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getLogicalOperationLeftAction_1_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_1_0_0__1"
    // InternalRosetta.g:19868:1: rule__RosettaCalcAnd__Group_1_1_0_0__1 : rule__RosettaCalcAnd__Group_1_1_0_0__1__Impl ;
    public final void rule__RosettaCalcAnd__Group_1_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19872:1: ( rule__RosettaCalcAnd__Group_1_1_0_0__1__Impl )
            // InternalRosetta.g:19873:2: rule__RosettaCalcAnd__Group_1_1_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__Group_1_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcAnd__Group_1_1_0_0__1__Impl"
    // InternalRosetta.g:19879:1: rule__RosettaCalcAnd__Group_1_1_0_0__1__Impl : ( ( rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1 ) ) ;
    public final void rule__RosettaCalcAnd__Group_1_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19883:1: ( ( ( rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1 ) ) )
            // InternalRosetta.g:19884:1: ( ( rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1 ) )
            {
            // InternalRosetta.g:19884:1: ( ( rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1 ) )
            // InternalRosetta.g:19885:2: ( rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getOperatorAssignment_1_1_0_0_1()); }
            // InternalRosetta.g:19886:2: ( rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1 )
            // InternalRosetta.g:19886:3: rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getOperatorAssignment_1_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__Group_1_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0__0"
    // InternalRosetta.g:19895:1: rule__RosettaCalcEquality__Group_0__0 : rule__RosettaCalcEquality__Group_0__0__Impl rule__RosettaCalcEquality__Group_0__1 ;
    public final void rule__RosettaCalcEquality__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19899:1: ( rule__RosettaCalcEquality__Group_0__0__Impl rule__RosettaCalcEquality__Group_0__1 )
            // InternalRosetta.g:19900:2: rule__RosettaCalcEquality__Group_0__0__Impl rule__RosettaCalcEquality__Group_0__1
            {
            pushFollow(FOLLOW_107);
            rule__RosettaCalcEquality__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0__0"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0__0__Impl"
    // InternalRosetta.g:19907:1: rule__RosettaCalcEquality__Group_0__0__Impl : ( ruleRosettaCalcComparison ) ;
    public final void rule__RosettaCalcEquality__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19911:1: ( ( ruleRosettaCalcComparison ) )
            // InternalRosetta.g:19912:1: ( ruleRosettaCalcComparison )
            {
            // InternalRosetta.g:19912:1: ( ruleRosettaCalcComparison )
            // InternalRosetta.g:19913:2: ruleRosettaCalcComparison
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getRosettaCalcComparisonParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcComparison(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getRosettaCalcComparisonParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0__1"
    // InternalRosetta.g:19922:1: rule__RosettaCalcEquality__Group_0__1 : rule__RosettaCalcEquality__Group_0__1__Impl ;
    public final void rule__RosettaCalcEquality__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19926:1: ( rule__RosettaCalcEquality__Group_0__1__Impl )
            // InternalRosetta.g:19927:2: rule__RosettaCalcEquality__Group_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0__1"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0__1__Impl"
    // InternalRosetta.g:19933:1: rule__RosettaCalcEquality__Group_0__1__Impl : ( ( rule__RosettaCalcEquality__Group_0_1__0 )* ) ;
    public final void rule__RosettaCalcEquality__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19937:1: ( ( ( rule__RosettaCalcEquality__Group_0_1__0 )* ) )
            // InternalRosetta.g:19938:1: ( ( rule__RosettaCalcEquality__Group_0_1__0 )* )
            {
            // InternalRosetta.g:19938:1: ( ( rule__RosettaCalcEquality__Group_0_1__0 )* )
            // InternalRosetta.g:19939:2: ( rule__RosettaCalcEquality__Group_0_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getGroup_0_1()); }
            // InternalRosetta.g:19940:2: ( rule__RosettaCalcEquality__Group_0_1__0 )*
            loop223:
            do {
                int alt223=2;
                switch ( input.LA(1) ) {
                case 55:
                    {
                    int LA223_2 = input.LA(2);
                    if ( (synpred358_InternalRosetta()) ) {
                        alt223=1;
                    }
                    }
                    break;
                case 56:
                    {
                    int LA223_3 = input.LA(2);
                    if ( (synpred358_InternalRosetta()) ) {
                        alt223=1;
                    }
                    }
                    break;
                case 19:
                    {
                    int LA223_4 = input.LA(2);
                    if ( (synpred358_InternalRosetta()) ) {
                        alt223=1;
                    }
                    }
                    break;
                case 20:
                    {
                    int LA223_5 = input.LA(2);
                    if ( (synpred358_InternalRosetta()) ) {
                        alt223=1;
                    }
                    }
                    break;
                }
                switch (alt223) {
            	case 1 :
            	    // InternalRosetta.g:19940:3: rule__RosettaCalcEquality__Group_0_1__0
            	    {
            	    pushFollow(FOLLOW_108);
            	    rule__RosettaCalcEquality__Group_0_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop223;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getGroup_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1__0"
    // InternalRosetta.g:19949:1: rule__RosettaCalcEquality__Group_0_1__0 : rule__RosettaCalcEquality__Group_0_1__0__Impl rule__RosettaCalcEquality__Group_0_1__1 ;
    public final void rule__RosettaCalcEquality__Group_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19953:1: ( rule__RosettaCalcEquality__Group_0_1__0__Impl rule__RosettaCalcEquality__Group_0_1__1 )
            // InternalRosetta.g:19954:2: rule__RosettaCalcEquality__Group_0_1__0__Impl rule__RosettaCalcEquality__Group_0_1__1
            {
            pushFollow(FOLLOW_109);
            rule__RosettaCalcEquality__Group_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1__0"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1__0__Impl"
    // InternalRosetta.g:19961:1: rule__RosettaCalcEquality__Group_0_1__0__Impl : ( ( rule__RosettaCalcEquality__Group_0_1_0__0 ) ) ;
    public final void rule__RosettaCalcEquality__Group_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19965:1: ( ( ( rule__RosettaCalcEquality__Group_0_1_0__0 ) ) )
            // InternalRosetta.g:19966:1: ( ( rule__RosettaCalcEquality__Group_0_1_0__0 ) )
            {
            // InternalRosetta.g:19966:1: ( ( rule__RosettaCalcEquality__Group_0_1_0__0 ) )
            // InternalRosetta.g:19967:2: ( rule__RosettaCalcEquality__Group_0_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getGroup_0_1_0()); }
            // InternalRosetta.g:19968:2: ( rule__RosettaCalcEquality__Group_0_1_0__0 )
            // InternalRosetta.g:19968:3: rule__RosettaCalcEquality__Group_0_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_0_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getGroup_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1__1"
    // InternalRosetta.g:19976:1: rule__RosettaCalcEquality__Group_0_1__1 : rule__RosettaCalcEquality__Group_0_1__1__Impl ;
    public final void rule__RosettaCalcEquality__Group_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19980:1: ( rule__RosettaCalcEquality__Group_0_1__1__Impl )
            // InternalRosetta.g:19981:2: rule__RosettaCalcEquality__Group_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1__1"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1__1__Impl"
    // InternalRosetta.g:19987:1: rule__RosettaCalcEquality__Group_0_1__1__Impl : ( ( rule__RosettaCalcEquality__RightAssignment_0_1_1 ) ) ;
    public final void rule__RosettaCalcEquality__Group_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:19991:1: ( ( ( rule__RosettaCalcEquality__RightAssignment_0_1_1 ) ) )
            // InternalRosetta.g:19992:1: ( ( rule__RosettaCalcEquality__RightAssignment_0_1_1 ) )
            {
            // InternalRosetta.g:19992:1: ( ( rule__RosettaCalcEquality__RightAssignment_0_1_1 ) )
            // InternalRosetta.g:19993:2: ( rule__RosettaCalcEquality__RightAssignment_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getRightAssignment_0_1_1()); }
            // InternalRosetta.g:19994:2: ( rule__RosettaCalcEquality__RightAssignment_0_1_1 )
            // InternalRosetta.g:19994:3: rule__RosettaCalcEquality__RightAssignment_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__RightAssignment_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getRightAssignment_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1_0__0"
    // InternalRosetta.g:20003:1: rule__RosettaCalcEquality__Group_0_1_0__0 : rule__RosettaCalcEquality__Group_0_1_0__0__Impl ;
    public final void rule__RosettaCalcEquality__Group_0_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20007:1: ( rule__RosettaCalcEquality__Group_0_1_0__0__Impl )
            // InternalRosetta.g:20008:2: rule__RosettaCalcEquality__Group_0_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_0_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1_0__0"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1_0__0__Impl"
    // InternalRosetta.g:20014:1: rule__RosettaCalcEquality__Group_0_1_0__0__Impl : ( ( rule__RosettaCalcEquality__Group_0_1_0_0__0 ) ) ;
    public final void rule__RosettaCalcEquality__Group_0_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20018:1: ( ( ( rule__RosettaCalcEquality__Group_0_1_0_0__0 ) ) )
            // InternalRosetta.g:20019:1: ( ( rule__RosettaCalcEquality__Group_0_1_0_0__0 ) )
            {
            // InternalRosetta.g:20019:1: ( ( rule__RosettaCalcEquality__Group_0_1_0_0__0 ) )
            // InternalRosetta.g:20020:2: ( rule__RosettaCalcEquality__Group_0_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getGroup_0_1_0_0()); }
            // InternalRosetta.g:20021:2: ( rule__RosettaCalcEquality__Group_0_1_0_0__0 )
            // InternalRosetta.g:20021:3: rule__RosettaCalcEquality__Group_0_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_0_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getGroup_0_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1_0_0__0"
    // InternalRosetta.g:20030:1: rule__RosettaCalcEquality__Group_0_1_0_0__0 : rule__RosettaCalcEquality__Group_0_1_0_0__0__Impl rule__RosettaCalcEquality__Group_0_1_0_0__1 ;
    public final void rule__RosettaCalcEquality__Group_0_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20034:1: ( rule__RosettaCalcEquality__Group_0_1_0_0__0__Impl rule__RosettaCalcEquality__Group_0_1_0_0__1 )
            // InternalRosetta.g:20035:2: rule__RosettaCalcEquality__Group_0_1_0_0__0__Impl rule__RosettaCalcEquality__Group_0_1_0_0__1
            {
            pushFollow(FOLLOW_107);
            rule__RosettaCalcEquality__Group_0_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_0_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1_0_0__0__Impl"
    // InternalRosetta.g:20042:1: rule__RosettaCalcEquality__Group_0_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcEquality__Group_0_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20046:1: ( ( () ) )
            // InternalRosetta.g:20047:1: ( () )
            {
            // InternalRosetta.g:20047:1: ( () )
            // InternalRosetta.g:20048:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getEqualityOperationLeftAction_0_1_0_0_0()); }
            // InternalRosetta.g:20049:2: ()
            // InternalRosetta.g:20049:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getEqualityOperationLeftAction_0_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1_0_0__1"
    // InternalRosetta.g:20057:1: rule__RosettaCalcEquality__Group_0_1_0_0__1 : rule__RosettaCalcEquality__Group_0_1_0_0__1__Impl rule__RosettaCalcEquality__Group_0_1_0_0__2 ;
    public final void rule__RosettaCalcEquality__Group_0_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20061:1: ( rule__RosettaCalcEquality__Group_0_1_0_0__1__Impl rule__RosettaCalcEquality__Group_0_1_0_0__2 )
            // InternalRosetta.g:20062:2: rule__RosettaCalcEquality__Group_0_1_0_0__1__Impl rule__RosettaCalcEquality__Group_0_1_0_0__2
            {
            pushFollow(FOLLOW_107);
            rule__RosettaCalcEquality__Group_0_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_0_1_0_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1_0_0__1__Impl"
    // InternalRosetta.g:20069:1: rule__RosettaCalcEquality__Group_0_1_0_0__1__Impl : ( ( rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1 )? ) ;
    public final void rule__RosettaCalcEquality__Group_0_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20073:1: ( ( ( rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1 )? ) )
            // InternalRosetta.g:20074:1: ( ( rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1 )? )
            {
            // InternalRosetta.g:20074:1: ( ( rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1 )? )
            // InternalRosetta.g:20075:2: ( rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getCardModAssignment_0_1_0_0_1()); }
            // InternalRosetta.g:20076:2: ( rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1 )?
            int alt224=2;
            int LA224_0 = input.LA(1);
            if ( ((LA224_0>=55 && LA224_0<=56)) ) {
                alt224=1;
            }
            switch (alt224) {
                case 1 :
                    // InternalRosetta.g:20076:3: rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getCardModAssignment_0_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1_0_0__2"
    // InternalRosetta.g:20084:1: rule__RosettaCalcEquality__Group_0_1_0_0__2 : rule__RosettaCalcEquality__Group_0_1_0_0__2__Impl ;
    public final void rule__RosettaCalcEquality__Group_0_1_0_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20088:1: ( rule__RosettaCalcEquality__Group_0_1_0_0__2__Impl )
            // InternalRosetta.g:20089:2: rule__RosettaCalcEquality__Group_0_1_0_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_0_1_0_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1_0_0__2"
    // $ANTLR start "rule__RosettaCalcEquality__Group_0_1_0_0__2__Impl"
    // InternalRosetta.g:20095:1: rule__RosettaCalcEquality__Group_0_1_0_0__2__Impl : ( ( rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2 ) ) ;
    public final void rule__RosettaCalcEquality__Group_0_1_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20099:1: ( ( ( rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2 ) ) )
            // InternalRosetta.g:20100:1: ( ( rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2 ) )
            {
            // InternalRosetta.g:20100:1: ( ( rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2 ) )
            // InternalRosetta.g:20101:2: ( rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAssignment_0_1_0_0_2()); }
            // InternalRosetta.g:20102:2: ( rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2 )
            // InternalRosetta.g:20102:3: rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAssignment_0_1_0_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_0_1_0_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1__0"
    // InternalRosetta.g:20111:1: rule__RosettaCalcEquality__Group_1__0 : rule__RosettaCalcEquality__Group_1__0__Impl rule__RosettaCalcEquality__Group_1__1 ;
    public final void rule__RosettaCalcEquality__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20115:1: ( rule__RosettaCalcEquality__Group_1__0__Impl rule__RosettaCalcEquality__Group_1__1 )
            // InternalRosetta.g:20116:2: rule__RosettaCalcEquality__Group_1__0__Impl rule__RosettaCalcEquality__Group_1__1
            {
            pushFollow(FOLLOW_107);
            rule__RosettaCalcEquality__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1__0"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1__0__Impl"
    // InternalRosetta.g:20123:1: rule__RosettaCalcEquality__Group_1__0__Impl : ( ( rule__RosettaCalcEquality__Group_1_0__0 ) ) ;
    public final void rule__RosettaCalcEquality__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20127:1: ( ( ( rule__RosettaCalcEquality__Group_1_0__0 ) ) )
            // InternalRosetta.g:20128:1: ( ( rule__RosettaCalcEquality__Group_1_0__0 ) )
            {
            // InternalRosetta.g:20128:1: ( ( rule__RosettaCalcEquality__Group_1_0__0 ) )
            // InternalRosetta.g:20129:2: ( rule__RosettaCalcEquality__Group_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getGroup_1_0()); }
            // InternalRosetta.g:20130:2: ( rule__RosettaCalcEquality__Group_1_0__0 )
            // InternalRosetta.g:20130:3: rule__RosettaCalcEquality__Group_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getGroup_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1__1"
    // InternalRosetta.g:20138:1: rule__RosettaCalcEquality__Group_1__1 : rule__RosettaCalcEquality__Group_1__1__Impl ;
    public final void rule__RosettaCalcEquality__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20142:1: ( rule__RosettaCalcEquality__Group_1__1__Impl )
            // InternalRosetta.g:20143:2: rule__RosettaCalcEquality__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1__1"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1__1__Impl"
    // InternalRosetta.g:20149:1: rule__RosettaCalcEquality__Group_1__1__Impl : ( ( rule__RosettaCalcEquality__Group_1_1__0 )* ) ;
    public final void rule__RosettaCalcEquality__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20153:1: ( ( ( rule__RosettaCalcEquality__Group_1_1__0 )* ) )
            // InternalRosetta.g:20154:1: ( ( rule__RosettaCalcEquality__Group_1_1__0 )* )
            {
            // InternalRosetta.g:20154:1: ( ( rule__RosettaCalcEquality__Group_1_1__0 )* )
            // InternalRosetta.g:20155:2: ( rule__RosettaCalcEquality__Group_1_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getGroup_1_1()); }
            // InternalRosetta.g:20156:2: ( rule__RosettaCalcEquality__Group_1_1__0 )*
            loop225:
            do {
                int alt225=2;
                switch ( input.LA(1) ) {
                case 55:
                    {
                    int LA225_2 = input.LA(2);
                    if ( (synpred360_InternalRosetta()) ) {
                        alt225=1;
                    }
                    }
                    break;
                case 56:
                    {
                    int LA225_3 = input.LA(2);
                    if ( (synpred360_InternalRosetta()) ) {
                        alt225=1;
                    }
                    }
                    break;
                case 19:
                    {
                    int LA225_4 = input.LA(2);
                    if ( (synpred360_InternalRosetta()) ) {
                        alt225=1;
                    }
                    }
                    break;
                case 20:
                    {
                    int LA225_5 = input.LA(2);
                    if ( (synpred360_InternalRosetta()) ) {
                        alt225=1;
                    }
                    }
                    break;
                }
                switch (alt225) {
            	case 1 :
            	    // InternalRosetta.g:20156:3: rule__RosettaCalcEquality__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_108);
            	    rule__RosettaCalcEquality__Group_1_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop225;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getGroup_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_0__0"
    // InternalRosetta.g:20165:1: rule__RosettaCalcEquality__Group_1_0__0 : rule__RosettaCalcEquality__Group_1_0__0__Impl rule__RosettaCalcEquality__Group_1_0__1 ;
    public final void rule__RosettaCalcEquality__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20169:1: ( rule__RosettaCalcEquality__Group_1_0__0__Impl rule__RosettaCalcEquality__Group_1_0__1 )
            // InternalRosetta.g:20170:2: rule__RosettaCalcEquality__Group_1_0__0__Impl rule__RosettaCalcEquality__Group_1_0__1
            {
            pushFollow(FOLLOW_106);
            rule__RosettaCalcEquality__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_0__0"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_0__0__Impl"
    // InternalRosetta.g:20177:1: rule__RosettaCalcEquality__Group_1_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcEquality__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20181:1: ( ( () ) )
            // InternalRosetta.g:20182:1: ( () )
            {
            // InternalRosetta.g:20182:1: ( () )
            // InternalRosetta.g:20183:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getEqualityOperationAction_1_0_0()); }
            // InternalRosetta.g:20184:2: ()
            // InternalRosetta.g:20184:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getEqualityOperationAction_1_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_0__1"
    // InternalRosetta.g:20192:1: rule__RosettaCalcEquality__Group_1_0__1 : rule__RosettaCalcEquality__Group_1_0__1__Impl rule__RosettaCalcEquality__Group_1_0__2 ;
    public final void rule__RosettaCalcEquality__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20196:1: ( rule__RosettaCalcEquality__Group_1_0__1__Impl rule__RosettaCalcEquality__Group_1_0__2 )
            // InternalRosetta.g:20197:2: rule__RosettaCalcEquality__Group_1_0__1__Impl rule__RosettaCalcEquality__Group_1_0__2
            {
            pushFollow(FOLLOW_106);
            rule__RosettaCalcEquality__Group_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_0__1"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_0__1__Impl"
    // InternalRosetta.g:20204:1: rule__RosettaCalcEquality__Group_1_0__1__Impl : ( ( rule__RosettaCalcEquality__CardModAssignment_1_0_1 )? ) ;
    public final void rule__RosettaCalcEquality__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20208:1: ( ( ( rule__RosettaCalcEquality__CardModAssignment_1_0_1 )? ) )
            // InternalRosetta.g:20209:1: ( ( rule__RosettaCalcEquality__CardModAssignment_1_0_1 )? )
            {
            // InternalRosetta.g:20209:1: ( ( rule__RosettaCalcEquality__CardModAssignment_1_0_1 )? )
            // InternalRosetta.g:20210:2: ( rule__RosettaCalcEquality__CardModAssignment_1_0_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getCardModAssignment_1_0_1()); }
            // InternalRosetta.g:20211:2: ( rule__RosettaCalcEquality__CardModAssignment_1_0_1 )?
            int alt226=2;
            int LA226_0 = input.LA(1);
            if ( ((LA226_0>=55 && LA226_0<=56)) ) {
                alt226=1;
            }
            switch (alt226) {
                case 1 :
                    // InternalRosetta.g:20211:3: rule__RosettaCalcEquality__CardModAssignment_1_0_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcEquality__CardModAssignment_1_0_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getCardModAssignment_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_0__2"
    // InternalRosetta.g:20219:1: rule__RosettaCalcEquality__Group_1_0__2 : rule__RosettaCalcEquality__Group_1_0__2__Impl rule__RosettaCalcEquality__Group_1_0__3 ;
    public final void rule__RosettaCalcEquality__Group_1_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20223:1: ( rule__RosettaCalcEquality__Group_1_0__2__Impl rule__RosettaCalcEquality__Group_1_0__3 )
            // InternalRosetta.g:20224:2: rule__RosettaCalcEquality__Group_1_0__2__Impl rule__RosettaCalcEquality__Group_1_0__3
            {
            pushFollow(FOLLOW_109);
            rule__RosettaCalcEquality__Group_1_0__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_0__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_0__2"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_0__2__Impl"
    // InternalRosetta.g:20231:1: rule__RosettaCalcEquality__Group_1_0__2__Impl : ( ( rule__RosettaCalcEquality__OperatorAssignment_1_0_2 ) ) ;
    public final void rule__RosettaCalcEquality__Group_1_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20235:1: ( ( ( rule__RosettaCalcEquality__OperatorAssignment_1_0_2 ) ) )
            // InternalRosetta.g:20236:1: ( ( rule__RosettaCalcEquality__OperatorAssignment_1_0_2 ) )
            {
            // InternalRosetta.g:20236:1: ( ( rule__RosettaCalcEquality__OperatorAssignment_1_0_2 ) )
            // InternalRosetta.g:20237:2: ( rule__RosettaCalcEquality__OperatorAssignment_1_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAssignment_1_0_2()); }
            // InternalRosetta.g:20238:2: ( rule__RosettaCalcEquality__OperatorAssignment_1_0_2 )
            // InternalRosetta.g:20238:3: rule__RosettaCalcEquality__OperatorAssignment_1_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__OperatorAssignment_1_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAssignment_1_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_0__3"
    // InternalRosetta.g:20246:1: rule__RosettaCalcEquality__Group_1_0__3 : rule__RosettaCalcEquality__Group_1_0__3__Impl ;
    public final void rule__RosettaCalcEquality__Group_1_0__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20250:1: ( rule__RosettaCalcEquality__Group_1_0__3__Impl )
            // InternalRosetta.g:20251:2: rule__RosettaCalcEquality__Group_1_0__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_0__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_0__3"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_0__3__Impl"
    // InternalRosetta.g:20257:1: rule__RosettaCalcEquality__Group_1_0__3__Impl : ( ( rule__RosettaCalcEquality__RightAssignment_1_0_3 ) ) ;
    public final void rule__RosettaCalcEquality__Group_1_0__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20261:1: ( ( ( rule__RosettaCalcEquality__RightAssignment_1_0_3 ) ) )
            // InternalRosetta.g:20262:1: ( ( rule__RosettaCalcEquality__RightAssignment_1_0_3 ) )
            {
            // InternalRosetta.g:20262:1: ( ( rule__RosettaCalcEquality__RightAssignment_1_0_3 ) )
            // InternalRosetta.g:20263:2: ( rule__RosettaCalcEquality__RightAssignment_1_0_3 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getRightAssignment_1_0_3()); }
            // InternalRosetta.g:20264:2: ( rule__RosettaCalcEquality__RightAssignment_1_0_3 )
            // InternalRosetta.g:20264:3: rule__RosettaCalcEquality__RightAssignment_1_0_3
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__RightAssignment_1_0_3(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getRightAssignment_1_0_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_0__3__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1__0"
    // InternalRosetta.g:20273:1: rule__RosettaCalcEquality__Group_1_1__0 : rule__RosettaCalcEquality__Group_1_1__0__Impl rule__RosettaCalcEquality__Group_1_1__1 ;
    public final void rule__RosettaCalcEquality__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20277:1: ( rule__RosettaCalcEquality__Group_1_1__0__Impl rule__RosettaCalcEquality__Group_1_1__1 )
            // InternalRosetta.g:20278:2: rule__RosettaCalcEquality__Group_1_1__0__Impl rule__RosettaCalcEquality__Group_1_1__1
            {
            pushFollow(FOLLOW_109);
            rule__RosettaCalcEquality__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1__0"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1__0__Impl"
    // InternalRosetta.g:20285:1: rule__RosettaCalcEquality__Group_1_1__0__Impl : ( ( rule__RosettaCalcEquality__Group_1_1_0__0 ) ) ;
    public final void rule__RosettaCalcEquality__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20289:1: ( ( ( rule__RosettaCalcEquality__Group_1_1_0__0 ) ) )
            // InternalRosetta.g:20290:1: ( ( rule__RosettaCalcEquality__Group_1_1_0__0 ) )
            {
            // InternalRosetta.g:20290:1: ( ( rule__RosettaCalcEquality__Group_1_1_0__0 ) )
            // InternalRosetta.g:20291:2: ( rule__RosettaCalcEquality__Group_1_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getGroup_1_1_0()); }
            // InternalRosetta.g:20292:2: ( rule__RosettaCalcEquality__Group_1_1_0__0 )
            // InternalRosetta.g:20292:3: rule__RosettaCalcEquality__Group_1_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getGroup_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1__1"
    // InternalRosetta.g:20300:1: rule__RosettaCalcEquality__Group_1_1__1 : rule__RosettaCalcEquality__Group_1_1__1__Impl ;
    public final void rule__RosettaCalcEquality__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20304:1: ( rule__RosettaCalcEquality__Group_1_1__1__Impl )
            // InternalRosetta.g:20305:2: rule__RosettaCalcEquality__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1__1"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1__1__Impl"
    // InternalRosetta.g:20311:1: rule__RosettaCalcEquality__Group_1_1__1__Impl : ( ( rule__RosettaCalcEquality__RightAssignment_1_1_1 ) ) ;
    public final void rule__RosettaCalcEquality__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20315:1: ( ( ( rule__RosettaCalcEquality__RightAssignment_1_1_1 ) ) )
            // InternalRosetta.g:20316:1: ( ( rule__RosettaCalcEquality__RightAssignment_1_1_1 ) )
            {
            // InternalRosetta.g:20316:1: ( ( rule__RosettaCalcEquality__RightAssignment_1_1_1 ) )
            // InternalRosetta.g:20317:2: ( rule__RosettaCalcEquality__RightAssignment_1_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getRightAssignment_1_1_1()); }
            // InternalRosetta.g:20318:2: ( rule__RosettaCalcEquality__RightAssignment_1_1_1 )
            // InternalRosetta.g:20318:3: rule__RosettaCalcEquality__RightAssignment_1_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__RightAssignment_1_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getRightAssignment_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1_0__0"
    // InternalRosetta.g:20327:1: rule__RosettaCalcEquality__Group_1_1_0__0 : rule__RosettaCalcEquality__Group_1_1_0__0__Impl ;
    public final void rule__RosettaCalcEquality__Group_1_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20331:1: ( rule__RosettaCalcEquality__Group_1_1_0__0__Impl )
            // InternalRosetta.g:20332:2: rule__RosettaCalcEquality__Group_1_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1_0__0"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1_0__0__Impl"
    // InternalRosetta.g:20338:1: rule__RosettaCalcEquality__Group_1_1_0__0__Impl : ( ( rule__RosettaCalcEquality__Group_1_1_0_0__0 ) ) ;
    public final void rule__RosettaCalcEquality__Group_1_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20342:1: ( ( ( rule__RosettaCalcEquality__Group_1_1_0_0__0 ) ) )
            // InternalRosetta.g:20343:1: ( ( rule__RosettaCalcEquality__Group_1_1_0_0__0 ) )
            {
            // InternalRosetta.g:20343:1: ( ( rule__RosettaCalcEquality__Group_1_1_0_0__0 ) )
            // InternalRosetta.g:20344:2: ( rule__RosettaCalcEquality__Group_1_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getGroup_1_1_0_0()); }
            // InternalRosetta.g:20345:2: ( rule__RosettaCalcEquality__Group_1_1_0_0__0 )
            // InternalRosetta.g:20345:3: rule__RosettaCalcEquality__Group_1_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getGroup_1_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1_0_0__0"
    // InternalRosetta.g:20354:1: rule__RosettaCalcEquality__Group_1_1_0_0__0 : rule__RosettaCalcEquality__Group_1_1_0_0__0__Impl rule__RosettaCalcEquality__Group_1_1_0_0__1 ;
    public final void rule__RosettaCalcEquality__Group_1_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20358:1: ( rule__RosettaCalcEquality__Group_1_1_0_0__0__Impl rule__RosettaCalcEquality__Group_1_1_0_0__1 )
            // InternalRosetta.g:20359:2: rule__RosettaCalcEquality__Group_1_1_0_0__0__Impl rule__RosettaCalcEquality__Group_1_1_0_0__1
            {
            pushFollow(FOLLOW_107);
            rule__RosettaCalcEquality__Group_1_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1_0_0__0__Impl"
    // InternalRosetta.g:20366:1: rule__RosettaCalcEquality__Group_1_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcEquality__Group_1_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20370:1: ( ( () ) )
            // InternalRosetta.g:20371:1: ( () )
            {
            // InternalRosetta.g:20371:1: ( () )
            // InternalRosetta.g:20372:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getEqualityOperationLeftAction_1_1_0_0_0()); }
            // InternalRosetta.g:20373:2: ()
            // InternalRosetta.g:20373:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getEqualityOperationLeftAction_1_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1_0_0__1"
    // InternalRosetta.g:20381:1: rule__RosettaCalcEquality__Group_1_1_0_0__1 : rule__RosettaCalcEquality__Group_1_1_0_0__1__Impl rule__RosettaCalcEquality__Group_1_1_0_0__2 ;
    public final void rule__RosettaCalcEquality__Group_1_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20385:1: ( rule__RosettaCalcEquality__Group_1_1_0_0__1__Impl rule__RosettaCalcEquality__Group_1_1_0_0__2 )
            // InternalRosetta.g:20386:2: rule__RosettaCalcEquality__Group_1_1_0_0__1__Impl rule__RosettaCalcEquality__Group_1_1_0_0__2
            {
            pushFollow(FOLLOW_107);
            rule__RosettaCalcEquality__Group_1_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_1_0_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1_0_0__1__Impl"
    // InternalRosetta.g:20393:1: rule__RosettaCalcEquality__Group_1_1_0_0__1__Impl : ( ( rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1 )? ) ;
    public final void rule__RosettaCalcEquality__Group_1_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20397:1: ( ( ( rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1 )? ) )
            // InternalRosetta.g:20398:1: ( ( rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1 )? )
            {
            // InternalRosetta.g:20398:1: ( ( rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1 )? )
            // InternalRosetta.g:20399:2: ( rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getCardModAssignment_1_1_0_0_1()); }
            // InternalRosetta.g:20400:2: ( rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1 )?
            int alt227=2;
            int LA227_0 = input.LA(1);
            if ( ((LA227_0>=55 && LA227_0<=56)) ) {
                alt227=1;
            }
            switch (alt227) {
                case 1 :
                    // InternalRosetta.g:20400:3: rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getCardModAssignment_1_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1_0_0__2"
    // InternalRosetta.g:20408:1: rule__RosettaCalcEquality__Group_1_1_0_0__2 : rule__RosettaCalcEquality__Group_1_1_0_0__2__Impl ;
    public final void rule__RosettaCalcEquality__Group_1_1_0_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20412:1: ( rule__RosettaCalcEquality__Group_1_1_0_0__2__Impl )
            // InternalRosetta.g:20413:2: rule__RosettaCalcEquality__Group_1_1_0_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__Group_1_1_0_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1_0_0__2"
    // $ANTLR start "rule__RosettaCalcEquality__Group_1_1_0_0__2__Impl"
    // InternalRosetta.g:20419:1: rule__RosettaCalcEquality__Group_1_1_0_0__2__Impl : ( ( rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2 ) ) ;
    public final void rule__RosettaCalcEquality__Group_1_1_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20423:1: ( ( ( rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2 ) ) )
            // InternalRosetta.g:20424:1: ( ( rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2 ) )
            {
            // InternalRosetta.g:20424:1: ( ( rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2 ) )
            // InternalRosetta.g:20425:2: ( rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAssignment_1_1_0_0_2()); }
            // InternalRosetta.g:20426:2: ( rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2 )
            // InternalRosetta.g:20426:3: rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAssignment_1_1_0_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__Group_1_1_0_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0__0"
    // InternalRosetta.g:20435:1: rule__RosettaCalcComparison__Group_0__0 : rule__RosettaCalcComparison__Group_0__0__Impl rule__RosettaCalcComparison__Group_0__1 ;
    public final void rule__RosettaCalcComparison__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20439:1: ( rule__RosettaCalcComparison__Group_0__0__Impl rule__RosettaCalcComparison__Group_0__1 )
            // InternalRosetta.g:20440:2: rule__RosettaCalcComparison__Group_0__0__Impl rule__RosettaCalcComparison__Group_0__1
            {
            pushFollow(FOLLOW_110);
            rule__RosettaCalcComparison__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0__0"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0__0__Impl"
    // InternalRosetta.g:20447:1: rule__RosettaCalcComparison__Group_0__0__Impl : ( ruleRosettaCalcAdditive ) ;
    public final void rule__RosettaCalcComparison__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20451:1: ( ( ruleRosettaCalcAdditive ) )
            // InternalRosetta.g:20452:1: ( ruleRosettaCalcAdditive )
            {
            // InternalRosetta.g:20452:1: ( ruleRosettaCalcAdditive )
            // InternalRosetta.g:20453:2: ruleRosettaCalcAdditive
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getRosettaCalcAdditiveParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcAdditive(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getRosettaCalcAdditiveParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0__1"
    // InternalRosetta.g:20462:1: rule__RosettaCalcComparison__Group_0__1 : rule__RosettaCalcComparison__Group_0__1__Impl ;
    public final void rule__RosettaCalcComparison__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20466:1: ( rule__RosettaCalcComparison__Group_0__1__Impl )
            // InternalRosetta.g:20467:2: rule__RosettaCalcComparison__Group_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0__1"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0__1__Impl"
    // InternalRosetta.g:20473:1: rule__RosettaCalcComparison__Group_0__1__Impl : ( ( rule__RosettaCalcComparison__Group_0_1__0 )* ) ;
    public final void rule__RosettaCalcComparison__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20477:1: ( ( ( rule__RosettaCalcComparison__Group_0_1__0 )* ) )
            // InternalRosetta.g:20478:1: ( ( rule__RosettaCalcComparison__Group_0_1__0 )* )
            {
            // InternalRosetta.g:20478:1: ( ( rule__RosettaCalcComparison__Group_0_1__0 )* )
            // InternalRosetta.g:20479:2: ( rule__RosettaCalcComparison__Group_0_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getGroup_0_1()); }
            // InternalRosetta.g:20480:2: ( rule__RosettaCalcComparison__Group_0_1__0 )*
            loop228:
            do {
                int alt228=2;
                switch ( input.LA(1) ) {
                case 55:
                    {
                    int LA228_2 = input.LA(2);
                    if ( (synpred363_InternalRosetta()) ) {
                        alt228=1;
                    }
                    }
                    break;
                case 56:
                    {
                    int LA228_3 = input.LA(2);
                    if ( (synpred363_InternalRosetta()) ) {
                        alt228=1;
                    }
                    }
                    break;
                case 32:
                    {
                    int LA228_4 = input.LA(2);
                    if ( (synpred363_InternalRosetta()) ) {
                        alt228=1;
                    }
                    }
                    break;
                case 33:
                    {
                    int LA228_5 = input.LA(2);
                    if ( (synpred363_InternalRosetta()) ) {
                        alt228=1;
                    }
                    }
                    break;
                case 34:
                    {
                    int LA228_6 = input.LA(2);
                    if ( (synpred363_InternalRosetta()) ) {
                        alt228=1;
                    }
                    }
                    break;
                case 35:
                    {
                    int LA228_7 = input.LA(2);
                    if ( (synpred363_InternalRosetta()) ) {
                        alt228=1;
                    }
                    }
                    break;
                }
                switch (alt228) {
            	case 1 :
            	    // InternalRosetta.g:20480:3: rule__RosettaCalcComparison__Group_0_1__0
            	    {
            	    pushFollow(FOLLOW_111);
            	    rule__RosettaCalcComparison__Group_0_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop228;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getGroup_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1__0"
    // InternalRosetta.g:20489:1: rule__RosettaCalcComparison__Group_0_1__0 : rule__RosettaCalcComparison__Group_0_1__0__Impl rule__RosettaCalcComparison__Group_0_1__1 ;
    public final void rule__RosettaCalcComparison__Group_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20493:1: ( rule__RosettaCalcComparison__Group_0_1__0__Impl rule__RosettaCalcComparison__Group_0_1__1 )
            // InternalRosetta.g:20494:2: rule__RosettaCalcComparison__Group_0_1__0__Impl rule__RosettaCalcComparison__Group_0_1__1
            {
            pushFollow(FOLLOW_112);
            rule__RosettaCalcComparison__Group_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1__0"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1__0__Impl"
    // InternalRosetta.g:20501:1: rule__RosettaCalcComparison__Group_0_1__0__Impl : ( ( rule__RosettaCalcComparison__Group_0_1_0__0 ) ) ;
    public final void rule__RosettaCalcComparison__Group_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20505:1: ( ( ( rule__RosettaCalcComparison__Group_0_1_0__0 ) ) )
            // InternalRosetta.g:20506:1: ( ( rule__RosettaCalcComparison__Group_0_1_0__0 ) )
            {
            // InternalRosetta.g:20506:1: ( ( rule__RosettaCalcComparison__Group_0_1_0__0 ) )
            // InternalRosetta.g:20507:2: ( rule__RosettaCalcComparison__Group_0_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getGroup_0_1_0()); }
            // InternalRosetta.g:20508:2: ( rule__RosettaCalcComparison__Group_0_1_0__0 )
            // InternalRosetta.g:20508:3: rule__RosettaCalcComparison__Group_0_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_0_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getGroup_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1__1"
    // InternalRosetta.g:20516:1: rule__RosettaCalcComparison__Group_0_1__1 : rule__RosettaCalcComparison__Group_0_1__1__Impl ;
    public final void rule__RosettaCalcComparison__Group_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20520:1: ( rule__RosettaCalcComparison__Group_0_1__1__Impl )
            // InternalRosetta.g:20521:2: rule__RosettaCalcComparison__Group_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1__1"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1__1__Impl"
    // InternalRosetta.g:20527:1: rule__RosettaCalcComparison__Group_0_1__1__Impl : ( ( rule__RosettaCalcComparison__RightAssignment_0_1_1 ) ) ;
    public final void rule__RosettaCalcComparison__Group_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20531:1: ( ( ( rule__RosettaCalcComparison__RightAssignment_0_1_1 ) ) )
            // InternalRosetta.g:20532:1: ( ( rule__RosettaCalcComparison__RightAssignment_0_1_1 ) )
            {
            // InternalRosetta.g:20532:1: ( ( rule__RosettaCalcComparison__RightAssignment_0_1_1 ) )
            // InternalRosetta.g:20533:2: ( rule__RosettaCalcComparison__RightAssignment_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getRightAssignment_0_1_1()); }
            // InternalRosetta.g:20534:2: ( rule__RosettaCalcComparison__RightAssignment_0_1_1 )
            // InternalRosetta.g:20534:3: rule__RosettaCalcComparison__RightAssignment_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__RightAssignment_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getRightAssignment_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1_0__0"
    // InternalRosetta.g:20543:1: rule__RosettaCalcComparison__Group_0_1_0__0 : rule__RosettaCalcComparison__Group_0_1_0__0__Impl ;
    public final void rule__RosettaCalcComparison__Group_0_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20547:1: ( rule__RosettaCalcComparison__Group_0_1_0__0__Impl )
            // InternalRosetta.g:20548:2: rule__RosettaCalcComparison__Group_0_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_0_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1_0__0"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1_0__0__Impl"
    // InternalRosetta.g:20554:1: rule__RosettaCalcComparison__Group_0_1_0__0__Impl : ( ( rule__RosettaCalcComparison__Group_0_1_0_0__0 ) ) ;
    public final void rule__RosettaCalcComparison__Group_0_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20558:1: ( ( ( rule__RosettaCalcComparison__Group_0_1_0_0__0 ) ) )
            // InternalRosetta.g:20559:1: ( ( rule__RosettaCalcComparison__Group_0_1_0_0__0 ) )
            {
            // InternalRosetta.g:20559:1: ( ( rule__RosettaCalcComparison__Group_0_1_0_0__0 ) )
            // InternalRosetta.g:20560:2: ( rule__RosettaCalcComparison__Group_0_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getGroup_0_1_0_0()); }
            // InternalRosetta.g:20561:2: ( rule__RosettaCalcComparison__Group_0_1_0_0__0 )
            // InternalRosetta.g:20561:3: rule__RosettaCalcComparison__Group_0_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_0_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getGroup_0_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1_0_0__0"
    // InternalRosetta.g:20570:1: rule__RosettaCalcComparison__Group_0_1_0_0__0 : rule__RosettaCalcComparison__Group_0_1_0_0__0__Impl rule__RosettaCalcComparison__Group_0_1_0_0__1 ;
    public final void rule__RosettaCalcComparison__Group_0_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20574:1: ( rule__RosettaCalcComparison__Group_0_1_0_0__0__Impl rule__RosettaCalcComparison__Group_0_1_0_0__1 )
            // InternalRosetta.g:20575:2: rule__RosettaCalcComparison__Group_0_1_0_0__0__Impl rule__RosettaCalcComparison__Group_0_1_0_0__1
            {
            pushFollow(FOLLOW_110);
            rule__RosettaCalcComparison__Group_0_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_0_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1_0_0__0__Impl"
    // InternalRosetta.g:20582:1: rule__RosettaCalcComparison__Group_0_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcComparison__Group_0_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20586:1: ( ( () ) )
            // InternalRosetta.g:20587:1: ( () )
            {
            // InternalRosetta.g:20587:1: ( () )
            // InternalRosetta.g:20588:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getComparisonOperationLeftAction_0_1_0_0_0()); }
            // InternalRosetta.g:20589:2: ()
            // InternalRosetta.g:20589:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getComparisonOperationLeftAction_0_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1_0_0__1"
    // InternalRosetta.g:20597:1: rule__RosettaCalcComparison__Group_0_1_0_0__1 : rule__RosettaCalcComparison__Group_0_1_0_0__1__Impl rule__RosettaCalcComparison__Group_0_1_0_0__2 ;
    public final void rule__RosettaCalcComparison__Group_0_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20601:1: ( rule__RosettaCalcComparison__Group_0_1_0_0__1__Impl rule__RosettaCalcComparison__Group_0_1_0_0__2 )
            // InternalRosetta.g:20602:2: rule__RosettaCalcComparison__Group_0_1_0_0__1__Impl rule__RosettaCalcComparison__Group_0_1_0_0__2
            {
            pushFollow(FOLLOW_110);
            rule__RosettaCalcComparison__Group_0_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_0_1_0_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1_0_0__1__Impl"
    // InternalRosetta.g:20609:1: rule__RosettaCalcComparison__Group_0_1_0_0__1__Impl : ( ( rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1 )? ) ;
    public final void rule__RosettaCalcComparison__Group_0_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20613:1: ( ( ( rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1 )? ) )
            // InternalRosetta.g:20614:1: ( ( rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1 )? )
            {
            // InternalRosetta.g:20614:1: ( ( rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1 )? )
            // InternalRosetta.g:20615:2: ( rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getCardModAssignment_0_1_0_0_1()); }
            // InternalRosetta.g:20616:2: ( rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1 )?
            int alt229=2;
            int LA229_0 = input.LA(1);
            if ( ((LA229_0>=55 && LA229_0<=56)) ) {
                alt229=1;
            }
            switch (alt229) {
                case 1 :
                    // InternalRosetta.g:20616:3: rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getCardModAssignment_0_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1_0_0__2"
    // InternalRosetta.g:20624:1: rule__RosettaCalcComparison__Group_0_1_0_0__2 : rule__RosettaCalcComparison__Group_0_1_0_0__2__Impl ;
    public final void rule__RosettaCalcComparison__Group_0_1_0_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20628:1: ( rule__RosettaCalcComparison__Group_0_1_0_0__2__Impl )
            // InternalRosetta.g:20629:2: rule__RosettaCalcComparison__Group_0_1_0_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_0_1_0_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1_0_0__2"
    // $ANTLR start "rule__RosettaCalcComparison__Group_0_1_0_0__2__Impl"
    // InternalRosetta.g:20635:1: rule__RosettaCalcComparison__Group_0_1_0_0__2__Impl : ( ( rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2 ) ) ;
    public final void rule__RosettaCalcComparison__Group_0_1_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20639:1: ( ( ( rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2 ) ) )
            // InternalRosetta.g:20640:1: ( ( rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2 ) )
            {
            // InternalRosetta.g:20640:1: ( ( rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2 ) )
            // InternalRosetta.g:20641:2: ( rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAssignment_0_1_0_0_2()); }
            // InternalRosetta.g:20642:2: ( rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2 )
            // InternalRosetta.g:20642:3: rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAssignment_0_1_0_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_0_1_0_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1__0"
    // InternalRosetta.g:20651:1: rule__RosettaCalcComparison__Group_1__0 : rule__RosettaCalcComparison__Group_1__0__Impl rule__RosettaCalcComparison__Group_1__1 ;
    public final void rule__RosettaCalcComparison__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20655:1: ( rule__RosettaCalcComparison__Group_1__0__Impl rule__RosettaCalcComparison__Group_1__1 )
            // InternalRosetta.g:20656:2: rule__RosettaCalcComparison__Group_1__0__Impl rule__RosettaCalcComparison__Group_1__1
            {
            pushFollow(FOLLOW_110);
            rule__RosettaCalcComparison__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1__0"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1__0__Impl"
    // InternalRosetta.g:20663:1: rule__RosettaCalcComparison__Group_1__0__Impl : ( ( rule__RosettaCalcComparison__Group_1_0__0 ) ) ;
    public final void rule__RosettaCalcComparison__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20667:1: ( ( ( rule__RosettaCalcComparison__Group_1_0__0 ) ) )
            // InternalRosetta.g:20668:1: ( ( rule__RosettaCalcComparison__Group_1_0__0 ) )
            {
            // InternalRosetta.g:20668:1: ( ( rule__RosettaCalcComparison__Group_1_0__0 ) )
            // InternalRosetta.g:20669:2: ( rule__RosettaCalcComparison__Group_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getGroup_1_0()); }
            // InternalRosetta.g:20670:2: ( rule__RosettaCalcComparison__Group_1_0__0 )
            // InternalRosetta.g:20670:3: rule__RosettaCalcComparison__Group_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getGroup_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1__1"
    // InternalRosetta.g:20678:1: rule__RosettaCalcComparison__Group_1__1 : rule__RosettaCalcComparison__Group_1__1__Impl ;
    public final void rule__RosettaCalcComparison__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20682:1: ( rule__RosettaCalcComparison__Group_1__1__Impl )
            // InternalRosetta.g:20683:2: rule__RosettaCalcComparison__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1__1"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1__1__Impl"
    // InternalRosetta.g:20689:1: rule__RosettaCalcComparison__Group_1__1__Impl : ( ( rule__RosettaCalcComparison__Group_1_1__0 )* ) ;
    public final void rule__RosettaCalcComparison__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20693:1: ( ( ( rule__RosettaCalcComparison__Group_1_1__0 )* ) )
            // InternalRosetta.g:20694:1: ( ( rule__RosettaCalcComparison__Group_1_1__0 )* )
            {
            // InternalRosetta.g:20694:1: ( ( rule__RosettaCalcComparison__Group_1_1__0 )* )
            // InternalRosetta.g:20695:2: ( rule__RosettaCalcComparison__Group_1_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getGroup_1_1()); }
            // InternalRosetta.g:20696:2: ( rule__RosettaCalcComparison__Group_1_1__0 )*
            loop230:
            do {
                int alt230=2;
                switch ( input.LA(1) ) {
                case 55:
                    {
                    int LA230_2 = input.LA(2);
                    if ( (synpred365_InternalRosetta()) ) {
                        alt230=1;
                    }
                    }
                    break;
                case 56:
                    {
                    int LA230_3 = input.LA(2);
                    if ( (synpred365_InternalRosetta()) ) {
                        alt230=1;
                    }
                    }
                    break;
                case 32:
                    {
                    int LA230_4 = input.LA(2);
                    if ( (synpred365_InternalRosetta()) ) {
                        alt230=1;
                    }
                    }
                    break;
                case 33:
                    {
                    int LA230_5 = input.LA(2);
                    if ( (synpred365_InternalRosetta()) ) {
                        alt230=1;
                    }
                    }
                    break;
                case 34:
                    {
                    int LA230_6 = input.LA(2);
                    if ( (synpred365_InternalRosetta()) ) {
                        alt230=1;
                    }
                    }
                    break;
                case 35:
                    {
                    int LA230_7 = input.LA(2);
                    if ( (synpred365_InternalRosetta()) ) {
                        alt230=1;
                    }
                    }
                    break;
                }
                switch (alt230) {
            	case 1 :
            	    // InternalRosetta.g:20696:3: rule__RosettaCalcComparison__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_111);
            	    rule__RosettaCalcComparison__Group_1_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop230;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getGroup_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_0__0"
    // InternalRosetta.g:20705:1: rule__RosettaCalcComparison__Group_1_0__0 : rule__RosettaCalcComparison__Group_1_0__0__Impl rule__RosettaCalcComparison__Group_1_0__1 ;
    public final void rule__RosettaCalcComparison__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20709:1: ( rule__RosettaCalcComparison__Group_1_0__0__Impl rule__RosettaCalcComparison__Group_1_0__1 )
            // InternalRosetta.g:20710:2: rule__RosettaCalcComparison__Group_1_0__0__Impl rule__RosettaCalcComparison__Group_1_0__1
            {
            pushFollow(FOLLOW_109);
            rule__RosettaCalcComparison__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_0__0"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_0__0__Impl"
    // InternalRosetta.g:20717:1: rule__RosettaCalcComparison__Group_1_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcComparison__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20721:1: ( ( () ) )
            // InternalRosetta.g:20722:1: ( () )
            {
            // InternalRosetta.g:20722:1: ( () )
            // InternalRosetta.g:20723:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getComparisonOperationAction_1_0_0()); }
            // InternalRosetta.g:20724:2: ()
            // InternalRosetta.g:20724:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getComparisonOperationAction_1_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_0__1"
    // InternalRosetta.g:20732:1: rule__RosettaCalcComparison__Group_1_0__1 : rule__RosettaCalcComparison__Group_1_0__1__Impl rule__RosettaCalcComparison__Group_1_0__2 ;
    public final void rule__RosettaCalcComparison__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20736:1: ( rule__RosettaCalcComparison__Group_1_0__1__Impl rule__RosettaCalcComparison__Group_1_0__2 )
            // InternalRosetta.g:20737:2: rule__RosettaCalcComparison__Group_1_0__1__Impl rule__RosettaCalcComparison__Group_1_0__2
            {
            pushFollow(FOLLOW_109);
            rule__RosettaCalcComparison__Group_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_0__1"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_0__1__Impl"
    // InternalRosetta.g:20744:1: rule__RosettaCalcComparison__Group_1_0__1__Impl : ( ( rule__RosettaCalcComparison__CardModAssignment_1_0_1 )? ) ;
    public final void rule__RosettaCalcComparison__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20748:1: ( ( ( rule__RosettaCalcComparison__CardModAssignment_1_0_1 )? ) )
            // InternalRosetta.g:20749:1: ( ( rule__RosettaCalcComparison__CardModAssignment_1_0_1 )? )
            {
            // InternalRosetta.g:20749:1: ( ( rule__RosettaCalcComparison__CardModAssignment_1_0_1 )? )
            // InternalRosetta.g:20750:2: ( rule__RosettaCalcComparison__CardModAssignment_1_0_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getCardModAssignment_1_0_1()); }
            // InternalRosetta.g:20751:2: ( rule__RosettaCalcComparison__CardModAssignment_1_0_1 )?
            int alt231=2;
            int LA231_0 = input.LA(1);
            if ( ((LA231_0>=55 && LA231_0<=56)) ) {
                alt231=1;
            }
            switch (alt231) {
                case 1 :
                    // InternalRosetta.g:20751:3: rule__RosettaCalcComparison__CardModAssignment_1_0_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcComparison__CardModAssignment_1_0_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getCardModAssignment_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_0__2"
    // InternalRosetta.g:20759:1: rule__RosettaCalcComparison__Group_1_0__2 : rule__RosettaCalcComparison__Group_1_0__2__Impl rule__RosettaCalcComparison__Group_1_0__3 ;
    public final void rule__RosettaCalcComparison__Group_1_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20763:1: ( rule__RosettaCalcComparison__Group_1_0__2__Impl rule__RosettaCalcComparison__Group_1_0__3 )
            // InternalRosetta.g:20764:2: rule__RosettaCalcComparison__Group_1_0__2__Impl rule__RosettaCalcComparison__Group_1_0__3
            {
            pushFollow(FOLLOW_112);
            rule__RosettaCalcComparison__Group_1_0__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_0__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_0__2"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_0__2__Impl"
    // InternalRosetta.g:20771:1: rule__RosettaCalcComparison__Group_1_0__2__Impl : ( ( rule__RosettaCalcComparison__OperatorAssignment_1_0_2 ) ) ;
    public final void rule__RosettaCalcComparison__Group_1_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20775:1: ( ( ( rule__RosettaCalcComparison__OperatorAssignment_1_0_2 ) ) )
            // InternalRosetta.g:20776:1: ( ( rule__RosettaCalcComparison__OperatorAssignment_1_0_2 ) )
            {
            // InternalRosetta.g:20776:1: ( ( rule__RosettaCalcComparison__OperatorAssignment_1_0_2 ) )
            // InternalRosetta.g:20777:2: ( rule__RosettaCalcComparison__OperatorAssignment_1_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAssignment_1_0_2()); }
            // InternalRosetta.g:20778:2: ( rule__RosettaCalcComparison__OperatorAssignment_1_0_2 )
            // InternalRosetta.g:20778:3: rule__RosettaCalcComparison__OperatorAssignment_1_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__OperatorAssignment_1_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAssignment_1_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_0__3"
    // InternalRosetta.g:20786:1: rule__RosettaCalcComparison__Group_1_0__3 : rule__RosettaCalcComparison__Group_1_0__3__Impl ;
    public final void rule__RosettaCalcComparison__Group_1_0__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20790:1: ( rule__RosettaCalcComparison__Group_1_0__3__Impl )
            // InternalRosetta.g:20791:2: rule__RosettaCalcComparison__Group_1_0__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_0__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_0__3"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_0__3__Impl"
    // InternalRosetta.g:20797:1: rule__RosettaCalcComparison__Group_1_0__3__Impl : ( ( rule__RosettaCalcComparison__RightAssignment_1_0_3 ) ) ;
    public final void rule__RosettaCalcComparison__Group_1_0__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20801:1: ( ( ( rule__RosettaCalcComparison__RightAssignment_1_0_3 ) ) )
            // InternalRosetta.g:20802:1: ( ( rule__RosettaCalcComparison__RightAssignment_1_0_3 ) )
            {
            // InternalRosetta.g:20802:1: ( ( rule__RosettaCalcComparison__RightAssignment_1_0_3 ) )
            // InternalRosetta.g:20803:2: ( rule__RosettaCalcComparison__RightAssignment_1_0_3 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getRightAssignment_1_0_3()); }
            // InternalRosetta.g:20804:2: ( rule__RosettaCalcComparison__RightAssignment_1_0_3 )
            // InternalRosetta.g:20804:3: rule__RosettaCalcComparison__RightAssignment_1_0_3
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__RightAssignment_1_0_3(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getRightAssignment_1_0_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_0__3__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1__0"
    // InternalRosetta.g:20813:1: rule__RosettaCalcComparison__Group_1_1__0 : rule__RosettaCalcComparison__Group_1_1__0__Impl rule__RosettaCalcComparison__Group_1_1__1 ;
    public final void rule__RosettaCalcComparison__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20817:1: ( rule__RosettaCalcComparison__Group_1_1__0__Impl rule__RosettaCalcComparison__Group_1_1__1 )
            // InternalRosetta.g:20818:2: rule__RosettaCalcComparison__Group_1_1__0__Impl rule__RosettaCalcComparison__Group_1_1__1
            {
            pushFollow(FOLLOW_112);
            rule__RosettaCalcComparison__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1__0"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1__0__Impl"
    // InternalRosetta.g:20825:1: rule__RosettaCalcComparison__Group_1_1__0__Impl : ( ( rule__RosettaCalcComparison__Group_1_1_0__0 ) ) ;
    public final void rule__RosettaCalcComparison__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20829:1: ( ( ( rule__RosettaCalcComparison__Group_1_1_0__0 ) ) )
            // InternalRosetta.g:20830:1: ( ( rule__RosettaCalcComparison__Group_1_1_0__0 ) )
            {
            // InternalRosetta.g:20830:1: ( ( rule__RosettaCalcComparison__Group_1_1_0__0 ) )
            // InternalRosetta.g:20831:2: ( rule__RosettaCalcComparison__Group_1_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getGroup_1_1_0()); }
            // InternalRosetta.g:20832:2: ( rule__RosettaCalcComparison__Group_1_1_0__0 )
            // InternalRosetta.g:20832:3: rule__RosettaCalcComparison__Group_1_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getGroup_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1__1"
    // InternalRosetta.g:20840:1: rule__RosettaCalcComparison__Group_1_1__1 : rule__RosettaCalcComparison__Group_1_1__1__Impl ;
    public final void rule__RosettaCalcComparison__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20844:1: ( rule__RosettaCalcComparison__Group_1_1__1__Impl )
            // InternalRosetta.g:20845:2: rule__RosettaCalcComparison__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1__1"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1__1__Impl"
    // InternalRosetta.g:20851:1: rule__RosettaCalcComparison__Group_1_1__1__Impl : ( ( rule__RosettaCalcComparison__RightAssignment_1_1_1 ) ) ;
    public final void rule__RosettaCalcComparison__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20855:1: ( ( ( rule__RosettaCalcComparison__RightAssignment_1_1_1 ) ) )
            // InternalRosetta.g:20856:1: ( ( rule__RosettaCalcComparison__RightAssignment_1_1_1 ) )
            {
            // InternalRosetta.g:20856:1: ( ( rule__RosettaCalcComparison__RightAssignment_1_1_1 ) )
            // InternalRosetta.g:20857:2: ( rule__RosettaCalcComparison__RightAssignment_1_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getRightAssignment_1_1_1()); }
            // InternalRosetta.g:20858:2: ( rule__RosettaCalcComparison__RightAssignment_1_1_1 )
            // InternalRosetta.g:20858:3: rule__RosettaCalcComparison__RightAssignment_1_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__RightAssignment_1_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getRightAssignment_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1_0__0"
    // InternalRosetta.g:20867:1: rule__RosettaCalcComparison__Group_1_1_0__0 : rule__RosettaCalcComparison__Group_1_1_0__0__Impl ;
    public final void rule__RosettaCalcComparison__Group_1_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20871:1: ( rule__RosettaCalcComparison__Group_1_1_0__0__Impl )
            // InternalRosetta.g:20872:2: rule__RosettaCalcComparison__Group_1_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1_0__0"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1_0__0__Impl"
    // InternalRosetta.g:20878:1: rule__RosettaCalcComparison__Group_1_1_0__0__Impl : ( ( rule__RosettaCalcComparison__Group_1_1_0_0__0 ) ) ;
    public final void rule__RosettaCalcComparison__Group_1_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20882:1: ( ( ( rule__RosettaCalcComparison__Group_1_1_0_0__0 ) ) )
            // InternalRosetta.g:20883:1: ( ( rule__RosettaCalcComparison__Group_1_1_0_0__0 ) )
            {
            // InternalRosetta.g:20883:1: ( ( rule__RosettaCalcComparison__Group_1_1_0_0__0 ) )
            // InternalRosetta.g:20884:2: ( rule__RosettaCalcComparison__Group_1_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getGroup_1_1_0_0()); }
            // InternalRosetta.g:20885:2: ( rule__RosettaCalcComparison__Group_1_1_0_0__0 )
            // InternalRosetta.g:20885:3: rule__RosettaCalcComparison__Group_1_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getGroup_1_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1_0_0__0"
    // InternalRosetta.g:20894:1: rule__RosettaCalcComparison__Group_1_1_0_0__0 : rule__RosettaCalcComparison__Group_1_1_0_0__0__Impl rule__RosettaCalcComparison__Group_1_1_0_0__1 ;
    public final void rule__RosettaCalcComparison__Group_1_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20898:1: ( rule__RosettaCalcComparison__Group_1_1_0_0__0__Impl rule__RosettaCalcComparison__Group_1_1_0_0__1 )
            // InternalRosetta.g:20899:2: rule__RosettaCalcComparison__Group_1_1_0_0__0__Impl rule__RosettaCalcComparison__Group_1_1_0_0__1
            {
            pushFollow(FOLLOW_110);
            rule__RosettaCalcComparison__Group_1_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1_0_0__0__Impl"
    // InternalRosetta.g:20906:1: rule__RosettaCalcComparison__Group_1_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcComparison__Group_1_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20910:1: ( ( () ) )
            // InternalRosetta.g:20911:1: ( () )
            {
            // InternalRosetta.g:20911:1: ( () )
            // InternalRosetta.g:20912:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getComparisonOperationLeftAction_1_1_0_0_0()); }
            // InternalRosetta.g:20913:2: ()
            // InternalRosetta.g:20913:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getComparisonOperationLeftAction_1_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1_0_0__1"
    // InternalRosetta.g:20921:1: rule__RosettaCalcComparison__Group_1_1_0_0__1 : rule__RosettaCalcComparison__Group_1_1_0_0__1__Impl rule__RosettaCalcComparison__Group_1_1_0_0__2 ;
    public final void rule__RosettaCalcComparison__Group_1_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20925:1: ( rule__RosettaCalcComparison__Group_1_1_0_0__1__Impl rule__RosettaCalcComparison__Group_1_1_0_0__2 )
            // InternalRosetta.g:20926:2: rule__RosettaCalcComparison__Group_1_1_0_0__1__Impl rule__RosettaCalcComparison__Group_1_1_0_0__2
            {
            pushFollow(FOLLOW_110);
            rule__RosettaCalcComparison__Group_1_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_1_0_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1_0_0__1__Impl"
    // InternalRosetta.g:20933:1: rule__RosettaCalcComparison__Group_1_1_0_0__1__Impl : ( ( rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1 )? ) ;
    public final void rule__RosettaCalcComparison__Group_1_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20937:1: ( ( ( rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1 )? ) )
            // InternalRosetta.g:20938:1: ( ( rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1 )? )
            {
            // InternalRosetta.g:20938:1: ( ( rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1 )? )
            // InternalRosetta.g:20939:2: ( rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getCardModAssignment_1_1_0_0_1()); }
            // InternalRosetta.g:20940:2: ( rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1 )?
            int alt232=2;
            int LA232_0 = input.LA(1);
            if ( ((LA232_0>=55 && LA232_0<=56)) ) {
                alt232=1;
            }
            switch (alt232) {
                case 1 :
                    // InternalRosetta.g:20940:3: rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getCardModAssignment_1_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1_0_0__2"
    // InternalRosetta.g:20948:1: rule__RosettaCalcComparison__Group_1_1_0_0__2 : rule__RosettaCalcComparison__Group_1_1_0_0__2__Impl ;
    public final void rule__RosettaCalcComparison__Group_1_1_0_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20952:1: ( rule__RosettaCalcComparison__Group_1_1_0_0__2__Impl )
            // InternalRosetta.g:20953:2: rule__RosettaCalcComparison__Group_1_1_0_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__Group_1_1_0_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1_0_0__2"
    // $ANTLR start "rule__RosettaCalcComparison__Group_1_1_0_0__2__Impl"
    // InternalRosetta.g:20959:1: rule__RosettaCalcComparison__Group_1_1_0_0__2__Impl : ( ( rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2 ) ) ;
    public final void rule__RosettaCalcComparison__Group_1_1_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20963:1: ( ( ( rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2 ) ) )
            // InternalRosetta.g:20964:1: ( ( rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2 ) )
            {
            // InternalRosetta.g:20964:1: ( ( rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2 ) )
            // InternalRosetta.g:20965:2: ( rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAssignment_1_1_0_0_2()); }
            // InternalRosetta.g:20966:2: ( rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2 )
            // InternalRosetta.g:20966:3: rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAssignment_1_1_0_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__Group_1_1_0_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcAdditive__Group__0"
    // InternalRosetta.g:20975:1: rule__RosettaCalcAdditive__Group__0 : rule__RosettaCalcAdditive__Group__0__Impl rule__RosettaCalcAdditive__Group__1 ;
    public final void rule__RosettaCalcAdditive__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20979:1: ( rule__RosettaCalcAdditive__Group__0__Impl rule__RosettaCalcAdditive__Group__1 )
            // InternalRosetta.g:20980:2: rule__RosettaCalcAdditive__Group__0__Impl rule__RosettaCalcAdditive__Group__1
            {
            pushFollow(FOLLOW_96);
            rule__RosettaCalcAdditive__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group__0"
    // $ANTLR start "rule__RosettaCalcAdditive__Group__0__Impl"
    // InternalRosetta.g:20987:1: rule__RosettaCalcAdditive__Group__0__Impl : ( ruleRosettaCalcMultiplicative ) ;
    public final void rule__RosettaCalcAdditive__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:20991:1: ( ( ruleRosettaCalcMultiplicative ) )
            // InternalRosetta.g:20992:1: ( ruleRosettaCalcMultiplicative )
            {
            // InternalRosetta.g:20992:1: ( ruleRosettaCalcMultiplicative )
            // InternalRosetta.g:20993:2: ruleRosettaCalcMultiplicative
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAdditiveAccess().getRosettaCalcMultiplicativeParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcMultiplicative(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAdditiveAccess().getRosettaCalcMultiplicativeParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group__0__Impl"
    // $ANTLR start "rule__RosettaCalcAdditive__Group__1"
    // InternalRosetta.g:21002:1: rule__RosettaCalcAdditive__Group__1 : rule__RosettaCalcAdditive__Group__1__Impl ;
    public final void rule__RosettaCalcAdditive__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21006:1: ( rule__RosettaCalcAdditive__Group__1__Impl )
            // InternalRosetta.g:21007:2: rule__RosettaCalcAdditive__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group__1"
    // $ANTLR start "rule__RosettaCalcAdditive__Group__1__Impl"
    // InternalRosetta.g:21013:1: rule__RosettaCalcAdditive__Group__1__Impl : ( ( rule__RosettaCalcAdditive__Group_1__0 )* ) ;
    public final void rule__RosettaCalcAdditive__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21017:1: ( ( ( rule__RosettaCalcAdditive__Group_1__0 )* ) )
            // InternalRosetta.g:21018:1: ( ( rule__RosettaCalcAdditive__Group_1__0 )* )
            {
            // InternalRosetta.g:21018:1: ( ( rule__RosettaCalcAdditive__Group_1__0 )* )
            // InternalRosetta.g:21019:2: ( rule__RosettaCalcAdditive__Group_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAdditiveAccess().getGroup_1()); }
            // InternalRosetta.g:21020:2: ( rule__RosettaCalcAdditive__Group_1__0 )*
            loop233:
            do {
                int alt233=2;
                int LA233_0 = input.LA(1);
                if ( (LA233_0==28) ) {
                    int LA233_2 = input.LA(2);
                    if ( (synpred368_InternalRosetta()) ) {
                        alt233=1;
                    }
                }
                else if ( (LA233_0==29) ) {
                    int LA233_3 = input.LA(2);
                    if ( (synpred368_InternalRosetta()) ) {
                        alt233=1;
                    }
                }
                switch (alt233) {
            	case 1 :
            	    // InternalRosetta.g:21020:3: rule__RosettaCalcAdditive__Group_1__0
            	    {
            	    pushFollow(FOLLOW_113);
            	    rule__RosettaCalcAdditive__Group_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop233;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAdditiveAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group__1__Impl"
    // $ANTLR start "rule__RosettaCalcAdditive__Group_1__0"
    // InternalRosetta.g:21029:1: rule__RosettaCalcAdditive__Group_1__0 : rule__RosettaCalcAdditive__Group_1__0__Impl rule__RosettaCalcAdditive__Group_1__1 ;
    public final void rule__RosettaCalcAdditive__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21033:1: ( rule__RosettaCalcAdditive__Group_1__0__Impl rule__RosettaCalcAdditive__Group_1__1 )
            // InternalRosetta.g:21034:2: rule__RosettaCalcAdditive__Group_1__0__Impl rule__RosettaCalcAdditive__Group_1__1
            {
            pushFollow(FOLLOW_112);
            rule__RosettaCalcAdditive__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group_1__0"
    // $ANTLR start "rule__RosettaCalcAdditive__Group_1__0__Impl"
    // InternalRosetta.g:21041:1: rule__RosettaCalcAdditive__Group_1__0__Impl : ( ( rule__RosettaCalcAdditive__Group_1_0__0 ) ) ;
    public final void rule__RosettaCalcAdditive__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21045:1: ( ( ( rule__RosettaCalcAdditive__Group_1_0__0 ) ) )
            // InternalRosetta.g:21046:1: ( ( rule__RosettaCalcAdditive__Group_1_0__0 ) )
            {
            // InternalRosetta.g:21046:1: ( ( rule__RosettaCalcAdditive__Group_1_0__0 ) )
            // InternalRosetta.g:21047:2: ( rule__RosettaCalcAdditive__Group_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAdditiveAccess().getGroup_1_0()); }
            // InternalRosetta.g:21048:2: ( rule__RosettaCalcAdditive__Group_1_0__0 )
            // InternalRosetta.g:21048:3: rule__RosettaCalcAdditive__Group_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__Group_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAdditiveAccess().getGroup_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcAdditive__Group_1__1"
    // InternalRosetta.g:21056:1: rule__RosettaCalcAdditive__Group_1__1 : rule__RosettaCalcAdditive__Group_1__1__Impl ;
    public final void rule__RosettaCalcAdditive__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21060:1: ( rule__RosettaCalcAdditive__Group_1__1__Impl )
            // InternalRosetta.g:21061:2: rule__RosettaCalcAdditive__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group_1__1"
    // $ANTLR start "rule__RosettaCalcAdditive__Group_1__1__Impl"
    // InternalRosetta.g:21067:1: rule__RosettaCalcAdditive__Group_1__1__Impl : ( ( rule__RosettaCalcAdditive__RightAssignment_1_1 ) ) ;
    public final void rule__RosettaCalcAdditive__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21071:1: ( ( ( rule__RosettaCalcAdditive__RightAssignment_1_1 ) ) )
            // InternalRosetta.g:21072:1: ( ( rule__RosettaCalcAdditive__RightAssignment_1_1 ) )
            {
            // InternalRosetta.g:21072:1: ( ( rule__RosettaCalcAdditive__RightAssignment_1_1 ) )
            // InternalRosetta.g:21073:2: ( rule__RosettaCalcAdditive__RightAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAdditiveAccess().getRightAssignment_1_1()); }
            // InternalRosetta.g:21074:2: ( rule__RosettaCalcAdditive__RightAssignment_1_1 )
            // InternalRosetta.g:21074:3: rule__RosettaCalcAdditive__RightAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__RightAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAdditiveAccess().getRightAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcAdditive__Group_1_0__0"
    // InternalRosetta.g:21083:1: rule__RosettaCalcAdditive__Group_1_0__0 : rule__RosettaCalcAdditive__Group_1_0__0__Impl ;
    public final void rule__RosettaCalcAdditive__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21087:1: ( rule__RosettaCalcAdditive__Group_1_0__0__Impl )
            // InternalRosetta.g:21088:2: rule__RosettaCalcAdditive__Group_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group_1_0__0"
    // $ANTLR start "rule__RosettaCalcAdditive__Group_1_0__0__Impl"
    // InternalRosetta.g:21094:1: rule__RosettaCalcAdditive__Group_1_0__0__Impl : ( ( rule__RosettaCalcAdditive__Group_1_0_0__0 ) ) ;
    public final void rule__RosettaCalcAdditive__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21098:1: ( ( ( rule__RosettaCalcAdditive__Group_1_0_0__0 ) ) )
            // InternalRosetta.g:21099:1: ( ( rule__RosettaCalcAdditive__Group_1_0_0__0 ) )
            {
            // InternalRosetta.g:21099:1: ( ( rule__RosettaCalcAdditive__Group_1_0_0__0 ) )
            // InternalRosetta.g:21100:2: ( rule__RosettaCalcAdditive__Group_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAdditiveAccess().getGroup_1_0_0()); }
            // InternalRosetta.g:21101:2: ( rule__RosettaCalcAdditive__Group_1_0_0__0 )
            // InternalRosetta.g:21101:3: rule__RosettaCalcAdditive__Group_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__Group_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAdditiveAccess().getGroup_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcAdditive__Group_1_0_0__0"
    // InternalRosetta.g:21110:1: rule__RosettaCalcAdditive__Group_1_0_0__0 : rule__RosettaCalcAdditive__Group_1_0_0__0__Impl rule__RosettaCalcAdditive__Group_1_0_0__1 ;
    public final void rule__RosettaCalcAdditive__Group_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21114:1: ( rule__RosettaCalcAdditive__Group_1_0_0__0__Impl rule__RosettaCalcAdditive__Group_1_0_0__1 )
            // InternalRosetta.g:21115:2: rule__RosettaCalcAdditive__Group_1_0_0__0__Impl rule__RosettaCalcAdditive__Group_1_0_0__1
            {
            pushFollow(FOLLOW_96);
            rule__RosettaCalcAdditive__Group_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__Group_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcAdditive__Group_1_0_0__0__Impl"
    // InternalRosetta.g:21122:1: rule__RosettaCalcAdditive__Group_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcAdditive__Group_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21126:1: ( ( () ) )
            // InternalRosetta.g:21127:1: ( () )
            {
            // InternalRosetta.g:21127:1: ( () )
            // InternalRosetta.g:21128:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAdditiveAccess().getArithmeticOperationLeftAction_1_0_0_0()); }
            // InternalRosetta.g:21129:2: ()
            // InternalRosetta.g:21129:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAdditiveAccess().getArithmeticOperationLeftAction_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcAdditive__Group_1_0_0__1"
    // InternalRosetta.g:21137:1: rule__RosettaCalcAdditive__Group_1_0_0__1 : rule__RosettaCalcAdditive__Group_1_0_0__1__Impl ;
    public final void rule__RosettaCalcAdditive__Group_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21141:1: ( rule__RosettaCalcAdditive__Group_1_0_0__1__Impl )
            // InternalRosetta.g:21142:2: rule__RosettaCalcAdditive__Group_1_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__Group_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcAdditive__Group_1_0_0__1__Impl"
    // InternalRosetta.g:21148:1: rule__RosettaCalcAdditive__Group_1_0_0__1__Impl : ( ( rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1 ) ) ;
    public final void rule__RosettaCalcAdditive__Group_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21152:1: ( ( ( rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1 ) ) )
            // InternalRosetta.g:21153:1: ( ( rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1 ) )
            {
            // InternalRosetta.g:21153:1: ( ( rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1 ) )
            // InternalRosetta.g:21154:2: ( rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAdditiveAccess().getOperatorAssignment_1_0_0_1()); }
            // InternalRosetta.g:21155:2: ( rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1 )
            // InternalRosetta.g:21155:3: rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAdditiveAccess().getOperatorAssignment_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__Group_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0__0"
    // InternalRosetta.g:21164:1: rule__RosettaCalcMultiplicative__Group_0__0 : rule__RosettaCalcMultiplicative__Group_0__0__Impl rule__RosettaCalcMultiplicative__Group_0__1 ;
    public final void rule__RosettaCalcMultiplicative__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21168:1: ( rule__RosettaCalcMultiplicative__Group_0__0__Impl rule__RosettaCalcMultiplicative__Group_0__1 )
            // InternalRosetta.g:21169:2: rule__RosettaCalcMultiplicative__Group_0__0__Impl rule__RosettaCalcMultiplicative__Group_0__1
            {
            pushFollow(FOLLOW_114);
            rule__RosettaCalcMultiplicative__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0__0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0__0__Impl"
    // InternalRosetta.g:21176:1: rule__RosettaCalcMultiplicative__Group_0__0__Impl : ( ruleRosettaCalcBinary ) ;
    public final void rule__RosettaCalcMultiplicative__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21180:1: ( ( ruleRosettaCalcBinary ) )
            // InternalRosetta.g:21181:1: ( ruleRosettaCalcBinary )
            {
            // InternalRosetta.g:21181:1: ( ruleRosettaCalcBinary )
            // InternalRosetta.g:21182:2: ruleRosettaCalcBinary
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getRosettaCalcBinaryParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcBinary(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getRosettaCalcBinaryParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0__1"
    // InternalRosetta.g:21191:1: rule__RosettaCalcMultiplicative__Group_0__1 : rule__RosettaCalcMultiplicative__Group_0__1__Impl ;
    public final void rule__RosettaCalcMultiplicative__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21195:1: ( rule__RosettaCalcMultiplicative__Group_0__1__Impl )
            // InternalRosetta.g:21196:2: rule__RosettaCalcMultiplicative__Group_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0__1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0__1__Impl"
    // InternalRosetta.g:21202:1: rule__RosettaCalcMultiplicative__Group_0__1__Impl : ( ( rule__RosettaCalcMultiplicative__Group_0_1__0 )* ) ;
    public final void rule__RosettaCalcMultiplicative__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21206:1: ( ( ( rule__RosettaCalcMultiplicative__Group_0_1__0 )* ) )
            // InternalRosetta.g:21207:1: ( ( rule__RosettaCalcMultiplicative__Group_0_1__0 )* )
            {
            // InternalRosetta.g:21207:1: ( ( rule__RosettaCalcMultiplicative__Group_0_1__0 )* )
            // InternalRosetta.g:21208:2: ( rule__RosettaCalcMultiplicative__Group_0_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_0_1()); }
            // InternalRosetta.g:21209:2: ( rule__RosettaCalcMultiplicative__Group_0_1__0 )*
            loop234:
            do {
                int alt234=2;
                int LA234_0 = input.LA(1);
                if ( (LA234_0==36) ) {
                    int LA234_2 = input.LA(2);
                    if ( (synpred369_InternalRosetta()) ) {
                        alt234=1;
                    }
                }
                else if ( (LA234_0==37) ) {
                    int LA234_3 = input.LA(2);
                    if ( (synpred369_InternalRosetta()) ) {
                        alt234=1;
                    }
                }
                switch (alt234) {
            	case 1 :
            	    // InternalRosetta.g:21209:3: rule__RosettaCalcMultiplicative__Group_0_1__0
            	    {
            	    pushFollow(FOLLOW_115);
            	    rule__RosettaCalcMultiplicative__Group_0_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop234;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0_1__0"
    // InternalRosetta.g:21218:1: rule__RosettaCalcMultiplicative__Group_0_1__0 : rule__RosettaCalcMultiplicative__Group_0_1__0__Impl rule__RosettaCalcMultiplicative__Group_0_1__1 ;
    public final void rule__RosettaCalcMultiplicative__Group_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21222:1: ( rule__RosettaCalcMultiplicative__Group_0_1__0__Impl rule__RosettaCalcMultiplicative__Group_0_1__1 )
            // InternalRosetta.g:21223:2: rule__RosettaCalcMultiplicative__Group_0_1__0__Impl rule__RosettaCalcMultiplicative__Group_0_1__1
            {
            pushFollow(FOLLOW_116);
            rule__RosettaCalcMultiplicative__Group_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0_1__0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0_1__0__Impl"
    // InternalRosetta.g:21230:1: rule__RosettaCalcMultiplicative__Group_0_1__0__Impl : ( ( rule__RosettaCalcMultiplicative__Group_0_1_0__0 ) ) ;
    public final void rule__RosettaCalcMultiplicative__Group_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21234:1: ( ( ( rule__RosettaCalcMultiplicative__Group_0_1_0__0 ) ) )
            // InternalRosetta.g:21235:1: ( ( rule__RosettaCalcMultiplicative__Group_0_1_0__0 ) )
            {
            // InternalRosetta.g:21235:1: ( ( rule__RosettaCalcMultiplicative__Group_0_1_0__0 ) )
            // InternalRosetta.g:21236:2: ( rule__RosettaCalcMultiplicative__Group_0_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_0_1_0()); }
            // InternalRosetta.g:21237:2: ( rule__RosettaCalcMultiplicative__Group_0_1_0__0 )
            // InternalRosetta.g:21237:3: rule__RosettaCalcMultiplicative__Group_0_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_0_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0_1__1"
    // InternalRosetta.g:21245:1: rule__RosettaCalcMultiplicative__Group_0_1__1 : rule__RosettaCalcMultiplicative__Group_0_1__1__Impl ;
    public final void rule__RosettaCalcMultiplicative__Group_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21249:1: ( rule__RosettaCalcMultiplicative__Group_0_1__1__Impl )
            // InternalRosetta.g:21250:2: rule__RosettaCalcMultiplicative__Group_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0_1__1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0_1__1__Impl"
    // InternalRosetta.g:21256:1: rule__RosettaCalcMultiplicative__Group_0_1__1__Impl : ( ( rule__RosettaCalcMultiplicative__RightAssignment_0_1_1 ) ) ;
    public final void rule__RosettaCalcMultiplicative__Group_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21260:1: ( ( ( rule__RosettaCalcMultiplicative__RightAssignment_0_1_1 ) ) )
            // InternalRosetta.g:21261:1: ( ( rule__RosettaCalcMultiplicative__RightAssignment_0_1_1 ) )
            {
            // InternalRosetta.g:21261:1: ( ( rule__RosettaCalcMultiplicative__RightAssignment_0_1_1 ) )
            // InternalRosetta.g:21262:2: ( rule__RosettaCalcMultiplicative__RightAssignment_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightAssignment_0_1_1()); }
            // InternalRosetta.g:21263:2: ( rule__RosettaCalcMultiplicative__RightAssignment_0_1_1 )
            // InternalRosetta.g:21263:3: rule__RosettaCalcMultiplicative__RightAssignment_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__RightAssignment_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightAssignment_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0_1_0__0"
    // InternalRosetta.g:21272:1: rule__RosettaCalcMultiplicative__Group_0_1_0__0 : rule__RosettaCalcMultiplicative__Group_0_1_0__0__Impl ;
    public final void rule__RosettaCalcMultiplicative__Group_0_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21276:1: ( rule__RosettaCalcMultiplicative__Group_0_1_0__0__Impl )
            // InternalRosetta.g:21277:2: rule__RosettaCalcMultiplicative__Group_0_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_0_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0_1_0__0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0_1_0__0__Impl"
    // InternalRosetta.g:21283:1: rule__RosettaCalcMultiplicative__Group_0_1_0__0__Impl : ( ( rule__RosettaCalcMultiplicative__Group_0_1_0_0__0 ) ) ;
    public final void rule__RosettaCalcMultiplicative__Group_0_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21287:1: ( ( ( rule__RosettaCalcMultiplicative__Group_0_1_0_0__0 ) ) )
            // InternalRosetta.g:21288:1: ( ( rule__RosettaCalcMultiplicative__Group_0_1_0_0__0 ) )
            {
            // InternalRosetta.g:21288:1: ( ( rule__RosettaCalcMultiplicative__Group_0_1_0_0__0 ) )
            // InternalRosetta.g:21289:2: ( rule__RosettaCalcMultiplicative__Group_0_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_0_1_0_0()); }
            // InternalRosetta.g:21290:2: ( rule__RosettaCalcMultiplicative__Group_0_1_0_0__0 )
            // InternalRosetta.g:21290:3: rule__RosettaCalcMultiplicative__Group_0_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_0_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_0_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0_1_0_0__0"
    // InternalRosetta.g:21299:1: rule__RosettaCalcMultiplicative__Group_0_1_0_0__0 : rule__RosettaCalcMultiplicative__Group_0_1_0_0__0__Impl rule__RosettaCalcMultiplicative__Group_0_1_0_0__1 ;
    public final void rule__RosettaCalcMultiplicative__Group_0_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21303:1: ( rule__RosettaCalcMultiplicative__Group_0_1_0_0__0__Impl rule__RosettaCalcMultiplicative__Group_0_1_0_0__1 )
            // InternalRosetta.g:21304:2: rule__RosettaCalcMultiplicative__Group_0_1_0_0__0__Impl rule__RosettaCalcMultiplicative__Group_0_1_0_0__1
            {
            pushFollow(FOLLOW_114);
            rule__RosettaCalcMultiplicative__Group_0_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_0_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0_1_0_0__0__Impl"
    // InternalRosetta.g:21311:1: rule__RosettaCalcMultiplicative__Group_0_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcMultiplicative__Group_0_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21315:1: ( ( () ) )
            // InternalRosetta.g:21316:1: ( () )
            {
            // InternalRosetta.g:21316:1: ( () )
            // InternalRosetta.g:21317:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getArithmeticOperationLeftAction_0_1_0_0_0()); }
            // InternalRosetta.g:21318:2: ()
            // InternalRosetta.g:21318:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getArithmeticOperationLeftAction_0_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0_1_0_0__1"
    // InternalRosetta.g:21326:1: rule__RosettaCalcMultiplicative__Group_0_1_0_0__1 : rule__RosettaCalcMultiplicative__Group_0_1_0_0__1__Impl ;
    public final void rule__RosettaCalcMultiplicative__Group_0_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21330:1: ( rule__RosettaCalcMultiplicative__Group_0_1_0_0__1__Impl )
            // InternalRosetta.g:21331:2: rule__RosettaCalcMultiplicative__Group_0_1_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_0_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_0_1_0_0__1__Impl"
    // InternalRosetta.g:21337:1: rule__RosettaCalcMultiplicative__Group_0_1_0_0__1__Impl : ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1 ) ) ;
    public final void rule__RosettaCalcMultiplicative__Group_0_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21341:1: ( ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1 ) ) )
            // InternalRosetta.g:21342:1: ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1 ) )
            {
            // InternalRosetta.g:21342:1: ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1 ) )
            // InternalRosetta.g:21343:2: ( rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAssignment_0_1_0_0_1()); }
            // InternalRosetta.g:21344:2: ( rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1 )
            // InternalRosetta.g:21344:3: rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAssignment_0_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_0_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1__0"
    // InternalRosetta.g:21353:1: rule__RosettaCalcMultiplicative__Group_1__0 : rule__RosettaCalcMultiplicative__Group_1__0__Impl rule__RosettaCalcMultiplicative__Group_1__1 ;
    public final void rule__RosettaCalcMultiplicative__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21357:1: ( rule__RosettaCalcMultiplicative__Group_1__0__Impl rule__RosettaCalcMultiplicative__Group_1__1 )
            // InternalRosetta.g:21358:2: rule__RosettaCalcMultiplicative__Group_1__0__Impl rule__RosettaCalcMultiplicative__Group_1__1
            {
            pushFollow(FOLLOW_114);
            rule__RosettaCalcMultiplicative__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1__0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1__0__Impl"
    // InternalRosetta.g:21365:1: rule__RosettaCalcMultiplicative__Group_1__0__Impl : ( ( rule__RosettaCalcMultiplicative__Group_1_0__0 ) ) ;
    public final void rule__RosettaCalcMultiplicative__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21369:1: ( ( ( rule__RosettaCalcMultiplicative__Group_1_0__0 ) ) )
            // InternalRosetta.g:21370:1: ( ( rule__RosettaCalcMultiplicative__Group_1_0__0 ) )
            {
            // InternalRosetta.g:21370:1: ( ( rule__RosettaCalcMultiplicative__Group_1_0__0 ) )
            // InternalRosetta.g:21371:2: ( rule__RosettaCalcMultiplicative__Group_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_1_0()); }
            // InternalRosetta.g:21372:2: ( rule__RosettaCalcMultiplicative__Group_1_0__0 )
            // InternalRosetta.g:21372:3: rule__RosettaCalcMultiplicative__Group_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1__1"
    // InternalRosetta.g:21380:1: rule__RosettaCalcMultiplicative__Group_1__1 : rule__RosettaCalcMultiplicative__Group_1__1__Impl ;
    public final void rule__RosettaCalcMultiplicative__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21384:1: ( rule__RosettaCalcMultiplicative__Group_1__1__Impl )
            // InternalRosetta.g:21385:2: rule__RosettaCalcMultiplicative__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1__1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1__1__Impl"
    // InternalRosetta.g:21391:1: rule__RosettaCalcMultiplicative__Group_1__1__Impl : ( ( rule__RosettaCalcMultiplicative__Group_1_1__0 )* ) ;
    public final void rule__RosettaCalcMultiplicative__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21395:1: ( ( ( rule__RosettaCalcMultiplicative__Group_1_1__0 )* ) )
            // InternalRosetta.g:21396:1: ( ( rule__RosettaCalcMultiplicative__Group_1_1__0 )* )
            {
            // InternalRosetta.g:21396:1: ( ( rule__RosettaCalcMultiplicative__Group_1_1__0 )* )
            // InternalRosetta.g:21397:2: ( rule__RosettaCalcMultiplicative__Group_1_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_1_1()); }
            // InternalRosetta.g:21398:2: ( rule__RosettaCalcMultiplicative__Group_1_1__0 )*
            loop235:
            do {
                int alt235=2;
                int LA235_0 = input.LA(1);
                if ( (LA235_0==36) ) {
                    int LA235_2 = input.LA(2);
                    if ( (synpred370_InternalRosetta()) ) {
                        alt235=1;
                    }
                }
                else if ( (LA235_0==37) ) {
                    int LA235_3 = input.LA(2);
                    if ( (synpred370_InternalRosetta()) ) {
                        alt235=1;
                    }
                }
                switch (alt235) {
            	case 1 :
            	    // InternalRosetta.g:21398:3: rule__RosettaCalcMultiplicative__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_115);
            	    rule__RosettaCalcMultiplicative__Group_1_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop235;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_0__0"
    // InternalRosetta.g:21407:1: rule__RosettaCalcMultiplicative__Group_1_0__0 : rule__RosettaCalcMultiplicative__Group_1_0__0__Impl rule__RosettaCalcMultiplicative__Group_1_0__1 ;
    public final void rule__RosettaCalcMultiplicative__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21411:1: ( rule__RosettaCalcMultiplicative__Group_1_0__0__Impl rule__RosettaCalcMultiplicative__Group_1_0__1 )
            // InternalRosetta.g:21412:2: rule__RosettaCalcMultiplicative__Group_1_0__0__Impl rule__RosettaCalcMultiplicative__Group_1_0__1
            {
            pushFollow(FOLLOW_112);
            rule__RosettaCalcMultiplicative__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_0__0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_0__0__Impl"
    // InternalRosetta.g:21419:1: rule__RosettaCalcMultiplicative__Group_1_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcMultiplicative__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21423:1: ( ( () ) )
            // InternalRosetta.g:21424:1: ( () )
            {
            // InternalRosetta.g:21424:1: ( () )
            // InternalRosetta.g:21425:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getArithmeticOperationAction_1_0_0()); }
            // InternalRosetta.g:21426:2: ()
            // InternalRosetta.g:21426:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getArithmeticOperationAction_1_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_0__1"
    // InternalRosetta.g:21434:1: rule__RosettaCalcMultiplicative__Group_1_0__1 : rule__RosettaCalcMultiplicative__Group_1_0__1__Impl rule__RosettaCalcMultiplicative__Group_1_0__2 ;
    public final void rule__RosettaCalcMultiplicative__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21438:1: ( rule__RosettaCalcMultiplicative__Group_1_0__1__Impl rule__RosettaCalcMultiplicative__Group_1_0__2 )
            // InternalRosetta.g:21439:2: rule__RosettaCalcMultiplicative__Group_1_0__1__Impl rule__RosettaCalcMultiplicative__Group_1_0__2
            {
            pushFollow(FOLLOW_116);
            rule__RosettaCalcMultiplicative__Group_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_0__1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_0__1__Impl"
    // InternalRosetta.g:21446:1: rule__RosettaCalcMultiplicative__Group_1_0__1__Impl : ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1 ) ) ;
    public final void rule__RosettaCalcMultiplicative__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21450:1: ( ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1 ) ) )
            // InternalRosetta.g:21451:1: ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1 ) )
            {
            // InternalRosetta.g:21451:1: ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1 ) )
            // InternalRosetta.g:21452:2: ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAssignment_1_0_1()); }
            // InternalRosetta.g:21453:2: ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1 )
            // InternalRosetta.g:21453:3: rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAssignment_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_0__2"
    // InternalRosetta.g:21461:1: rule__RosettaCalcMultiplicative__Group_1_0__2 : rule__RosettaCalcMultiplicative__Group_1_0__2__Impl ;
    public final void rule__RosettaCalcMultiplicative__Group_1_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21465:1: ( rule__RosettaCalcMultiplicative__Group_1_0__2__Impl )
            // InternalRosetta.g:21466:2: rule__RosettaCalcMultiplicative__Group_1_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_0__2"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_0__2__Impl"
    // InternalRosetta.g:21472:1: rule__RosettaCalcMultiplicative__Group_1_0__2__Impl : ( ( rule__RosettaCalcMultiplicative__RightAssignment_1_0_2 ) ) ;
    public final void rule__RosettaCalcMultiplicative__Group_1_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21476:1: ( ( ( rule__RosettaCalcMultiplicative__RightAssignment_1_0_2 ) ) )
            // InternalRosetta.g:21477:1: ( ( rule__RosettaCalcMultiplicative__RightAssignment_1_0_2 ) )
            {
            // InternalRosetta.g:21477:1: ( ( rule__RosettaCalcMultiplicative__RightAssignment_1_0_2 ) )
            // InternalRosetta.g:21478:2: ( rule__RosettaCalcMultiplicative__RightAssignment_1_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightAssignment_1_0_2()); }
            // InternalRosetta.g:21479:2: ( rule__RosettaCalcMultiplicative__RightAssignment_1_0_2 )
            // InternalRosetta.g:21479:3: rule__RosettaCalcMultiplicative__RightAssignment_1_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__RightAssignment_1_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightAssignment_1_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_1__0"
    // InternalRosetta.g:21488:1: rule__RosettaCalcMultiplicative__Group_1_1__0 : rule__RosettaCalcMultiplicative__Group_1_1__0__Impl rule__RosettaCalcMultiplicative__Group_1_1__1 ;
    public final void rule__RosettaCalcMultiplicative__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21492:1: ( rule__RosettaCalcMultiplicative__Group_1_1__0__Impl rule__RosettaCalcMultiplicative__Group_1_1__1 )
            // InternalRosetta.g:21493:2: rule__RosettaCalcMultiplicative__Group_1_1__0__Impl rule__RosettaCalcMultiplicative__Group_1_1__1
            {
            pushFollow(FOLLOW_116);
            rule__RosettaCalcMultiplicative__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_1__0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_1__0__Impl"
    // InternalRosetta.g:21500:1: rule__RosettaCalcMultiplicative__Group_1_1__0__Impl : ( ( rule__RosettaCalcMultiplicative__Group_1_1_0__0 ) ) ;
    public final void rule__RosettaCalcMultiplicative__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21504:1: ( ( ( rule__RosettaCalcMultiplicative__Group_1_1_0__0 ) ) )
            // InternalRosetta.g:21505:1: ( ( rule__RosettaCalcMultiplicative__Group_1_1_0__0 ) )
            {
            // InternalRosetta.g:21505:1: ( ( rule__RosettaCalcMultiplicative__Group_1_1_0__0 ) )
            // InternalRosetta.g:21506:2: ( rule__RosettaCalcMultiplicative__Group_1_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_1_1_0()); }
            // InternalRosetta.g:21507:2: ( rule__RosettaCalcMultiplicative__Group_1_1_0__0 )
            // InternalRosetta.g:21507:3: rule__RosettaCalcMultiplicative__Group_1_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_1__1"
    // InternalRosetta.g:21515:1: rule__RosettaCalcMultiplicative__Group_1_1__1 : rule__RosettaCalcMultiplicative__Group_1_1__1__Impl ;
    public final void rule__RosettaCalcMultiplicative__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21519:1: ( rule__RosettaCalcMultiplicative__Group_1_1__1__Impl )
            // InternalRosetta.g:21520:2: rule__RosettaCalcMultiplicative__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_1__1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_1__1__Impl"
    // InternalRosetta.g:21526:1: rule__RosettaCalcMultiplicative__Group_1_1__1__Impl : ( ( rule__RosettaCalcMultiplicative__RightAssignment_1_1_1 ) ) ;
    public final void rule__RosettaCalcMultiplicative__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21530:1: ( ( ( rule__RosettaCalcMultiplicative__RightAssignment_1_1_1 ) ) )
            // InternalRosetta.g:21531:1: ( ( rule__RosettaCalcMultiplicative__RightAssignment_1_1_1 ) )
            {
            // InternalRosetta.g:21531:1: ( ( rule__RosettaCalcMultiplicative__RightAssignment_1_1_1 ) )
            // InternalRosetta.g:21532:2: ( rule__RosettaCalcMultiplicative__RightAssignment_1_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightAssignment_1_1_1()); }
            // InternalRosetta.g:21533:2: ( rule__RosettaCalcMultiplicative__RightAssignment_1_1_1 )
            // InternalRosetta.g:21533:3: rule__RosettaCalcMultiplicative__RightAssignment_1_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__RightAssignment_1_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightAssignment_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_1_0__0"
    // InternalRosetta.g:21542:1: rule__RosettaCalcMultiplicative__Group_1_1_0__0 : rule__RosettaCalcMultiplicative__Group_1_1_0__0__Impl ;
    public final void rule__RosettaCalcMultiplicative__Group_1_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21546:1: ( rule__RosettaCalcMultiplicative__Group_1_1_0__0__Impl )
            // InternalRosetta.g:21547:2: rule__RosettaCalcMultiplicative__Group_1_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_1_0__0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_1_0__0__Impl"
    // InternalRosetta.g:21553:1: rule__RosettaCalcMultiplicative__Group_1_1_0__0__Impl : ( ( rule__RosettaCalcMultiplicative__Group_1_1_0_0__0 ) ) ;
    public final void rule__RosettaCalcMultiplicative__Group_1_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21557:1: ( ( ( rule__RosettaCalcMultiplicative__Group_1_1_0_0__0 ) ) )
            // InternalRosetta.g:21558:1: ( ( rule__RosettaCalcMultiplicative__Group_1_1_0_0__0 ) )
            {
            // InternalRosetta.g:21558:1: ( ( rule__RosettaCalcMultiplicative__Group_1_1_0_0__0 ) )
            // InternalRosetta.g:21559:2: ( rule__RosettaCalcMultiplicative__Group_1_1_0_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_1_1_0_0()); }
            // InternalRosetta.g:21560:2: ( rule__RosettaCalcMultiplicative__Group_1_1_0_0__0 )
            // InternalRosetta.g:21560:3: rule__RosettaCalcMultiplicative__Group_1_1_0_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1_1_0_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getGroup_1_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_1_0_0__0"
    // InternalRosetta.g:21569:1: rule__RosettaCalcMultiplicative__Group_1_1_0_0__0 : rule__RosettaCalcMultiplicative__Group_1_1_0_0__0__Impl rule__RosettaCalcMultiplicative__Group_1_1_0_0__1 ;
    public final void rule__RosettaCalcMultiplicative__Group_1_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21573:1: ( rule__RosettaCalcMultiplicative__Group_1_1_0_0__0__Impl rule__RosettaCalcMultiplicative__Group_1_1_0_0__1 )
            // InternalRosetta.g:21574:2: rule__RosettaCalcMultiplicative__Group_1_1_0_0__0__Impl rule__RosettaCalcMultiplicative__Group_1_1_0_0__1
            {
            pushFollow(FOLLOW_114);
            rule__RosettaCalcMultiplicative__Group_1_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_1_0_0__0__Impl"
    // InternalRosetta.g:21581:1: rule__RosettaCalcMultiplicative__Group_1_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcMultiplicative__Group_1_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21585:1: ( ( () ) )
            // InternalRosetta.g:21586:1: ( () )
            {
            // InternalRosetta.g:21586:1: ( () )
            // InternalRosetta.g:21587:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getArithmeticOperationLeftAction_1_1_0_0_0()); }
            // InternalRosetta.g:21588:2: ()
            // InternalRosetta.g:21588:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getArithmeticOperationLeftAction_1_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_1_0_0__1"
    // InternalRosetta.g:21596:1: rule__RosettaCalcMultiplicative__Group_1_1_0_0__1 : rule__RosettaCalcMultiplicative__Group_1_1_0_0__1__Impl ;
    public final void rule__RosettaCalcMultiplicative__Group_1_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21600:1: ( rule__RosettaCalcMultiplicative__Group_1_1_0_0__1__Impl )
            // InternalRosetta.g:21601:2: rule__RosettaCalcMultiplicative__Group_1_1_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__Group_1_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__Group_1_1_0_0__1__Impl"
    // InternalRosetta.g:21607:1: rule__RosettaCalcMultiplicative__Group_1_1_0_0__1__Impl : ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1 ) ) ;
    public final void rule__RosettaCalcMultiplicative__Group_1_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21611:1: ( ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1 ) ) )
            // InternalRosetta.g:21612:1: ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1 ) )
            {
            // InternalRosetta.g:21612:1: ( ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1 ) )
            // InternalRosetta.g:21613:2: ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAssignment_1_1_0_0_1()); }
            // InternalRosetta.g:21614:2: ( rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1 )
            // InternalRosetta.g:21614:3: rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAssignment_1_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__Group_1_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0__0"
    // InternalRosetta.g:21623:1: rule__RosettaCalcBinary__Group_0__0 : rule__RosettaCalcBinary__Group_0__0__Impl rule__RosettaCalcBinary__Group_0__1 ;
    public final void rule__RosettaCalcBinary__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21627:1: ( rule__RosettaCalcBinary__Group_0__0__Impl rule__RosettaCalcBinary__Group_0__1 )
            // InternalRosetta.g:21628:2: rule__RosettaCalcBinary__Group_0__0__Impl rule__RosettaCalcBinary__Group_0__1
            {
            pushFollow(FOLLOW_117);
            rule__RosettaCalcBinary__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0__0__Impl"
    // InternalRosetta.g:21635:1: rule__RosettaCalcBinary__Group_0__0__Impl : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21639:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:21640:1: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:21640:1: ( ruleUnaryOperation )
            // InternalRosetta.g:21641:2: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getUnaryOperationParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getUnaryOperationParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0__1"
    // InternalRosetta.g:21650:1: rule__RosettaCalcBinary__Group_0__1 : rule__RosettaCalcBinary__Group_0__1__Impl ;
    public final void rule__RosettaCalcBinary__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21654:1: ( rule__RosettaCalcBinary__Group_0__1__Impl )
            // InternalRosetta.g:21655:2: rule__RosettaCalcBinary__Group_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0__1__Impl"
    // InternalRosetta.g:21661:1: rule__RosettaCalcBinary__Group_0__1__Impl : ( ( rule__RosettaCalcBinary__Group_0_1__0 )? ) ;
    public final void rule__RosettaCalcBinary__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21665:1: ( ( ( rule__RosettaCalcBinary__Group_0_1__0 )? ) )
            // InternalRosetta.g:21666:1: ( ( rule__RosettaCalcBinary__Group_0_1__0 )? )
            {
            // InternalRosetta.g:21666:1: ( ( rule__RosettaCalcBinary__Group_0_1__0 )? )
            // InternalRosetta.g:21667:2: ( rule__RosettaCalcBinary__Group_0_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0_1()); }
            // InternalRosetta.g:21668:2: ( rule__RosettaCalcBinary__Group_0_1__0 )?
            int alt236=2;
            switch ( input.LA(1) ) {
                case 139:
                    {
                    int LA236_1 = input.LA(2);
                    if ( (synpred371_InternalRosetta()) ) {
                        alt236=1;
                    }
                    }
                    break;
                case 140:
                    {
                    int LA236_2 = input.LA(2);
                    if ( (synpred371_InternalRosetta()) ) {
                        alt236=1;
                    }
                    }
                    break;
                case 119:
                    {
                    int LA236_3 = input.LA(2);
                    if ( (synpred371_InternalRosetta()) ) {
                        alt236=1;
                    }
                    }
                    break;
                case 141:
                    {
                    int LA236_4 = input.LA(2);
                    if ( (synpred371_InternalRosetta()) ) {
                        alt236=1;
                    }
                    }
                    break;
            }
            switch (alt236) {
                case 1 :
                    // InternalRosetta.g:21668:3: rule__RosettaCalcBinary__Group_0_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_0_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1__0"
    // InternalRosetta.g:21677:1: rule__RosettaCalcBinary__Group_0_1__0 : rule__RosettaCalcBinary__Group_0_1__0__Impl ;
    public final void rule__RosettaCalcBinary__Group_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21681:1: ( rule__RosettaCalcBinary__Group_0_1__0__Impl )
            // InternalRosetta.g:21682:2: rule__RosettaCalcBinary__Group_0_1__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1__0__Impl"
    // InternalRosetta.g:21688:1: rule__RosettaCalcBinary__Group_0_1__0__Impl : ( ( rule__RosettaCalcBinary__Alternatives_0_1_0 ) ) ;
    public final void rule__RosettaCalcBinary__Group_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21692:1: ( ( ( rule__RosettaCalcBinary__Alternatives_0_1_0 ) ) )
            // InternalRosetta.g:21693:1: ( ( rule__RosettaCalcBinary__Alternatives_0_1_0 ) )
            {
            // InternalRosetta.g:21693:1: ( ( rule__RosettaCalcBinary__Alternatives_0_1_0 ) )
            // InternalRosetta.g:21694:2: ( rule__RosettaCalcBinary__Alternatives_0_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getAlternatives_0_1_0()); }
            // InternalRosetta.g:21695:2: ( rule__RosettaCalcBinary__Alternatives_0_1_0 )
            // InternalRosetta.g:21695:3: rule__RosettaCalcBinary__Alternatives_0_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Alternatives_0_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getAlternatives_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_0__0"
    // InternalRosetta.g:21704:1: rule__RosettaCalcBinary__Group_0_1_0_0__0 : rule__RosettaCalcBinary__Group_0_1_0_0__0__Impl rule__RosettaCalcBinary__Group_0_1_0_0__1 ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21708:1: ( rule__RosettaCalcBinary__Group_0_1_0_0__0__Impl rule__RosettaCalcBinary__Group_0_1_0_0__1 )
            // InternalRosetta.g:21709:2: rule__RosettaCalcBinary__Group_0_1_0_0__0__Impl rule__RosettaCalcBinary__Group_0_1_0_0__1
            {
            pushFollow(FOLLOW_118);
            rule__RosettaCalcBinary__Group_0_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_0__0__Impl"
    // InternalRosetta.g:21716:1: rule__RosettaCalcBinary__Group_0_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21720:1: ( ( () ) )
            // InternalRosetta.g:21721:1: ( () )
            {
            // InternalRosetta.g:21721:1: ( () )
            // InternalRosetta.g:21722:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRosettaContainsExpressionLeftAction_0_1_0_0_0()); }
            // InternalRosetta.g:21723:2: ()
            // InternalRosetta.g:21723:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRosettaContainsExpressionLeftAction_0_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_0__1"
    // InternalRosetta.g:21731:1: rule__RosettaCalcBinary__Group_0_1_0_0__1 : rule__RosettaCalcBinary__Group_0_1_0_0__1__Impl rule__RosettaCalcBinary__Group_0_1_0_0__2 ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21735:1: ( rule__RosettaCalcBinary__Group_0_1_0_0__1__Impl rule__RosettaCalcBinary__Group_0_1_0_0__2 )
            // InternalRosetta.g:21736:2: rule__RosettaCalcBinary__Group_0_1_0_0__1__Impl rule__RosettaCalcBinary__Group_0_1_0_0__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_0_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_0__1__Impl"
    // InternalRosetta.g:21743:1: rule__RosettaCalcBinary__Group_0_1_0_0__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21747:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1 ) ) )
            // InternalRosetta.g:21748:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1 ) )
            {
            // InternalRosetta.g:21748:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1 ) )
            // InternalRosetta.g:21749:2: ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_0_1_0_0_1()); }
            // InternalRosetta.g:21750:2: ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1 )
            // InternalRosetta.g:21750:3: rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_0_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_0__2"
    // InternalRosetta.g:21758:1: rule__RosettaCalcBinary__Group_0_1_0_0__2 : rule__RosettaCalcBinary__Group_0_1_0_0__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21762:1: ( rule__RosettaCalcBinary__Group_0_1_0_0__2__Impl )
            // InternalRosetta.g:21763:2: rule__RosettaCalcBinary__Group_0_1_0_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_0__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_0__2__Impl"
    // InternalRosetta.g:21769:1: rule__RosettaCalcBinary__Group_0_1_0_0__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2 ) ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21773:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2 ) ) )
            // InternalRosetta.g:21774:1: ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2 ) )
            {
            // InternalRosetta.g:21774:1: ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2 ) )
            // InternalRosetta.g:21775:2: ( rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_0_1_0_0_2()); }
            // InternalRosetta.g:21776:2: ( rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2 )
            // InternalRosetta.g:21776:3: rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_0_1_0_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_1__0"
    // InternalRosetta.g:21785:1: rule__RosettaCalcBinary__Group_0_1_0_1__0 : rule__RosettaCalcBinary__Group_0_1_0_1__0__Impl rule__RosettaCalcBinary__Group_0_1_0_1__1 ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21789:1: ( rule__RosettaCalcBinary__Group_0_1_0_1__0__Impl rule__RosettaCalcBinary__Group_0_1_0_1__1 )
            // InternalRosetta.g:21790:2: rule__RosettaCalcBinary__Group_0_1_0_1__0__Impl rule__RosettaCalcBinary__Group_0_1_0_1__1
            {
            pushFollow(FOLLOW_120);
            rule__RosettaCalcBinary__Group_0_1_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_1__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_1__0__Impl"
    // InternalRosetta.g:21797:1: rule__RosettaCalcBinary__Group_0_1_0_1__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21801:1: ( ( () ) )
            // InternalRosetta.g:21802:1: ( () )
            {
            // InternalRosetta.g:21802:1: ( () )
            // InternalRosetta.g:21803:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRosettaDisjointExpressionLeftAction_0_1_0_1_0()); }
            // InternalRosetta.g:21804:2: ()
            // InternalRosetta.g:21804:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRosettaDisjointExpressionLeftAction_0_1_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_1__1"
    // InternalRosetta.g:21812:1: rule__RosettaCalcBinary__Group_0_1_0_1__1 : rule__RosettaCalcBinary__Group_0_1_0_1__1__Impl rule__RosettaCalcBinary__Group_0_1_0_1__2 ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21816:1: ( rule__RosettaCalcBinary__Group_0_1_0_1__1__Impl rule__RosettaCalcBinary__Group_0_1_0_1__2 )
            // InternalRosetta.g:21817:2: rule__RosettaCalcBinary__Group_0_1_0_1__1__Impl rule__RosettaCalcBinary__Group_0_1_0_1__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_0_1_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_1__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_1__1__Impl"
    // InternalRosetta.g:21824:1: rule__RosettaCalcBinary__Group_0_1_0_1__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21828:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1 ) ) )
            // InternalRosetta.g:21829:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1 ) )
            {
            // InternalRosetta.g:21829:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1 ) )
            // InternalRosetta.g:21830:2: ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_0_1_0_1_1()); }
            // InternalRosetta.g:21831:2: ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1 )
            // InternalRosetta.g:21831:3: rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_0_1_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_1__2"
    // InternalRosetta.g:21839:1: rule__RosettaCalcBinary__Group_0_1_0_1__2 : rule__RosettaCalcBinary__Group_0_1_0_1__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21843:1: ( rule__RosettaCalcBinary__Group_0_1_0_1__2__Impl )
            // InternalRosetta.g:21844:2: rule__RosettaCalcBinary__Group_0_1_0_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_1__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_1__2__Impl"
    // InternalRosetta.g:21850:1: rule__RosettaCalcBinary__Group_0_1_0_1__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2 ) ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21854:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2 ) ) )
            // InternalRosetta.g:21855:1: ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2 ) )
            {
            // InternalRosetta.g:21855:1: ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2 ) )
            // InternalRosetta.g:21856:2: ( rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_0_1_0_1_2()); }
            // InternalRosetta.g:21857:2: ( rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2 )
            // InternalRosetta.g:21857:3: rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_0_1_0_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_1__2__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_2__0"
    // InternalRosetta.g:21866:1: rule__RosettaCalcBinary__Group_0_1_0_2__0 : rule__RosettaCalcBinary__Group_0_1_0_2__0__Impl rule__RosettaCalcBinary__Group_0_1_0_2__1 ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21870:1: ( rule__RosettaCalcBinary__Group_0_1_0_2__0__Impl rule__RosettaCalcBinary__Group_0_1_0_2__1 )
            // InternalRosetta.g:21871:2: rule__RosettaCalcBinary__Group_0_1_0_2__0__Impl rule__RosettaCalcBinary__Group_0_1_0_2__1
            {
            pushFollow(FOLLOW_121);
            rule__RosettaCalcBinary__Group_0_1_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_2__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_2__0__Impl"
    // InternalRosetta.g:21878:1: rule__RosettaCalcBinary__Group_0_1_0_2__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21882:1: ( ( () ) )
            // InternalRosetta.g:21883:1: ( () )
            {
            // InternalRosetta.g:21883:1: ( () )
            // InternalRosetta.g:21884:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getDefaultOperationLeftAction_0_1_0_2_0()); }
            // InternalRosetta.g:21885:2: ()
            // InternalRosetta.g:21885:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getDefaultOperationLeftAction_0_1_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_2__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_2__1"
    // InternalRosetta.g:21893:1: rule__RosettaCalcBinary__Group_0_1_0_2__1 : rule__RosettaCalcBinary__Group_0_1_0_2__1__Impl rule__RosettaCalcBinary__Group_0_1_0_2__2 ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21897:1: ( rule__RosettaCalcBinary__Group_0_1_0_2__1__Impl rule__RosettaCalcBinary__Group_0_1_0_2__2 )
            // InternalRosetta.g:21898:2: rule__RosettaCalcBinary__Group_0_1_0_2__1__Impl rule__RosettaCalcBinary__Group_0_1_0_2__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_0_1_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_2__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_2__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_2__1__Impl"
    // InternalRosetta.g:21905:1: rule__RosettaCalcBinary__Group_0_1_0_2__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21909:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1 ) ) )
            // InternalRosetta.g:21910:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1 ) )
            {
            // InternalRosetta.g:21910:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1 ) )
            // InternalRosetta.g:21911:2: ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_0_1_0_2_1()); }
            // InternalRosetta.g:21912:2: ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1 )
            // InternalRosetta.g:21912:3: rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_0_1_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_2__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_2__2"
    // InternalRosetta.g:21920:1: rule__RosettaCalcBinary__Group_0_1_0_2__2 : rule__RosettaCalcBinary__Group_0_1_0_2__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_2__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21924:1: ( rule__RosettaCalcBinary__Group_0_1_0_2__2__Impl )
            // InternalRosetta.g:21925:2: rule__RosettaCalcBinary__Group_0_1_0_2__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_2__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_2__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_2__2__Impl"
    // InternalRosetta.g:21931:1: rule__RosettaCalcBinary__Group_0_1_0_2__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2 ) ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21935:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2 ) ) )
            // InternalRosetta.g:21936:1: ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2 ) )
            {
            // InternalRosetta.g:21936:1: ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2 ) )
            // InternalRosetta.g:21937:2: ( rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_0_1_0_2_2()); }
            // InternalRosetta.g:21938:2: ( rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2 )
            // InternalRosetta.g:21938:3: rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_0_1_0_2_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_2__2__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_3__0"
    // InternalRosetta.g:21947:1: rule__RosettaCalcBinary__Group_0_1_0_3__0 : rule__RosettaCalcBinary__Group_0_1_0_3__0__Impl rule__RosettaCalcBinary__Group_0_1_0_3__1 ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21951:1: ( rule__RosettaCalcBinary__Group_0_1_0_3__0__Impl rule__RosettaCalcBinary__Group_0_1_0_3__1 )
            // InternalRosetta.g:21952:2: rule__RosettaCalcBinary__Group_0_1_0_3__0__Impl rule__RosettaCalcBinary__Group_0_1_0_3__1
            {
            pushFollow(FOLLOW_117);
            rule__RosettaCalcBinary__Group_0_1_0_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_3__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_3__0__Impl"
    // InternalRosetta.g:21959:1: rule__RosettaCalcBinary__Group_0_1_0_3__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21963:1: ( ( () ) )
            // InternalRosetta.g:21964:1: ( () )
            {
            // InternalRosetta.g:21964:1: ( () )
            // InternalRosetta.g:21965:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getJoinOperationLeftAction_0_1_0_3_0()); }
            // InternalRosetta.g:21966:2: ()
            // InternalRosetta.g:21966:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getJoinOperationLeftAction_0_1_0_3_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_3__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_3__1"
    // InternalRosetta.g:21974:1: rule__RosettaCalcBinary__Group_0_1_0_3__1 : rule__RosettaCalcBinary__Group_0_1_0_3__1__Impl rule__RosettaCalcBinary__Group_0_1_0_3__2 ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21978:1: ( rule__RosettaCalcBinary__Group_0_1_0_3__1__Impl rule__RosettaCalcBinary__Group_0_1_0_3__2 )
            // InternalRosetta.g:21979:2: rule__RosettaCalcBinary__Group_0_1_0_3__1__Impl rule__RosettaCalcBinary__Group_0_1_0_3__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_0_1_0_3__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_3__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_3__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_3__1__Impl"
    // InternalRosetta.g:21986:1: rule__RosettaCalcBinary__Group_0_1_0_3__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:21990:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1 ) ) )
            // InternalRosetta.g:21991:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1 ) )
            {
            // InternalRosetta.g:21991:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1 ) )
            // InternalRosetta.g:21992:2: ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_0_1_0_3_1()); }
            // InternalRosetta.g:21993:2: ( rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1 )
            // InternalRosetta.g:21993:3: rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_0_1_0_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_3__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_3__2"
    // InternalRosetta.g:22001:1: rule__RosettaCalcBinary__Group_0_1_0_3__2 : rule__RosettaCalcBinary__Group_0_1_0_3__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_3__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22005:1: ( rule__RosettaCalcBinary__Group_0_1_0_3__2__Impl )
            // InternalRosetta.g:22006:2: rule__RosettaCalcBinary__Group_0_1_0_3__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_0_1_0_3__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_3__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_0_1_0_3__2__Impl"
    // InternalRosetta.g:22012:1: rule__RosettaCalcBinary__Group_0_1_0_3__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2 )? ) ;
    public final void rule__RosettaCalcBinary__Group_0_1_0_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22016:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2 )? ) )
            // InternalRosetta.g:22017:1: ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2 )? )
            {
            // InternalRosetta.g:22017:1: ( ( rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2 )? )
            // InternalRosetta.g:22018:2: ( rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_0_1_0_3_2()); }
            // InternalRosetta.g:22019:2: ( rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2 )?
            int alt237=2;
            alt237 = dfa237.predict(input);
            switch (alt237) {
                case 1 :
                    // InternalRosetta.g:22019:3: rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_0_1_0_3_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_0_1_0_3__2__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1__0"
    // InternalRosetta.g:22028:1: rule__RosettaCalcBinary__Group_1__0 : rule__RosettaCalcBinary__Group_1__0__Impl rule__RosettaCalcBinary__Group_1__1 ;
    public final void rule__RosettaCalcBinary__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22032:1: ( rule__RosettaCalcBinary__Group_1__0__Impl rule__RosettaCalcBinary__Group_1__1 )
            // InternalRosetta.g:22033:2: rule__RosettaCalcBinary__Group_1__0__Impl rule__RosettaCalcBinary__Group_1__1
            {
            pushFollow(FOLLOW_117);
            rule__RosettaCalcBinary__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1__0__Impl"
    // InternalRosetta.g:22040:1: rule__RosettaCalcBinary__Group_1__0__Impl : ( ( rule__RosettaCalcBinary__Group_1_0__0 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22044:1: ( ( ( rule__RosettaCalcBinary__Group_1_0__0 ) ) )
            // InternalRosetta.g:22045:1: ( ( rule__RosettaCalcBinary__Group_1_0__0 ) )
            {
            // InternalRosetta.g:22045:1: ( ( rule__RosettaCalcBinary__Group_1_0__0 ) )
            // InternalRosetta.g:22046:2: ( rule__RosettaCalcBinary__Group_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_0()); }
            // InternalRosetta.g:22047:2: ( rule__RosettaCalcBinary__Group_1_0__0 )
            // InternalRosetta.g:22047:3: rule__RosettaCalcBinary__Group_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1__1"
    // InternalRosetta.g:22055:1: rule__RosettaCalcBinary__Group_1__1 : rule__RosettaCalcBinary__Group_1__1__Impl ;
    public final void rule__RosettaCalcBinary__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22059:1: ( rule__RosettaCalcBinary__Group_1__1__Impl )
            // InternalRosetta.g:22060:2: rule__RosettaCalcBinary__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1__1__Impl"
    // InternalRosetta.g:22066:1: rule__RosettaCalcBinary__Group_1__1__Impl : ( ( rule__RosettaCalcBinary__Group_1_1__0 )? ) ;
    public final void rule__RosettaCalcBinary__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22070:1: ( ( ( rule__RosettaCalcBinary__Group_1_1__0 )? ) )
            // InternalRosetta.g:22071:1: ( ( rule__RosettaCalcBinary__Group_1_1__0 )? )
            {
            // InternalRosetta.g:22071:1: ( ( rule__RosettaCalcBinary__Group_1_1__0 )? )
            // InternalRosetta.g:22072:2: ( rule__RosettaCalcBinary__Group_1_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_1()); }
            // InternalRosetta.g:22073:2: ( rule__RosettaCalcBinary__Group_1_1__0 )?
            int alt238=2;
            switch ( input.LA(1) ) {
                case 139:
                    {
                    int LA238_1 = input.LA(2);
                    if ( (synpred373_InternalRosetta()) ) {
                        alt238=1;
                    }
                    }
                    break;
                case 140:
                    {
                    int LA238_2 = input.LA(2);
                    if ( (synpred373_InternalRosetta()) ) {
                        alt238=1;
                    }
                    }
                    break;
                case 119:
                    {
                    int LA238_3 = input.LA(2);
                    if ( (synpred373_InternalRosetta()) ) {
                        alt238=1;
                    }
                    }
                    break;
                case 141:
                    {
                    int LA238_4 = input.LA(2);
                    if ( (synpred373_InternalRosetta()) ) {
                        alt238=1;
                    }
                    }
                    break;
            }
            switch (alt238) {
                case 1 :
                    // InternalRosetta.g:22073:3: rule__RosettaCalcBinary__Group_1_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__Group_1_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getGroup_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0__0"
    // InternalRosetta.g:22082:1: rule__RosettaCalcBinary__Group_1_0__0 : rule__RosettaCalcBinary__Group_1_0__0__Impl ;
    public final void rule__RosettaCalcBinary__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22086:1: ( rule__RosettaCalcBinary__Group_1_0__0__Impl )
            // InternalRosetta.g:22087:2: rule__RosettaCalcBinary__Group_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0__0__Impl"
    // InternalRosetta.g:22093:1: rule__RosettaCalcBinary__Group_1_0__0__Impl : ( ( rule__RosettaCalcBinary__Alternatives_1_0_0 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22097:1: ( ( ( rule__RosettaCalcBinary__Alternatives_1_0_0 ) ) )
            // InternalRosetta.g:22098:1: ( ( rule__RosettaCalcBinary__Alternatives_1_0_0 ) )
            {
            // InternalRosetta.g:22098:1: ( ( rule__RosettaCalcBinary__Alternatives_1_0_0 ) )
            // InternalRosetta.g:22099:2: ( rule__RosettaCalcBinary__Alternatives_1_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getAlternatives_1_0_0()); }
            // InternalRosetta.g:22100:2: ( rule__RosettaCalcBinary__Alternatives_1_0_0 )
            // InternalRosetta.g:22100:3: rule__RosettaCalcBinary__Alternatives_1_0_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Alternatives_1_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getAlternatives_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_0__0"
    // InternalRosetta.g:22109:1: rule__RosettaCalcBinary__Group_1_0_0_0__0 : rule__RosettaCalcBinary__Group_1_0_0_0__0__Impl rule__RosettaCalcBinary__Group_1_0_0_0__1 ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22113:1: ( rule__RosettaCalcBinary__Group_1_0_0_0__0__Impl rule__RosettaCalcBinary__Group_1_0_0_0__1 )
            // InternalRosetta.g:22114:2: rule__RosettaCalcBinary__Group_1_0_0_0__0__Impl rule__RosettaCalcBinary__Group_1_0_0_0__1
            {
            pushFollow(FOLLOW_118);
            rule__RosettaCalcBinary__Group_1_0_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_0__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_0__0__Impl"
    // InternalRosetta.g:22121:1: rule__RosettaCalcBinary__Group_1_0_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22125:1: ( ( () ) )
            // InternalRosetta.g:22126:1: ( () )
            {
            // InternalRosetta.g:22126:1: ( () )
            // InternalRosetta.g:22127:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRosettaContainsExpressionAction_1_0_0_0_0()); }
            // InternalRosetta.g:22128:2: ()
            // InternalRosetta.g:22128:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRosettaContainsExpressionAction_1_0_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_0__1"
    // InternalRosetta.g:22136:1: rule__RosettaCalcBinary__Group_1_0_0_0__1 : rule__RosettaCalcBinary__Group_1_0_0_0__1__Impl rule__RosettaCalcBinary__Group_1_0_0_0__2 ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22140:1: ( rule__RosettaCalcBinary__Group_1_0_0_0__1__Impl rule__RosettaCalcBinary__Group_1_0_0_0__2 )
            // InternalRosetta.g:22141:2: rule__RosettaCalcBinary__Group_1_0_0_0__1__Impl rule__RosettaCalcBinary__Group_1_0_0_0__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_1_0_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_0__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_0__1__Impl"
    // InternalRosetta.g:22148:1: rule__RosettaCalcBinary__Group_1_0_0_0__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22152:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1 ) ) )
            // InternalRosetta.g:22153:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1 ) )
            {
            // InternalRosetta.g:22153:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1 ) )
            // InternalRosetta.g:22154:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_0_0_0_1()); }
            // InternalRosetta.g:22155:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1 )
            // InternalRosetta.g:22155:3: rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_0_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_0__2"
    // InternalRosetta.g:22163:1: rule__RosettaCalcBinary__Group_1_0_0_0__2 : rule__RosettaCalcBinary__Group_1_0_0_0__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22167:1: ( rule__RosettaCalcBinary__Group_1_0_0_0__2__Impl )
            // InternalRosetta.g:22168:2: rule__RosettaCalcBinary__Group_1_0_0_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_0__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_0__2__Impl"
    // InternalRosetta.g:22174:1: rule__RosettaCalcBinary__Group_1_0_0_0__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22178:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2 ) ) )
            // InternalRosetta.g:22179:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2 ) )
            {
            // InternalRosetta.g:22179:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2 ) )
            // InternalRosetta.g:22180:2: ( rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_0_0_0_2()); }
            // InternalRosetta.g:22181:2: ( rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2 )
            // InternalRosetta.g:22181:3: rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_0_0_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_1__0"
    // InternalRosetta.g:22190:1: rule__RosettaCalcBinary__Group_1_0_0_1__0 : rule__RosettaCalcBinary__Group_1_0_0_1__0__Impl rule__RosettaCalcBinary__Group_1_0_0_1__1 ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22194:1: ( rule__RosettaCalcBinary__Group_1_0_0_1__0__Impl rule__RosettaCalcBinary__Group_1_0_0_1__1 )
            // InternalRosetta.g:22195:2: rule__RosettaCalcBinary__Group_1_0_0_1__0__Impl rule__RosettaCalcBinary__Group_1_0_0_1__1
            {
            pushFollow(FOLLOW_120);
            rule__RosettaCalcBinary__Group_1_0_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_1__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_1__0__Impl"
    // InternalRosetta.g:22202:1: rule__RosettaCalcBinary__Group_1_0_0_1__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22206:1: ( ( () ) )
            // InternalRosetta.g:22207:1: ( () )
            {
            // InternalRosetta.g:22207:1: ( () )
            // InternalRosetta.g:22208:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRosettaDisjointExpressionAction_1_0_0_1_0()); }
            // InternalRosetta.g:22209:2: ()
            // InternalRosetta.g:22209:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRosettaDisjointExpressionAction_1_0_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_1__1"
    // InternalRosetta.g:22217:1: rule__RosettaCalcBinary__Group_1_0_0_1__1 : rule__RosettaCalcBinary__Group_1_0_0_1__1__Impl rule__RosettaCalcBinary__Group_1_0_0_1__2 ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22221:1: ( rule__RosettaCalcBinary__Group_1_0_0_1__1__Impl rule__RosettaCalcBinary__Group_1_0_0_1__2 )
            // InternalRosetta.g:22222:2: rule__RosettaCalcBinary__Group_1_0_0_1__1__Impl rule__RosettaCalcBinary__Group_1_0_0_1__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_1_0_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_1__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_1__1__Impl"
    // InternalRosetta.g:22229:1: rule__RosettaCalcBinary__Group_1_0_0_1__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22233:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1 ) ) )
            // InternalRosetta.g:22234:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1 ) )
            {
            // InternalRosetta.g:22234:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1 ) )
            // InternalRosetta.g:22235:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_0_0_1_1()); }
            // InternalRosetta.g:22236:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1 )
            // InternalRosetta.g:22236:3: rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_0_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_1__2"
    // InternalRosetta.g:22244:1: rule__RosettaCalcBinary__Group_1_0_0_1__2 : rule__RosettaCalcBinary__Group_1_0_0_1__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22248:1: ( rule__RosettaCalcBinary__Group_1_0_0_1__2__Impl )
            // InternalRosetta.g:22249:2: rule__RosettaCalcBinary__Group_1_0_0_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_1__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_1__2__Impl"
    // InternalRosetta.g:22255:1: rule__RosettaCalcBinary__Group_1_0_0_1__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22259:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2 ) ) )
            // InternalRosetta.g:22260:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2 ) )
            {
            // InternalRosetta.g:22260:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2 ) )
            // InternalRosetta.g:22261:2: ( rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_0_0_1_2()); }
            // InternalRosetta.g:22262:2: ( rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2 )
            // InternalRosetta.g:22262:3: rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_0_0_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_1__2__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_2__0"
    // InternalRosetta.g:22271:1: rule__RosettaCalcBinary__Group_1_0_0_2__0 : rule__RosettaCalcBinary__Group_1_0_0_2__0__Impl rule__RosettaCalcBinary__Group_1_0_0_2__1 ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22275:1: ( rule__RosettaCalcBinary__Group_1_0_0_2__0__Impl rule__RosettaCalcBinary__Group_1_0_0_2__1 )
            // InternalRosetta.g:22276:2: rule__RosettaCalcBinary__Group_1_0_0_2__0__Impl rule__RosettaCalcBinary__Group_1_0_0_2__1
            {
            pushFollow(FOLLOW_121);
            rule__RosettaCalcBinary__Group_1_0_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_2__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_2__0__Impl"
    // InternalRosetta.g:22283:1: rule__RosettaCalcBinary__Group_1_0_0_2__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22287:1: ( ( () ) )
            // InternalRosetta.g:22288:1: ( () )
            {
            // InternalRosetta.g:22288:1: ( () )
            // InternalRosetta.g:22289:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getDefaultOperationAction_1_0_0_2_0()); }
            // InternalRosetta.g:22290:2: ()
            // InternalRosetta.g:22290:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getDefaultOperationAction_1_0_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_2__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_2__1"
    // InternalRosetta.g:22298:1: rule__RosettaCalcBinary__Group_1_0_0_2__1 : rule__RosettaCalcBinary__Group_1_0_0_2__1__Impl rule__RosettaCalcBinary__Group_1_0_0_2__2 ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22302:1: ( rule__RosettaCalcBinary__Group_1_0_0_2__1__Impl rule__RosettaCalcBinary__Group_1_0_0_2__2 )
            // InternalRosetta.g:22303:2: rule__RosettaCalcBinary__Group_1_0_0_2__1__Impl rule__RosettaCalcBinary__Group_1_0_0_2__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_1_0_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_2__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_2__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_2__1__Impl"
    // InternalRosetta.g:22310:1: rule__RosettaCalcBinary__Group_1_0_0_2__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22314:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1 ) ) )
            // InternalRosetta.g:22315:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1 ) )
            {
            // InternalRosetta.g:22315:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1 ) )
            // InternalRosetta.g:22316:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_0_0_2_1()); }
            // InternalRosetta.g:22317:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1 )
            // InternalRosetta.g:22317:3: rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_0_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_2__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_2__2"
    // InternalRosetta.g:22325:1: rule__RosettaCalcBinary__Group_1_0_0_2__2 : rule__RosettaCalcBinary__Group_1_0_0_2__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_2__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22329:1: ( rule__RosettaCalcBinary__Group_1_0_0_2__2__Impl )
            // InternalRosetta.g:22330:2: rule__RosettaCalcBinary__Group_1_0_0_2__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_2__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_2__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_2__2__Impl"
    // InternalRosetta.g:22336:1: rule__RosettaCalcBinary__Group_1_0_0_2__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22340:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2 ) ) )
            // InternalRosetta.g:22341:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2 ) )
            {
            // InternalRosetta.g:22341:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2 ) )
            // InternalRosetta.g:22342:2: ( rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_0_0_2_2()); }
            // InternalRosetta.g:22343:2: ( rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2 )
            // InternalRosetta.g:22343:3: rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_0_0_2_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_2__2__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_3__0"
    // InternalRosetta.g:22352:1: rule__RosettaCalcBinary__Group_1_0_0_3__0 : rule__RosettaCalcBinary__Group_1_0_0_3__0__Impl rule__RosettaCalcBinary__Group_1_0_0_3__1 ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22356:1: ( rule__RosettaCalcBinary__Group_1_0_0_3__0__Impl rule__RosettaCalcBinary__Group_1_0_0_3__1 )
            // InternalRosetta.g:22357:2: rule__RosettaCalcBinary__Group_1_0_0_3__0__Impl rule__RosettaCalcBinary__Group_1_0_0_3__1
            {
            pushFollow(FOLLOW_116);
            rule__RosettaCalcBinary__Group_1_0_0_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_3__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_3__0__Impl"
    // InternalRosetta.g:22364:1: rule__RosettaCalcBinary__Group_1_0_0_3__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22368:1: ( ( () ) )
            // InternalRosetta.g:22369:1: ( () )
            {
            // InternalRosetta.g:22369:1: ( () )
            // InternalRosetta.g:22370:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getJoinOperationAction_1_0_0_3_0()); }
            // InternalRosetta.g:22371:2: ()
            // InternalRosetta.g:22371:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getJoinOperationAction_1_0_0_3_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_3__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_3__1"
    // InternalRosetta.g:22379:1: rule__RosettaCalcBinary__Group_1_0_0_3__1 : rule__RosettaCalcBinary__Group_1_0_0_3__1__Impl rule__RosettaCalcBinary__Group_1_0_0_3__2 ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22383:1: ( rule__RosettaCalcBinary__Group_1_0_0_3__1__Impl rule__RosettaCalcBinary__Group_1_0_0_3__2 )
            // InternalRosetta.g:22384:2: rule__RosettaCalcBinary__Group_1_0_0_3__1__Impl rule__RosettaCalcBinary__Group_1_0_0_3__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_1_0_0_3__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_3__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_3__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_3__1__Impl"
    // InternalRosetta.g:22391:1: rule__RosettaCalcBinary__Group_1_0_0_3__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22395:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1 ) ) )
            // InternalRosetta.g:22396:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1 ) )
            {
            // InternalRosetta.g:22396:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1 ) )
            // InternalRosetta.g:22397:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_0_0_3_1()); }
            // InternalRosetta.g:22398:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1 )
            // InternalRosetta.g:22398:3: rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_0_0_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_3__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_3__2"
    // InternalRosetta.g:22406:1: rule__RosettaCalcBinary__Group_1_0_0_3__2 : rule__RosettaCalcBinary__Group_1_0_0_3__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_3__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22410:1: ( rule__RosettaCalcBinary__Group_1_0_0_3__2__Impl )
            // InternalRosetta.g:22411:2: rule__RosettaCalcBinary__Group_1_0_0_3__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_0_0_3__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_3__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_0_0_3__2__Impl"
    // InternalRosetta.g:22417:1: rule__RosettaCalcBinary__Group_1_0_0_3__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2 )? ) ;
    public final void rule__RosettaCalcBinary__Group_1_0_0_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22421:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2 )? ) )
            // InternalRosetta.g:22422:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2 )? )
            {
            // InternalRosetta.g:22422:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2 )? )
            // InternalRosetta.g:22423:2: ( rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_0_0_3_2()); }
            // InternalRosetta.g:22424:2: ( rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2 )?
            int alt239=2;
            alt239 = dfa239.predict(input);
            switch (alt239) {
                case 1 :
                    // InternalRosetta.g:22424:3: rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_0_0_3_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_0_0_3__2__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1__0"
    // InternalRosetta.g:22433:1: rule__RosettaCalcBinary__Group_1_1__0 : rule__RosettaCalcBinary__Group_1_1__0__Impl ;
    public final void rule__RosettaCalcBinary__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22437:1: ( rule__RosettaCalcBinary__Group_1_1__0__Impl )
            // InternalRosetta.g:22438:2: rule__RosettaCalcBinary__Group_1_1__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1__0__Impl"
    // InternalRosetta.g:22444:1: rule__RosettaCalcBinary__Group_1_1__0__Impl : ( ( rule__RosettaCalcBinary__Alternatives_1_1_0 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22448:1: ( ( ( rule__RosettaCalcBinary__Alternatives_1_1_0 ) ) )
            // InternalRosetta.g:22449:1: ( ( rule__RosettaCalcBinary__Alternatives_1_1_0 ) )
            {
            // InternalRosetta.g:22449:1: ( ( rule__RosettaCalcBinary__Alternatives_1_1_0 ) )
            // InternalRosetta.g:22450:2: ( rule__RosettaCalcBinary__Alternatives_1_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getAlternatives_1_1_0()); }
            // InternalRosetta.g:22451:2: ( rule__RosettaCalcBinary__Alternatives_1_1_0 )
            // InternalRosetta.g:22451:3: rule__RosettaCalcBinary__Alternatives_1_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Alternatives_1_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getAlternatives_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_0__0"
    // InternalRosetta.g:22460:1: rule__RosettaCalcBinary__Group_1_1_0_0__0 : rule__RosettaCalcBinary__Group_1_1_0_0__0__Impl rule__RosettaCalcBinary__Group_1_1_0_0__1 ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22464:1: ( rule__RosettaCalcBinary__Group_1_1_0_0__0__Impl rule__RosettaCalcBinary__Group_1_1_0_0__1 )
            // InternalRosetta.g:22465:2: rule__RosettaCalcBinary__Group_1_1_0_0__0__Impl rule__RosettaCalcBinary__Group_1_1_0_0__1
            {
            pushFollow(FOLLOW_118);
            rule__RosettaCalcBinary__Group_1_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_0__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_0__0__Impl"
    // InternalRosetta.g:22472:1: rule__RosettaCalcBinary__Group_1_1_0_0__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22476:1: ( ( () ) )
            // InternalRosetta.g:22477:1: ( () )
            {
            // InternalRosetta.g:22477:1: ( () )
            // InternalRosetta.g:22478:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRosettaContainsExpressionLeftAction_1_1_0_0_0()); }
            // InternalRosetta.g:22479:2: ()
            // InternalRosetta.g:22479:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRosettaContainsExpressionLeftAction_1_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_0__1"
    // InternalRosetta.g:22487:1: rule__RosettaCalcBinary__Group_1_1_0_0__1 : rule__RosettaCalcBinary__Group_1_1_0_0__1__Impl rule__RosettaCalcBinary__Group_1_1_0_0__2 ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22491:1: ( rule__RosettaCalcBinary__Group_1_1_0_0__1__Impl rule__RosettaCalcBinary__Group_1_1_0_0__2 )
            // InternalRosetta.g:22492:2: rule__RosettaCalcBinary__Group_1_1_0_0__1__Impl rule__RosettaCalcBinary__Group_1_1_0_0__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_1_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_0__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_0__1__Impl"
    // InternalRosetta.g:22499:1: rule__RosettaCalcBinary__Group_1_1_0_0__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22503:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1 ) ) )
            // InternalRosetta.g:22504:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1 ) )
            {
            // InternalRosetta.g:22504:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1 ) )
            // InternalRosetta.g:22505:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_1_0_0_1()); }
            // InternalRosetta.g:22506:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1 )
            // InternalRosetta.g:22506:3: rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_0__2"
    // InternalRosetta.g:22514:1: rule__RosettaCalcBinary__Group_1_1_0_0__2 : rule__RosettaCalcBinary__Group_1_1_0_0__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22518:1: ( rule__RosettaCalcBinary__Group_1_1_0_0__2__Impl )
            // InternalRosetta.g:22519:2: rule__RosettaCalcBinary__Group_1_1_0_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_0__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_0__2__Impl"
    // InternalRosetta.g:22525:1: rule__RosettaCalcBinary__Group_1_1_0_0__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22529:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2 ) ) )
            // InternalRosetta.g:22530:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2 ) )
            {
            // InternalRosetta.g:22530:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2 ) )
            // InternalRosetta.g:22531:2: ( rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_1_0_0_2()); }
            // InternalRosetta.g:22532:2: ( rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2 )
            // InternalRosetta.g:22532:3: rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_1_0_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_1__0"
    // InternalRosetta.g:22541:1: rule__RosettaCalcBinary__Group_1_1_0_1__0 : rule__RosettaCalcBinary__Group_1_1_0_1__0__Impl rule__RosettaCalcBinary__Group_1_1_0_1__1 ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22545:1: ( rule__RosettaCalcBinary__Group_1_1_0_1__0__Impl rule__RosettaCalcBinary__Group_1_1_0_1__1 )
            // InternalRosetta.g:22546:2: rule__RosettaCalcBinary__Group_1_1_0_1__0__Impl rule__RosettaCalcBinary__Group_1_1_0_1__1
            {
            pushFollow(FOLLOW_120);
            rule__RosettaCalcBinary__Group_1_1_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_1__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_1__0__Impl"
    // InternalRosetta.g:22553:1: rule__RosettaCalcBinary__Group_1_1_0_1__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22557:1: ( ( () ) )
            // InternalRosetta.g:22558:1: ( () )
            {
            // InternalRosetta.g:22558:1: ( () )
            // InternalRosetta.g:22559:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRosettaDisjointExpressionLeftAction_1_1_0_1_0()); }
            // InternalRosetta.g:22560:2: ()
            // InternalRosetta.g:22560:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRosettaDisjointExpressionLeftAction_1_1_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_1__1"
    // InternalRosetta.g:22568:1: rule__RosettaCalcBinary__Group_1_1_0_1__1 : rule__RosettaCalcBinary__Group_1_1_0_1__1__Impl rule__RosettaCalcBinary__Group_1_1_0_1__2 ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22572:1: ( rule__RosettaCalcBinary__Group_1_1_0_1__1__Impl rule__RosettaCalcBinary__Group_1_1_0_1__2 )
            // InternalRosetta.g:22573:2: rule__RosettaCalcBinary__Group_1_1_0_1__1__Impl rule__RosettaCalcBinary__Group_1_1_0_1__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_1_1_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_1__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_1__1__Impl"
    // InternalRosetta.g:22580:1: rule__RosettaCalcBinary__Group_1_1_0_1__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22584:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1 ) ) )
            // InternalRosetta.g:22585:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1 ) )
            {
            // InternalRosetta.g:22585:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1 ) )
            // InternalRosetta.g:22586:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_1_0_1_1()); }
            // InternalRosetta.g:22587:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1 )
            // InternalRosetta.g:22587:3: rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_1_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_1__2"
    // InternalRosetta.g:22595:1: rule__RosettaCalcBinary__Group_1_1_0_1__2 : rule__RosettaCalcBinary__Group_1_1_0_1__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22599:1: ( rule__RosettaCalcBinary__Group_1_1_0_1__2__Impl )
            // InternalRosetta.g:22600:2: rule__RosettaCalcBinary__Group_1_1_0_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_1__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_1__2__Impl"
    // InternalRosetta.g:22606:1: rule__RosettaCalcBinary__Group_1_1_0_1__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22610:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2 ) ) )
            // InternalRosetta.g:22611:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2 ) )
            {
            // InternalRosetta.g:22611:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2 ) )
            // InternalRosetta.g:22612:2: ( rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_1_0_1_2()); }
            // InternalRosetta.g:22613:2: ( rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2 )
            // InternalRosetta.g:22613:3: rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_1_0_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_1__2__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_2__0"
    // InternalRosetta.g:22622:1: rule__RosettaCalcBinary__Group_1_1_0_2__0 : rule__RosettaCalcBinary__Group_1_1_0_2__0__Impl rule__RosettaCalcBinary__Group_1_1_0_2__1 ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22626:1: ( rule__RosettaCalcBinary__Group_1_1_0_2__0__Impl rule__RosettaCalcBinary__Group_1_1_0_2__1 )
            // InternalRosetta.g:22627:2: rule__RosettaCalcBinary__Group_1_1_0_2__0__Impl rule__RosettaCalcBinary__Group_1_1_0_2__1
            {
            pushFollow(FOLLOW_121);
            rule__RosettaCalcBinary__Group_1_1_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_2__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_2__0__Impl"
    // InternalRosetta.g:22634:1: rule__RosettaCalcBinary__Group_1_1_0_2__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22638:1: ( ( () ) )
            // InternalRosetta.g:22639:1: ( () )
            {
            // InternalRosetta.g:22639:1: ( () )
            // InternalRosetta.g:22640:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getDefaultOperationLeftAction_1_1_0_2_0()); }
            // InternalRosetta.g:22641:2: ()
            // InternalRosetta.g:22641:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getDefaultOperationLeftAction_1_1_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_2__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_2__1"
    // InternalRosetta.g:22649:1: rule__RosettaCalcBinary__Group_1_1_0_2__1 : rule__RosettaCalcBinary__Group_1_1_0_2__1__Impl rule__RosettaCalcBinary__Group_1_1_0_2__2 ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22653:1: ( rule__RosettaCalcBinary__Group_1_1_0_2__1__Impl rule__RosettaCalcBinary__Group_1_1_0_2__2 )
            // InternalRosetta.g:22654:2: rule__RosettaCalcBinary__Group_1_1_0_2__1__Impl rule__RosettaCalcBinary__Group_1_1_0_2__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_1_1_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_2__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_2__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_2__1__Impl"
    // InternalRosetta.g:22661:1: rule__RosettaCalcBinary__Group_1_1_0_2__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22665:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1 ) ) )
            // InternalRosetta.g:22666:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1 ) )
            {
            // InternalRosetta.g:22666:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1 ) )
            // InternalRosetta.g:22667:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_1_0_2_1()); }
            // InternalRosetta.g:22668:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1 )
            // InternalRosetta.g:22668:3: rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_1_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_2__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_2__2"
    // InternalRosetta.g:22676:1: rule__RosettaCalcBinary__Group_1_1_0_2__2 : rule__RosettaCalcBinary__Group_1_1_0_2__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_2__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22680:1: ( rule__RosettaCalcBinary__Group_1_1_0_2__2__Impl )
            // InternalRosetta.g:22681:2: rule__RosettaCalcBinary__Group_1_1_0_2__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_2__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_2__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_2__2__Impl"
    // InternalRosetta.g:22687:1: rule__RosettaCalcBinary__Group_1_1_0_2__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22691:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2 ) ) )
            // InternalRosetta.g:22692:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2 ) )
            {
            // InternalRosetta.g:22692:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2 ) )
            // InternalRosetta.g:22693:2: ( rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_1_0_2_2()); }
            // InternalRosetta.g:22694:2: ( rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2 )
            // InternalRosetta.g:22694:3: rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_1_0_2_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_2__2__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_3__0"
    // InternalRosetta.g:22703:1: rule__RosettaCalcBinary__Group_1_1_0_3__0 : rule__RosettaCalcBinary__Group_1_1_0_3__0__Impl rule__RosettaCalcBinary__Group_1_1_0_3__1 ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22707:1: ( rule__RosettaCalcBinary__Group_1_1_0_3__0__Impl rule__RosettaCalcBinary__Group_1_1_0_3__1 )
            // InternalRosetta.g:22708:2: rule__RosettaCalcBinary__Group_1_1_0_3__0__Impl rule__RosettaCalcBinary__Group_1_1_0_3__1
            {
            pushFollow(FOLLOW_117);
            rule__RosettaCalcBinary__Group_1_1_0_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_3__0"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_3__0__Impl"
    // InternalRosetta.g:22715:1: rule__RosettaCalcBinary__Group_1_1_0_3__0__Impl : ( () ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22719:1: ( ( () ) )
            // InternalRosetta.g:22720:1: ( () )
            {
            // InternalRosetta.g:22720:1: ( () )
            // InternalRosetta.g:22721:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getJoinOperationLeftAction_1_1_0_3_0()); }
            // InternalRosetta.g:22722:2: ()
            // InternalRosetta.g:22722:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getJoinOperationLeftAction_1_1_0_3_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_3__0__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_3__1"
    // InternalRosetta.g:22730:1: rule__RosettaCalcBinary__Group_1_1_0_3__1 : rule__RosettaCalcBinary__Group_1_1_0_3__1__Impl rule__RosettaCalcBinary__Group_1_1_0_3__2 ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22734:1: ( rule__RosettaCalcBinary__Group_1_1_0_3__1__Impl rule__RosettaCalcBinary__Group_1_1_0_3__2 )
            // InternalRosetta.g:22735:2: rule__RosettaCalcBinary__Group_1_1_0_3__1__Impl rule__RosettaCalcBinary__Group_1_1_0_3__2
            {
            pushFollow(FOLLOW_119);
            rule__RosettaCalcBinary__Group_1_1_0_3__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_3__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_3__1"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_3__1__Impl"
    // InternalRosetta.g:22742:1: rule__RosettaCalcBinary__Group_1_1_0_3__1__Impl : ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1 ) ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22746:1: ( ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1 ) ) )
            // InternalRosetta.g:22747:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1 ) )
            {
            // InternalRosetta.g:22747:1: ( ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1 ) )
            // InternalRosetta.g:22748:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_1_0_3_1()); }
            // InternalRosetta.g:22749:2: ( rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1 )
            // InternalRosetta.g:22749:3: rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorAssignment_1_1_0_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_3__1__Impl"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_3__2"
    // InternalRosetta.g:22757:1: rule__RosettaCalcBinary__Group_1_1_0_3__2 : rule__RosettaCalcBinary__Group_1_1_0_3__2__Impl ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_3__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22761:1: ( rule__RosettaCalcBinary__Group_1_1_0_3__2__Impl )
            // InternalRosetta.g:22762:2: rule__RosettaCalcBinary__Group_1_1_0_3__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcBinary__Group_1_1_0_3__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_3__2"
    // $ANTLR start "rule__RosettaCalcBinary__Group_1_1_0_3__2__Impl"
    // InternalRosetta.g:22768:1: rule__RosettaCalcBinary__Group_1_1_0_3__2__Impl : ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2 )? ) ;
    public final void rule__RosettaCalcBinary__Group_1_1_0_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22772:1: ( ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2 )? ) )
            // InternalRosetta.g:22773:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2 )? )
            {
            // InternalRosetta.g:22773:1: ( ( rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2 )? )
            // InternalRosetta.g:22774:2: ( rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_1_0_3_2()); }
            // InternalRosetta.g:22775:2: ( rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2 )?
            int alt240=2;
            alt240 = dfa240.predict(input);
            switch (alt240) {
                case 1 :
                    // InternalRosetta.g:22775:3: rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightAssignment_1_1_0_3_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__Group_1_1_0_3__2__Impl"
    // $ANTLR start "rule__SwitchCase__Group__0"
    // InternalRosetta.g:22784: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 {
            // InternalRosetta.g:22788:1: ( rule__SwitchCase__Group__0__Impl rule__SwitchCase__Group__1 )
            // InternalRosetta.g:22789:2: rule__SwitchCase__Group__0__Impl rule__SwitchCase__Group__1
            {
            pushFollow(FOLLOW_101);
            rule__SwitchCase__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__SwitchCase__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__SwitchCase__Group__0"
    // $ANTLR start "rule__SwitchCase__Group__0__Impl"
    // InternalRosetta.g:22796:1: rule__SwitchCase__Group__0__Impl : ( ( rule__SwitchCase__GuardAssignment_0 ) ) ;
    public final void rule__SwitchCase__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22800:1: ( ( ( rule__SwitchCase__GuardAssignment_0 ) ) )
            // InternalRosetta.g:22801:1: ( ( rule__SwitchCase__GuardAssignment_0 ) )
            {
            // InternalRosetta.g:22801:1: ( ( rule__SwitchCase__GuardAssignment_0 ) )
            // InternalRosetta.g:22802:2: ( rule__SwitchCase__GuardAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseAccess().getGuardAssignment_0()); }
            // InternalRosetta.g:22803:2: ( rule__SwitchCase__GuardAssignment_0 )
            // InternalRosetta.g:22803:3: rule__SwitchCase__GuardAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__SwitchCase__GuardAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getSwitchCaseAccess().getGuardAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__SwitchCase__Group__0__Impl"
    // $ANTLR start "rule__SwitchCase__Group__1"
    // InternalRosetta.g:22811: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 {
            // InternalRosetta.g:22815:1: ( rule__SwitchCase__Group__1__Impl rule__SwitchCase__Group__2 )
            // InternalRosetta.g:22816:2: rule__SwitchCase__Group__1__Impl rule__SwitchCase__Group__2
            {
            pushFollow(FOLLOW_34);
            rule__SwitchCase__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__SwitchCase__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__SwitchCase__Group__1"
    // $ANTLR start "rule__SwitchCase__Group__1__Impl"
    // InternalRosetta.g:22823:1: rule__SwitchCase__Group__1__Impl : ( 'then' ) ;
    public final void rule__SwitchCase__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22827:1: ( ( 'then' ) )
            // InternalRosetta.g:22828:1: ( 'then' )
            {
            // InternalRosetta.g:22828:1: ( 'then' )
            // InternalRosetta.g:22829:2: 'then'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseAccess().getThenKeyword_1()); }
            match(input,117,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSwitchCaseAccess().getThenKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__SwitchCase__Group__1__Impl"
    // $ANTLR start "rule__SwitchCase__Group__2"
    // InternalRosetta.g:22838:1: rule__SwitchCase__Group__2 : rule__SwitchCase__Group__2__Impl ;
    public final void rule__SwitchCase__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22842:1: ( rule__SwitchCase__Group__2__Impl )
            // InternalRosetta.g:22843:2: rule__SwitchCase__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__SwitchCase__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__SwitchCase__Group__2"
    // $ANTLR start "rule__SwitchCase__Group__2__Impl"
    // InternalRosetta.g:22849:1: rule__SwitchCase__Group__2__Impl : ( ( rule__SwitchCase__ExpressionAssignment_2 ) ) ;
    public final void rule__SwitchCase__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22853:1: ( ( ( rule__SwitchCase__ExpressionAssignment_2 ) ) )
            // InternalRosetta.g:22854:1: ( ( rule__SwitchCase__ExpressionAssignment_2 ) )
            {
            // InternalRosetta.g:22854:1: ( ( rule__SwitchCase__ExpressionAssignment_2 ) )
            // InternalRosetta.g:22855:2: ( rule__SwitchCase__ExpressionAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseAccess().getExpressionAssignment_2()); }
            // InternalRosetta.g:22856:2: ( rule__SwitchCase__ExpressionAssignment_2 )
            // InternalRosetta.g:22856:3: rule__SwitchCase__ExpressionAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__SwitchCase__ExpressionAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getSwitchCaseAccess().getExpressionAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__SwitchCase__Group__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0__0"
    // InternalRosetta.g:22865:1: rule__UnaryOperation__Group_0__0 : rule__UnaryOperation__Group_0__0__Impl rule__UnaryOperation__Group_0__1 ;
    public final void rule__UnaryOperation__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22869:1: ( rule__UnaryOperation__Group_0__0__Impl rule__UnaryOperation__Group_0__1 )
            // InternalRosetta.g:22870:2: rule__UnaryOperation__Group_0__0__Impl rule__UnaryOperation__Group_0__1
            {
            pushFollow(FOLLOW_122);
            rule__UnaryOperation__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_0__0__Impl"
    // InternalRosetta.g:22877:1: rule__UnaryOperation__Group_0__0__Impl : ( ruleRosettaCalcPrimary ) ;
    public final void rule__UnaryOperation__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22881:1: ( ( ruleRosettaCalcPrimary ) )
            // InternalRosetta.g:22882:1: ( ruleRosettaCalcPrimary )
            {
            // InternalRosetta.g:22882:1: ( ruleRosettaCalcPrimary )
            // InternalRosetta.g:22883:2: ruleRosettaCalcPrimary
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaCalcPrimaryParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcPrimary(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaCalcPrimaryParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0__1"
    // InternalRosetta.g:22892:1: rule__UnaryOperation__Group_0__1 : rule__UnaryOperation__Group_0__1__Impl ;
    public final void rule__UnaryOperation__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22896:1: ( rule__UnaryOperation__Group_0__1__Impl )
            // InternalRosetta.g:22897:2: rule__UnaryOperation__Group_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_0__1__Impl"
    // InternalRosetta.g:22903:1: rule__UnaryOperation__Group_0__1__Impl : ( ( rule__UnaryOperation__Alternatives_0_1 )* ) ;
    public final void rule__UnaryOperation__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22907:1: ( ( ( rule__UnaryOperation__Alternatives_0_1 )* ) )
            // InternalRosetta.g:22908:1: ( ( rule__UnaryOperation__Alternatives_0_1 )* )
            {
            // InternalRosetta.g:22908:1: ( ( rule__UnaryOperation__Alternatives_0_1 )* )
            // InternalRosetta.g:22909:2: ( rule__UnaryOperation__Alternatives_0_1 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1()); }
            // InternalRosetta.g:22910:2: ( rule__UnaryOperation__Alternatives_0_1 )*
            loop241:
            do {
                int alt241=2;
                alt241 = dfa241.predict(input);
                switch (alt241) {
            	case 1 :
            	    // InternalRosetta.g:22910:3: rule__UnaryOperation__Alternatives_0_1
            	    {
            	    pushFollow(FOLLOW_123);
            	    rule__UnaryOperation__Alternatives_0_1();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop241;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0__0"
    // InternalRosetta.g:22919:1: rule__UnaryOperation__Group_0_1_0__0 : rule__UnaryOperation__Group_0_1_0__0__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22923:1: ( rule__UnaryOperation__Group_0_1_0__0__Impl )
            // InternalRosetta.g:22924:2: rule__UnaryOperation__Group_0_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0__0__Impl"
    // InternalRosetta.g:22930:1: rule__UnaryOperation__Group_0_1_0__0__Impl : ( ( rule__UnaryOperation__Alternatives_0_1_0_0 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22934:1: ( ( ( rule__UnaryOperation__Alternatives_0_1_0_0 ) ) )
            // InternalRosetta.g:22935:1: ( ( rule__UnaryOperation__Alternatives_0_1_0_0 ) )
            {
            // InternalRosetta.g:22935:1: ( ( rule__UnaryOperation__Alternatives_0_1_0_0 ) )
            // InternalRosetta.g:22936:2: ( rule__UnaryOperation__Alternatives_0_1_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1_0_0()); }
            // InternalRosetta.g:22937:2: ( rule__UnaryOperation__Alternatives_0_1_0_0 )
            // InternalRosetta.g:22937:3: rule__UnaryOperation__Alternatives_0_1_0_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_0_1_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_0__0"
    // InternalRosetta.g:22946:1: rule__UnaryOperation__Group_0_1_0_0_0__0 : rule__UnaryOperation__Group_0_1_0_0_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_0__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22950:1: ( rule__UnaryOperation__Group_0_1_0_0_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_0__1 )
            // InternalRosetta.g:22951:2: rule__UnaryOperation__Group_0_1_0_0_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_0__1
            {
            pushFollow(FOLLOW_37);
            rule__UnaryOperation__Group_0_1_0_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_0__0__Impl"
    // InternalRosetta.g:22958:1: rule__UnaryOperation__Group_0_1_0_0_0__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22962:1: ( ( () ) )
            // InternalRosetta.g:22963:1: ( () )
            {
            // InternalRosetta.g:22963:1: ( () )
            // InternalRosetta.g:22964:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaFeatureCallReceiverAction_0_1_0_0_0_0()); }
            // InternalRosetta.g:22965:2: ()
            // InternalRosetta.g:22965:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaFeatureCallReceiverAction_0_1_0_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_0__1"
    // InternalRosetta.g:22973:1: rule__UnaryOperation__Group_0_1_0_0_0__1 : rule__UnaryOperation__Group_0_1_0_0_0__1__Impl rule__UnaryOperation__Group_0_1_0_0_0__2 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22977:1: ( rule__UnaryOperation__Group_0_1_0_0_0__1__Impl rule__UnaryOperation__Group_0_1_0_0_0__2 )
            // InternalRosetta.g:22978:2: rule__UnaryOperation__Group_0_1_0_0_0__1__Impl rule__UnaryOperation__Group_0_1_0_0_0__2
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_0_1_0_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_0__1__Impl"
    // InternalRosetta.g:22985:1: rule__UnaryOperation__Group_0_1_0_0_0__1__Impl : ( '->' ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:22989:1: ( ( '->' ) )
            // InternalRosetta.g:22990:1: ( '->' )
            {
            // InternalRosetta.g:22990:1: ( '->' )
            // InternalRosetta.g:22991:2: '->'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getHyphenMinusGreaterThanSignKeyword_0_1_0_0_0_1()); }
            match(input,78,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getHyphenMinusGreaterThanSignKeyword_0_1_0_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_0__2"
    // InternalRosetta.g:23000:1: rule__UnaryOperation__Group_0_1_0_0_0__2 : rule__UnaryOperation__Group_0_1_0_0_0__2__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23004:1: ( rule__UnaryOperation__Group_0_1_0_0_0__2__Impl )
            // InternalRosetta.g:23005:2: rule__UnaryOperation__Group_0_1_0_0_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_0__2"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_0__2__Impl"
    // InternalRosetta.g:23011:1: rule__UnaryOperation__Group_0_1_0_0_0__2__Impl : ( ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2 )? ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23015:1: ( ( ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2 )? ) )
            // InternalRosetta.g:23016:1: ( ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2 )? )
            {
            // InternalRosetta.g:23016:1: ( ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2 )? )
            // InternalRosetta.g:23017:2: ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureAssignment_0_1_0_0_0_2()); }
            // InternalRosetta.g:23018:2: ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2 )?
            int alt242=2;
            int LA242_0 = input.LA(1);
            if ( (LA242_0==RULE_ID||(LA242_0>=15 && LA242_0<=18)) ) {
                alt242=1;
            }
            else if ( (LA242_0==14) ) {
                int LA242_2 = input.LA(2);
                if ( (LA242_2==14) ) {
                    int LA242_4 = input.LA(3);
                    if ( (synpred377_InternalRosetta()) ) {
                        alt242=1;
                    }
                }
                else if ( (LA242_2==EOF||(LA242_2>=11 && LA242_2<=13)||(LA242_2>=19 && LA242_2<=20)||(LA242_2>=28 && LA242_2<=29)||(LA242_2>=32 && LA242_2<=40)||(LA242_2>=48 && LA242_2<=50)||(LA242_2>=55 && LA242_2<=58)||(LA242_2>=63 && LA242_2<=64)||(LA242_2>=67 && LA242_2<=68)||(LA242_2>=70 && LA242_2<=72)||LA242_2==74||(LA242_2>=77 && LA242_2<=78)||(LA242_2>=80 && LA242_2<=82)||(LA242_2>=84 && LA242_2<=85)||(LA242_2>=87 && LA242_2<=90)||LA242_2==103||(LA242_2>=105 && LA242_2<=106)||(LA242_2>=111 && LA242_2<=113)||(LA242_2>=117 && LA242_2<=119)||(LA242_2>=123 && LA242_2<=124)||(LA242_2>=132 && LA242_2<=133)||(LA242_2>=137 && LA242_2<=162)||(LA242_2>=164 && LA242_2<=165)) ) {
                    alt242=1;
                }}
            switch (alt242) {
                case 1 :
                    // InternalRosetta.g:23018:3: rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureAssignment_0_1_0_0_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_0__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_1__0"
    // InternalRosetta.g:23027:1: rule__UnaryOperation__Group_0_1_0_0_1__0 : rule__UnaryOperation__Group_0_1_0_0_1__0__Impl rule__UnaryOperation__Group_0_1_0_0_1__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23031:1: ( rule__UnaryOperation__Group_0_1_0_0_1__0__Impl rule__UnaryOperation__Group_0_1_0_0_1__1 )
            // InternalRosetta.g:23032:2: rule__UnaryOperation__Group_0_1_0_0_1__0__Impl rule__UnaryOperation__Group_0_1_0_0_1__1
            {
            pushFollow(FOLLOW_124);
            rule__UnaryOperation__Group_0_1_0_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_1__0__Impl"
    // InternalRosetta.g:23039:1: rule__UnaryOperation__Group_0_1_0_0_1__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23043:1: ( ( () ) )
            // InternalRosetta.g:23044:1: ( () )
            {
            // InternalRosetta.g:23044:1: ( () )
            // InternalRosetta.g:23045:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaDeepFeatureCallReceiverAction_0_1_0_0_1_0()); }
            // InternalRosetta.g:23046:2: ()
            // InternalRosetta.g:23046:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaDeepFeatureCallReceiverAction_0_1_0_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_1__1"
    // InternalRosetta.g:23054:1: rule__UnaryOperation__Group_0_1_0_0_1__1 : rule__UnaryOperation__Group_0_1_0_0_1__1__Impl rule__UnaryOperation__Group_0_1_0_0_1__2 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23058:1: ( rule__UnaryOperation__Group_0_1_0_0_1__1__Impl rule__UnaryOperation__Group_0_1_0_0_1__2 )
            // InternalRosetta.g:23059:2: rule__UnaryOperation__Group_0_1_0_0_1__1__Impl rule__UnaryOperation__Group_0_1_0_0_1__2
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_0_1_0_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_1__1__Impl"
    // InternalRosetta.g:23066:1: rule__UnaryOperation__Group_0_1_0_0_1__1__Impl : ( '->>' ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23070:1: ( ( '->>' ) )
            // InternalRosetta.g:23071:1: ( '->>' )
            {
            // InternalRosetta.g:23071:1: ( '->>' )
            // InternalRosetta.g:23072:2: '->>'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getHyphenMinusGreaterThanSignGreaterThanSignKeyword_0_1_0_0_1_1()); }
            match(input,118,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getHyphenMinusGreaterThanSignGreaterThanSignKeyword_0_1_0_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_1__2"
    // InternalRosetta.g:23081:1: rule__UnaryOperation__Group_0_1_0_0_1__2 : rule__UnaryOperation__Group_0_1_0_0_1__2__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23085:1: ( rule__UnaryOperation__Group_0_1_0_0_1__2__Impl )
            // InternalRosetta.g:23086:2: rule__UnaryOperation__Group_0_1_0_0_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_1__2"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_1__2__Impl"
    // InternalRosetta.g:23092:1: rule__UnaryOperation__Group_0_1_0_0_1__2__Impl : ( ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2 )? ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23096:1: ( ( ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2 )? ) )
            // InternalRosetta.g:23097:1: ( ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2 )? )
            {
            // InternalRosetta.g:23097:1: ( ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2 )? )
            // InternalRosetta.g:23098:2: ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureAssignment_0_1_0_0_1_2()); }
            // InternalRosetta.g:23099:2: ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2 )?
            int alt243=2;
            int LA243_0 = input.LA(1);
            if ( (LA243_0==RULE_ID||(LA243_0>=15 && LA243_0<=18)) ) {
                alt243=1;
            }
            else if ( (LA243_0==14) ) {
                int LA243_2 = input.LA(2);
                if ( (LA243_2==14) ) {
                    int LA243_4 = input.LA(3);
                    if ( (synpred378_InternalRosetta()) ) {
                        alt243=1;
                    }
                }
                else if ( (LA243_2==EOF||(LA243_2>=11 && LA243_2<=13)||(LA243_2>=19 && LA243_2<=20)||(LA243_2>=28 && LA243_2<=29)||(LA243_2>=32 && LA243_2<=40)||(LA243_2>=48 && LA243_2<=50)||(LA243_2>=55 && LA243_2<=58)||(LA243_2>=63 && LA243_2<=64)||(LA243_2>=67 && LA243_2<=68)||(LA243_2>=70 && LA243_2<=72)||LA243_2==74||(LA243_2>=77 && LA243_2<=78)||(LA243_2>=80 && LA243_2<=82)||(LA243_2>=84 && LA243_2<=85)||(LA243_2>=87 && LA243_2<=90)||LA243_2==103||(LA243_2>=105 && LA243_2<=106)||(LA243_2>=111 && LA243_2<=113)||(LA243_2>=117 && LA243_2<=119)||(LA243_2>=123 && LA243_2<=124)||(LA243_2>=132 && LA243_2<=133)||(LA243_2>=137 && LA243_2<=162)||(LA243_2>=164 && LA243_2<=165)) ) {
                    alt243=1;
                }}
            switch (alt243) {
                case 1 :
                    // InternalRosetta.g:23099:3: rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureAssignment_0_1_0_0_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_1__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_2__0"
    // InternalRosetta.g:23108:1: rule__UnaryOperation__Group_0_1_0_0_2__0 : rule__UnaryOperation__Group_0_1_0_0_2__0__Impl rule__UnaryOperation__Group_0_1_0_0_2__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23112:1: ( rule__UnaryOperation__Group_0_1_0_0_2__0__Impl rule__UnaryOperation__Group_0_1_0_0_2__1 )
            // InternalRosetta.g:23113:2: rule__UnaryOperation__Group_0_1_0_0_2__0__Impl rule__UnaryOperation__Group_0_1_0_0_2__1
            {
            pushFollow(FOLLOW_125);
            rule__UnaryOperation__Group_0_1_0_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_2__0__Impl"
    // InternalRosetta.g:23120:1: rule__UnaryOperation__Group_0_1_0_0_2__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23124:1: ( ( () ) )
            // InternalRosetta.g:23125:1: ( () )
            {
            // InternalRosetta.g:23125:1: ( () )
            // InternalRosetta.g:23126:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaExistsExpressionArgumentAction_0_1_0_0_2_0()); }
            // InternalRosetta.g:23127:2: ()
            // InternalRosetta.g:23127:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaExistsExpressionArgumentAction_0_1_0_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_2__1"
    // InternalRosetta.g:23135:1: rule__UnaryOperation__Group_0_1_0_0_2__1 : rule__UnaryOperation__Group_0_1_0_0_2__1__Impl rule__UnaryOperation__Group_0_1_0_0_2__2 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23139:1: ( rule__UnaryOperation__Group_0_1_0_0_2__1__Impl rule__UnaryOperation__Group_0_1_0_0_2__2 )
            // InternalRosetta.g:23140:2: rule__UnaryOperation__Group_0_1_0_0_2__1__Impl rule__UnaryOperation__Group_0_1_0_0_2__2
            {
            pushFollow(FOLLOW_125);
            rule__UnaryOperation__Group_0_1_0_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_2__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_2__1__Impl"
    // InternalRosetta.g:23147:1: rule__UnaryOperation__Group_0_1_0_0_2__1__Impl : ( ( rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1 )? ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23151:1: ( ( ( rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1 )? ) )
            // InternalRosetta.g:23152:1: ( ( rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1 )? )
            {
            // InternalRosetta.g:23152:1: ( ( rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1 )? )
            // InternalRosetta.g:23153:2: ( rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getModifierAssignment_0_1_0_0_2_1()); }
            // InternalRosetta.g:23154:2: ( rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1 )?
            int alt244=2;
            int LA244_0 = input.LA(1);
            if ( ((LA244_0>=57 && LA244_0<=58)) ) {
                alt244=1;
            }
            switch (alt244) {
                case 1 :
                    // InternalRosetta.g:23154:3: rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getModifierAssignment_0_1_0_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_2__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_2__2"
    // InternalRosetta.g:23162:1: rule__UnaryOperation__Group_0_1_0_0_2__2 : rule__UnaryOperation__Group_0_1_0_0_2__2__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_2__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23166:1: ( rule__UnaryOperation__Group_0_1_0_0_2__2__Impl )
            // InternalRosetta.g:23167:2: rule__UnaryOperation__Group_0_1_0_0_2__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_2__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_2__2"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_2__2__Impl"
    // InternalRosetta.g:23173:1: rule__UnaryOperation__Group_0_1_0_0_2__2__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23177:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2 ) ) )
            // InternalRosetta.g:23178:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2 ) )
            {
            // InternalRosetta.g:23178:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2 ) )
            // InternalRosetta.g:23179:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_2_2()); }
            // InternalRosetta.g:23180:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2 )
            // InternalRosetta.g:23180:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_2_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_2__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_3__0"
    // InternalRosetta.g:23189:1: rule__UnaryOperation__Group_0_1_0_0_3__0 : rule__UnaryOperation__Group_0_1_0_0_3__0__Impl rule__UnaryOperation__Group_0_1_0_0_3__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23193:1: ( rule__UnaryOperation__Group_0_1_0_0_3__0__Impl rule__UnaryOperation__Group_0_1_0_0_3__1 )
            // InternalRosetta.g:23194:2: rule__UnaryOperation__Group_0_1_0_0_3__0__Impl rule__UnaryOperation__Group_0_1_0_0_3__1
            {
            pushFollow(FOLLOW_81);
            rule__UnaryOperation__Group_0_1_0_0_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_3__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_3__0__Impl"
    // InternalRosetta.g:23201:1: rule__UnaryOperation__Group_0_1_0_0_3__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23205:1: ( ( () ) )
            // InternalRosetta.g:23206:1: ( () )
            {
            // InternalRosetta.g:23206:1: ( () )
            // InternalRosetta.g:23207:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaAbsentExpressionArgumentAction_0_1_0_0_3_0()); }
            // InternalRosetta.g:23208:2: ()
            // InternalRosetta.g:23208:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaAbsentExpressionArgumentAction_0_1_0_0_3_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_3__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_3__1"
    // InternalRosetta.g:23216:1: rule__UnaryOperation__Group_0_1_0_0_3__1 : rule__UnaryOperation__Group_0_1_0_0_3__1__Impl rule__UnaryOperation__Group_0_1_0_0_3__2 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23220:1: ( rule__UnaryOperation__Group_0_1_0_0_3__1__Impl rule__UnaryOperation__Group_0_1_0_0_3__2 )
            // InternalRosetta.g:23221:2: rule__UnaryOperation__Group_0_1_0_0_3__1__Impl rule__UnaryOperation__Group_0_1_0_0_3__2
            {
            pushFollow(FOLLOW_82);
            rule__UnaryOperation__Group_0_1_0_0_3__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_3__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_3__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_3__1__Impl"
    // InternalRosetta.g:23228:1: rule__UnaryOperation__Group_0_1_0_0_3__1__Impl : ( 'is' ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23232:1: ( ( 'is' ) )
            // InternalRosetta.g:23233:1: ( 'is' )
            {
            // InternalRosetta.g:23233:1: ( 'is' )
            // InternalRosetta.g:23234:2: 'is'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getIsKeyword_0_1_0_0_3_1()); }
            match(input,106,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getIsKeyword_0_1_0_0_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_3__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_3__2"
    // InternalRosetta.g:23243:1: rule__UnaryOperation__Group_0_1_0_0_3__2 : rule__UnaryOperation__Group_0_1_0_0_3__2__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_3__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23247:1: ( rule__UnaryOperation__Group_0_1_0_0_3__2__Impl )
            // InternalRosetta.g:23248:2: rule__UnaryOperation__Group_0_1_0_0_3__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_3__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_3__2"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_3__2__Impl"
    // InternalRosetta.g:23254:1: rule__UnaryOperation__Group_0_1_0_0_3__2__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23258:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2 ) ) )
            // InternalRosetta.g:23259:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2 ) )
            {
            // InternalRosetta.g:23259:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2 ) )
            // InternalRosetta.g:23260:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_3_2()); }
            // InternalRosetta.g:23261:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2 )
            // InternalRosetta.g:23261:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_3_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_3__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_4__0"
    // InternalRosetta.g:23270:1: rule__UnaryOperation__Group_0_1_0_0_4__0 : rule__UnaryOperation__Group_0_1_0_0_4__0__Impl rule__UnaryOperation__Group_0_1_0_0_4__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23274:1: ( rule__UnaryOperation__Group_0_1_0_0_4__0__Impl rule__UnaryOperation__Group_0_1_0_0_4__1 )
            // InternalRosetta.g:23275:2: rule__UnaryOperation__Group_0_1_0_0_4__0__Impl rule__UnaryOperation__Group_0_1_0_0_4__1
            {
            pushFollow(FOLLOW_126);
            rule__UnaryOperation__Group_0_1_0_0_4__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_4__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_4__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_4__0__Impl"
    // InternalRosetta.g:23282:1: rule__UnaryOperation__Group_0_1_0_0_4__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23286:1: ( ( () ) )
            // InternalRosetta.g:23287:1: ( () )
            {
            // InternalRosetta.g:23287:1: ( () )
            // InternalRosetta.g:23288:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaOnlyElementArgumentAction_0_1_0_0_4_0()); }
            // InternalRosetta.g:23289:2: ()
            // InternalRosetta.g:23289:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaOnlyElementArgumentAction_0_1_0_0_4_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_4__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_4__1"
    // InternalRosetta.g:23297:1: rule__UnaryOperation__Group_0_1_0_0_4__1 : rule__UnaryOperation__Group_0_1_0_0_4__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_4__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23301:1: ( rule__UnaryOperation__Group_0_1_0_0_4__1__Impl )
            // InternalRosetta.g:23302:2: rule__UnaryOperation__Group_0_1_0_0_4__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_4__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_4__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_4__1__Impl"
    // InternalRosetta.g:23308:1: rule__UnaryOperation__Group_0_1_0_0_4__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23312:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1 ) ) )
            // InternalRosetta.g:23313:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1 ) )
            {
            // InternalRosetta.g:23313:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1 ) )
            // InternalRosetta.g:23314:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_4_1()); }
            // InternalRosetta.g:23315:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1 )
            // InternalRosetta.g:23315:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_4_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_4__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_5__0"
    // InternalRosetta.g:23324:1: rule__UnaryOperation__Group_0_1_0_0_5__0 : rule__UnaryOperation__Group_0_1_0_0_5__0__Impl rule__UnaryOperation__Group_0_1_0_0_5__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_5__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23328:1: ( rule__UnaryOperation__Group_0_1_0_0_5__0__Impl rule__UnaryOperation__Group_0_1_0_0_5__1 )
            // InternalRosetta.g:23329:2: rule__UnaryOperation__Group_0_1_0_0_5__0__Impl rule__UnaryOperation__Group_0_1_0_0_5__1
            {
            pushFollow(FOLLOW_127);
            rule__UnaryOperation__Group_0_1_0_0_5__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_5__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_5__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_5__0__Impl"
    // InternalRosetta.g:23336:1: rule__UnaryOperation__Group_0_1_0_0_5__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23340:1: ( ( () ) )
            // InternalRosetta.g:23341:1: ( () )
            {
            // InternalRosetta.g:23341:1: ( () )
            // InternalRosetta.g:23342:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaCountOperationArgumentAction_0_1_0_0_5_0()); }
            // InternalRosetta.g:23343:2: ()
            // InternalRosetta.g:23343:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaCountOperationArgumentAction_0_1_0_0_5_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_5__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_5__1"
    // InternalRosetta.g:23351:1: rule__UnaryOperation__Group_0_1_0_0_5__1 : rule__UnaryOperation__Group_0_1_0_0_5__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_5__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23355:1: ( rule__UnaryOperation__Group_0_1_0_0_5__1__Impl )
            // InternalRosetta.g:23356:2: rule__UnaryOperation__Group_0_1_0_0_5__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_5__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_5__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_5__1__Impl"
    // InternalRosetta.g:23362:1: rule__UnaryOperation__Group_0_1_0_0_5__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23366:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1 ) ) )
            // InternalRosetta.g:23367:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1 ) )
            {
            // InternalRosetta.g:23367:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1 ) )
            // InternalRosetta.g:23368:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_5_1()); }
            // InternalRosetta.g:23369:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1 )
            // InternalRosetta.g:23369:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_5_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_5__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_6__0"
    // InternalRosetta.g:23378:1: rule__UnaryOperation__Group_0_1_0_0_6__0 : rule__UnaryOperation__Group_0_1_0_0_6__0__Impl rule__UnaryOperation__Group_0_1_0_0_6__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_6__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23382:1: ( rule__UnaryOperation__Group_0_1_0_0_6__0__Impl rule__UnaryOperation__Group_0_1_0_0_6__1 )
            // InternalRosetta.g:23383:2: rule__UnaryOperation__Group_0_1_0_0_6__0__Impl rule__UnaryOperation__Group_0_1_0_0_6__1
            {
            pushFollow(FOLLOW_128);
            rule__UnaryOperation__Group_0_1_0_0_6__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_6__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_6__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_6__0__Impl"
    // InternalRosetta.g:23390:1: rule__UnaryOperation__Group_0_1_0_0_6__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23394:1: ( ( () ) )
            // InternalRosetta.g:23395:1: ( () )
            {
            // InternalRosetta.g:23395:1: ( () )
            // InternalRosetta.g:23396:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFlattenOperationArgumentAction_0_1_0_0_6_0()); }
            // InternalRosetta.g:23397:2: ()
            // InternalRosetta.g:23397:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFlattenOperationArgumentAction_0_1_0_0_6_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_6__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_6__1"
    // InternalRosetta.g:23405:1: rule__UnaryOperation__Group_0_1_0_0_6__1 : rule__UnaryOperation__Group_0_1_0_0_6__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_6__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23409:1: ( rule__UnaryOperation__Group_0_1_0_0_6__1__Impl )
            // InternalRosetta.g:23410:2: rule__UnaryOperation__Group_0_1_0_0_6__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_6__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_6__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_6__1__Impl"
    // InternalRosetta.g:23416:1: rule__UnaryOperation__Group_0_1_0_0_6__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23420:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1 ) ) )
            // InternalRosetta.g:23421:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1 ) )
            {
            // InternalRosetta.g:23421:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1 ) )
            // InternalRosetta.g:23422:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_6_1()); }
            // InternalRosetta.g:23423:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1 )
            // InternalRosetta.g:23423:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_6_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_6__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_7__0"
    // InternalRosetta.g:23432:1: rule__UnaryOperation__Group_0_1_0_0_7__0 : rule__UnaryOperation__Group_0_1_0_0_7__0__Impl rule__UnaryOperation__Group_0_1_0_0_7__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_7__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23436:1: ( rule__UnaryOperation__Group_0_1_0_0_7__0__Impl rule__UnaryOperation__Group_0_1_0_0_7__1 )
            // InternalRosetta.g:23437:2: rule__UnaryOperation__Group_0_1_0_0_7__0__Impl rule__UnaryOperation__Group_0_1_0_0_7__1
            {
            pushFollow(FOLLOW_129);
            rule__UnaryOperation__Group_0_1_0_0_7__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_7__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_7__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_7__0__Impl"
    // InternalRosetta.g:23444:1: rule__UnaryOperation__Group_0_1_0_0_7__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23448:1: ( ( () ) )
            // InternalRosetta.g:23449:1: ( () )
            {
            // InternalRosetta.g:23449:1: ( () )
            // InternalRosetta.g:23450:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDistinctOperationArgumentAction_0_1_0_0_7_0()); }
            // InternalRosetta.g:23451:2: ()
            // InternalRosetta.g:23451:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDistinctOperationArgumentAction_0_1_0_0_7_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_7__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_7__1"
    // InternalRosetta.g:23459:1: rule__UnaryOperation__Group_0_1_0_0_7__1 : rule__UnaryOperation__Group_0_1_0_0_7__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_7__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23463:1: ( rule__UnaryOperation__Group_0_1_0_0_7__1__Impl )
            // InternalRosetta.g:23464:2: rule__UnaryOperation__Group_0_1_0_0_7__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_7__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_7__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_7__1__Impl"
    // InternalRosetta.g:23470:1: rule__UnaryOperation__Group_0_1_0_0_7__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23474:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1 ) ) )
            // InternalRosetta.g:23475:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1 ) )
            {
            // InternalRosetta.g:23475:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1 ) )
            // InternalRosetta.g:23476:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_7_1()); }
            // InternalRosetta.g:23477:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1 )
            // InternalRosetta.g:23477:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_7_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_7__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_8__0"
    // InternalRosetta.g:23486:1: rule__UnaryOperation__Group_0_1_0_0_8__0 : rule__UnaryOperation__Group_0_1_0_0_8__0__Impl rule__UnaryOperation__Group_0_1_0_0_8__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_8__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23490:1: ( rule__UnaryOperation__Group_0_1_0_0_8__0__Impl rule__UnaryOperation__Group_0_1_0_0_8__1 )
            // InternalRosetta.g:23491:2: rule__UnaryOperation__Group_0_1_0_0_8__0__Impl rule__UnaryOperation__Group_0_1_0_0_8__1
            {
            pushFollow(FOLLOW_130);
            rule__UnaryOperation__Group_0_1_0_0_8__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_8__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_8__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_8__0__Impl"
    // InternalRosetta.g:23498:1: rule__UnaryOperation__Group_0_1_0_0_8__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_8__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23502:1: ( ( () ) )
            // InternalRosetta.g:23503:1: ( () )
            {
            // InternalRosetta.g:23503:1: ( () )
            // InternalRosetta.g:23504:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getReverseOperationArgumentAction_0_1_0_0_8_0()); }
            // InternalRosetta.g:23505:2: ()
            // InternalRosetta.g:23505:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getReverseOperationArgumentAction_0_1_0_0_8_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_8__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_8__1"
    // InternalRosetta.g:23513:1: rule__UnaryOperation__Group_0_1_0_0_8__1 : rule__UnaryOperation__Group_0_1_0_0_8__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_8__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23517:1: ( rule__UnaryOperation__Group_0_1_0_0_8__1__Impl )
            // InternalRosetta.g:23518:2: rule__UnaryOperation__Group_0_1_0_0_8__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_8__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_8__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_8__1__Impl"
    // InternalRosetta.g:23524:1: rule__UnaryOperation__Group_0_1_0_0_8__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_8__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23528:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1 ) ) )
            // InternalRosetta.g:23529:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1 ) )
            {
            // InternalRosetta.g:23529:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1 ) )
            // InternalRosetta.g:23530:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_8_1()); }
            // InternalRosetta.g:23531:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1 )
            // InternalRosetta.g:23531:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_8_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_8__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_9__0"
    // InternalRosetta.g:23540:1: rule__UnaryOperation__Group_0_1_0_0_9__0 : rule__UnaryOperation__Group_0_1_0_0_9__0__Impl rule__UnaryOperation__Group_0_1_0_0_9__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_9__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23544:1: ( rule__UnaryOperation__Group_0_1_0_0_9__0__Impl rule__UnaryOperation__Group_0_1_0_0_9__1 )
            // InternalRosetta.g:23545:2: rule__UnaryOperation__Group_0_1_0_0_9__0__Impl rule__UnaryOperation__Group_0_1_0_0_9__1
            {
            pushFollow(FOLLOW_131);
            rule__UnaryOperation__Group_0_1_0_0_9__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_9__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_9__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_9__0__Impl"
    // InternalRosetta.g:23552:1: rule__UnaryOperation__Group_0_1_0_0_9__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_9__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23556:1: ( ( () ) )
            // InternalRosetta.g:23557:1: ( () )
            {
            // InternalRosetta.g:23557:1: ( () )
            // InternalRosetta.g:23558:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFirstOperationArgumentAction_0_1_0_0_9_0()); }
            // InternalRosetta.g:23559:2: ()
            // InternalRosetta.g:23559:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFirstOperationArgumentAction_0_1_0_0_9_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_9__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_9__1"
    // InternalRosetta.g:23567:1: rule__UnaryOperation__Group_0_1_0_0_9__1 : rule__UnaryOperation__Group_0_1_0_0_9__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_9__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23571:1: ( rule__UnaryOperation__Group_0_1_0_0_9__1__Impl )
            // InternalRosetta.g:23572:2: rule__UnaryOperation__Group_0_1_0_0_9__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_9__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_9__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_9__1__Impl"
    // InternalRosetta.g:23578:1: rule__UnaryOperation__Group_0_1_0_0_9__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_9__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23582:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1 ) ) )
            // InternalRosetta.g:23583:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1 ) )
            {
            // InternalRosetta.g:23583:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1 ) )
            // InternalRosetta.g:23584:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_9_1()); }
            // InternalRosetta.g:23585:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1 )
            // InternalRosetta.g:23585:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_9_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_9__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_10__0"
    // InternalRosetta.g:23594:1: rule__UnaryOperation__Group_0_1_0_0_10__0 : rule__UnaryOperation__Group_0_1_0_0_10__0__Impl rule__UnaryOperation__Group_0_1_0_0_10__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_10__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23598:1: ( rule__UnaryOperation__Group_0_1_0_0_10__0__Impl rule__UnaryOperation__Group_0_1_0_0_10__1 )
            // InternalRosetta.g:23599:2: rule__UnaryOperation__Group_0_1_0_0_10__0__Impl rule__UnaryOperation__Group_0_1_0_0_10__1
            {
            pushFollow(FOLLOW_132);
            rule__UnaryOperation__Group_0_1_0_0_10__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_10__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_10__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_10__0__Impl"
    // InternalRosetta.g:23606:1: rule__UnaryOperation__Group_0_1_0_0_10__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_10__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23610:1: ( ( () ) )
            // InternalRosetta.g:23611:1: ( () )
            {
            // InternalRosetta.g:23611:1: ( () )
            // InternalRosetta.g:23612:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getLastOperationArgumentAction_0_1_0_0_10_0()); }
            // InternalRosetta.g:23613:2: ()
            // InternalRosetta.g:23613:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getLastOperationArgumentAction_0_1_0_0_10_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_10__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_10__1"
    // InternalRosetta.g:23621:1: rule__UnaryOperation__Group_0_1_0_0_10__1 : rule__UnaryOperation__Group_0_1_0_0_10__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_10__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23625:1: ( rule__UnaryOperation__Group_0_1_0_0_10__1__Impl )
            // InternalRosetta.g:23626:2: rule__UnaryOperation__Group_0_1_0_0_10__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_10__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_10__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_10__1__Impl"
    // InternalRosetta.g:23632:1: rule__UnaryOperation__Group_0_1_0_0_10__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_10__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23636:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1 ) ) )
            // InternalRosetta.g:23637:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1 ) )
            {
            // InternalRosetta.g:23637:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1 ) )
            // InternalRosetta.g:23638:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_10_1()); }
            // InternalRosetta.g:23639:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1 )
            // InternalRosetta.g:23639:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_10_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_10__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_11__0"
    // InternalRosetta.g:23648:1: rule__UnaryOperation__Group_0_1_0_0_11__0 : rule__UnaryOperation__Group_0_1_0_0_11__0__Impl rule__UnaryOperation__Group_0_1_0_0_11__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_11__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23652:1: ( rule__UnaryOperation__Group_0_1_0_0_11__0__Impl rule__UnaryOperation__Group_0_1_0_0_11__1 )
            // InternalRosetta.g:23653:2: rule__UnaryOperation__Group_0_1_0_0_11__0__Impl rule__UnaryOperation__Group_0_1_0_0_11__1
            {
            pushFollow(FOLLOW_133);
            rule__UnaryOperation__Group_0_1_0_0_11__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_11__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_11__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_11__0__Impl"
    // InternalRosetta.g:23660:1: rule__UnaryOperation__Group_0_1_0_0_11__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_11__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23664:1: ( ( () ) )
            // InternalRosetta.g:23665:1: ( () )
            {
            // InternalRosetta.g:23665:1: ( () )
            // InternalRosetta.g:23666:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getSumOperationArgumentAction_0_1_0_0_11_0()); }
            // InternalRosetta.g:23667:2: ()
            // InternalRosetta.g:23667:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getSumOperationArgumentAction_0_1_0_0_11_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_11__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_11__1"
    // InternalRosetta.g:23675:1: rule__UnaryOperation__Group_0_1_0_0_11__1 : rule__UnaryOperation__Group_0_1_0_0_11__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_11__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23679:1: ( rule__UnaryOperation__Group_0_1_0_0_11__1__Impl )
            // InternalRosetta.g:23680:2: rule__UnaryOperation__Group_0_1_0_0_11__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_11__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_11__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_11__1__Impl"
    // InternalRosetta.g:23686:1: rule__UnaryOperation__Group_0_1_0_0_11__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_11__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23690:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1 ) ) )
            // InternalRosetta.g:23691:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1 ) )
            {
            // InternalRosetta.g:23691:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1 ) )
            // InternalRosetta.g:23692:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_11_1()); }
            // InternalRosetta.g:23693:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1 )
            // InternalRosetta.g:23693:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_11_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_11__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_12__0"
    // InternalRosetta.g:23702:1: rule__UnaryOperation__Group_0_1_0_0_12__0 : rule__UnaryOperation__Group_0_1_0_0_12__0__Impl rule__UnaryOperation__Group_0_1_0_0_12__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_12__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23706:1: ( rule__UnaryOperation__Group_0_1_0_0_12__0__Impl rule__UnaryOperation__Group_0_1_0_0_12__1 )
            // InternalRosetta.g:23707:2: rule__UnaryOperation__Group_0_1_0_0_12__0__Impl rule__UnaryOperation__Group_0_1_0_0_12__1
            {
            pushFollow(FOLLOW_134);
            rule__UnaryOperation__Group_0_1_0_0_12__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_12__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_12__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_12__0__Impl"
    // InternalRosetta.g:23714:1: rule__UnaryOperation__Group_0_1_0_0_12__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_12__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23718:1: ( ( () ) )
            // InternalRosetta.g:23719:1: ( () )
            {
            // InternalRosetta.g:23719:1: ( () )
            // InternalRosetta.g:23720:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOneOfOperationArgumentAction_0_1_0_0_12_0()); }
            // InternalRosetta.g:23721:2: ()
            // InternalRosetta.g:23721:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOneOfOperationArgumentAction_0_1_0_0_12_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_12__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_12__1"
    // InternalRosetta.g:23729:1: rule__UnaryOperation__Group_0_1_0_0_12__1 : rule__UnaryOperation__Group_0_1_0_0_12__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_12__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23733:1: ( rule__UnaryOperation__Group_0_1_0_0_12__1__Impl )
            // InternalRosetta.g:23734:2: rule__UnaryOperation__Group_0_1_0_0_12__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_12__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_12__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_12__1__Impl"
    // InternalRosetta.g:23740:1: rule__UnaryOperation__Group_0_1_0_0_12__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_12__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23744:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1 ) ) )
            // InternalRosetta.g:23745:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1 ) )
            {
            // InternalRosetta.g:23745:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1 ) )
            // InternalRosetta.g:23746:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_12_1()); }
            // InternalRosetta.g:23747:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1 )
            // InternalRosetta.g:23747:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_12_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_12__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13__0"
    // InternalRosetta.g:23756:1: rule__UnaryOperation__Group_0_1_0_0_13__0 : rule__UnaryOperation__Group_0_1_0_0_13__0__Impl rule__UnaryOperation__Group_0_1_0_0_13__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23760:1: ( rule__UnaryOperation__Group_0_1_0_0_13__0__Impl rule__UnaryOperation__Group_0_1_0_0_13__1 )
            // InternalRosetta.g:23761:2: rule__UnaryOperation__Group_0_1_0_0_13__0__Impl rule__UnaryOperation__Group_0_1_0_0_13__1
            {
            pushFollow(FOLLOW_135);
            rule__UnaryOperation__Group_0_1_0_0_13__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_13__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13__0__Impl"
    // InternalRosetta.g:23768:1: rule__UnaryOperation__Group_0_1_0_0_13__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23772:1: ( ( () ) )
            // InternalRosetta.g:23773:1: ( () )
            {
            // InternalRosetta.g:23773:1: ( () )
            // InternalRosetta.g:23774:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getChoiceOperationArgumentAction_0_1_0_0_13_0()); }
            // InternalRosetta.g:23775:2: ()
            // InternalRosetta.g:23775:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getChoiceOperationArgumentAction_0_1_0_0_13_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13__1"
    // InternalRosetta.g:23783:1: rule__UnaryOperation__Group_0_1_0_0_13__1 : rule__UnaryOperation__Group_0_1_0_0_13__1__Impl rule__UnaryOperation__Group_0_1_0_0_13__2 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23787:1: ( rule__UnaryOperation__Group_0_1_0_0_13__1__Impl rule__UnaryOperation__Group_0_1_0_0_13__2 )
            // InternalRosetta.g:23788:2: rule__UnaryOperation__Group_0_1_0_0_13__1__Impl rule__UnaryOperation__Group_0_1_0_0_13__2
            {
            pushFollow(FOLLOW_136);
            rule__UnaryOperation__Group_0_1_0_0_13__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_13__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13__1__Impl"
    // InternalRosetta.g:23795:1: rule__UnaryOperation__Group_0_1_0_0_13__1__Impl : ( ( rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23799:1: ( ( ( rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1 ) ) )
            // InternalRosetta.g:23800:1: ( ( rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1 ) )
            {
            // InternalRosetta.g:23800:1: ( ( rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1 ) )
            // InternalRosetta.g:23801:2: ( rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getNecessityAssignment_0_1_0_0_13_1()); }
            // InternalRosetta.g:23802:2: ( rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1 )
            // InternalRosetta.g:23802:3: rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getNecessityAssignment_0_1_0_0_13_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13__2"
    // InternalRosetta.g:23810:1: rule__UnaryOperation__Group_0_1_0_0_13__2 : rule__UnaryOperation__Group_0_1_0_0_13__2__Impl rule__UnaryOperation__Group_0_1_0_0_13__3 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23814:1: ( rule__UnaryOperation__Group_0_1_0_0_13__2__Impl rule__UnaryOperation__Group_0_1_0_0_13__3 )
            // InternalRosetta.g:23815:2: rule__UnaryOperation__Group_0_1_0_0_13__2__Impl rule__UnaryOperation__Group_0_1_0_0_13__3
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_0_1_0_0_13__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_13__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13__2"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13__2__Impl"
    // InternalRosetta.g:23822:1: rule__UnaryOperation__Group_0_1_0_0_13__2__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23826:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2 ) ) )
            // InternalRosetta.g:23827:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2 ) )
            {
            // InternalRosetta.g:23827:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2 ) )
            // InternalRosetta.g:23828:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_13_2()); }
            // InternalRosetta.g:23829:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2 )
            // InternalRosetta.g:23829:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_13_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13__3"
    // InternalRosetta.g:23837:1: rule__UnaryOperation__Group_0_1_0_0_13__3 : rule__UnaryOperation__Group_0_1_0_0_13__3__Impl rule__UnaryOperation__Group_0_1_0_0_13__4 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23841:1: ( rule__UnaryOperation__Group_0_1_0_0_13__3__Impl rule__UnaryOperation__Group_0_1_0_0_13__4 )
            // InternalRosetta.g:23842:2: rule__UnaryOperation__Group_0_1_0_0_13__3__Impl rule__UnaryOperation__Group_0_1_0_0_13__4
            {
            pushFollow(FOLLOW_41);
            rule__UnaryOperation__Group_0_1_0_0_13__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_13__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13__3"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13__3__Impl"
    // InternalRosetta.g:23849:1: rule__UnaryOperation__Group_0_1_0_0_13__3__Impl : ( ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23853:1: ( ( ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3 ) ) )
            // InternalRosetta.g:23854:1: ( ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3 ) )
            {
            // InternalRosetta.g:23854:1: ( ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3 ) )
            // InternalRosetta.g:23855:2: ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_0_1_0_0_13_3()); }
            // InternalRosetta.g:23856:2: ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3 )
            // InternalRosetta.g:23856:3: rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_0_1_0_0_13_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13__3__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13__4"
    // InternalRosetta.g:23864:1: rule__UnaryOperation__Group_0_1_0_0_13__4 : rule__UnaryOperation__Group_0_1_0_0_13__4__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23868:1: ( rule__UnaryOperation__Group_0_1_0_0_13__4__Impl )
            // InternalRosetta.g:23869:2: rule__UnaryOperation__Group_0_1_0_0_13__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_13__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13__4"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13__4__Impl"
    // InternalRosetta.g:23875:1: rule__UnaryOperation__Group_0_1_0_0_13__4__Impl : ( ( rule__UnaryOperation__Group_0_1_0_0_13_4__0 )* ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23879:1: ( ( ( rule__UnaryOperation__Group_0_1_0_0_13_4__0 )* ) )
            // InternalRosetta.g:23880:1: ( ( rule__UnaryOperation__Group_0_1_0_0_13_4__0 )* )
            {
            // InternalRosetta.g:23880:1: ( ( rule__UnaryOperation__Group_0_1_0_0_13_4__0 )* )
            // InternalRosetta.g:23881:2: ( rule__UnaryOperation__Group_0_1_0_0_13_4__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_13_4()); }
            // InternalRosetta.g:23882:2: ( rule__UnaryOperation__Group_0_1_0_0_13_4__0 )*
            loop245:
            do {
                int alt245=2;
                alt245 = dfa245.predict(input);
                switch (alt245) {
            	case 1 :
            	    // InternalRosetta.g:23882:3: rule__UnaryOperation__Group_0_1_0_0_13_4__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__UnaryOperation__Group_0_1_0_0_13_4__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop245;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_13_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13__4__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13_4__0"
    // InternalRosetta.g:23891:1: rule__UnaryOperation__Group_0_1_0_0_13_4__0 : rule__UnaryOperation__Group_0_1_0_0_13_4__0__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23895:1: ( rule__UnaryOperation__Group_0_1_0_0_13_4__0__Impl )
            // InternalRosetta.g:23896:2: rule__UnaryOperation__Group_0_1_0_0_13_4__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_13_4__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13_4__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13_4__0__Impl"
    // InternalRosetta.g:23902:1: rule__UnaryOperation__Group_0_1_0_0_13_4__0__Impl : ( ( rule__UnaryOperation__Group_0_1_0_0_13_4_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23906:1: ( ( ( rule__UnaryOperation__Group_0_1_0_0_13_4_0__0 ) ) )
            // InternalRosetta.g:23907:1: ( ( rule__UnaryOperation__Group_0_1_0_0_13_4_0__0 ) )
            {
            // InternalRosetta.g:23907:1: ( ( rule__UnaryOperation__Group_0_1_0_0_13_4_0__0 ) )
            // InternalRosetta.g:23908:2: ( rule__UnaryOperation__Group_0_1_0_0_13_4_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_13_4_0()); }
            // InternalRosetta.g:23909:2: ( rule__UnaryOperation__Group_0_1_0_0_13_4_0__0 )
            // InternalRosetta.g:23909:3: rule__UnaryOperation__Group_0_1_0_0_13_4_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_13_4_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_13_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13_4__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13_4_0__0"
    // InternalRosetta.g:23918:1: rule__UnaryOperation__Group_0_1_0_0_13_4_0__0 : rule__UnaryOperation__Group_0_1_0_0_13_4_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_13_4_0__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13_4_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23922:1: ( rule__UnaryOperation__Group_0_1_0_0_13_4_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_13_4_0__1 )
            // InternalRosetta.g:23923:2: rule__UnaryOperation__Group_0_1_0_0_13_4_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_13_4_0__1
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_0_1_0_0_13_4_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_13_4_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13_4_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13_4_0__0__Impl"
    // InternalRosetta.g:23930:1: rule__UnaryOperation__Group_0_1_0_0_13_4_0__0__Impl : ( ',' ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13_4_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23934:1: ( ( ',' ) )
            // InternalRosetta.g:23935:1: ( ',' )
            {
            // InternalRosetta.g:23935:1: ( ',' )
            // InternalRosetta.g:23936:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCommaKeyword_0_1_0_0_13_4_0_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCommaKeyword_0_1_0_0_13_4_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13_4_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13_4_0__1"
    // InternalRosetta.g:23945:1: rule__UnaryOperation__Group_0_1_0_0_13_4_0__1 : rule__UnaryOperation__Group_0_1_0_0_13_4_0__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13_4_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23949:1: ( rule__UnaryOperation__Group_0_1_0_0_13_4_0__1__Impl )
            // InternalRosetta.g:23950:2: rule__UnaryOperation__Group_0_1_0_0_13_4_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_13_4_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13_4_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_13_4_0__1__Impl"
    // InternalRosetta.g:23956:1: rule__UnaryOperation__Group_0_1_0_0_13_4_0__1__Impl : ( ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_13_4_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23960:1: ( ( ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1 ) ) )
            // InternalRosetta.g:23961:1: ( ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1 ) )
            {
            // InternalRosetta.g:23961:1: ( ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1 ) )
            // InternalRosetta.g:23962:2: ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_0_1_0_0_13_4_0_1()); }
            // InternalRosetta.g:23963:2: ( rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1 )
            // InternalRosetta.g:23963:3: rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_0_1_0_0_13_4_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_13_4_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_14__0"
    // InternalRosetta.g:23972:1: rule__UnaryOperation__Group_0_1_0_0_14__0 : rule__UnaryOperation__Group_0_1_0_0_14__0__Impl rule__UnaryOperation__Group_0_1_0_0_14__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_14__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23976:1: ( rule__UnaryOperation__Group_0_1_0_0_14__0__Impl rule__UnaryOperation__Group_0_1_0_0_14__1 )
            // InternalRosetta.g:23977:2: rule__UnaryOperation__Group_0_1_0_0_14__0__Impl rule__UnaryOperation__Group_0_1_0_0_14__1
            {
            pushFollow(FOLLOW_137);
            rule__UnaryOperation__Group_0_1_0_0_14__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_14__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_14__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_14__0__Impl"
    // InternalRosetta.g:23984:1: rule__UnaryOperation__Group_0_1_0_0_14__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_14__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:23988:1: ( ( () ) )
            // InternalRosetta.g:23989:1: ( () )
            {
            // InternalRosetta.g:23989:1: ( () )
            // InternalRosetta.g:23990:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToStringOperationArgumentAction_0_1_0_0_14_0()); }
            // InternalRosetta.g:23991:2: ()
            // InternalRosetta.g:23991:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToStringOperationArgumentAction_0_1_0_0_14_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_14__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_14__1"
    // InternalRosetta.g:23999:1: rule__UnaryOperation__Group_0_1_0_0_14__1 : rule__UnaryOperation__Group_0_1_0_0_14__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_14__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24003:1: ( rule__UnaryOperation__Group_0_1_0_0_14__1__Impl )
            // InternalRosetta.g:24004:2: rule__UnaryOperation__Group_0_1_0_0_14__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_14__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_14__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_14__1__Impl"
    // InternalRosetta.g:24010:1: rule__UnaryOperation__Group_0_1_0_0_14__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_14__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24014:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1 ) ) )
            // InternalRosetta.g:24015:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1 ) )
            {
            // InternalRosetta.g:24015:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1 ) )
            // InternalRosetta.g:24016:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_14_1()); }
            // InternalRosetta.g:24017:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1 )
            // InternalRosetta.g:24017:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_14_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_14__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_15__0"
    // InternalRosetta.g:24026:1: rule__UnaryOperation__Group_0_1_0_0_15__0 : rule__UnaryOperation__Group_0_1_0_0_15__0__Impl rule__UnaryOperation__Group_0_1_0_0_15__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_15__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24030:1: ( rule__UnaryOperation__Group_0_1_0_0_15__0__Impl rule__UnaryOperation__Group_0_1_0_0_15__1 )
            // InternalRosetta.g:24031:2: rule__UnaryOperation__Group_0_1_0_0_15__0__Impl rule__UnaryOperation__Group_0_1_0_0_15__1
            {
            pushFollow(FOLLOW_138);
            rule__UnaryOperation__Group_0_1_0_0_15__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_15__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_15__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_15__0__Impl"
    // InternalRosetta.g:24038:1: rule__UnaryOperation__Group_0_1_0_0_15__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_15__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24042:1: ( ( () ) )
            // InternalRosetta.g:24043:1: ( () )
            {
            // InternalRosetta.g:24043:1: ( () )
            // InternalRosetta.g:24044:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToNumberOperationArgumentAction_0_1_0_0_15_0()); }
            // InternalRosetta.g:24045:2: ()
            // InternalRosetta.g:24045:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToNumberOperationArgumentAction_0_1_0_0_15_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_15__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_15__1"
    // InternalRosetta.g:24053:1: rule__UnaryOperation__Group_0_1_0_0_15__1 : rule__UnaryOperation__Group_0_1_0_0_15__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_15__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24057:1: ( rule__UnaryOperation__Group_0_1_0_0_15__1__Impl )
            // InternalRosetta.g:24058:2: rule__UnaryOperation__Group_0_1_0_0_15__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_15__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_15__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_15__1__Impl"
    // InternalRosetta.g:24064:1: rule__UnaryOperation__Group_0_1_0_0_15__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_15__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24068:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1 ) ) )
            // InternalRosetta.g:24069:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1 ) )
            {
            // InternalRosetta.g:24069:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1 ) )
            // InternalRosetta.g:24070:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_15_1()); }
            // InternalRosetta.g:24071:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1 )
            // InternalRosetta.g:24071:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_15_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_15__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_16__0"
    // InternalRosetta.g:24080:1: rule__UnaryOperation__Group_0_1_0_0_16__0 : rule__UnaryOperation__Group_0_1_0_0_16__0__Impl rule__UnaryOperation__Group_0_1_0_0_16__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_16__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24084:1: ( rule__UnaryOperation__Group_0_1_0_0_16__0__Impl rule__UnaryOperation__Group_0_1_0_0_16__1 )
            // InternalRosetta.g:24085:2: rule__UnaryOperation__Group_0_1_0_0_16__0__Impl rule__UnaryOperation__Group_0_1_0_0_16__1
            {
            pushFollow(FOLLOW_139);
            rule__UnaryOperation__Group_0_1_0_0_16__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_16__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_16__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_16__0__Impl"
    // InternalRosetta.g:24092:1: rule__UnaryOperation__Group_0_1_0_0_16__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_16__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24096:1: ( ( () ) )
            // InternalRosetta.g:24097:1: ( () )
            {
            // InternalRosetta.g:24097:1: ( () )
            // InternalRosetta.g:24098:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToIntOperationArgumentAction_0_1_0_0_16_0()); }
            // InternalRosetta.g:24099:2: ()
            // InternalRosetta.g:24099:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToIntOperationArgumentAction_0_1_0_0_16_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_16__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_16__1"
    // InternalRosetta.g:24107:1: rule__UnaryOperation__Group_0_1_0_0_16__1 : rule__UnaryOperation__Group_0_1_0_0_16__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_16__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24111:1: ( rule__UnaryOperation__Group_0_1_0_0_16__1__Impl )
            // InternalRosetta.g:24112:2: rule__UnaryOperation__Group_0_1_0_0_16__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_16__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_16__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_16__1__Impl"
    // InternalRosetta.g:24118:1: rule__UnaryOperation__Group_0_1_0_0_16__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_16__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24122:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1 ) ) )
            // InternalRosetta.g:24123:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1 ) )
            {
            // InternalRosetta.g:24123:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1 ) )
            // InternalRosetta.g:24124:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_16_1()); }
            // InternalRosetta.g:24125:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1 )
            // InternalRosetta.g:24125:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_16_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_16__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_17__0"
    // InternalRosetta.g:24134:1: rule__UnaryOperation__Group_0_1_0_0_17__0 : rule__UnaryOperation__Group_0_1_0_0_17__0__Impl rule__UnaryOperation__Group_0_1_0_0_17__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_17__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24138:1: ( rule__UnaryOperation__Group_0_1_0_0_17__0__Impl rule__UnaryOperation__Group_0_1_0_0_17__1 )
            // InternalRosetta.g:24139:2: rule__UnaryOperation__Group_0_1_0_0_17__0__Impl rule__UnaryOperation__Group_0_1_0_0_17__1
            {
            pushFollow(FOLLOW_140);
            rule__UnaryOperation__Group_0_1_0_0_17__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_17__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_17__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_17__0__Impl"
    // InternalRosetta.g:24146:1: rule__UnaryOperation__Group_0_1_0_0_17__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_17__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24150:1: ( ( () ) )
            // InternalRosetta.g:24151:1: ( () )
            {
            // InternalRosetta.g:24151:1: ( () )
            // InternalRosetta.g:24152:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToTimeOperationArgumentAction_0_1_0_0_17_0()); }
            // InternalRosetta.g:24153:2: ()
            // InternalRosetta.g:24153:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToTimeOperationArgumentAction_0_1_0_0_17_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_17__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_17__1"
    // InternalRosetta.g:24161:1: rule__UnaryOperation__Group_0_1_0_0_17__1 : rule__UnaryOperation__Group_0_1_0_0_17__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_17__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24165:1: ( rule__UnaryOperation__Group_0_1_0_0_17__1__Impl )
            // InternalRosetta.g:24166:2: rule__UnaryOperation__Group_0_1_0_0_17__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_17__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_17__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_17__1__Impl"
    // InternalRosetta.g:24172:1: rule__UnaryOperation__Group_0_1_0_0_17__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_17__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24176:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1 ) ) )
            // InternalRosetta.g:24177:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1 ) )
            {
            // InternalRosetta.g:24177:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1 ) )
            // InternalRosetta.g:24178:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_17_1()); }
            // InternalRosetta.g:24179:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1 )
            // InternalRosetta.g:24179:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_17_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_17__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_18__0"
    // InternalRosetta.g:24188:1: rule__UnaryOperation__Group_0_1_0_0_18__0 : rule__UnaryOperation__Group_0_1_0_0_18__0__Impl rule__UnaryOperation__Group_0_1_0_0_18__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_18__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24192:1: ( rule__UnaryOperation__Group_0_1_0_0_18__0__Impl rule__UnaryOperation__Group_0_1_0_0_18__1 )
            // InternalRosetta.g:24193:2: rule__UnaryOperation__Group_0_1_0_0_18__0__Impl rule__UnaryOperation__Group_0_1_0_0_18__1
            {
            pushFollow(FOLLOW_141);
            rule__UnaryOperation__Group_0_1_0_0_18__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_18__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_18__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_18__0__Impl"
    // InternalRosetta.g:24200:1: rule__UnaryOperation__Group_0_1_0_0_18__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_18__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24204:1: ( ( () ) )
            // InternalRosetta.g:24205:1: ( () )
            {
            // InternalRosetta.g:24205:1: ( () )
            // InternalRosetta.g:24206:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToEnumOperationArgumentAction_0_1_0_0_18_0()); }
            // InternalRosetta.g:24207:2: ()
            // InternalRosetta.g:24207:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToEnumOperationArgumentAction_0_1_0_0_18_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_18__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_18__1"
    // InternalRosetta.g:24215:1: rule__UnaryOperation__Group_0_1_0_0_18__1 : rule__UnaryOperation__Group_0_1_0_0_18__1__Impl rule__UnaryOperation__Group_0_1_0_0_18__2 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_18__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24219:1: ( rule__UnaryOperation__Group_0_1_0_0_18__1__Impl rule__UnaryOperation__Group_0_1_0_0_18__2 )
            // InternalRosetta.g:24220:2: rule__UnaryOperation__Group_0_1_0_0_18__1__Impl rule__UnaryOperation__Group_0_1_0_0_18__2
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_0_1_0_0_18__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_18__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_18__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_18__1__Impl"
    // InternalRosetta.g:24227:1: rule__UnaryOperation__Group_0_1_0_0_18__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_18__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24231:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1 ) ) )
            // InternalRosetta.g:24232:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1 ) )
            {
            // InternalRosetta.g:24232:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1 ) )
            // InternalRosetta.g:24233:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_18_1()); }
            // InternalRosetta.g:24234:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1 )
            // InternalRosetta.g:24234:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_18_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_18__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_18__2"
    // InternalRosetta.g:24242:1: rule__UnaryOperation__Group_0_1_0_0_18__2 : rule__UnaryOperation__Group_0_1_0_0_18__2__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_18__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24246:1: ( rule__UnaryOperation__Group_0_1_0_0_18__2__Impl )
            // InternalRosetta.g:24247:2: rule__UnaryOperation__Group_0_1_0_0_18__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_18__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_18__2"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_18__2__Impl"
    // InternalRosetta.g:24253:1: rule__UnaryOperation__Group_0_1_0_0_18__2__Impl : ( ( rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_18__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24257:1: ( ( ( rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2 ) ) )
            // InternalRosetta.g:24258:1: ( ( rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2 ) )
            {
            // InternalRosetta.g:24258:1: ( ( rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2 ) )
            // InternalRosetta.g:24259:2: ( rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getEnumerationAssignment_0_1_0_0_18_2()); }
            // InternalRosetta.g:24260:2: ( rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2 )
            // InternalRosetta.g:24260:3: rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getEnumerationAssignment_0_1_0_0_18_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_18__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_19__0"
    // InternalRosetta.g:24269:1: rule__UnaryOperation__Group_0_1_0_0_19__0 : rule__UnaryOperation__Group_0_1_0_0_19__0__Impl rule__UnaryOperation__Group_0_1_0_0_19__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_19__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24273:1: ( rule__UnaryOperation__Group_0_1_0_0_19__0__Impl rule__UnaryOperation__Group_0_1_0_0_19__1 )
            // InternalRosetta.g:24274:2: rule__UnaryOperation__Group_0_1_0_0_19__0__Impl rule__UnaryOperation__Group_0_1_0_0_19__1
            {
            pushFollow(FOLLOW_142);
            rule__UnaryOperation__Group_0_1_0_0_19__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_19__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_19__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_19__0__Impl"
    // InternalRosetta.g:24281:1: rule__UnaryOperation__Group_0_1_0_0_19__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_19__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24285:1: ( ( () ) )
            // InternalRosetta.g:24286:1: ( () )
            {
            // InternalRosetta.g:24286:1: ( () )
            // InternalRosetta.g:24287:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToDateOperationArgumentAction_0_1_0_0_19_0()); }
            // InternalRosetta.g:24288:2: ()
            // InternalRosetta.g:24288:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToDateOperationArgumentAction_0_1_0_0_19_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_19__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_19__1"
    // InternalRosetta.g:24296:1: rule__UnaryOperation__Group_0_1_0_0_19__1 : rule__UnaryOperation__Group_0_1_0_0_19__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_19__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24300:1: ( rule__UnaryOperation__Group_0_1_0_0_19__1__Impl )
            // InternalRosetta.g:24301:2: rule__UnaryOperation__Group_0_1_0_0_19__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_19__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_19__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_19__1__Impl"
    // InternalRosetta.g:24307:1: rule__UnaryOperation__Group_0_1_0_0_19__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_19__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24311:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1 ) ) )
            // InternalRosetta.g:24312:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1 ) )
            {
            // InternalRosetta.g:24312:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1 ) )
            // InternalRosetta.g:24313:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_19_1()); }
            // InternalRosetta.g:24314:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1 )
            // InternalRosetta.g:24314:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_19_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_19__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_20__0"
    // InternalRosetta.g:24323:1: rule__UnaryOperation__Group_0_1_0_0_20__0 : rule__UnaryOperation__Group_0_1_0_0_20__0__Impl rule__UnaryOperation__Group_0_1_0_0_20__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_20__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24327:1: ( rule__UnaryOperation__Group_0_1_0_0_20__0__Impl rule__UnaryOperation__Group_0_1_0_0_20__1 )
            // InternalRosetta.g:24328:2: rule__UnaryOperation__Group_0_1_0_0_20__0__Impl rule__UnaryOperation__Group_0_1_0_0_20__1
            {
            pushFollow(FOLLOW_143);
            rule__UnaryOperation__Group_0_1_0_0_20__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_20__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_20__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_20__0__Impl"
    // InternalRosetta.g:24335:1: rule__UnaryOperation__Group_0_1_0_0_20__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_20__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24339:1: ( ( () ) )
            // InternalRosetta.g:24340:1: ( () )
            {
            // InternalRosetta.g:24340:1: ( () )
            // InternalRosetta.g:24341:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToDateTimeOperationArgumentAction_0_1_0_0_20_0()); }
            // InternalRosetta.g:24342:2: ()
            // InternalRosetta.g:24342:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToDateTimeOperationArgumentAction_0_1_0_0_20_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_20__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_20__1"
    // InternalRosetta.g:24350:1: rule__UnaryOperation__Group_0_1_0_0_20__1 : rule__UnaryOperation__Group_0_1_0_0_20__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_20__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24354:1: ( rule__UnaryOperation__Group_0_1_0_0_20__1__Impl )
            // InternalRosetta.g:24355:2: rule__UnaryOperation__Group_0_1_0_0_20__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_20__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_20__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_20__1__Impl"
    // InternalRosetta.g:24361:1: rule__UnaryOperation__Group_0_1_0_0_20__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_20__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24365:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1 ) ) )
            // InternalRosetta.g:24366:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1 ) )
            {
            // InternalRosetta.g:24366:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1 ) )
            // InternalRosetta.g:24367:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_20_1()); }
            // InternalRosetta.g:24368:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1 )
            // InternalRosetta.g:24368:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_20_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_20__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_21__0"
    // InternalRosetta.g:24377:1: rule__UnaryOperation__Group_0_1_0_0_21__0 : rule__UnaryOperation__Group_0_1_0_0_21__0__Impl rule__UnaryOperation__Group_0_1_0_0_21__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_21__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24381:1: ( rule__UnaryOperation__Group_0_1_0_0_21__0__Impl rule__UnaryOperation__Group_0_1_0_0_21__1 )
            // InternalRosetta.g:24382:2: rule__UnaryOperation__Group_0_1_0_0_21__0__Impl rule__UnaryOperation__Group_0_1_0_0_21__1
            {
            pushFollow(FOLLOW_144);
            rule__UnaryOperation__Group_0_1_0_0_21__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_21__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_21__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_21__0__Impl"
    // InternalRosetta.g:24389:1: rule__UnaryOperation__Group_0_1_0_0_21__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_21__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24393:1: ( ( () ) )
            // InternalRosetta.g:24394:1: ( () )
            {
            // InternalRosetta.g:24394:1: ( () )
            // InternalRosetta.g:24395:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToZonedDateTimeOperationArgumentAction_0_1_0_0_21_0()); }
            // InternalRosetta.g:24396:2: ()
            // InternalRosetta.g:24396:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToZonedDateTimeOperationArgumentAction_0_1_0_0_21_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_21__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_21__1"
    // InternalRosetta.g:24404:1: rule__UnaryOperation__Group_0_1_0_0_21__1 : rule__UnaryOperation__Group_0_1_0_0_21__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_21__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24408:1: ( rule__UnaryOperation__Group_0_1_0_0_21__1__Impl )
            // InternalRosetta.g:24409:2: rule__UnaryOperation__Group_0_1_0_0_21__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_21__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_21__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_21__1__Impl"
    // InternalRosetta.g:24415:1: rule__UnaryOperation__Group_0_1_0_0_21__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_21__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24419:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1 ) ) )
            // InternalRosetta.g:24420:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1 ) )
            {
            // InternalRosetta.g:24420:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1 ) )
            // InternalRosetta.g:24421:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_21_1()); }
            // InternalRosetta.g:24422:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1 )
            // InternalRosetta.g:24422:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_21_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_21__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22__0"
    // InternalRosetta.g:24431:1: rule__UnaryOperation__Group_0_1_0_0_22__0 : rule__UnaryOperation__Group_0_1_0_0_22__0__Impl rule__UnaryOperation__Group_0_1_0_0_22__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24435:1: ( rule__UnaryOperation__Group_0_1_0_0_22__0__Impl rule__UnaryOperation__Group_0_1_0_0_22__1 )
            // InternalRosetta.g:24436:2: rule__UnaryOperation__Group_0_1_0_0_22__0__Impl rule__UnaryOperation__Group_0_1_0_0_22__1
            {
            pushFollow(FOLLOW_145);
            rule__UnaryOperation__Group_0_1_0_0_22__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22__0__Impl"
    // InternalRosetta.g:24443:1: rule__UnaryOperation__Group_0_1_0_0_22__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24447:1: ( ( () ) )
            // InternalRosetta.g:24448:1: ( () )
            {
            // InternalRosetta.g:24448:1: ( () )
            // InternalRosetta.g:24449:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getSwitchOperationArgumentAction_0_1_0_0_22_0()); }
            // InternalRosetta.g:24450:2: ()
            // InternalRosetta.g:24450:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getSwitchOperationArgumentAction_0_1_0_0_22_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22__1"
    // InternalRosetta.g:24458:1: rule__UnaryOperation__Group_0_1_0_0_22__1 : rule__UnaryOperation__Group_0_1_0_0_22__1__Impl rule__UnaryOperation__Group_0_1_0_0_22__2 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24462:1: ( rule__UnaryOperation__Group_0_1_0_0_22__1__Impl rule__UnaryOperation__Group_0_1_0_0_22__2 )
            // InternalRosetta.g:24463:2: rule__UnaryOperation__Group_0_1_0_0_22__1__Impl rule__UnaryOperation__Group_0_1_0_0_22__2
            {
            pushFollow(FOLLOW_146);
            rule__UnaryOperation__Group_0_1_0_0_22__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22__1__Impl"
    // InternalRosetta.g:24470:1: rule__UnaryOperation__Group_0_1_0_0_22__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24474:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1 ) ) )
            // InternalRosetta.g:24475:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1 ) )
            {
            // InternalRosetta.g:24475:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1 ) )
            // InternalRosetta.g:24476:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_22_1()); }
            // InternalRosetta.g:24477:2: ( rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1 )
            // InternalRosetta.g:24477:3: rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_0_0_22_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22__2"
    // InternalRosetta.g:24485:1: rule__UnaryOperation__Group_0_1_0_0_22__2 : rule__UnaryOperation__Group_0_1_0_0_22__2__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24489:1: ( rule__UnaryOperation__Group_0_1_0_0_22__2__Impl )
            // InternalRosetta.g:24490:2: rule__UnaryOperation__Group_0_1_0_0_22__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22__2"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22__2__Impl"
    // InternalRosetta.g:24496:1: rule__UnaryOperation__Group_0_1_0_0_22__2__Impl : ( ( rule__UnaryOperation__Alternatives_0_1_0_0_22_2 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24500:1: ( ( ( rule__UnaryOperation__Alternatives_0_1_0_0_22_2 ) ) )
            // InternalRosetta.g:24501:1: ( ( rule__UnaryOperation__Alternatives_0_1_0_0_22_2 ) )
            {
            // InternalRosetta.g:24501:1: ( ( rule__UnaryOperation__Alternatives_0_1_0_0_22_2 ) )
            // InternalRosetta.g:24502:2: ( rule__UnaryOperation__Alternatives_0_1_0_0_22_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1_0_0_22_2()); }
            // InternalRosetta.g:24503:2: ( rule__UnaryOperation__Alternatives_0_1_0_0_22_2 )
            // InternalRosetta.g:24503:3: rule__UnaryOperation__Alternatives_0_1_0_0_22_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_0_1_0_0_22_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1_0_0_22_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0__0"
    // InternalRosetta.g:24512:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0__0 : rule__UnaryOperation__Group_0_1_0_0_22_2_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24516:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0__1 )
            // InternalRosetta.g:24517:2: rule__UnaryOperation__Group_0_1_0_0_22_2_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0__1
            {
            pushFollow(FOLLOW_41);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0__0__Impl"
    // InternalRosetta.g:24524:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0__0__Impl : ( ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24528:1: ( ( ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0 ) ) )
            // InternalRosetta.g:24529:1: ( ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0 ) )
            {
            // InternalRosetta.g:24529:1: ( ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0 ) )
            // InternalRosetta.g:24530:2: ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesAssignment_0_1_0_0_22_2_0_0()); }
            // InternalRosetta.g:24531:2: ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0 )
            // InternalRosetta.g:24531:3: rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesAssignment_0_1_0_0_22_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0__1"
    // InternalRosetta.g:24539:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0__1 : rule__UnaryOperation__Group_0_1_0_0_22_2_0__1__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0__2 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24543:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0__1__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0__2 )
            // InternalRosetta.g:24544:2: rule__UnaryOperation__Group_0_1_0_0_22_2_0__1__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0__2
            {
            pushFollow(FOLLOW_41);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0__1__Impl"
    // InternalRosetta.g:24551:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0__1__Impl : ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0 )* ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24555:1: ( ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0 )* ) )
            // InternalRosetta.g:24556:1: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0 )* )
            {
            // InternalRosetta.g:24556:1: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0 )* )
            // InternalRosetta.g:24557:2: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_0_1()); }
            // InternalRosetta.g:24558:2: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0 )*
            loop246:
            do {
                int alt246=2;
                int LA246_0 = input.LA(1);
                if ( (LA246_0==40) ) {
                    int LA246_1 = input.LA(2);
                    if ( (synpred381_InternalRosetta()) ) {
                        alt246=1;
                    }
                }
                switch (alt246) {
            	case 1 :
            	    // InternalRosetta.g:24558:3: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop246;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0__2"
    // InternalRosetta.g:24566:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0__2 : rule__UnaryOperation__Group_0_1_0_0_22_2_0__2__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24570:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0__2__Impl )
            // InternalRosetta.g:24571:2: rule__UnaryOperation__Group_0_1_0_0_22_2_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0__2"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0__2__Impl"
    // InternalRosetta.g:24577:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0__2__Impl : ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0 )? ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24581:1: ( ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0 )? ) )
            // InternalRosetta.g:24582:1: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0 )? )
            {
            // InternalRosetta.g:24582:1: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0 )? )
            // InternalRosetta.g:24583:2: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_0_2()); }
            // InternalRosetta.g:24584:2: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0 )?
            int alt247=2;
            int LA247_0 = input.LA(1);
            if ( (LA247_0==40) ) {
                int LA247_1 = input.LA(2);
                if ( (synpred382_InternalRosetta()) ) {
                    alt247=1;
                }}
            switch (alt247) {
                case 1 :
                    // InternalRosetta.g:24584:3: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0"
    // InternalRosetta.g:24593:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0 : rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24597:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0__Impl )
            // InternalRosetta.g:24598:2: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0__Impl"
    // InternalRosetta.g:24604:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0__Impl : ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24608:1: ( ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0 ) ) )
            // InternalRosetta.g:24609:1: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0 ) )
            {
            // InternalRosetta.g:24609:1: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0 ) )
            // InternalRosetta.g:24610:2: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_0_1_0()); }
            // InternalRosetta.g:24611:2: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0 )
            // InternalRosetta.g:24611:3: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0"
    // InternalRosetta.g:24620:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0 : rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24624:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1 )
            // InternalRosetta.g:24625:2: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1
            {
            pushFollow(FOLLOW_73);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0__Impl"
    // InternalRosetta.g:24632:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0__Impl : ( ',' ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24636:1: ( ( ',' ) )
            // InternalRosetta.g:24637:1: ( ',' )
            {
            // InternalRosetta.g:24637:1: ( ',' )
            // InternalRosetta.g:24638:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCommaKeyword_0_1_0_0_22_2_0_1_0_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCommaKeyword_0_1_0_0_22_2_0_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1"
    // InternalRosetta.g:24647:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1 : rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24651:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1__Impl )
            // InternalRosetta.g:24652:2: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1__Impl"
    // InternalRosetta.g:24658:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1__Impl : ( ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24662:1: ( ( ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1 ) ) )
            // InternalRosetta.g:24663:1: ( ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1 ) )
            {
            // InternalRosetta.g:24663:1: ( ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1 ) )
            // InternalRosetta.g:24664:2: ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesAssignment_0_1_0_0_22_2_0_1_0_1()); }
            // InternalRosetta.g:24665:2: ( rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1 )
            // InternalRosetta.g:24665:3: rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesAssignment_0_1_0_0_22_2_0_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_1_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0"
    // InternalRosetta.g:24674:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0 : rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24678:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0__Impl )
            // InternalRosetta.g:24679:2: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0__Impl"
    // InternalRosetta.g:24685:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0__Impl : ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24689:1: ( ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0 ) ) )
            // InternalRosetta.g:24690:1: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0 ) )
            {
            // InternalRosetta.g:24690:1: ( ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0 ) )
            // InternalRosetta.g:24691:2: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_0_2_0()); }
            // InternalRosetta.g:24692:2: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0 )
            // InternalRosetta.g:24692:3: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_0_0_22_2_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0"
    // InternalRosetta.g:24701:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0 : rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24705:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1 )
            // InternalRosetta.g:24706:2: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1
            {
            pushFollow(FOLLOW_121);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0__Impl"
    // InternalRosetta.g:24713:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0__Impl : ( ',' ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24717:1: ( ( ',' ) )
            // InternalRosetta.g:24718:1: ( ',' )
            {
            // InternalRosetta.g:24718:1: ( ',' )
            // InternalRosetta.g:24719:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCommaKeyword_0_1_0_0_22_2_0_2_0_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCommaKeyword_0_1_0_0_22_2_0_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1"
    // InternalRosetta.g:24728:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1 : rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24732:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2 )
            // InternalRosetta.g:24733:2: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2
            {
            pushFollow(FOLLOW_34);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1__Impl"
    // InternalRosetta.g:24740:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1__Impl : ( 'default' ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24744:1: ( ( 'default' ) )
            // InternalRosetta.g:24745:1: ( 'default' )
            {
            // InternalRosetta.g:24745:1: ( 'default' )
            // InternalRosetta.g:24746:2: 'default'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_0_1_0_0_22_2_0_2_0_1()); }
            match(input,119,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_0_1_0_0_22_2_0_2_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2"
    // InternalRosetta.g:24755:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2 : rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24759:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2__Impl )
            // InternalRosetta.g:24760:2: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2__Impl"
    // InternalRosetta.g:24766:1: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2__Impl : ( ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24770:1: ( ( ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2 ) ) )
            // InternalRosetta.g:24771:1: ( ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2 ) )
            {
            // InternalRosetta.g:24771:1: ( ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2 ) )
            // InternalRosetta.g:24772:2: ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_0_1_0_0_22_2_0_2_0_2()); }
            // InternalRosetta.g:24773:2: ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2 )
            // InternalRosetta.g:24773:3: rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_0_1_0_0_22_2_0_2_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_0_2_0__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_1__0"
    // InternalRosetta.g:24782:1: rule__UnaryOperation__Group_0_1_0_0_22_2_1__0 : rule__UnaryOperation__Group_0_1_0_0_22_2_1__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_1__1 ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24786:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_1__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_1__1 )
            // InternalRosetta.g:24787:2: rule__UnaryOperation__Group_0_1_0_0_22_2_1__0__Impl rule__UnaryOperation__Group_0_1_0_0_22_2_1__1
            {
            pushFollow(FOLLOW_34);
            rule__UnaryOperation__Group_0_1_0_0_22_2_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_1__0__Impl"
    // InternalRosetta.g:24794:1: rule__UnaryOperation__Group_0_1_0_0_22_2_1__0__Impl : ( 'default' ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24798:1: ( ( 'default' ) )
            // InternalRosetta.g:24799:1: ( 'default' )
            {
            // InternalRosetta.g:24799:1: ( 'default' )
            // InternalRosetta.g:24800:2: 'default'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_0_1_0_0_22_2_1_0()); }
            match(input,119,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_0_1_0_0_22_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_1__1"
    // InternalRosetta.g:24809:1: rule__UnaryOperation__Group_0_1_0_0_22_2_1__1 : rule__UnaryOperation__Group_0_1_0_0_22_2_1__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24813:1: ( rule__UnaryOperation__Group_0_1_0_0_22_2_1__1__Impl )
            // InternalRosetta.g:24814:2: rule__UnaryOperation__Group_0_1_0_0_22_2_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_0_0_22_2_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_0_0_22_2_1__1__Impl"
    // InternalRosetta.g:24820:1: rule__UnaryOperation__Group_0_1_0_0_22_2_1__1__Impl : ( ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_0_0_22_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24824:1: ( ( ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1 ) ) )
            // InternalRosetta.g:24825:1: ( ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1 ) )
            {
            // InternalRosetta.g:24825:1: ( ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1 ) )
            // InternalRosetta.g:24826:2: ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_0_1_0_0_22_2_1_1()); }
            // InternalRosetta.g:24827:2: ( rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1 )
            // InternalRosetta.g:24827:3: rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_0_1_0_0_22_2_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_0_0_22_2_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1__0"
    // InternalRosetta.g:24836:1: rule__UnaryOperation__Group_0_1_1__0 : rule__UnaryOperation__Group_0_1_1__0__Impl rule__UnaryOperation__Group_0_1_1__1 ;
    public final void rule__UnaryOperation__Group_0_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24840:1: ( rule__UnaryOperation__Group_0_1_1__0__Impl rule__UnaryOperation__Group_0_1_1__1 )
            // InternalRosetta.g:24841:2: rule__UnaryOperation__Group_0_1_1__0__Impl rule__UnaryOperation__Group_0_1_1__1
            {
            pushFollow(FOLLOW_147);
            rule__UnaryOperation__Group_0_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1__0__Impl"
    // InternalRosetta.g:24848:1: rule__UnaryOperation__Group_0_1_1__0__Impl : ( ( rule__UnaryOperation__Group_0_1_1_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24852:1: ( ( ( rule__UnaryOperation__Group_0_1_1_0__0 ) ) )
            // InternalRosetta.g:24853:1: ( ( rule__UnaryOperation__Group_0_1_1_0__0 ) )
            {
            // InternalRosetta.g:24853:1: ( ( rule__UnaryOperation__Group_0_1_1_0__0 ) )
            // InternalRosetta.g:24854:2: ( rule__UnaryOperation__Group_0_1_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_1_0()); }
            // InternalRosetta.g:24855:2: ( rule__UnaryOperation__Group_0_1_1_0__0 )
            // InternalRosetta.g:24855:3: rule__UnaryOperation__Group_0_1_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1__1"
    // InternalRosetta.g:24863:1: rule__UnaryOperation__Group_0_1_1__1 : rule__UnaryOperation__Group_0_1_1__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24867:1: ( rule__UnaryOperation__Group_0_1_1__1__Impl )
            // InternalRosetta.g:24868:2: rule__UnaryOperation__Group_0_1_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1__1__Impl"
    // InternalRosetta.g:24874:1: rule__UnaryOperation__Group_0_1_1__1__Impl : ( ( rule__UnaryOperation__FunctionAssignment_0_1_1_1 )? ) ;
    public final void rule__UnaryOperation__Group_0_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24878:1: ( ( ( rule__UnaryOperation__FunctionAssignment_0_1_1_1 )? ) )
            // InternalRosetta.g:24879:1: ( ( rule__UnaryOperation__FunctionAssignment_0_1_1_1 )? )
            {
            // InternalRosetta.g:24879:1: ( ( rule__UnaryOperation__FunctionAssignment_0_1_1_1 )? )
            // InternalRosetta.g:24880:2: ( rule__UnaryOperation__FunctionAssignment_0_1_1_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_0_1_1_1()); }
            // InternalRosetta.g:24881:2: ( rule__UnaryOperation__FunctionAssignment_0_1_1_1 )?
            int alt248=2;
            int LA248_0 = input.LA(1);
            if ( (LA248_0==RULE_ID||LA248_0==65) ) {
                alt248=1;
            }
            switch (alt248) {
                case 1 :
                    // InternalRosetta.g:24881:3: rule__UnaryOperation__FunctionAssignment_0_1_1_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FunctionAssignment_0_1_1_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_0_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0__0"
    // InternalRosetta.g:24890:1: rule__UnaryOperation__Group_0_1_1_0__0 : rule__UnaryOperation__Group_0_1_1_0__0__Impl ;
    public final void rule__UnaryOperation__Group_0_1_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24894:1: ( rule__UnaryOperation__Group_0_1_1_0__0__Impl )
            // InternalRosetta.g:24895:2: rule__UnaryOperation__Group_0_1_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0__0__Impl"
    // InternalRosetta.g:24901:1: rule__UnaryOperation__Group_0_1_1_0__0__Impl : ( ( rule__UnaryOperation__Alternatives_0_1_1_0_0 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24905:1: ( ( ( rule__UnaryOperation__Alternatives_0_1_1_0_0 ) ) )
            // InternalRosetta.g:24906:1: ( ( rule__UnaryOperation__Alternatives_0_1_1_0_0 ) )
            {
            // InternalRosetta.g:24906:1: ( ( rule__UnaryOperation__Alternatives_0_1_1_0_0 ) )
            // InternalRosetta.g:24907:2: ( rule__UnaryOperation__Alternatives_0_1_1_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1_1_0_0()); }
            // InternalRosetta.g:24908:2: ( rule__UnaryOperation__Alternatives_0_1_1_0_0 )
            // InternalRosetta.g:24908:3: rule__UnaryOperation__Alternatives_0_1_1_0_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_0_1_1_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_0__0"
    // InternalRosetta.g:24917:1: rule__UnaryOperation__Group_0_1_1_0_0_0__0 : rule__UnaryOperation__Group_0_1_1_0_0_0__0__Impl rule__UnaryOperation__Group_0_1_1_0_0_0__1 ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24921:1: ( rule__UnaryOperation__Group_0_1_1_0_0_0__0__Impl rule__UnaryOperation__Group_0_1_1_0_0_0__1 )
            // InternalRosetta.g:24922:2: rule__UnaryOperation__Group_0_1_1_0_0_0__0__Impl rule__UnaryOperation__Group_0_1_1_0_0_0__1
            {
            pushFollow(FOLLOW_148);
            rule__UnaryOperation__Group_0_1_1_0_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_1_0_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_0__0__Impl"
    // InternalRosetta.g:24929:1: rule__UnaryOperation__Group_0_1_1_0_0_0__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24933:1: ( ( () ) )
            // InternalRosetta.g:24934:1: ( () )
            {
            // InternalRosetta.g:24934:1: ( () )
            // InternalRosetta.g:24935:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getSortOperationArgumentAction_0_1_1_0_0_0_0()); }
            // InternalRosetta.g:24936:2: ()
            // InternalRosetta.g:24936:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getSortOperationArgumentAction_0_1_1_0_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_0__1"
    // InternalRosetta.g:24944:1: rule__UnaryOperation__Group_0_1_1_0_0_0__1 : rule__UnaryOperation__Group_0_1_1_0_0_0__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24948:1: ( rule__UnaryOperation__Group_0_1_1_0_0_0__1__Impl )
            // InternalRosetta.g:24949:2: rule__UnaryOperation__Group_0_1_1_0_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_1_0_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_0__1__Impl"
    // InternalRosetta.g:24955:1: rule__UnaryOperation__Group_0_1_1_0_0_0__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24959:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1 ) ) )
            // InternalRosetta.g:24960:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1 ) )
            {
            // InternalRosetta.g:24960:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1 ) )
            // InternalRosetta.g:24961:2: ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_1_0_0_0_1()); }
            // InternalRosetta.g:24962:2: ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1 )
            // InternalRosetta.g:24962:3: rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_1_0_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_1__0"
    // InternalRosetta.g:24971:1: rule__UnaryOperation__Group_0_1_1_0_0_1__0 : rule__UnaryOperation__Group_0_1_1_0_0_1__0__Impl rule__UnaryOperation__Group_0_1_1_0_0_1__1 ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24975:1: ( rule__UnaryOperation__Group_0_1_1_0_0_1__0__Impl rule__UnaryOperation__Group_0_1_1_0_0_1__1 )
            // InternalRosetta.g:24976:2: rule__UnaryOperation__Group_0_1_1_0_0_1__0__Impl rule__UnaryOperation__Group_0_1_1_0_0_1__1
            {
            pushFollow(FOLLOW_149);
            rule__UnaryOperation__Group_0_1_1_0_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_1_0_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_1__0__Impl"
    // InternalRosetta.g:24983:1: rule__UnaryOperation__Group_0_1_1_0_0_1__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:24987:1: ( ( () ) )
            // InternalRosetta.g:24988:1: ( () )
            {
            // InternalRosetta.g:24988:1: ( () )
            // InternalRosetta.g:24989:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getMinOperationArgumentAction_0_1_1_0_0_1_0()); }
            // InternalRosetta.g:24990:2: ()
            // InternalRosetta.g:24990:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getMinOperationArgumentAction_0_1_1_0_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_1__1"
    // InternalRosetta.g:24998:1: rule__UnaryOperation__Group_0_1_1_0_0_1__1 : rule__UnaryOperation__Group_0_1_1_0_0_1__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25002:1: ( rule__UnaryOperation__Group_0_1_1_0_0_1__1__Impl )
            // InternalRosetta.g:25003:2: rule__UnaryOperation__Group_0_1_1_0_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_1_0_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_1__1__Impl"
    // InternalRosetta.g:25009:1: rule__UnaryOperation__Group_0_1_1_0_0_1__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25013:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1 ) ) )
            // InternalRosetta.g:25014:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1 ) )
            {
            // InternalRosetta.g:25014:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1 ) )
            // InternalRosetta.g:25015:2: ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_1_0_0_1_1()); }
            // InternalRosetta.g:25016:2: ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1 )
            // InternalRosetta.g:25016:3: rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_1_0_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_2__0"
    // InternalRosetta.g:25025:1: rule__UnaryOperation__Group_0_1_1_0_0_2__0 : rule__UnaryOperation__Group_0_1_1_0_0_2__0__Impl rule__UnaryOperation__Group_0_1_1_0_0_2__1 ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25029:1: ( rule__UnaryOperation__Group_0_1_1_0_0_2__0__Impl rule__UnaryOperation__Group_0_1_1_0_0_2__1 )
            // InternalRosetta.g:25030:2: rule__UnaryOperation__Group_0_1_1_0_0_2__0__Impl rule__UnaryOperation__Group_0_1_1_0_0_2__1
            {
            pushFollow(FOLLOW_150);
            rule__UnaryOperation__Group_0_1_1_0_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_1_0_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_2__0__Impl"
    // InternalRosetta.g:25037:1: rule__UnaryOperation__Group_0_1_1_0_0_2__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25041:1: ( ( () ) )
            // InternalRosetta.g:25042:1: ( () )
            {
            // InternalRosetta.g:25042:1: ( () )
            // InternalRosetta.g:25043:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getMaxOperationArgumentAction_0_1_1_0_0_2_0()); }
            // InternalRosetta.g:25044:2: ()
            // InternalRosetta.g:25044:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getMaxOperationArgumentAction_0_1_1_0_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_2__1"
    // InternalRosetta.g:25052:1: rule__UnaryOperation__Group_0_1_1_0_0_2__1 : rule__UnaryOperation__Group_0_1_1_0_0_2__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25056:1: ( rule__UnaryOperation__Group_0_1_1_0_0_2__1__Impl )
            // InternalRosetta.g:25057:2: rule__UnaryOperation__Group_0_1_1_0_0_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_1_0_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_1_0_0_2__1__Impl"
    // InternalRosetta.g:25063:1: rule__UnaryOperation__Group_0_1_1_0_0_2__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_1_0_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25067:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1 ) ) )
            // InternalRosetta.g:25068:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1 ) )
            {
            // InternalRosetta.g:25068:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1 ) )
            // InternalRosetta.g:25069:2: ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_1_0_0_2_1()); }
            // InternalRosetta.g:25070:2: ( rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1 )
            // InternalRosetta.g:25070:3: rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_1_0_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_1_0_0_2__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2__0"
    // InternalRosetta.g:25079:1: rule__UnaryOperation__Group_0_1_2__0 : rule__UnaryOperation__Group_0_1_2__0__Impl rule__UnaryOperation__Group_0_1_2__1 ;
    public final void rule__UnaryOperation__Group_0_1_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25083:1: ( rule__UnaryOperation__Group_0_1_2__0__Impl rule__UnaryOperation__Group_0_1_2__1 )
            // InternalRosetta.g:25084:2: rule__UnaryOperation__Group_0_1_2__0__Impl rule__UnaryOperation__Group_0_1_2__1
            {
            pushFollow(FOLLOW_34);
            rule__UnaryOperation__Group_0_1_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2__0__Impl"
    // InternalRosetta.g:25091:1: rule__UnaryOperation__Group_0_1_2__0__Impl : ( ( rule__UnaryOperation__Group_0_1_2_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25095:1: ( ( ( rule__UnaryOperation__Group_0_1_2_0__0 ) ) )
            // InternalRosetta.g:25096:1: ( ( rule__UnaryOperation__Group_0_1_2_0__0 ) )
            {
            // InternalRosetta.g:25096:1: ( ( rule__UnaryOperation__Group_0_1_2_0__0 ) )
            // InternalRosetta.g:25097:2: ( rule__UnaryOperation__Group_0_1_2_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_0_1_2_0()); }
            // InternalRosetta.g:25098:2: ( rule__UnaryOperation__Group_0_1_2_0__0 )
            // InternalRosetta.g:25098:3: rule__UnaryOperation__Group_0_1_2_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_2_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_0_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2__1"
    // InternalRosetta.g:25106:1: rule__UnaryOperation__Group_0_1_2__1 : rule__UnaryOperation__Group_0_1_2__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25110:1: ( rule__UnaryOperation__Group_0_1_2__1__Impl )
            // InternalRosetta.g:25111:2: rule__UnaryOperation__Group_0_1_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2__1__Impl"
    // InternalRosetta.g:25117:1: rule__UnaryOperation__Group_0_1_2__1__Impl : ( ( rule__UnaryOperation__Alternatives_0_1_2_1 )? ) ;
    public final void rule__UnaryOperation__Group_0_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25121:1: ( ( ( rule__UnaryOperation__Alternatives_0_1_2_1 )? ) )
            // InternalRosetta.g:25122:1: ( ( rule__UnaryOperation__Alternatives_0_1_2_1 )? )
            {
            // InternalRosetta.g:25122:1: ( ( rule__UnaryOperation__Alternatives_0_1_2_1 )? )
            // InternalRosetta.g:25123:2: ( rule__UnaryOperation__Alternatives_0_1_2_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1_2_1()); }
            // InternalRosetta.g:25124:2: ( rule__UnaryOperation__Alternatives_0_1_2_1 )?
            int alt249=2;
            alt249 = dfa249.predict(input);
            switch (alt249) {
                case 1 :
                    // InternalRosetta.g:25124:3: rule__UnaryOperation__Alternatives_0_1_2_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Alternatives_0_1_2_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0__0"
    // InternalRosetta.g:25133:1: rule__UnaryOperation__Group_0_1_2_0__0 : rule__UnaryOperation__Group_0_1_2_0__0__Impl ;
    public final void rule__UnaryOperation__Group_0_1_2_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25137:1: ( rule__UnaryOperation__Group_0_1_2_0__0__Impl )
            // InternalRosetta.g:25138:2: rule__UnaryOperation__Group_0_1_2_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_2_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0__0__Impl"
    // InternalRosetta.g:25144:1: rule__UnaryOperation__Group_0_1_2_0__0__Impl : ( ( rule__UnaryOperation__Alternatives_0_1_2_0_0 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_2_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25148:1: ( ( ( rule__UnaryOperation__Alternatives_0_1_2_0_0 ) ) )
            // InternalRosetta.g:25149:1: ( ( rule__UnaryOperation__Alternatives_0_1_2_0_0 ) )
            {
            // InternalRosetta.g:25149:1: ( ( rule__UnaryOperation__Alternatives_0_1_2_0_0 ) )
            // InternalRosetta.g:25150:2: ( rule__UnaryOperation__Alternatives_0_1_2_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1_2_0_0()); }
            // InternalRosetta.g:25151:2: ( rule__UnaryOperation__Alternatives_0_1_2_0_0 )
            // InternalRosetta.g:25151:3: rule__UnaryOperation__Alternatives_0_1_2_0_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_0_1_2_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_0_1_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_0__0"
    // InternalRosetta.g:25160:1: rule__UnaryOperation__Group_0_1_2_0_0_0__0 : rule__UnaryOperation__Group_0_1_2_0_0_0__0__Impl rule__UnaryOperation__Group_0_1_2_0_0_0__1 ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25164:1: ( rule__UnaryOperation__Group_0_1_2_0_0_0__0__Impl rule__UnaryOperation__Group_0_1_2_0_0_0__1 )
            // InternalRosetta.g:25165:2: rule__UnaryOperation__Group_0_1_2_0_0_0__0__Impl rule__UnaryOperation__Group_0_1_2_0_0_0__1
            {
            pushFollow(FOLLOW_151);
            rule__UnaryOperation__Group_0_1_2_0_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_2_0_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_0__0__Impl"
    // InternalRosetta.g:25172:1: rule__UnaryOperation__Group_0_1_2_0_0_0__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25176:1: ( ( () ) )
            // InternalRosetta.g:25177:1: ( () )
            {
            // InternalRosetta.g:25177:1: ( () )
            // InternalRosetta.g:25178:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getReduceOperationArgumentAction_0_1_2_0_0_0_0()); }
            // InternalRosetta.g:25179:2: ()
            // InternalRosetta.g:25179:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getReduceOperationArgumentAction_0_1_2_0_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_0__1"
    // InternalRosetta.g:25187:1: rule__UnaryOperation__Group_0_1_2_0_0_0__1 : rule__UnaryOperation__Group_0_1_2_0_0_0__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25191:1: ( rule__UnaryOperation__Group_0_1_2_0_0_0__1__Impl )
            // InternalRosetta.g:25192:2: rule__UnaryOperation__Group_0_1_2_0_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_2_0_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_0__1__Impl"
    // InternalRosetta.g:25198:1: rule__UnaryOperation__Group_0_1_2_0_0_0__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25202:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1 ) ) )
            // InternalRosetta.g:25203:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1 ) )
            {
            // InternalRosetta.g:25203:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1 ) )
            // InternalRosetta.g:25204:2: ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_2_0_0_0_1()); }
            // InternalRosetta.g:25205:2: ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1 )
            // InternalRosetta.g:25205:3: rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_2_0_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_1__0"
    // InternalRosetta.g:25214:1: rule__UnaryOperation__Group_0_1_2_0_0_1__0 : rule__UnaryOperation__Group_0_1_2_0_0_1__0__Impl rule__UnaryOperation__Group_0_1_2_0_0_1__1 ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25218:1: ( rule__UnaryOperation__Group_0_1_2_0_0_1__0__Impl rule__UnaryOperation__Group_0_1_2_0_0_1__1 )
            // InternalRosetta.g:25219:2: rule__UnaryOperation__Group_0_1_2_0_0_1__0__Impl rule__UnaryOperation__Group_0_1_2_0_0_1__1
            {
            pushFollow(FOLLOW_152);
            rule__UnaryOperation__Group_0_1_2_0_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_2_0_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_1__0__Impl"
    // InternalRosetta.g:25226:1: rule__UnaryOperation__Group_0_1_2_0_0_1__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25230:1: ( ( () ) )
            // InternalRosetta.g:25231:1: ( () )
            {
            // InternalRosetta.g:25231:1: ( () )
            // InternalRosetta.g:25232:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFilterOperationArgumentAction_0_1_2_0_0_1_0()); }
            // InternalRosetta.g:25233:2: ()
            // InternalRosetta.g:25233:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFilterOperationArgumentAction_0_1_2_0_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_1__1"
    // InternalRosetta.g:25241:1: rule__UnaryOperation__Group_0_1_2_0_0_1__1 : rule__UnaryOperation__Group_0_1_2_0_0_1__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25245:1: ( rule__UnaryOperation__Group_0_1_2_0_0_1__1__Impl )
            // InternalRosetta.g:25246:2: rule__UnaryOperation__Group_0_1_2_0_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_2_0_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_1__1__Impl"
    // InternalRosetta.g:25252:1: rule__UnaryOperation__Group_0_1_2_0_0_1__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25256:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1 ) ) )
            // InternalRosetta.g:25257:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1 ) )
            {
            // InternalRosetta.g:25257:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1 ) )
            // InternalRosetta.g:25258:2: ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_2_0_0_1_1()); }
            // InternalRosetta.g:25259:2: ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1 )
            // InternalRosetta.g:25259:3: rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_2_0_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_2__0"
    // InternalRosetta.g:25268:1: rule__UnaryOperation__Group_0_1_2_0_0_2__0 : rule__UnaryOperation__Group_0_1_2_0_0_2__0__Impl rule__UnaryOperation__Group_0_1_2_0_0_2__1 ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25272:1: ( rule__UnaryOperation__Group_0_1_2_0_0_2__0__Impl rule__UnaryOperation__Group_0_1_2_0_0_2__1 )
            // InternalRosetta.g:25273:2: rule__UnaryOperation__Group_0_1_2_0_0_2__0__Impl rule__UnaryOperation__Group_0_1_2_0_0_2__1
            {
            pushFollow(FOLLOW_122);
            rule__UnaryOperation__Group_0_1_2_0_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_2_0_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_2__0__Impl"
    // InternalRosetta.g:25280:1: rule__UnaryOperation__Group_0_1_2_0_0_2__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25284:1: ( ( () ) )
            // InternalRosetta.g:25285:1: ( () )
            {
            // InternalRosetta.g:25285:1: ( () )
            // InternalRosetta.g:25286:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getMapOperationArgumentAction_0_1_2_0_0_2_0()); }
            // InternalRosetta.g:25287:2: ()
            // InternalRosetta.g:25287:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getMapOperationArgumentAction_0_1_2_0_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_2__1"
    // InternalRosetta.g:25295:1: rule__UnaryOperation__Group_0_1_2_0_0_2__1 : rule__UnaryOperation__Group_0_1_2_0_0_2__1__Impl ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25299:1: ( rule__UnaryOperation__Group_0_1_2_0_0_2__1__Impl )
            // InternalRosetta.g:25300:2: rule__UnaryOperation__Group_0_1_2_0_0_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_0_1_2_0_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_0_1_2_0_0_2__1__Impl"
    // InternalRosetta.g:25306:1: rule__UnaryOperation__Group_0_1_2_0_0_2__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1 ) ) ;
    public final void rule__UnaryOperation__Group_0_1_2_0_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25310:1: ( ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1 ) ) )
            // InternalRosetta.g:25311:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1 ) )
            {
            // InternalRosetta.g:25311:1: ( ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1 ) )
            // InternalRosetta.g:25312:2: ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_2_0_0_2_1()); }
            // InternalRosetta.g:25313:2: ( rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1 )
            // InternalRosetta.g:25313:3: rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_0_1_2_0_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_0_1_2_0_0_2__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1__0"
    // InternalRosetta.g:25322:1: rule__UnaryOperation__Group_1__0 : rule__UnaryOperation__Group_1__0__Impl rule__UnaryOperation__Group_1__1 ;
    public final void rule__UnaryOperation__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25326:1: ( rule__UnaryOperation__Group_1__0__Impl rule__UnaryOperation__Group_1__1 )
            // InternalRosetta.g:25327:2: rule__UnaryOperation__Group_1__0__Impl rule__UnaryOperation__Group_1__1
            {
            pushFollow(FOLLOW_122);
            rule__UnaryOperation__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1__0__Impl"
    // InternalRosetta.g:25334:1: rule__UnaryOperation__Group_1__0__Impl : ( ( rule__UnaryOperation__Alternatives_1_0 ) ) ;
    public final void rule__UnaryOperation__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25338:1: ( ( ( rule__UnaryOperation__Alternatives_1_0 ) ) )
            // InternalRosetta.g:25339:1: ( ( rule__UnaryOperation__Alternatives_1_0 ) )
            {
            // InternalRosetta.g:25339:1: ( ( rule__UnaryOperation__Alternatives_1_0 ) )
            // InternalRosetta.g:25340:2: ( rule__UnaryOperation__Alternatives_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0()); }
            // InternalRosetta.g:25341:2: ( rule__UnaryOperation__Alternatives_1_0 )
            // InternalRosetta.g:25341:3: rule__UnaryOperation__Alternatives_1_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1__1"
    // InternalRosetta.g:25349:1: rule__UnaryOperation__Group_1__1 : rule__UnaryOperation__Group_1__1__Impl ;
    public final void rule__UnaryOperation__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25353:1: ( rule__UnaryOperation__Group_1__1__Impl )
            // InternalRosetta.g:25354:2: rule__UnaryOperation__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_1__1__Impl"
    // InternalRosetta.g:25360:1: rule__UnaryOperation__Group_1__1__Impl : ( ( rule__UnaryOperation__Alternatives_1_1 )* ) ;
    public final void rule__UnaryOperation__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25364:1: ( ( ( rule__UnaryOperation__Alternatives_1_1 )* ) )
            // InternalRosetta.g:25365:1: ( ( rule__UnaryOperation__Alternatives_1_1 )* )
            {
            // InternalRosetta.g:25365:1: ( ( rule__UnaryOperation__Alternatives_1_1 )* )
            // InternalRosetta.g:25366:2: ( rule__UnaryOperation__Alternatives_1_1 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1()); }
            // InternalRosetta.g:25367:2: ( rule__UnaryOperation__Alternatives_1_1 )*
            loop250:
            do {
                int alt250=2;
                alt250 = dfa250.predict(input);
                switch (alt250) {
            	case 1 :
            	    // InternalRosetta.g:25367:3: rule__UnaryOperation__Alternatives_1_1
            	    {
            	    pushFollow(FOLLOW_123);
            	    rule__UnaryOperation__Alternatives_1_1();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop250;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_0__0"
    // InternalRosetta.g:25376:1: rule__UnaryOperation__Group_1_0_0_0__0 : rule__UnaryOperation__Group_1_0_0_0__0__Impl rule__UnaryOperation__Group_1_0_0_0__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25380:1: ( rule__UnaryOperation__Group_1_0_0_0__0__Impl rule__UnaryOperation__Group_1_0_0_0__1 )
            // InternalRosetta.g:25381:2: rule__UnaryOperation__Group_1_0_0_0__0__Impl rule__UnaryOperation__Group_1_0_0_0__1
            {
            pushFollow(FOLLOW_125);
            rule__UnaryOperation__Group_1_0_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_0__0__Impl"
    // InternalRosetta.g:25388:1: rule__UnaryOperation__Group_1_0_0_0__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25392:1: ( ( () ) )
            // InternalRosetta.g:25393:1: ( () )
            {
            // InternalRosetta.g:25393:1: ( () )
            // InternalRosetta.g:25394:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaExistsExpressionAction_1_0_0_0_0()); }
            // InternalRosetta.g:25395:2: ()
            // InternalRosetta.g:25395:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaExistsExpressionAction_1_0_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_0__1"
    // InternalRosetta.g:25403:1: rule__UnaryOperation__Group_1_0_0_0__1 : rule__UnaryOperation__Group_1_0_0_0__1__Impl rule__UnaryOperation__Group_1_0_0_0__2 ;
    public final void rule__UnaryOperation__Group_1_0_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25407:1: ( rule__UnaryOperation__Group_1_0_0_0__1__Impl rule__UnaryOperation__Group_1_0_0_0__2 )
            // InternalRosetta.g:25408:2: rule__UnaryOperation__Group_1_0_0_0__1__Impl rule__UnaryOperation__Group_1_0_0_0__2
            {
            pushFollow(FOLLOW_125);
            rule__UnaryOperation__Group_1_0_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_0__1__Impl"
    // InternalRosetta.g:25415:1: rule__UnaryOperation__Group_1_0_0_0__1__Impl : ( ( rule__UnaryOperation__ModifierAssignment_1_0_0_0_1 )? ) ;
    public final void rule__UnaryOperation__Group_1_0_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25419:1: ( ( ( rule__UnaryOperation__ModifierAssignment_1_0_0_0_1 )? ) )
            // InternalRosetta.g:25420:1: ( ( rule__UnaryOperation__ModifierAssignment_1_0_0_0_1 )? )
            {
            // InternalRosetta.g:25420:1: ( ( rule__UnaryOperation__ModifierAssignment_1_0_0_0_1 )? )
            // InternalRosetta.g:25421:2: ( rule__UnaryOperation__ModifierAssignment_1_0_0_0_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getModifierAssignment_1_0_0_0_1()); }
            // InternalRosetta.g:25422:2: ( rule__UnaryOperation__ModifierAssignment_1_0_0_0_1 )?
            int alt251=2;
            int LA251_0 = input.LA(1);
            if ( ((LA251_0>=57 && LA251_0<=58)) ) {
                alt251=1;
            }
            switch (alt251) {
                case 1 :
                    // InternalRosetta.g:25422:3: rule__UnaryOperation__ModifierAssignment_1_0_0_0_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__ModifierAssignment_1_0_0_0_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getModifierAssignment_1_0_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_0__2"
    // InternalRosetta.g:25430:1: rule__UnaryOperation__Group_1_0_0_0__2 : rule__UnaryOperation__Group_1_0_0_0__2__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25434:1: ( rule__UnaryOperation__Group_1_0_0_0__2__Impl )
            // InternalRosetta.g:25435:2: rule__UnaryOperation__Group_1_0_0_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_0__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_0__2__Impl"
    // InternalRosetta.g:25441:1: rule__UnaryOperation__Group_1_0_0_0__2__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_0_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25445:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_0_2 ) ) )
            // InternalRosetta.g:25446:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_0_2 ) )
            {
            // InternalRosetta.g:25446:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_0_2 ) )
            // InternalRosetta.g:25447:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_0_2()); }
            // InternalRosetta.g:25448:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_0_2 )
            // InternalRosetta.g:25448:3: rule__UnaryOperation__OperatorAssignment_1_0_0_0_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_0__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_1__0"
    // InternalRosetta.g:25457:1: rule__UnaryOperation__Group_1_0_0_1__0 : rule__UnaryOperation__Group_1_0_0_1__0__Impl rule__UnaryOperation__Group_1_0_0_1__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25461:1: ( rule__UnaryOperation__Group_1_0_0_1__0__Impl rule__UnaryOperation__Group_1_0_0_1__1 )
            // InternalRosetta.g:25462:2: rule__UnaryOperation__Group_1_0_0_1__0__Impl rule__UnaryOperation__Group_1_0_0_1__1
            {
            pushFollow(FOLLOW_81);
            rule__UnaryOperation__Group_1_0_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_1__0__Impl"
    // InternalRosetta.g:25469:1: rule__UnaryOperation__Group_1_0_0_1__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25473:1: ( ( () ) )
            // InternalRosetta.g:25474:1: ( () )
            {
            // InternalRosetta.g:25474:1: ( () )
            // InternalRosetta.g:25475:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaAbsentExpressionAction_1_0_0_1_0()); }
            // InternalRosetta.g:25476:2: ()
            // InternalRosetta.g:25476:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaAbsentExpressionAction_1_0_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_1__1"
    // InternalRosetta.g:25484:1: rule__UnaryOperation__Group_1_0_0_1__1 : rule__UnaryOperation__Group_1_0_0_1__1__Impl rule__UnaryOperation__Group_1_0_0_1__2 ;
    public final void rule__UnaryOperation__Group_1_0_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25488:1: ( rule__UnaryOperation__Group_1_0_0_1__1__Impl rule__UnaryOperation__Group_1_0_0_1__2 )
            // InternalRosetta.g:25489:2: rule__UnaryOperation__Group_1_0_0_1__1__Impl rule__UnaryOperation__Group_1_0_0_1__2
            {
            pushFollow(FOLLOW_82);
            rule__UnaryOperation__Group_1_0_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_1__1__Impl"
    // InternalRosetta.g:25496:1: rule__UnaryOperation__Group_1_0_0_1__1__Impl : ( 'is' ) ;
    public final void rule__UnaryOperation__Group_1_0_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25500:1: ( ( 'is' ) )
            // InternalRosetta.g:25501:1: ( 'is' )
            {
            // InternalRosetta.g:25501:1: ( 'is' )
            // InternalRosetta.g:25502:2: 'is'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getIsKeyword_1_0_0_1_1()); }
            match(input,106,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getIsKeyword_1_0_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_1__2"
    // InternalRosetta.g:25511:1: rule__UnaryOperation__Group_1_0_0_1__2 : rule__UnaryOperation__Group_1_0_0_1__2__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25515:1: ( rule__UnaryOperation__Group_1_0_0_1__2__Impl )
            // InternalRosetta.g:25516:2: rule__UnaryOperation__Group_1_0_0_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_1__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_1__2__Impl"
    // InternalRosetta.g:25522:1: rule__UnaryOperation__Group_1_0_0_1__2__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_1_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25526:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_1_2 ) ) )
            // InternalRosetta.g:25527:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_1_2 ) )
            {
            // InternalRosetta.g:25527:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_1_2 ) )
            // InternalRosetta.g:25528:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_1_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_1_2()); }
            // InternalRosetta.g:25529:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_1_2 )
            // InternalRosetta.g:25529:3: rule__UnaryOperation__OperatorAssignment_1_0_0_1_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_1_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_1__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_2__0"
    // InternalRosetta.g:25538:1: rule__UnaryOperation__Group_1_0_0_2__0 : rule__UnaryOperation__Group_1_0_0_2__0__Impl rule__UnaryOperation__Group_1_0_0_2__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25542:1: ( rule__UnaryOperation__Group_1_0_0_2__0__Impl rule__UnaryOperation__Group_1_0_0_2__1 )
            // InternalRosetta.g:25543:2: rule__UnaryOperation__Group_1_0_0_2__0__Impl rule__UnaryOperation__Group_1_0_0_2__1
            {
            pushFollow(FOLLOW_126);
            rule__UnaryOperation__Group_1_0_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_2__0__Impl"
    // InternalRosetta.g:25550:1: rule__UnaryOperation__Group_1_0_0_2__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25554:1: ( ( () ) )
            // InternalRosetta.g:25555:1: ( () )
            {
            // InternalRosetta.g:25555:1: ( () )
            // InternalRosetta.g:25556:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaOnlyElementAction_1_0_0_2_0()); }
            // InternalRosetta.g:25557:2: ()
            // InternalRosetta.g:25557:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaOnlyElementAction_1_0_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_2__1"
    // InternalRosetta.g:25565:1: rule__UnaryOperation__Group_1_0_0_2__1 : rule__UnaryOperation__Group_1_0_0_2__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25569:1: ( rule__UnaryOperation__Group_1_0_0_2__1__Impl )
            // InternalRosetta.g:25570:2: rule__UnaryOperation__Group_1_0_0_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_2__1__Impl"
    // InternalRosetta.g:25576:1: rule__UnaryOperation__Group_1_0_0_2__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_2_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25580:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_2_1 ) ) )
            // InternalRosetta.g:25581:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_2_1 ) )
            {
            // InternalRosetta.g:25581:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_2_1 ) )
            // InternalRosetta.g:25582:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_2_1()); }
            // InternalRosetta.g:25583:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_2_1 )
            // InternalRosetta.g:25583:3: rule__UnaryOperation__OperatorAssignment_1_0_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_2__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_3__0"
    // InternalRosetta.g:25592:1: rule__UnaryOperation__Group_1_0_0_3__0 : rule__UnaryOperation__Group_1_0_0_3__0__Impl rule__UnaryOperation__Group_1_0_0_3__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25596:1: ( rule__UnaryOperation__Group_1_0_0_3__0__Impl rule__UnaryOperation__Group_1_0_0_3__1 )
            // InternalRosetta.g:25597:2: rule__UnaryOperation__Group_1_0_0_3__0__Impl rule__UnaryOperation__Group_1_0_0_3__1
            {
            pushFollow(FOLLOW_127);
            rule__UnaryOperation__Group_1_0_0_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_3__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_3__0__Impl"
    // InternalRosetta.g:25604:1: rule__UnaryOperation__Group_1_0_0_3__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25608:1: ( ( () ) )
            // InternalRosetta.g:25609:1: ( () )
            {
            // InternalRosetta.g:25609:1: ( () )
            // InternalRosetta.g:25610:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaCountOperationAction_1_0_0_3_0()); }
            // InternalRosetta.g:25611:2: ()
            // InternalRosetta.g:25611:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaCountOperationAction_1_0_0_3_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_3__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_3__1"
    // InternalRosetta.g:25619:1: rule__UnaryOperation__Group_1_0_0_3__1 : rule__UnaryOperation__Group_1_0_0_3__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25623:1: ( rule__UnaryOperation__Group_1_0_0_3__1__Impl )
            // InternalRosetta.g:25624:2: rule__UnaryOperation__Group_1_0_0_3__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_3__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_3__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_3__1__Impl"
    // InternalRosetta.g:25630:1: rule__UnaryOperation__Group_1_0_0_3__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_3_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25634:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_3_1 ) ) )
            // InternalRosetta.g:25635:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_3_1 ) )
            {
            // InternalRosetta.g:25635:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_3_1 ) )
            // InternalRosetta.g:25636:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_3_1()); }
            // InternalRosetta.g:25637:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_3_1 )
            // InternalRosetta.g:25637:3: rule__UnaryOperation__OperatorAssignment_1_0_0_3_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_3__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_4__0"
    // InternalRosetta.g:25646:1: rule__UnaryOperation__Group_1_0_0_4__0 : rule__UnaryOperation__Group_1_0_0_4__0__Impl rule__UnaryOperation__Group_1_0_0_4__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25650:1: ( rule__UnaryOperation__Group_1_0_0_4__0__Impl rule__UnaryOperation__Group_1_0_0_4__1 )
            // InternalRosetta.g:25651:2: rule__UnaryOperation__Group_1_0_0_4__0__Impl rule__UnaryOperation__Group_1_0_0_4__1
            {
            pushFollow(FOLLOW_128);
            rule__UnaryOperation__Group_1_0_0_4__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_4__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_4__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_4__0__Impl"
    // InternalRosetta.g:25658:1: rule__UnaryOperation__Group_1_0_0_4__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25662:1: ( ( () ) )
            // InternalRosetta.g:25663:1: ( () )
            {
            // InternalRosetta.g:25663:1: ( () )
            // InternalRosetta.g:25664:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFlattenOperationAction_1_0_0_4_0()); }
            // InternalRosetta.g:25665:2: ()
            // InternalRosetta.g:25665:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFlattenOperationAction_1_0_0_4_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_4__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_4__1"
    // InternalRosetta.g:25673:1: rule__UnaryOperation__Group_1_0_0_4__1 : rule__UnaryOperation__Group_1_0_0_4__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_4__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25677:1: ( rule__UnaryOperation__Group_1_0_0_4__1__Impl )
            // InternalRosetta.g:25678:2: rule__UnaryOperation__Group_1_0_0_4__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_4__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_4__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_4__1__Impl"
    // InternalRosetta.g:25684:1: rule__UnaryOperation__Group_1_0_0_4__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_4_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25688:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_4_1 ) ) )
            // InternalRosetta.g:25689:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_4_1 ) )
            {
            // InternalRosetta.g:25689:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_4_1 ) )
            // InternalRosetta.g:25690:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_4_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_4_1()); }
            // InternalRosetta.g:25691:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_4_1 )
            // InternalRosetta.g:25691:3: rule__UnaryOperation__OperatorAssignment_1_0_0_4_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_4_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_4_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_4__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_5__0"
    // InternalRosetta.g:25700:1: rule__UnaryOperation__Group_1_0_0_5__0 : rule__UnaryOperation__Group_1_0_0_5__0__Impl rule__UnaryOperation__Group_1_0_0_5__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_5__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25704:1: ( rule__UnaryOperation__Group_1_0_0_5__0__Impl rule__UnaryOperation__Group_1_0_0_5__1 )
            // InternalRosetta.g:25705:2: rule__UnaryOperation__Group_1_0_0_5__0__Impl rule__UnaryOperation__Group_1_0_0_5__1
            {
            pushFollow(FOLLOW_129);
            rule__UnaryOperation__Group_1_0_0_5__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_5__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_5__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_5__0__Impl"
    // InternalRosetta.g:25712:1: rule__UnaryOperation__Group_1_0_0_5__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25716:1: ( ( () ) )
            // InternalRosetta.g:25717:1: ( () )
            {
            // InternalRosetta.g:25717:1: ( () )
            // InternalRosetta.g:25718:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDistinctOperationAction_1_0_0_5_0()); }
            // InternalRosetta.g:25719:2: ()
            // InternalRosetta.g:25719:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDistinctOperationAction_1_0_0_5_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_5__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_5__1"
    // InternalRosetta.g:25727:1: rule__UnaryOperation__Group_1_0_0_5__1 : rule__UnaryOperation__Group_1_0_0_5__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_5__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25731:1: ( rule__UnaryOperation__Group_1_0_0_5__1__Impl )
            // InternalRosetta.g:25732:2: rule__UnaryOperation__Group_1_0_0_5__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_5__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_5__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_5__1__Impl"
    // InternalRosetta.g:25738:1: rule__UnaryOperation__Group_1_0_0_5__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_5_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25742:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_5_1 ) ) )
            // InternalRosetta.g:25743:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_5_1 ) )
            {
            // InternalRosetta.g:25743:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_5_1 ) )
            // InternalRosetta.g:25744:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_5_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_5_1()); }
            // InternalRosetta.g:25745:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_5_1 )
            // InternalRosetta.g:25745:3: rule__UnaryOperation__OperatorAssignment_1_0_0_5_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_5_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_5_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_5__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_6__0"
    // InternalRosetta.g:25754:1: rule__UnaryOperation__Group_1_0_0_6__0 : rule__UnaryOperation__Group_1_0_0_6__0__Impl rule__UnaryOperation__Group_1_0_0_6__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_6__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25758:1: ( rule__UnaryOperation__Group_1_0_0_6__0__Impl rule__UnaryOperation__Group_1_0_0_6__1 )
            // InternalRosetta.g:25759:2: rule__UnaryOperation__Group_1_0_0_6__0__Impl rule__UnaryOperation__Group_1_0_0_6__1
            {
            pushFollow(FOLLOW_130);
            rule__UnaryOperation__Group_1_0_0_6__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_6__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_6__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_6__0__Impl"
    // InternalRosetta.g:25766:1: rule__UnaryOperation__Group_1_0_0_6__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25770:1: ( ( () ) )
            // InternalRosetta.g:25771:1: ( () )
            {
            // InternalRosetta.g:25771:1: ( () )
            // InternalRosetta.g:25772:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getReverseOperationAction_1_0_0_6_0()); }
            // InternalRosetta.g:25773:2: ()
            // InternalRosetta.g:25773:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getReverseOperationAction_1_0_0_6_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_6__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_6__1"
    // InternalRosetta.g:25781:1: rule__UnaryOperation__Group_1_0_0_6__1 : rule__UnaryOperation__Group_1_0_0_6__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_6__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25785:1: ( rule__UnaryOperation__Group_1_0_0_6__1__Impl )
            // InternalRosetta.g:25786:2: rule__UnaryOperation__Group_1_0_0_6__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_6__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_6__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_6__1__Impl"
    // InternalRosetta.g:25792:1: rule__UnaryOperation__Group_1_0_0_6__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_6_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25796:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_6_1 ) ) )
            // InternalRosetta.g:25797:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_6_1 ) )
            {
            // InternalRosetta.g:25797:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_6_1 ) )
            // InternalRosetta.g:25798:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_6_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_6_1()); }
            // InternalRosetta.g:25799:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_6_1 )
            // InternalRosetta.g:25799:3: rule__UnaryOperation__OperatorAssignment_1_0_0_6_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_6_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_6_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_6__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_7__0"
    // InternalRosetta.g:25808:1: rule__UnaryOperation__Group_1_0_0_7__0 : rule__UnaryOperation__Group_1_0_0_7__0__Impl rule__UnaryOperation__Group_1_0_0_7__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_7__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25812:1: ( rule__UnaryOperation__Group_1_0_0_7__0__Impl rule__UnaryOperation__Group_1_0_0_7__1 )
            // InternalRosetta.g:25813:2: rule__UnaryOperation__Group_1_0_0_7__0__Impl rule__UnaryOperation__Group_1_0_0_7__1
            {
            pushFollow(FOLLOW_131);
            rule__UnaryOperation__Group_1_0_0_7__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_7__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_7__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_7__0__Impl"
    // InternalRosetta.g:25820:1: rule__UnaryOperation__Group_1_0_0_7__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25824:1: ( ( () ) )
            // InternalRosetta.g:25825:1: ( () )
            {
            // InternalRosetta.g:25825:1: ( () )
            // InternalRosetta.g:25826:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFirstOperationAction_1_0_0_7_0()); }
            // InternalRosetta.g:25827:2: ()
            // InternalRosetta.g:25827:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFirstOperationAction_1_0_0_7_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_7__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_7__1"
    // InternalRosetta.g:25835:1: rule__UnaryOperation__Group_1_0_0_7__1 : rule__UnaryOperation__Group_1_0_0_7__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_7__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25839:1: ( rule__UnaryOperation__Group_1_0_0_7__1__Impl )
            // InternalRosetta.g:25840:2: rule__UnaryOperation__Group_1_0_0_7__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_7__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_7__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_7__1__Impl"
    // InternalRosetta.g:25846:1: rule__UnaryOperation__Group_1_0_0_7__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_7_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25850:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_7_1 ) ) )
            // InternalRosetta.g:25851:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_7_1 ) )
            {
            // InternalRosetta.g:25851:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_7_1 ) )
            // InternalRosetta.g:25852:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_7_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_7_1()); }
            // InternalRosetta.g:25853:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_7_1 )
            // InternalRosetta.g:25853:3: rule__UnaryOperation__OperatorAssignment_1_0_0_7_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_7_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_7_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_7__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_8__0"
    // InternalRosetta.g:25862:1: rule__UnaryOperation__Group_1_0_0_8__0 : rule__UnaryOperation__Group_1_0_0_8__0__Impl rule__UnaryOperation__Group_1_0_0_8__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_8__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25866:1: ( rule__UnaryOperation__Group_1_0_0_8__0__Impl rule__UnaryOperation__Group_1_0_0_8__1 )
            // InternalRosetta.g:25867:2: rule__UnaryOperation__Group_1_0_0_8__0__Impl rule__UnaryOperation__Group_1_0_0_8__1
            {
            pushFollow(FOLLOW_132);
            rule__UnaryOperation__Group_1_0_0_8__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_8__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_8__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_8__0__Impl"
    // InternalRosetta.g:25874:1: rule__UnaryOperation__Group_1_0_0_8__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_8__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25878:1: ( ( () ) )
            // InternalRosetta.g:25879:1: ( () )
            {
            // InternalRosetta.g:25879:1: ( () )
            // InternalRosetta.g:25880:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getLastOperationAction_1_0_0_8_0()); }
            // InternalRosetta.g:25881:2: ()
            // InternalRosetta.g:25881:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getLastOperationAction_1_0_0_8_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_8__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_8__1"
    // InternalRosetta.g:25889:1: rule__UnaryOperation__Group_1_0_0_8__1 : rule__UnaryOperation__Group_1_0_0_8__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_8__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25893:1: ( rule__UnaryOperation__Group_1_0_0_8__1__Impl )
            // InternalRosetta.g:25894:2: rule__UnaryOperation__Group_1_0_0_8__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_8__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_8__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_8__1__Impl"
    // InternalRosetta.g:25900:1: rule__UnaryOperation__Group_1_0_0_8__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_8_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_8__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25904:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_8_1 ) ) )
            // InternalRosetta.g:25905:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_8_1 ) )
            {
            // InternalRosetta.g:25905:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_8_1 ) )
            // InternalRosetta.g:25906:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_8_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_8_1()); }
            // InternalRosetta.g:25907:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_8_1 )
            // InternalRosetta.g:25907:3: rule__UnaryOperation__OperatorAssignment_1_0_0_8_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_8_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_8_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_8__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_9__0"
    // InternalRosetta.g:25916:1: rule__UnaryOperation__Group_1_0_0_9__0 : rule__UnaryOperation__Group_1_0_0_9__0__Impl rule__UnaryOperation__Group_1_0_0_9__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_9__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25920:1: ( rule__UnaryOperation__Group_1_0_0_9__0__Impl rule__UnaryOperation__Group_1_0_0_9__1 )
            // InternalRosetta.g:25921:2: rule__UnaryOperation__Group_1_0_0_9__0__Impl rule__UnaryOperation__Group_1_0_0_9__1
            {
            pushFollow(FOLLOW_133);
            rule__UnaryOperation__Group_1_0_0_9__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_9__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_9__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_9__0__Impl"
    // InternalRosetta.g:25928:1: rule__UnaryOperation__Group_1_0_0_9__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_9__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25932:1: ( ( () ) )
            // InternalRosetta.g:25933:1: ( () )
            {
            // InternalRosetta.g:25933:1: ( () )
            // InternalRosetta.g:25934:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getSumOperationAction_1_0_0_9_0()); }
            // InternalRosetta.g:25935:2: ()
            // InternalRosetta.g:25935:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getSumOperationAction_1_0_0_9_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_9__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_9__1"
    // InternalRosetta.g:25943:1: rule__UnaryOperation__Group_1_0_0_9__1 : rule__UnaryOperation__Group_1_0_0_9__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_9__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25947:1: ( rule__UnaryOperation__Group_1_0_0_9__1__Impl )
            // InternalRosetta.g:25948:2: rule__UnaryOperation__Group_1_0_0_9__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_9__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_9__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_9__1__Impl"
    // InternalRosetta.g:25954:1: rule__UnaryOperation__Group_1_0_0_9__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_9_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_9__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25958:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_9_1 ) ) )
            // InternalRosetta.g:25959:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_9_1 ) )
            {
            // InternalRosetta.g:25959:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_9_1 ) )
            // InternalRosetta.g:25960:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_9_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_9_1()); }
            // InternalRosetta.g:25961:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_9_1 )
            // InternalRosetta.g:25961:3: rule__UnaryOperation__OperatorAssignment_1_0_0_9_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_9_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_9_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_9__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_10__0"
    // InternalRosetta.g:25970:1: rule__UnaryOperation__Group_1_0_0_10__0 : rule__UnaryOperation__Group_1_0_0_10__0__Impl rule__UnaryOperation__Group_1_0_0_10__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_10__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25974:1: ( rule__UnaryOperation__Group_1_0_0_10__0__Impl rule__UnaryOperation__Group_1_0_0_10__1 )
            // InternalRosetta.g:25975:2: rule__UnaryOperation__Group_1_0_0_10__0__Impl rule__UnaryOperation__Group_1_0_0_10__1
            {
            pushFollow(FOLLOW_134);
            rule__UnaryOperation__Group_1_0_0_10__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_10__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_10__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_10__0__Impl"
    // InternalRosetta.g:25982:1: rule__UnaryOperation__Group_1_0_0_10__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_10__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:25986:1: ( ( () ) )
            // InternalRosetta.g:25987:1: ( () )
            {
            // InternalRosetta.g:25987:1: ( () )
            // InternalRosetta.g:25988:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOneOfOperationAction_1_0_0_10_0()); }
            // InternalRosetta.g:25989:2: ()
            // InternalRosetta.g:25989:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOneOfOperationAction_1_0_0_10_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_10__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_10__1"
    // InternalRosetta.g:25997:1: rule__UnaryOperation__Group_1_0_0_10__1 : rule__UnaryOperation__Group_1_0_0_10__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_10__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26001:1: ( rule__UnaryOperation__Group_1_0_0_10__1__Impl )
            // InternalRosetta.g:26002:2: rule__UnaryOperation__Group_1_0_0_10__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_10__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_10__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_10__1__Impl"
    // InternalRosetta.g:26008:1: rule__UnaryOperation__Group_1_0_0_10__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_10_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_10__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26012:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_10_1 ) ) )
            // InternalRosetta.g:26013:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_10_1 ) )
            {
            // InternalRosetta.g:26013:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_10_1 ) )
            // InternalRosetta.g:26014:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_10_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_10_1()); }
            // InternalRosetta.g:26015:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_10_1 )
            // InternalRosetta.g:26015:3: rule__UnaryOperation__OperatorAssignment_1_0_0_10_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_10_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_10_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_10__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11__0"
    // InternalRosetta.g:26024:1: rule__UnaryOperation__Group_1_0_0_11__0 : rule__UnaryOperation__Group_1_0_0_11__0__Impl rule__UnaryOperation__Group_1_0_0_11__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_11__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26028:1: ( rule__UnaryOperation__Group_1_0_0_11__0__Impl rule__UnaryOperation__Group_1_0_0_11__1 )
            // InternalRosetta.g:26029:2: rule__UnaryOperation__Group_1_0_0_11__0__Impl rule__UnaryOperation__Group_1_0_0_11__1
            {
            pushFollow(FOLLOW_135);
            rule__UnaryOperation__Group_1_0_0_11__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_11__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11__0__Impl"
    // InternalRosetta.g:26036:1: rule__UnaryOperation__Group_1_0_0_11__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_11__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26040:1: ( ( () ) )
            // InternalRosetta.g:26041:1: ( () )
            {
            // InternalRosetta.g:26041:1: ( () )
            // InternalRosetta.g:26042:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getChoiceOperationAction_1_0_0_11_0()); }
            // InternalRosetta.g:26043:2: ()
            // InternalRosetta.g:26043:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getChoiceOperationAction_1_0_0_11_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11__1"
    // InternalRosetta.g:26051:1: rule__UnaryOperation__Group_1_0_0_11__1 : rule__UnaryOperation__Group_1_0_0_11__1__Impl rule__UnaryOperation__Group_1_0_0_11__2 ;
    public final void rule__UnaryOperation__Group_1_0_0_11__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26055:1: ( rule__UnaryOperation__Group_1_0_0_11__1__Impl rule__UnaryOperation__Group_1_0_0_11__2 )
            // InternalRosetta.g:26056:2: rule__UnaryOperation__Group_1_0_0_11__1__Impl rule__UnaryOperation__Group_1_0_0_11__2
            {
            pushFollow(FOLLOW_136);
            rule__UnaryOperation__Group_1_0_0_11__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_11__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11__1__Impl"
    // InternalRosetta.g:26063:1: rule__UnaryOperation__Group_1_0_0_11__1__Impl : ( ( rule__UnaryOperation__NecessityAssignment_1_0_0_11_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_11__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26067:1: ( ( ( rule__UnaryOperation__NecessityAssignment_1_0_0_11_1 ) ) )
            // InternalRosetta.g:26068:1: ( ( rule__UnaryOperation__NecessityAssignment_1_0_0_11_1 ) )
            {
            // InternalRosetta.g:26068:1: ( ( rule__UnaryOperation__NecessityAssignment_1_0_0_11_1 ) )
            // InternalRosetta.g:26069:2: ( rule__UnaryOperation__NecessityAssignment_1_0_0_11_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getNecessityAssignment_1_0_0_11_1()); }
            // InternalRosetta.g:26070:2: ( rule__UnaryOperation__NecessityAssignment_1_0_0_11_1 )
            // InternalRosetta.g:26070:3: rule__UnaryOperation__NecessityAssignment_1_0_0_11_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__NecessityAssignment_1_0_0_11_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getNecessityAssignment_1_0_0_11_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11__2"
    // InternalRosetta.g:26078:1: rule__UnaryOperation__Group_1_0_0_11__2 : rule__UnaryOperation__Group_1_0_0_11__2__Impl rule__UnaryOperation__Group_1_0_0_11__3 ;
    public final void rule__UnaryOperation__Group_1_0_0_11__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26082:1: ( rule__UnaryOperation__Group_1_0_0_11__2__Impl rule__UnaryOperation__Group_1_0_0_11__3 )
            // InternalRosetta.g:26083:2: rule__UnaryOperation__Group_1_0_0_11__2__Impl rule__UnaryOperation__Group_1_0_0_11__3
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_1_0_0_11__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_11__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11__2__Impl"
    // InternalRosetta.g:26090:1: rule__UnaryOperation__Group_1_0_0_11__2__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_11_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_11__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26094:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_11_2 ) ) )
            // InternalRosetta.g:26095:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_11_2 ) )
            {
            // InternalRosetta.g:26095:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_11_2 ) )
            // InternalRosetta.g:26096:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_11_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_11_2()); }
            // InternalRosetta.g:26097:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_11_2 )
            // InternalRosetta.g:26097:3: rule__UnaryOperation__OperatorAssignment_1_0_0_11_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_11_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_11_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11__3"
    // InternalRosetta.g:26105:1: rule__UnaryOperation__Group_1_0_0_11__3 : rule__UnaryOperation__Group_1_0_0_11__3__Impl rule__UnaryOperation__Group_1_0_0_11__4 ;
    public final void rule__UnaryOperation__Group_1_0_0_11__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26109:1: ( rule__UnaryOperation__Group_1_0_0_11__3__Impl rule__UnaryOperation__Group_1_0_0_11__4 )
            // InternalRosetta.g:26110:2: rule__UnaryOperation__Group_1_0_0_11__3__Impl rule__UnaryOperation__Group_1_0_0_11__4
            {
            pushFollow(FOLLOW_41);
            rule__UnaryOperation__Group_1_0_0_11__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_11__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11__3"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11__3__Impl"
    // InternalRosetta.g:26117:1: rule__UnaryOperation__Group_1_0_0_11__3__Impl : ( ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_3 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_11__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26121:1: ( ( ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_3 ) ) )
            // InternalRosetta.g:26122:1: ( ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_3 ) )
            {
            // InternalRosetta.g:26122:1: ( ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_3 ) )
            // InternalRosetta.g:26123:2: ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_3 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_1_0_0_11_3()); }
            // InternalRosetta.g:26124:2: ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_3 )
            // InternalRosetta.g:26124:3: rule__UnaryOperation__AttributesAssignment_1_0_0_11_3
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__AttributesAssignment_1_0_0_11_3(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_1_0_0_11_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11__3__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11__4"
    // InternalRosetta.g:26132:1: rule__UnaryOperation__Group_1_0_0_11__4 : rule__UnaryOperation__Group_1_0_0_11__4__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_11__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26136:1: ( rule__UnaryOperation__Group_1_0_0_11__4__Impl )
            // InternalRosetta.g:26137:2: rule__UnaryOperation__Group_1_0_0_11__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_11__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11__4"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11__4__Impl"
    // InternalRosetta.g:26143:1: rule__UnaryOperation__Group_1_0_0_11__4__Impl : ( ( rule__UnaryOperation__Group_1_0_0_11_4__0 )* ) ;
    public final void rule__UnaryOperation__Group_1_0_0_11__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26147:1: ( ( ( rule__UnaryOperation__Group_1_0_0_11_4__0 )* ) )
            // InternalRosetta.g:26148:1: ( ( rule__UnaryOperation__Group_1_0_0_11_4__0 )* )
            {
            // InternalRosetta.g:26148:1: ( ( rule__UnaryOperation__Group_1_0_0_11_4__0 )* )
            // InternalRosetta.g:26149:2: ( rule__UnaryOperation__Group_1_0_0_11_4__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_11_4()); }
            // InternalRosetta.g:26150:2: ( rule__UnaryOperation__Group_1_0_0_11_4__0 )*
            loop252:
            do {
                int alt252=2;
                alt252 = dfa252.predict(input);
                switch (alt252) {
            	case 1 :
            	    // InternalRosetta.g:26150:3: rule__UnaryOperation__Group_1_0_0_11_4__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__UnaryOperation__Group_1_0_0_11_4__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop252;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_11_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11__4__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11_4__0"
    // InternalRosetta.g:26159:1: rule__UnaryOperation__Group_1_0_0_11_4__0 : rule__UnaryOperation__Group_1_0_0_11_4__0__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_11_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26163:1: ( rule__UnaryOperation__Group_1_0_0_11_4__0__Impl )
            // InternalRosetta.g:26164:2: rule__UnaryOperation__Group_1_0_0_11_4__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_11_4__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11_4__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11_4__0__Impl"
    // InternalRosetta.g:26170:1: rule__UnaryOperation__Group_1_0_0_11_4__0__Impl : ( ( rule__UnaryOperation__Group_1_0_0_11_4_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_11_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26174:1: ( ( ( rule__UnaryOperation__Group_1_0_0_11_4_0__0 ) ) )
            // InternalRosetta.g:26175:1: ( ( rule__UnaryOperation__Group_1_0_0_11_4_0__0 ) )
            {
            // InternalRosetta.g:26175:1: ( ( rule__UnaryOperation__Group_1_0_0_11_4_0__0 ) )
            // InternalRosetta.g:26176:2: ( rule__UnaryOperation__Group_1_0_0_11_4_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_11_4_0()); }
            // InternalRosetta.g:26177:2: ( rule__UnaryOperation__Group_1_0_0_11_4_0__0 )
            // InternalRosetta.g:26177:3: rule__UnaryOperation__Group_1_0_0_11_4_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_11_4_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_11_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11_4__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11_4_0__0"
    // InternalRosetta.g:26186:1: rule__UnaryOperation__Group_1_0_0_11_4_0__0 : rule__UnaryOperation__Group_1_0_0_11_4_0__0__Impl rule__UnaryOperation__Group_1_0_0_11_4_0__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_11_4_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26190:1: ( rule__UnaryOperation__Group_1_0_0_11_4_0__0__Impl rule__UnaryOperation__Group_1_0_0_11_4_0__1 )
            // InternalRosetta.g:26191:2: rule__UnaryOperation__Group_1_0_0_11_4_0__0__Impl rule__UnaryOperation__Group_1_0_0_11_4_0__1
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_1_0_0_11_4_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_11_4_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11_4_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11_4_0__0__Impl"
    // InternalRosetta.g:26198:1: rule__UnaryOperation__Group_1_0_0_11_4_0__0__Impl : ( ',' ) ;
    public final void rule__UnaryOperation__Group_1_0_0_11_4_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26202:1: ( ( ',' ) )
            // InternalRosetta.g:26203:1: ( ',' )
            {
            // InternalRosetta.g:26203:1: ( ',' )
            // InternalRosetta.g:26204:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_0_0_11_4_0_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_0_0_11_4_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11_4_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11_4_0__1"
    // InternalRosetta.g:26213:1: rule__UnaryOperation__Group_1_0_0_11_4_0__1 : rule__UnaryOperation__Group_1_0_0_11_4_0__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_11_4_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26217:1: ( rule__UnaryOperation__Group_1_0_0_11_4_0__1__Impl )
            // InternalRosetta.g:26218:2: rule__UnaryOperation__Group_1_0_0_11_4_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_11_4_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11_4_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_11_4_0__1__Impl"
    // InternalRosetta.g:26224:1: rule__UnaryOperation__Group_1_0_0_11_4_0__1__Impl : ( ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_11_4_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26228:1: ( ( ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1 ) ) )
            // InternalRosetta.g:26229:1: ( ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1 ) )
            {
            // InternalRosetta.g:26229:1: ( ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1 ) )
            // InternalRosetta.g:26230:2: ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_1_0_0_11_4_0_1()); }
            // InternalRosetta.g:26231:2: ( rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1 )
            // InternalRosetta.g:26231:3: rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_1_0_0_11_4_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_11_4_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_12__0"
    // InternalRosetta.g:26240:1: rule__UnaryOperation__Group_1_0_0_12__0 : rule__UnaryOperation__Group_1_0_0_12__0__Impl rule__UnaryOperation__Group_1_0_0_12__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_12__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26244:1: ( rule__UnaryOperation__Group_1_0_0_12__0__Impl rule__UnaryOperation__Group_1_0_0_12__1 )
            // InternalRosetta.g:26245:2: rule__UnaryOperation__Group_1_0_0_12__0__Impl rule__UnaryOperation__Group_1_0_0_12__1
            {
            pushFollow(FOLLOW_137);
            rule__UnaryOperation__Group_1_0_0_12__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_12__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_12__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_12__0__Impl"
    // InternalRosetta.g:26252:1: rule__UnaryOperation__Group_1_0_0_12__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_12__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26256:1: ( ( () ) )
            // InternalRosetta.g:26257:1: ( () )
            {
            // InternalRosetta.g:26257:1: ( () )
            // InternalRosetta.g:26258:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToStringOperationAction_1_0_0_12_0()); }
            // InternalRosetta.g:26259:2: ()
            // InternalRosetta.g:26259:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToStringOperationAction_1_0_0_12_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_12__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_12__1"
    // InternalRosetta.g:26267:1: rule__UnaryOperation__Group_1_0_0_12__1 : rule__UnaryOperation__Group_1_0_0_12__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_12__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26271:1: ( rule__UnaryOperation__Group_1_0_0_12__1__Impl )
            // InternalRosetta.g:26272:2: rule__UnaryOperation__Group_1_0_0_12__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_12__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_12__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_12__1__Impl"
    // InternalRosetta.g:26278:1: rule__UnaryOperation__Group_1_0_0_12__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_12_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_12__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26282:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_12_1 ) ) )
            // InternalRosetta.g:26283:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_12_1 ) )
            {
            // InternalRosetta.g:26283:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_12_1 ) )
            // InternalRosetta.g:26284:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_12_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_12_1()); }
            // InternalRosetta.g:26285:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_12_1 )
            // InternalRosetta.g:26285:3: rule__UnaryOperation__OperatorAssignment_1_0_0_12_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_12_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_12_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_12__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_13__0"
    // InternalRosetta.g:26294:1: rule__UnaryOperation__Group_1_0_0_13__0 : rule__UnaryOperation__Group_1_0_0_13__0__Impl rule__UnaryOperation__Group_1_0_0_13__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_13__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26298:1: ( rule__UnaryOperation__Group_1_0_0_13__0__Impl rule__UnaryOperation__Group_1_0_0_13__1 )
            // InternalRosetta.g:26299:2: rule__UnaryOperation__Group_1_0_0_13__0__Impl rule__UnaryOperation__Group_1_0_0_13__1
            {
            pushFollow(FOLLOW_138);
            rule__UnaryOperation__Group_1_0_0_13__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_13__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_13__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_13__0__Impl"
    // InternalRosetta.g:26306:1: rule__UnaryOperation__Group_1_0_0_13__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_13__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26310:1: ( ( () ) )
            // InternalRosetta.g:26311:1: ( () )
            {
            // InternalRosetta.g:26311:1: ( () )
            // InternalRosetta.g:26312:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToNumberOperationAction_1_0_0_13_0()); }
            // InternalRosetta.g:26313:2: ()
            // InternalRosetta.g:26313:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToNumberOperationAction_1_0_0_13_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_13__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_13__1"
    // InternalRosetta.g:26321:1: rule__UnaryOperation__Group_1_0_0_13__1 : rule__UnaryOperation__Group_1_0_0_13__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_13__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26325:1: ( rule__UnaryOperation__Group_1_0_0_13__1__Impl )
            // InternalRosetta.g:26326:2: rule__UnaryOperation__Group_1_0_0_13__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_13__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_13__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_13__1__Impl"
    // InternalRosetta.g:26332:1: rule__UnaryOperation__Group_1_0_0_13__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_13_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_13__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26336:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_13_1 ) ) )
            // InternalRosetta.g:26337:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_13_1 ) )
            {
            // InternalRosetta.g:26337:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_13_1 ) )
            // InternalRosetta.g:26338:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_13_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_13_1()); }
            // InternalRosetta.g:26339:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_13_1 )
            // InternalRosetta.g:26339:3: rule__UnaryOperation__OperatorAssignment_1_0_0_13_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_13_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_13_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_13__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_14__0"
    // InternalRosetta.g:26348:1: rule__UnaryOperation__Group_1_0_0_14__0 : rule__UnaryOperation__Group_1_0_0_14__0__Impl rule__UnaryOperation__Group_1_0_0_14__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_14__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26352:1: ( rule__UnaryOperation__Group_1_0_0_14__0__Impl rule__UnaryOperation__Group_1_0_0_14__1 )
            // InternalRosetta.g:26353:2: rule__UnaryOperation__Group_1_0_0_14__0__Impl rule__UnaryOperation__Group_1_0_0_14__1
            {
            pushFollow(FOLLOW_139);
            rule__UnaryOperation__Group_1_0_0_14__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_14__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_14__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_14__0__Impl"
    // InternalRosetta.g:26360:1: rule__UnaryOperation__Group_1_0_0_14__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_14__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26364:1: ( ( () ) )
            // InternalRosetta.g:26365:1: ( () )
            {
            // InternalRosetta.g:26365:1: ( () )
            // InternalRosetta.g:26366:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToIntOperationAction_1_0_0_14_0()); }
            // InternalRosetta.g:26367:2: ()
            // InternalRosetta.g:26367:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToIntOperationAction_1_0_0_14_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_14__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_14__1"
    // InternalRosetta.g:26375:1: rule__UnaryOperation__Group_1_0_0_14__1 : rule__UnaryOperation__Group_1_0_0_14__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_14__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26379:1: ( rule__UnaryOperation__Group_1_0_0_14__1__Impl )
            // InternalRosetta.g:26380:2: rule__UnaryOperation__Group_1_0_0_14__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_14__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_14__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_14__1__Impl"
    // InternalRosetta.g:26386:1: rule__UnaryOperation__Group_1_0_0_14__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_14_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_14__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26390:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_14_1 ) ) )
            // InternalRosetta.g:26391:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_14_1 ) )
            {
            // InternalRosetta.g:26391:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_14_1 ) )
            // InternalRosetta.g:26392:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_14_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_14_1()); }
            // InternalRosetta.g:26393:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_14_1 )
            // InternalRosetta.g:26393:3: rule__UnaryOperation__OperatorAssignment_1_0_0_14_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_14_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_14_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_14__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_15__0"
    // InternalRosetta.g:26402:1: rule__UnaryOperation__Group_1_0_0_15__0 : rule__UnaryOperation__Group_1_0_0_15__0__Impl rule__UnaryOperation__Group_1_0_0_15__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_15__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26406:1: ( rule__UnaryOperation__Group_1_0_0_15__0__Impl rule__UnaryOperation__Group_1_0_0_15__1 )
            // InternalRosetta.g:26407:2: rule__UnaryOperation__Group_1_0_0_15__0__Impl rule__UnaryOperation__Group_1_0_0_15__1
            {
            pushFollow(FOLLOW_140);
            rule__UnaryOperation__Group_1_0_0_15__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_15__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_15__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_15__0__Impl"
    // InternalRosetta.g:26414:1: rule__UnaryOperation__Group_1_0_0_15__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_15__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26418:1: ( ( () ) )
            // InternalRosetta.g:26419:1: ( () )
            {
            // InternalRosetta.g:26419:1: ( () )
            // InternalRosetta.g:26420:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToTimeOperationAction_1_0_0_15_0()); }
            // InternalRosetta.g:26421:2: ()
            // InternalRosetta.g:26421:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToTimeOperationAction_1_0_0_15_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_15__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_15__1"
    // InternalRosetta.g:26429:1: rule__UnaryOperation__Group_1_0_0_15__1 : rule__UnaryOperation__Group_1_0_0_15__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_15__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26433:1: ( rule__UnaryOperation__Group_1_0_0_15__1__Impl )
            // InternalRosetta.g:26434:2: rule__UnaryOperation__Group_1_0_0_15__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_15__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_15__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_15__1__Impl"
    // InternalRosetta.g:26440:1: rule__UnaryOperation__Group_1_0_0_15__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_15_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_15__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26444:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_15_1 ) ) )
            // InternalRosetta.g:26445:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_15_1 ) )
            {
            // InternalRosetta.g:26445:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_15_1 ) )
            // InternalRosetta.g:26446:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_15_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_15_1()); }
            // InternalRosetta.g:26447:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_15_1 )
            // InternalRosetta.g:26447:3: rule__UnaryOperation__OperatorAssignment_1_0_0_15_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_15_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_15_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_15__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_16__0"
    // InternalRosetta.g:26456:1: rule__UnaryOperation__Group_1_0_0_16__0 : rule__UnaryOperation__Group_1_0_0_16__0__Impl rule__UnaryOperation__Group_1_0_0_16__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_16__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26460:1: ( rule__UnaryOperation__Group_1_0_0_16__0__Impl rule__UnaryOperation__Group_1_0_0_16__1 )
            // InternalRosetta.g:26461:2: rule__UnaryOperation__Group_1_0_0_16__0__Impl rule__UnaryOperation__Group_1_0_0_16__1
            {
            pushFollow(FOLLOW_141);
            rule__UnaryOperation__Group_1_0_0_16__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_16__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_16__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_16__0__Impl"
    // InternalRosetta.g:26468:1: rule__UnaryOperation__Group_1_0_0_16__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_16__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26472:1: ( ( () ) )
            // InternalRosetta.g:26473:1: ( () )
            {
            // InternalRosetta.g:26473:1: ( () )
            // InternalRosetta.g:26474:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToEnumOperationAction_1_0_0_16_0()); }
            // InternalRosetta.g:26475:2: ()
            // InternalRosetta.g:26475:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToEnumOperationAction_1_0_0_16_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_16__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_16__1"
    // InternalRosetta.g:26483:1: rule__UnaryOperation__Group_1_0_0_16__1 : rule__UnaryOperation__Group_1_0_0_16__1__Impl rule__UnaryOperation__Group_1_0_0_16__2 ;
    public final void rule__UnaryOperation__Group_1_0_0_16__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26487:1: ( rule__UnaryOperation__Group_1_0_0_16__1__Impl rule__UnaryOperation__Group_1_0_0_16__2 )
            // InternalRosetta.g:26488:2: rule__UnaryOperation__Group_1_0_0_16__1__Impl rule__UnaryOperation__Group_1_0_0_16__2
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_1_0_0_16__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_16__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_16__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_16__1__Impl"
    // InternalRosetta.g:26495:1: rule__UnaryOperation__Group_1_0_0_16__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_16_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_16__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26499:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_16_1 ) ) )
            // InternalRosetta.g:26500:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_16_1 ) )
            {
            // InternalRosetta.g:26500:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_16_1 ) )
            // InternalRosetta.g:26501:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_16_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_16_1()); }
            // InternalRosetta.g:26502:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_16_1 )
            // InternalRosetta.g:26502:3: rule__UnaryOperation__OperatorAssignment_1_0_0_16_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_16_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_16_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_16__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_16__2"
    // InternalRosetta.g:26510:1: rule__UnaryOperation__Group_1_0_0_16__2 : rule__UnaryOperation__Group_1_0_0_16__2__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_16__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26514:1: ( rule__UnaryOperation__Group_1_0_0_16__2__Impl )
            // InternalRosetta.g:26515:2: rule__UnaryOperation__Group_1_0_0_16__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_16__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_16__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_16__2__Impl"
    // InternalRosetta.g:26521:1: rule__UnaryOperation__Group_1_0_0_16__2__Impl : ( ( rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_16__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26525:1: ( ( ( rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2 ) ) )
            // InternalRosetta.g:26526:1: ( ( rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2 ) )
            {
            // InternalRosetta.g:26526:1: ( ( rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2 ) )
            // InternalRosetta.g:26527:2: ( rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getEnumerationAssignment_1_0_0_16_2()); }
            // InternalRosetta.g:26528:2: ( rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2 )
            // InternalRosetta.g:26528:3: rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getEnumerationAssignment_1_0_0_16_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_16__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_17__0"
    // InternalRosetta.g:26537:1: rule__UnaryOperation__Group_1_0_0_17__0 : rule__UnaryOperation__Group_1_0_0_17__0__Impl rule__UnaryOperation__Group_1_0_0_17__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_17__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26541:1: ( rule__UnaryOperation__Group_1_0_0_17__0__Impl rule__UnaryOperation__Group_1_0_0_17__1 )
            // InternalRosetta.g:26542:2: rule__UnaryOperation__Group_1_0_0_17__0__Impl rule__UnaryOperation__Group_1_0_0_17__1
            {
            pushFollow(FOLLOW_142);
            rule__UnaryOperation__Group_1_0_0_17__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_17__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_17__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_17__0__Impl"
    // InternalRosetta.g:26549:1: rule__UnaryOperation__Group_1_0_0_17__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_17__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26553:1: ( ( () ) )
            // InternalRosetta.g:26554:1: ( () )
            {
            // InternalRosetta.g:26554:1: ( () )
            // InternalRosetta.g:26555:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToDateOperationAction_1_0_0_17_0()); }
            // InternalRosetta.g:26556:2: ()
            // InternalRosetta.g:26556:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToDateOperationAction_1_0_0_17_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_17__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_17__1"
    // InternalRosetta.g:26564:1: rule__UnaryOperation__Group_1_0_0_17__1 : rule__UnaryOperation__Group_1_0_0_17__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_17__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26568:1: ( rule__UnaryOperation__Group_1_0_0_17__1__Impl )
            // InternalRosetta.g:26569:2: rule__UnaryOperation__Group_1_0_0_17__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_17__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_17__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_17__1__Impl"
    // InternalRosetta.g:26575:1: rule__UnaryOperation__Group_1_0_0_17__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_17_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_17__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26579:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_17_1 ) ) )
            // InternalRosetta.g:26580:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_17_1 ) )
            {
            // InternalRosetta.g:26580:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_17_1 ) )
            // InternalRosetta.g:26581:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_17_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_17_1()); }
            // InternalRosetta.g:26582:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_17_1 )
            // InternalRosetta.g:26582:3: rule__UnaryOperation__OperatorAssignment_1_0_0_17_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_17_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_17_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_17__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_18__0"
    // InternalRosetta.g:26591:1: rule__UnaryOperation__Group_1_0_0_18__0 : rule__UnaryOperation__Group_1_0_0_18__0__Impl rule__UnaryOperation__Group_1_0_0_18__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_18__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26595:1: ( rule__UnaryOperation__Group_1_0_0_18__0__Impl rule__UnaryOperation__Group_1_0_0_18__1 )
            // InternalRosetta.g:26596:2: rule__UnaryOperation__Group_1_0_0_18__0__Impl rule__UnaryOperation__Group_1_0_0_18__1
            {
            pushFollow(FOLLOW_143);
            rule__UnaryOperation__Group_1_0_0_18__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_18__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_18__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_18__0__Impl"
    // InternalRosetta.g:26603:1: rule__UnaryOperation__Group_1_0_0_18__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_18__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26607:1: ( ( () ) )
            // InternalRosetta.g:26608:1: ( () )
            {
            // InternalRosetta.g:26608:1: ( () )
            // InternalRosetta.g:26609:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToDateTimeOperationAction_1_0_0_18_0()); }
            // InternalRosetta.g:26610:2: ()
            // InternalRosetta.g:26610:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToDateTimeOperationAction_1_0_0_18_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_18__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_18__1"
    // InternalRosetta.g:26618:1: rule__UnaryOperation__Group_1_0_0_18__1 : rule__UnaryOperation__Group_1_0_0_18__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_18__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26622:1: ( rule__UnaryOperation__Group_1_0_0_18__1__Impl )
            // InternalRosetta.g:26623:2: rule__UnaryOperation__Group_1_0_0_18__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_18__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_18__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_18__1__Impl"
    // InternalRosetta.g:26629:1: rule__UnaryOperation__Group_1_0_0_18__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_18_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_18__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26633:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_18_1 ) ) )
            // InternalRosetta.g:26634:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_18_1 ) )
            {
            // InternalRosetta.g:26634:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_18_1 ) )
            // InternalRosetta.g:26635:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_18_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_18_1()); }
            // InternalRosetta.g:26636:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_18_1 )
            // InternalRosetta.g:26636:3: rule__UnaryOperation__OperatorAssignment_1_0_0_18_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_18_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_18_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_18__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_19__0"
    // InternalRosetta.g:26645:1: rule__UnaryOperation__Group_1_0_0_19__0 : rule__UnaryOperation__Group_1_0_0_19__0__Impl rule__UnaryOperation__Group_1_0_0_19__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_19__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26649:1: ( rule__UnaryOperation__Group_1_0_0_19__0__Impl rule__UnaryOperation__Group_1_0_0_19__1 )
            // InternalRosetta.g:26650:2: rule__UnaryOperation__Group_1_0_0_19__0__Impl rule__UnaryOperation__Group_1_0_0_19__1
            {
            pushFollow(FOLLOW_144);
            rule__UnaryOperation__Group_1_0_0_19__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_19__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_19__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_19__0__Impl"
    // InternalRosetta.g:26657:1: rule__UnaryOperation__Group_1_0_0_19__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_19__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26661:1: ( ( () ) )
            // InternalRosetta.g:26662:1: ( () )
            {
            // InternalRosetta.g:26662:1: ( () )
            // InternalRosetta.g:26663:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToZonedDateTimeOperationAction_1_0_0_19_0()); }
            // InternalRosetta.g:26664:2: ()
            // InternalRosetta.g:26664:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToZonedDateTimeOperationAction_1_0_0_19_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_19__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_19__1"
    // InternalRosetta.g:26672:1: rule__UnaryOperation__Group_1_0_0_19__1 : rule__UnaryOperation__Group_1_0_0_19__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_19__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26676:1: ( rule__UnaryOperation__Group_1_0_0_19__1__Impl )
            // InternalRosetta.g:26677:2: rule__UnaryOperation__Group_1_0_0_19__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_19__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_19__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_19__1__Impl"
    // InternalRosetta.g:26683:1: rule__UnaryOperation__Group_1_0_0_19__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_19_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_19__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26687:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_19_1 ) ) )
            // InternalRosetta.g:26688:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_19_1 ) )
            {
            // InternalRosetta.g:26688:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_19_1 ) )
            // InternalRosetta.g:26689:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_19_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_19_1()); }
            // InternalRosetta.g:26690:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_19_1 )
            // InternalRosetta.g:26690:3: rule__UnaryOperation__OperatorAssignment_1_0_0_19_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_19_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_19_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_19__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20__0"
    // InternalRosetta.g:26699:1: rule__UnaryOperation__Group_1_0_0_20__0 : rule__UnaryOperation__Group_1_0_0_20__0__Impl rule__UnaryOperation__Group_1_0_0_20__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_20__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26703:1: ( rule__UnaryOperation__Group_1_0_0_20__0__Impl rule__UnaryOperation__Group_1_0_0_20__1 )
            // InternalRosetta.g:26704:2: rule__UnaryOperation__Group_1_0_0_20__0__Impl rule__UnaryOperation__Group_1_0_0_20__1
            {
            pushFollow(FOLLOW_153);
            rule__UnaryOperation__Group_1_0_0_20__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20__0__Impl"
    // InternalRosetta.g:26711:1: rule__UnaryOperation__Group_1_0_0_20__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26715:1: ( ( () ) )
            // InternalRosetta.g:26716:1: ( () )
            {
            // InternalRosetta.g:26716:1: ( () )
            // InternalRosetta.g:26717:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getSwitchOperationAction_1_0_0_20_0()); }
            // InternalRosetta.g:26718:2: ()
            // InternalRosetta.g:26718:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getSwitchOperationAction_1_0_0_20_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20__1"
    // InternalRosetta.g:26726:1: rule__UnaryOperation__Group_1_0_0_20__1 : rule__UnaryOperation__Group_1_0_0_20__1__Impl rule__UnaryOperation__Group_1_0_0_20__2 ;
    public final void rule__UnaryOperation__Group_1_0_0_20__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26730:1: ( rule__UnaryOperation__Group_1_0_0_20__1__Impl rule__UnaryOperation__Group_1_0_0_20__2 )
            // InternalRosetta.g:26731:2: rule__UnaryOperation__Group_1_0_0_20__1__Impl rule__UnaryOperation__Group_1_0_0_20__2
            {
            pushFollow(FOLLOW_146);
            rule__UnaryOperation__Group_1_0_0_20__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20__1__Impl"
    // InternalRosetta.g:26738:1: rule__UnaryOperation__Group_1_0_0_20__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_20_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26742:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_20_1 ) ) )
            // InternalRosetta.g:26743:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_20_1 ) )
            {
            // InternalRosetta.g:26743:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_0_20_1 ) )
            // InternalRosetta.g:26744:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_20_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_20_1()); }
            // InternalRosetta.g:26745:2: ( rule__UnaryOperation__OperatorAssignment_1_0_0_20_1 )
            // InternalRosetta.g:26745:3: rule__UnaryOperation__OperatorAssignment_1_0_0_20_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_0_20_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_0_20_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20__2"
    // InternalRosetta.g:26753:1: rule__UnaryOperation__Group_1_0_0_20__2 : rule__UnaryOperation__Group_1_0_0_20__2__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_20__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26757:1: ( rule__UnaryOperation__Group_1_0_0_20__2__Impl )
            // InternalRosetta.g:26758:2: rule__UnaryOperation__Group_1_0_0_20__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20__2__Impl"
    // InternalRosetta.g:26764:1: rule__UnaryOperation__Group_1_0_0_20__2__Impl : ( ( rule__UnaryOperation__Alternatives_1_0_0_20_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26768:1: ( ( ( rule__UnaryOperation__Alternatives_1_0_0_20_2 ) ) )
            // InternalRosetta.g:26769:1: ( ( rule__UnaryOperation__Alternatives_1_0_0_20_2 ) )
            {
            // InternalRosetta.g:26769:1: ( ( rule__UnaryOperation__Alternatives_1_0_0_20_2 ) )
            // InternalRosetta.g:26770:2: ( rule__UnaryOperation__Alternatives_1_0_0_20_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0_0_20_2()); }
            // InternalRosetta.g:26771:2: ( rule__UnaryOperation__Alternatives_1_0_0_20_2 )
            // InternalRosetta.g:26771:3: rule__UnaryOperation__Alternatives_1_0_0_20_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_1_0_0_20_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0_0_20_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0__0"
    // InternalRosetta.g:26780:1: rule__UnaryOperation__Group_1_0_0_20_2_0__0 : rule__UnaryOperation__Group_1_0_0_20_2_0__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_0__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26784:1: ( rule__UnaryOperation__Group_1_0_0_20_2_0__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_0__1 )
            // InternalRosetta.g:26785:2: rule__UnaryOperation__Group_1_0_0_20_2_0__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_0__1
            {
            pushFollow(FOLLOW_41);
            rule__UnaryOperation__Group_1_0_0_20_2_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0__0__Impl"
    // InternalRosetta.g:26792:1: rule__UnaryOperation__Group_1_0_0_20_2_0__0__Impl : ( ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26796:1: ( ( ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0 ) ) )
            // InternalRosetta.g:26797:1: ( ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0 ) )
            {
            // InternalRosetta.g:26797:1: ( ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0 ) )
            // InternalRosetta.g:26798:2: ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesAssignment_1_0_0_20_2_0_0()); }
            // InternalRosetta.g:26799:2: ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0 )
            // InternalRosetta.g:26799:3: rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesAssignment_1_0_0_20_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0__1"
    // InternalRosetta.g:26807:1: rule__UnaryOperation__Group_1_0_0_20_2_0__1 : rule__UnaryOperation__Group_1_0_0_20_2_0__1__Impl rule__UnaryOperation__Group_1_0_0_20_2_0__2 ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26811:1: ( rule__UnaryOperation__Group_1_0_0_20_2_0__1__Impl rule__UnaryOperation__Group_1_0_0_20_2_0__2 )
            // InternalRosetta.g:26812:2: rule__UnaryOperation__Group_1_0_0_20_2_0__1__Impl rule__UnaryOperation__Group_1_0_0_20_2_0__2
            {
            pushFollow(FOLLOW_41);
            rule__UnaryOperation__Group_1_0_0_20_2_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0__1__Impl"
    // InternalRosetta.g:26819:1: rule__UnaryOperation__Group_1_0_0_20_2_0__1__Impl : ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_1__0 )* ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26823:1: ( ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_1__0 )* ) )
            // InternalRosetta.g:26824:1: ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_1__0 )* )
            {
            // InternalRosetta.g:26824:1: ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_1__0 )* )
            // InternalRosetta.g:26825:2: ( rule__UnaryOperation__Group_1_0_0_20_2_0_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_0_1()); }
            // InternalRosetta.g:26826:2: ( rule__UnaryOperation__Group_1_0_0_20_2_0_1__0 )*
            loop253:
            do {
                int alt253=2;
                int LA253_0 = input.LA(1);
                if ( (LA253_0==40) ) {
                    int LA253_1 = input.LA(2);
                    if ( (synpred388_InternalRosetta()) ) {
                        alt253=1;
                    }
                }
                switch (alt253) {
            	case 1 :
            	    // InternalRosetta.g:26826:3: rule__UnaryOperation__Group_1_0_0_20_2_0_1__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__UnaryOperation__Group_1_0_0_20_2_0_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop253;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0__2"
    // InternalRosetta.g:26834:1: rule__UnaryOperation__Group_1_0_0_20_2_0__2 : rule__UnaryOperation__Group_1_0_0_20_2_0__2__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26838:1: ( rule__UnaryOperation__Group_1_0_0_20_2_0__2__Impl )
            // InternalRosetta.g:26839:2: rule__UnaryOperation__Group_1_0_0_20_2_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0__2__Impl"
    // InternalRosetta.g:26845:1: rule__UnaryOperation__Group_1_0_0_20_2_0__2__Impl : ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_2__0 )? ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26849:1: ( ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_2__0 )? ) )
            // InternalRosetta.g:26850:1: ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_2__0 )? )
            {
            // InternalRosetta.g:26850:1: ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_2__0 )? )
            // InternalRosetta.g:26851:2: ( rule__UnaryOperation__Group_1_0_0_20_2_0_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_0_2()); }
            // InternalRosetta.g:26852:2: ( rule__UnaryOperation__Group_1_0_0_20_2_0_2__0 )?
            int alt254=2;
            int LA254_0 = input.LA(1);
            if ( (LA254_0==40) ) {
                int LA254_1 = input.LA(2);
                if ( (synpred389_InternalRosetta()) ) {
                    alt254=1;
                }}
            switch (alt254) {
                case 1 :
                    // InternalRosetta.g:26852:3: rule__UnaryOperation__Group_1_0_0_20_2_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_0_0_20_2_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_1__0"
    // InternalRosetta.g:26861:1: rule__UnaryOperation__Group_1_0_0_20_2_0_1__0 : rule__UnaryOperation__Group_1_0_0_20_2_0_1__0__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26865:1: ( rule__UnaryOperation__Group_1_0_0_20_2_0_1__0__Impl )
            // InternalRosetta.g:26866:2: rule__UnaryOperation__Group_1_0_0_20_2_0_1__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_1__0__Impl"
    // InternalRosetta.g:26872:1: rule__UnaryOperation__Group_1_0_0_20_2_0_1__0__Impl : ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26876:1: ( ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0 ) ) )
            // InternalRosetta.g:26877:1: ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0 ) )
            {
            // InternalRosetta.g:26877:1: ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0 ) )
            // InternalRosetta.g:26878:2: ( rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_0_1_0()); }
            // InternalRosetta.g:26879:2: ( rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0 )
            // InternalRosetta.g:26879:3: rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0"
    // InternalRosetta.g:26888:1: rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0 : rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26892:1: ( rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1 )
            // InternalRosetta.g:26893:2: rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1
            {
            pushFollow(FOLLOW_73);
            rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0__Impl"
    // InternalRosetta.g:26900:1: rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0__Impl : ( ',' ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26904:1: ( ( ',' ) )
            // InternalRosetta.g:26905:1: ( ',' )
            {
            // InternalRosetta.g:26905:1: ( ',' )
            // InternalRosetta.g:26906:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_0_0_20_2_0_1_0_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_0_0_20_2_0_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1"
    // InternalRosetta.g:26915:1: rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1 : rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26919:1: ( rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1__Impl )
            // InternalRosetta.g:26920:2: rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1__Impl"
    // InternalRosetta.g:26926:1: rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1__Impl : ( ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26930:1: ( ( ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1 ) ) )
            // InternalRosetta.g:26931:1: ( ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1 ) )
            {
            // InternalRosetta.g:26931:1: ( ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1 ) )
            // InternalRosetta.g:26932:2: ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesAssignment_1_0_0_20_2_0_1_0_1()); }
            // InternalRosetta.g:26933:2: ( rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1 )
            // InternalRosetta.g:26933:3: rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesAssignment_1_0_0_20_2_0_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_1_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_2__0"
    // InternalRosetta.g:26942:1: rule__UnaryOperation__Group_1_0_0_20_2_0_2__0 : rule__UnaryOperation__Group_1_0_0_20_2_0_2__0__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26946:1: ( rule__UnaryOperation__Group_1_0_0_20_2_0_2__0__Impl )
            // InternalRosetta.g:26947:2: rule__UnaryOperation__Group_1_0_0_20_2_0_2__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_2__0__Impl"
    // InternalRosetta.g:26953:1: rule__UnaryOperation__Group_1_0_0_20_2_0_2__0__Impl : ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26957:1: ( ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0 ) ) )
            // InternalRosetta.g:26958:1: ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0 ) )
            {
            // InternalRosetta.g:26958:1: ( ( rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0 ) )
            // InternalRosetta.g:26959:2: ( rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_0_2_0()); }
            // InternalRosetta.g:26960:2: ( rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0 )
            // InternalRosetta.g:26960:3: rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_0_0_20_2_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0"
    // InternalRosetta.g:26969:1: rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0 : rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26973:1: ( rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1 )
            // InternalRosetta.g:26974:2: rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1
            {
            pushFollow(FOLLOW_121);
            rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0__Impl"
    // InternalRosetta.g:26981:1: rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0__Impl : ( ',' ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:26985:1: ( ( ',' ) )
            // InternalRosetta.g:26986:1: ( ',' )
            {
            // InternalRosetta.g:26986:1: ( ',' )
            // InternalRosetta.g:26987:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_0_0_20_2_0_2_0_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_0_0_20_2_0_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1"
    // InternalRosetta.g:26996:1: rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1 : rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1__Impl rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2 ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27000:1: ( rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1__Impl rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2 )
            // InternalRosetta.g:27001:2: rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1__Impl rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2
            {
            pushFollow(FOLLOW_34);
            rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1__Impl"
    // InternalRosetta.g:27008:1: rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1__Impl : ( 'default' ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27012:1: ( ( 'default' ) )
            // InternalRosetta.g:27013:1: ( 'default' )
            {
            // InternalRosetta.g:27013:1: ( 'default' )
            // InternalRosetta.g:27014:2: 'default'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_1_0_0_20_2_0_2_0_1()); }
            match(input,119,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_1_0_0_20_2_0_2_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2"
    // InternalRosetta.g:27023:1: rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2 : rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27027:1: ( rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2__Impl )
            // InternalRosetta.g:27028:2: rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2__Impl"
    // InternalRosetta.g:27034:1: rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2__Impl : ( ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27038:1: ( ( ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2 ) ) )
            // InternalRosetta.g:27039:1: ( ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2 ) )
            {
            // InternalRosetta.g:27039:1: ( ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2 ) )
            // InternalRosetta.g:27040:2: ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_1_0_0_20_2_0_2_0_2()); }
            // InternalRosetta.g:27041:2: ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2 )
            // InternalRosetta.g:27041:3: rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_1_0_0_20_2_0_2_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_0_2_0__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_1__0"
    // InternalRosetta.g:27050:1: rule__UnaryOperation__Group_1_0_0_20_2_1__0 : rule__UnaryOperation__Group_1_0_0_20_2_1__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_1__1 ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27054:1: ( rule__UnaryOperation__Group_1_0_0_20_2_1__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_1__1 )
            // InternalRosetta.g:27055:2: rule__UnaryOperation__Group_1_0_0_20_2_1__0__Impl rule__UnaryOperation__Group_1_0_0_20_2_1__1
            {
            pushFollow(FOLLOW_34);
            rule__UnaryOperation__Group_1_0_0_20_2_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_1__0__Impl"
    // InternalRosetta.g:27062:1: rule__UnaryOperation__Group_1_0_0_20_2_1__0__Impl : ( 'default' ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27066:1: ( ( 'default' ) )
            // InternalRosetta.g:27067:1: ( 'default' )
            {
            // InternalRosetta.g:27067:1: ( 'default' )
            // InternalRosetta.g:27068:2: 'default'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_1_0_0_20_2_1_0()); }
            match(input,119,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_1_0_0_20_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_1__1"
    // InternalRosetta.g:27077:1: rule__UnaryOperation__Group_1_0_0_20_2_1__1 : rule__UnaryOperation__Group_1_0_0_20_2_1__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27081:1: ( rule__UnaryOperation__Group_1_0_0_20_2_1__1__Impl )
            // InternalRosetta.g:27082:2: rule__UnaryOperation__Group_1_0_0_20_2_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_0_20_2_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_0_20_2_1__1__Impl"
    // InternalRosetta.g:27088:1: rule__UnaryOperation__Group_1_0_0_20_2_1__1__Impl : ( ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_0_20_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27092:1: ( ( ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1 ) ) )
            // InternalRosetta.g:27093:1: ( ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1 ) )
            {
            // InternalRosetta.g:27093:1: ( ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1 ) )
            // InternalRosetta.g:27094:2: ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_1_0_0_20_2_1_1()); }
            // InternalRosetta.g:27095:2: ( rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1 )
            // InternalRosetta.g:27095:3: rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_1_0_0_20_2_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_0_20_2_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1__0"
    // InternalRosetta.g:27104:1: rule__UnaryOperation__Group_1_0_1__0 : rule__UnaryOperation__Group_1_0_1__0__Impl rule__UnaryOperation__Group_1_0_1__1 ;
    public final void rule__UnaryOperation__Group_1_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27108:1: ( rule__UnaryOperation__Group_1_0_1__0__Impl rule__UnaryOperation__Group_1_0_1__1 )
            // InternalRosetta.g:27109:2: rule__UnaryOperation__Group_1_0_1__0__Impl rule__UnaryOperation__Group_1_0_1__1
            {
            pushFollow(FOLLOW_147);
            rule__UnaryOperation__Group_1_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1__0__Impl"
    // InternalRosetta.g:27116:1: rule__UnaryOperation__Group_1_0_1__0__Impl : ( ( rule__UnaryOperation__Alternatives_1_0_1_0 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27120:1: ( ( ( rule__UnaryOperation__Alternatives_1_0_1_0 ) ) )
            // InternalRosetta.g:27121:1: ( ( rule__UnaryOperation__Alternatives_1_0_1_0 ) )
            {
            // InternalRosetta.g:27121:1: ( ( rule__UnaryOperation__Alternatives_1_0_1_0 ) )
            // InternalRosetta.g:27122:2: ( rule__UnaryOperation__Alternatives_1_0_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0_1_0()); }
            // InternalRosetta.g:27123:2: ( rule__UnaryOperation__Alternatives_1_0_1_0 )
            // InternalRosetta.g:27123:3: rule__UnaryOperation__Alternatives_1_0_1_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_1_0_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1__1"
    // InternalRosetta.g:27131:1: rule__UnaryOperation__Group_1_0_1__1 : rule__UnaryOperation__Group_1_0_1__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27135:1: ( rule__UnaryOperation__Group_1_0_1__1__Impl )
            // InternalRosetta.g:27136:2: rule__UnaryOperation__Group_1_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1__1__Impl"
    // InternalRosetta.g:27142:1: rule__UnaryOperation__Group_1_0_1__1__Impl : ( ( rule__UnaryOperation__FunctionAssignment_1_0_1_1 )? ) ;
    public final void rule__UnaryOperation__Group_1_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27146:1: ( ( ( rule__UnaryOperation__FunctionAssignment_1_0_1_1 )? ) )
            // InternalRosetta.g:27147:1: ( ( rule__UnaryOperation__FunctionAssignment_1_0_1_1 )? )
            {
            // InternalRosetta.g:27147:1: ( ( rule__UnaryOperation__FunctionAssignment_1_0_1_1 )? )
            // InternalRosetta.g:27148:2: ( rule__UnaryOperation__FunctionAssignment_1_0_1_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_0_1_1()); }
            // InternalRosetta.g:27149:2: ( rule__UnaryOperation__FunctionAssignment_1_0_1_1 )?
            int alt255=2;
            int LA255_0 = input.LA(1);
            if ( (LA255_0==RULE_ID||LA255_0==65) ) {
                alt255=1;
            }
            switch (alt255) {
                case 1 :
                    // InternalRosetta.g:27149:3: rule__UnaryOperation__FunctionAssignment_1_0_1_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FunctionAssignment_1_0_1_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_0__0"
    // InternalRosetta.g:27158:1: rule__UnaryOperation__Group_1_0_1_0_0__0 : rule__UnaryOperation__Group_1_0_1_0_0__0__Impl rule__UnaryOperation__Group_1_0_1_0_0__1 ;
    public final void rule__UnaryOperation__Group_1_0_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27162:1: ( rule__UnaryOperation__Group_1_0_1_0_0__0__Impl rule__UnaryOperation__Group_1_0_1_0_0__1 )
            // InternalRosetta.g:27163:2: rule__UnaryOperation__Group_1_0_1_0_0__0__Impl rule__UnaryOperation__Group_1_0_1_0_0__1
            {
            pushFollow(FOLLOW_148);
            rule__UnaryOperation__Group_1_0_1_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_1_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_0__0__Impl"
    // InternalRosetta.g:27170:1: rule__UnaryOperation__Group_1_0_1_0_0__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27174:1: ( ( () ) )
            // InternalRosetta.g:27175:1: ( () )
            {
            // InternalRosetta.g:27175:1: ( () )
            // InternalRosetta.g:27176:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getSortOperationAction_1_0_1_0_0_0()); }
            // InternalRosetta.g:27177:2: ()
            // InternalRosetta.g:27177:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getSortOperationAction_1_0_1_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_0__1"
    // InternalRosetta.g:27185:1: rule__UnaryOperation__Group_1_0_1_0_0__1 : rule__UnaryOperation__Group_1_0_1_0_0__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27189:1: ( rule__UnaryOperation__Group_1_0_1_0_0__1__Impl )
            // InternalRosetta.g:27190:2: rule__UnaryOperation__Group_1_0_1_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_1_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_0__1__Impl"
    // InternalRosetta.g:27196:1: rule__UnaryOperation__Group_1_0_1_0_0__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27200:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1 ) ) )
            // InternalRosetta.g:27201:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1 ) )
            {
            // InternalRosetta.g:27201:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1 ) )
            // InternalRosetta.g:27202:2: ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_1_0_0_1()); }
            // InternalRosetta.g:27203:2: ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1 )
            // InternalRosetta.g:27203:3: rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_1_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_1__0"
    // InternalRosetta.g:27212:1: rule__UnaryOperation__Group_1_0_1_0_1__0 : rule__UnaryOperation__Group_1_0_1_0_1__0__Impl rule__UnaryOperation__Group_1_0_1_0_1__1 ;
    public final void rule__UnaryOperation__Group_1_0_1_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27216:1: ( rule__UnaryOperation__Group_1_0_1_0_1__0__Impl rule__UnaryOperation__Group_1_0_1_0_1__1 )
            // InternalRosetta.g:27217:2: rule__UnaryOperation__Group_1_0_1_0_1__0__Impl rule__UnaryOperation__Group_1_0_1_0_1__1
            {
            pushFollow(FOLLOW_149);
            rule__UnaryOperation__Group_1_0_1_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_1_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_1__0__Impl"
    // InternalRosetta.g:27224:1: rule__UnaryOperation__Group_1_0_1_0_1__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_1_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27228:1: ( ( () ) )
            // InternalRosetta.g:27229:1: ( () )
            {
            // InternalRosetta.g:27229:1: ( () )
            // InternalRosetta.g:27230:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getMinOperationAction_1_0_1_0_1_0()); }
            // InternalRosetta.g:27231:2: ()
            // InternalRosetta.g:27231:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getMinOperationAction_1_0_1_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_1__1"
    // InternalRosetta.g:27239:1: rule__UnaryOperation__Group_1_0_1_0_1__1 : rule__UnaryOperation__Group_1_0_1_0_1__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_1_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27243:1: ( rule__UnaryOperation__Group_1_0_1_0_1__1__Impl )
            // InternalRosetta.g:27244:2: rule__UnaryOperation__Group_1_0_1_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_1_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_1__1__Impl"
    // InternalRosetta.g:27250:1: rule__UnaryOperation__Group_1_0_1_0_1__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_1_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27254:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1 ) ) )
            // InternalRosetta.g:27255:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1 ) )
            {
            // InternalRosetta.g:27255:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1 ) )
            // InternalRosetta.g:27256:2: ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_1_0_1_1()); }
            // InternalRosetta.g:27257:2: ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1 )
            // InternalRosetta.g:27257:3: rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_1_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_2__0"
    // InternalRosetta.g:27266:1: rule__UnaryOperation__Group_1_0_1_0_2__0 : rule__UnaryOperation__Group_1_0_1_0_2__0__Impl rule__UnaryOperation__Group_1_0_1_0_2__1 ;
    public final void rule__UnaryOperation__Group_1_0_1_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27270:1: ( rule__UnaryOperation__Group_1_0_1_0_2__0__Impl rule__UnaryOperation__Group_1_0_1_0_2__1 )
            // InternalRosetta.g:27271:2: rule__UnaryOperation__Group_1_0_1_0_2__0__Impl rule__UnaryOperation__Group_1_0_1_0_2__1
            {
            pushFollow(FOLLOW_150);
            rule__UnaryOperation__Group_1_0_1_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_1_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_2__0__Impl"
    // InternalRosetta.g:27278:1: rule__UnaryOperation__Group_1_0_1_0_2__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_1_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27282:1: ( ( () ) )
            // InternalRosetta.g:27283:1: ( () )
            {
            // InternalRosetta.g:27283:1: ( () )
            // InternalRosetta.g:27284:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getMaxOperationAction_1_0_1_0_2_0()); }
            // InternalRosetta.g:27285:2: ()
            // InternalRosetta.g:27285:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getMaxOperationAction_1_0_1_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_2__1"
    // InternalRosetta.g:27293:1: rule__UnaryOperation__Group_1_0_1_0_2__1 : rule__UnaryOperation__Group_1_0_1_0_2__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_1_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27297:1: ( rule__UnaryOperation__Group_1_0_1_0_2__1__Impl )
            // InternalRosetta.g:27298:2: rule__UnaryOperation__Group_1_0_1_0_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_1_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_1_0_2__1__Impl"
    // InternalRosetta.g:27304:1: rule__UnaryOperation__Group_1_0_1_0_2__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_1_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27308:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1 ) ) )
            // InternalRosetta.g:27309:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1 ) )
            {
            // InternalRosetta.g:27309:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1 ) )
            // InternalRosetta.g:27310:2: ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_1_0_2_1()); }
            // InternalRosetta.g:27311:2: ( rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1 )
            // InternalRosetta.g:27311:3: rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_1_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_1_0_2__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2__0"
    // InternalRosetta.g:27320:1: rule__UnaryOperation__Group_1_0_2__0 : rule__UnaryOperation__Group_1_0_2__0__Impl rule__UnaryOperation__Group_1_0_2__1 ;
    public final void rule__UnaryOperation__Group_1_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27324:1: ( rule__UnaryOperation__Group_1_0_2__0__Impl rule__UnaryOperation__Group_1_0_2__1 )
            // InternalRosetta.g:27325:2: rule__UnaryOperation__Group_1_0_2__0__Impl rule__UnaryOperation__Group_1_0_2__1
            {
            pushFollow(FOLLOW_34);
            rule__UnaryOperation__Group_1_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2__0__Impl"
    // InternalRosetta.g:27332:1: rule__UnaryOperation__Group_1_0_2__0__Impl : ( ( rule__UnaryOperation__Alternatives_1_0_2_0 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27336:1: ( ( ( rule__UnaryOperation__Alternatives_1_0_2_0 ) ) )
            // InternalRosetta.g:27337:1: ( ( rule__UnaryOperation__Alternatives_1_0_2_0 ) )
            {
            // InternalRosetta.g:27337:1: ( ( rule__UnaryOperation__Alternatives_1_0_2_0 ) )
            // InternalRosetta.g:27338:2: ( rule__UnaryOperation__Alternatives_1_0_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0_2_0()); }
            // InternalRosetta.g:27339:2: ( rule__UnaryOperation__Alternatives_1_0_2_0 )
            // InternalRosetta.g:27339:3: rule__UnaryOperation__Alternatives_1_0_2_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_1_0_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2__1"
    // InternalRosetta.g:27347:1: rule__UnaryOperation__Group_1_0_2__1 : rule__UnaryOperation__Group_1_0_2__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27351:1: ( rule__UnaryOperation__Group_1_0_2__1__Impl )
            // InternalRosetta.g:27352:2: rule__UnaryOperation__Group_1_0_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2__1__Impl"
    // InternalRosetta.g:27358:1: rule__UnaryOperation__Group_1_0_2__1__Impl : ( ( rule__UnaryOperation__Alternatives_1_0_2_1 )? ) ;
    public final void rule__UnaryOperation__Group_1_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27362:1: ( ( ( rule__UnaryOperation__Alternatives_1_0_2_1 )? ) )
            // InternalRosetta.g:27363:1: ( ( rule__UnaryOperation__Alternatives_1_0_2_1 )? )
            {
            // InternalRosetta.g:27363:1: ( ( rule__UnaryOperation__Alternatives_1_0_2_1 )? )
            // InternalRosetta.g:27364:2: ( rule__UnaryOperation__Alternatives_1_0_2_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0_2_1()); }
            // InternalRosetta.g:27365:2: ( rule__UnaryOperation__Alternatives_1_0_2_1 )?
            int alt256=2;
            alt256 = dfa256.predict(input);
            switch (alt256) {
                case 1 :
                    // InternalRosetta.g:27365:3: rule__UnaryOperation__Alternatives_1_0_2_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Alternatives_1_0_2_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_0__0"
    // InternalRosetta.g:27374:1: rule__UnaryOperation__Group_1_0_2_0_0__0 : rule__UnaryOperation__Group_1_0_2_0_0__0__Impl rule__UnaryOperation__Group_1_0_2_0_0__1 ;
    public final void rule__UnaryOperation__Group_1_0_2_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27378:1: ( rule__UnaryOperation__Group_1_0_2_0_0__0__Impl rule__UnaryOperation__Group_1_0_2_0_0__1 )
            // InternalRosetta.g:27379:2: rule__UnaryOperation__Group_1_0_2_0_0__0__Impl rule__UnaryOperation__Group_1_0_2_0_0__1
            {
            pushFollow(FOLLOW_151);
            rule__UnaryOperation__Group_1_0_2_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_2_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_0__0__Impl"
    // InternalRosetta.g:27386:1: rule__UnaryOperation__Group_1_0_2_0_0__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_2_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27390:1: ( ( () ) )
            // InternalRosetta.g:27391:1: ( () )
            {
            // InternalRosetta.g:27391:1: ( () )
            // InternalRosetta.g:27392:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getReduceOperationAction_1_0_2_0_0_0()); }
            // InternalRosetta.g:27393:2: ()
            // InternalRosetta.g:27393:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getReduceOperationAction_1_0_2_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_0__1"
    // InternalRosetta.g:27401:1: rule__UnaryOperation__Group_1_0_2_0_0__1 : rule__UnaryOperation__Group_1_0_2_0_0__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_2_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27405:1: ( rule__UnaryOperation__Group_1_0_2_0_0__1__Impl )
            // InternalRosetta.g:27406:2: rule__UnaryOperation__Group_1_0_2_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_2_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_0__1__Impl"
    // InternalRosetta.g:27412:1: rule__UnaryOperation__Group_1_0_2_0_0__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_2_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27416:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1 ) ) )
            // InternalRosetta.g:27417:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1 ) )
            {
            // InternalRosetta.g:27417:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1 ) )
            // InternalRosetta.g:27418:2: ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_2_0_0_1()); }
            // InternalRosetta.g:27419:2: ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1 )
            // InternalRosetta.g:27419:3: rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_2_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_1__0"
    // InternalRosetta.g:27428:1: rule__UnaryOperation__Group_1_0_2_0_1__0 : rule__UnaryOperation__Group_1_0_2_0_1__0__Impl rule__UnaryOperation__Group_1_0_2_0_1__1 ;
    public final void rule__UnaryOperation__Group_1_0_2_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27432:1: ( rule__UnaryOperation__Group_1_0_2_0_1__0__Impl rule__UnaryOperation__Group_1_0_2_0_1__1 )
            // InternalRosetta.g:27433:2: rule__UnaryOperation__Group_1_0_2_0_1__0__Impl rule__UnaryOperation__Group_1_0_2_0_1__1
            {
            pushFollow(FOLLOW_152);
            rule__UnaryOperation__Group_1_0_2_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_2_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_1__0__Impl"
    // InternalRosetta.g:27440:1: rule__UnaryOperation__Group_1_0_2_0_1__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_2_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27444:1: ( ( () ) )
            // InternalRosetta.g:27445:1: ( () )
            {
            // InternalRosetta.g:27445:1: ( () )
            // InternalRosetta.g:27446:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFilterOperationAction_1_0_2_0_1_0()); }
            // InternalRosetta.g:27447:2: ()
            // InternalRosetta.g:27447:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFilterOperationAction_1_0_2_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_1__1"
    // InternalRosetta.g:27455:1: rule__UnaryOperation__Group_1_0_2_0_1__1 : rule__UnaryOperation__Group_1_0_2_0_1__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_2_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27459:1: ( rule__UnaryOperation__Group_1_0_2_0_1__1__Impl )
            // InternalRosetta.g:27460:2: rule__UnaryOperation__Group_1_0_2_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_2_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_1__1__Impl"
    // InternalRosetta.g:27466:1: rule__UnaryOperation__Group_1_0_2_0_1__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_2_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27470:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1 ) ) )
            // InternalRosetta.g:27471:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1 ) )
            {
            // InternalRosetta.g:27471:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1 ) )
            // InternalRosetta.g:27472:2: ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_2_0_1_1()); }
            // InternalRosetta.g:27473:2: ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1 )
            // InternalRosetta.g:27473:3: rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_2_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_2__0"
    // InternalRosetta.g:27482:1: rule__UnaryOperation__Group_1_0_2_0_2__0 : rule__UnaryOperation__Group_1_0_2_0_2__0__Impl rule__UnaryOperation__Group_1_0_2_0_2__1 ;
    public final void rule__UnaryOperation__Group_1_0_2_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27486:1: ( rule__UnaryOperation__Group_1_0_2_0_2__0__Impl rule__UnaryOperation__Group_1_0_2_0_2__1 )
            // InternalRosetta.g:27487:2: rule__UnaryOperation__Group_1_0_2_0_2__0__Impl rule__UnaryOperation__Group_1_0_2_0_2__1
            {
            pushFollow(FOLLOW_119);
            rule__UnaryOperation__Group_1_0_2_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_2_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_2__0__Impl"
    // InternalRosetta.g:27494:1: rule__UnaryOperation__Group_1_0_2_0_2__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_0_2_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27498:1: ( ( () ) )
            // InternalRosetta.g:27499:1: ( () )
            {
            // InternalRosetta.g:27499:1: ( () )
            // InternalRosetta.g:27500:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getMapOperationAction_1_0_2_0_2_0()); }
            // InternalRosetta.g:27501:2: ()
            // InternalRosetta.g:27501:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getMapOperationAction_1_0_2_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_2__1"
    // InternalRosetta.g:27509:1: rule__UnaryOperation__Group_1_0_2_0_2__1 : rule__UnaryOperation__Group_1_0_2_0_2__1__Impl ;
    public final void rule__UnaryOperation__Group_1_0_2_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27513:1: ( rule__UnaryOperation__Group_1_0_2_0_2__1__Impl )
            // InternalRosetta.g:27514:2: rule__UnaryOperation__Group_1_0_2_0_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_0_2_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_0_2_0_2__1__Impl"
    // InternalRosetta.g:27520:1: rule__UnaryOperation__Group_1_0_2_0_2__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_0_2_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27524:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1 ) ) )
            // InternalRosetta.g:27525:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1 ) )
            {
            // InternalRosetta.g:27525:1: ( ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1 ) )
            // InternalRosetta.g:27526:2: ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_2_0_2_1()); }
            // InternalRosetta.g:27527:2: ( rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1 )
            // InternalRosetta.g:27527:3: rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_0_2_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_0_2_0_2__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0__0"
    // InternalRosetta.g:27536:1: rule__UnaryOperation__Group_1_1_0__0 : rule__UnaryOperation__Group_1_1_0__0__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27540:1: ( rule__UnaryOperation__Group_1_1_0__0__Impl )
            // InternalRosetta.g:27541:2: rule__UnaryOperation__Group_1_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0__0__Impl"
    // InternalRosetta.g:27547:1: rule__UnaryOperation__Group_1_1_0__0__Impl : ( ( rule__UnaryOperation__Alternatives_1_1_0_0 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27551:1: ( ( ( rule__UnaryOperation__Alternatives_1_1_0_0 ) ) )
            // InternalRosetta.g:27552:1: ( ( rule__UnaryOperation__Alternatives_1_1_0_0 ) )
            {
            // InternalRosetta.g:27552:1: ( ( rule__UnaryOperation__Alternatives_1_1_0_0 ) )
            // InternalRosetta.g:27553:2: ( rule__UnaryOperation__Alternatives_1_1_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1_0_0()); }
            // InternalRosetta.g:27554:2: ( rule__UnaryOperation__Alternatives_1_1_0_0 )
            // InternalRosetta.g:27554:3: rule__UnaryOperation__Alternatives_1_1_0_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_1_1_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_0__0"
    // InternalRosetta.g:27563:1: rule__UnaryOperation__Group_1_1_0_0_0__0 : rule__UnaryOperation__Group_1_1_0_0_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_0__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27567:1: ( rule__UnaryOperation__Group_1_1_0_0_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_0__1 )
            // InternalRosetta.g:27568:2: rule__UnaryOperation__Group_1_1_0_0_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_0__1
            {
            pushFollow(FOLLOW_37);
            rule__UnaryOperation__Group_1_1_0_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_0__0__Impl"
    // InternalRosetta.g:27575:1: rule__UnaryOperation__Group_1_1_0_0_0__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27579:1: ( ( () ) )
            // InternalRosetta.g:27580:1: ( () )
            {
            // InternalRosetta.g:27580:1: ( () )
            // InternalRosetta.g:27581:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaFeatureCallReceiverAction_1_1_0_0_0_0()); }
            // InternalRosetta.g:27582:2: ()
            // InternalRosetta.g:27582:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaFeatureCallReceiverAction_1_1_0_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_0__1"
    // InternalRosetta.g:27590:1: rule__UnaryOperation__Group_1_1_0_0_0__1 : rule__UnaryOperation__Group_1_1_0_0_0__1__Impl rule__UnaryOperation__Group_1_1_0_0_0__2 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27594:1: ( rule__UnaryOperation__Group_1_1_0_0_0__1__Impl rule__UnaryOperation__Group_1_1_0_0_0__2 )
            // InternalRosetta.g:27595:2: rule__UnaryOperation__Group_1_1_0_0_0__1__Impl rule__UnaryOperation__Group_1_1_0_0_0__2
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_1_1_0_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_0__1__Impl"
    // InternalRosetta.g:27602:1: rule__UnaryOperation__Group_1_1_0_0_0__1__Impl : ( '->' ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27606:1: ( ( '->' ) )
            // InternalRosetta.g:27607:1: ( '->' )
            {
            // InternalRosetta.g:27607:1: ( '->' )
            // InternalRosetta.g:27608:2: '->'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getHyphenMinusGreaterThanSignKeyword_1_1_0_0_0_1()); }
            match(input,78,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getHyphenMinusGreaterThanSignKeyword_1_1_0_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_0__2"
    // InternalRosetta.g:27617:1: rule__UnaryOperation__Group_1_1_0_0_0__2 : rule__UnaryOperation__Group_1_1_0_0_0__2__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27621:1: ( rule__UnaryOperation__Group_1_1_0_0_0__2__Impl )
            // InternalRosetta.g:27622:2: rule__UnaryOperation__Group_1_1_0_0_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_0__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_0__2__Impl"
    // InternalRosetta.g:27628:1: rule__UnaryOperation__Group_1_1_0_0_0__2__Impl : ( ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2 )? ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27632:1: ( ( ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2 )? ) )
            // InternalRosetta.g:27633:1: ( ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2 )? )
            {
            // InternalRosetta.g:27633:1: ( ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2 )? )
            // InternalRosetta.g:27634:2: ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureAssignment_1_1_0_0_0_2()); }
            // InternalRosetta.g:27635:2: ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2 )?
            int alt257=2;
            int LA257_0 = input.LA(1);
            if ( (LA257_0==RULE_ID||(LA257_0>=15 && LA257_0<=18)) ) {
                alt257=1;
            }
            else if ( (LA257_0==14) ) {
                int LA257_2 = input.LA(2);
                if ( (LA257_2==EOF||(LA257_2>=11 && LA257_2<=13)||(LA257_2>=19 && LA257_2<=20)||(LA257_2>=28 && LA257_2<=29)||(LA257_2>=32 && LA257_2<=40)||(LA257_2>=48 && LA257_2<=50)||(LA257_2>=55 && LA257_2<=58)||(LA257_2>=63 && LA257_2<=64)||(LA257_2>=67 && LA257_2<=68)||(LA257_2>=70 && LA257_2<=72)||LA257_2==74||(LA257_2>=77 && LA257_2<=78)||(LA257_2>=80 && LA257_2<=82)||(LA257_2>=84 && LA257_2<=85)||(LA257_2>=87 && LA257_2<=90)||LA257_2==103||(LA257_2>=105 && LA257_2<=106)||(LA257_2>=111 && LA257_2<=113)||(LA257_2>=117 && LA257_2<=119)||(LA257_2>=123 && LA257_2<=124)||(LA257_2>=132 && LA257_2<=133)||(LA257_2>=137 && LA257_2<=162)||(LA257_2>=164 && LA257_2<=165)) ) {
                    alt257=1;
                }
                else if ( (LA257_2==14) ) {
                    int LA257_4 = input.LA(3);
                    if ( (synpred392_InternalRosetta()) ) {
                        alt257=1;
                    }
                }}
            switch (alt257) {
                case 1 :
                    // InternalRosetta.g:27635:3: rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureAssignment_1_1_0_0_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_0__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_1__0"
    // InternalRosetta.g:27644:1: rule__UnaryOperation__Group_1_1_0_0_1__0 : rule__UnaryOperation__Group_1_1_0_0_1__0__Impl rule__UnaryOperation__Group_1_1_0_0_1__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27648:1: ( rule__UnaryOperation__Group_1_1_0_0_1__0__Impl rule__UnaryOperation__Group_1_1_0_0_1__1 )
            // InternalRosetta.g:27649:2: rule__UnaryOperation__Group_1_1_0_0_1__0__Impl rule__UnaryOperation__Group_1_1_0_0_1__1
            {
            pushFollow(FOLLOW_124);
            rule__UnaryOperation__Group_1_1_0_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_1__0__Impl"
    // InternalRosetta.g:27656:1: rule__UnaryOperation__Group_1_1_0_0_1__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27660:1: ( ( () ) )
            // InternalRosetta.g:27661:1: ( () )
            {
            // InternalRosetta.g:27661:1: ( () )
            // InternalRosetta.g:27662:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaDeepFeatureCallReceiverAction_1_1_0_0_1_0()); }
            // InternalRosetta.g:27663:2: ()
            // InternalRosetta.g:27663:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaDeepFeatureCallReceiverAction_1_1_0_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_1__1"
    // InternalRosetta.g:27671:1: rule__UnaryOperation__Group_1_1_0_0_1__1 : rule__UnaryOperation__Group_1_1_0_0_1__1__Impl rule__UnaryOperation__Group_1_1_0_0_1__2 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27675:1: ( rule__UnaryOperation__Group_1_1_0_0_1__1__Impl rule__UnaryOperation__Group_1_1_0_0_1__2 )
            // InternalRosetta.g:27676:2: rule__UnaryOperation__Group_1_1_0_0_1__1__Impl rule__UnaryOperation__Group_1_1_0_0_1__2
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_1_1_0_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_1__1__Impl"
    // InternalRosetta.g:27683:1: rule__UnaryOperation__Group_1_1_0_0_1__1__Impl : ( '->>' ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27687:1: ( ( '->>' ) )
            // InternalRosetta.g:27688:1: ( '->>' )
            {
            // InternalRosetta.g:27688:1: ( '->>' )
            // InternalRosetta.g:27689:2: '->>'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getHyphenMinusGreaterThanSignGreaterThanSignKeyword_1_1_0_0_1_1()); }
            match(input,118,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getHyphenMinusGreaterThanSignGreaterThanSignKeyword_1_1_0_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_1__2"
    // InternalRosetta.g:27698:1: rule__UnaryOperation__Group_1_1_0_0_1__2 : rule__UnaryOperation__Group_1_1_0_0_1__2__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27702:1: ( rule__UnaryOperation__Group_1_1_0_0_1__2__Impl )
            // InternalRosetta.g:27703:2: rule__UnaryOperation__Group_1_1_0_0_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_1__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_1__2__Impl"
    // InternalRosetta.g:27709:1: rule__UnaryOperation__Group_1_1_0_0_1__2__Impl : ( ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2 )? ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27713:1: ( ( ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2 )? ) )
            // InternalRosetta.g:27714:1: ( ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2 )? )
            {
            // InternalRosetta.g:27714:1: ( ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2 )? )
            // InternalRosetta.g:27715:2: ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureAssignment_1_1_0_0_1_2()); }
            // InternalRosetta.g:27716:2: ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2 )?
            int alt258=2;
            int LA258_0 = input.LA(1);
            if ( (LA258_0==RULE_ID||(LA258_0>=15 && LA258_0<=18)) ) {
                alt258=1;
            }
            else if ( (LA258_0==14) ) {
                int LA258_2 = input.LA(2);
                if ( (LA258_2==14) ) {
                    int LA258_4 = input.LA(3);
                    if ( (synpred393_InternalRosetta()) ) {
                        alt258=1;
                    }
                }
                else if ( (LA258_2==EOF||(LA258_2>=11 && LA258_2<=13)||(LA258_2>=19 && LA258_2<=20)||(LA258_2>=28 && LA258_2<=29)||(LA258_2>=32 && LA258_2<=40)||(LA258_2>=48 && LA258_2<=50)||(LA258_2>=55 && LA258_2<=58)||(LA258_2>=63 && LA258_2<=64)||(LA258_2>=67 && LA258_2<=68)||(LA258_2>=70 && LA258_2<=72)||LA258_2==74||(LA258_2>=77 && LA258_2<=78)||(LA258_2>=80 && LA258_2<=82)||(LA258_2>=84 && LA258_2<=85)||(LA258_2>=87 && LA258_2<=90)||LA258_2==103||(LA258_2>=105 && LA258_2<=106)||(LA258_2>=111 && LA258_2<=113)||(LA258_2>=117 && LA258_2<=119)||(LA258_2>=123 && LA258_2<=124)||(LA258_2>=132 && LA258_2<=133)||(LA258_2>=137 && LA258_2<=162)||(LA258_2>=164 && LA258_2<=165)) ) {
                    alt258=1;
                }}
            switch (alt258) {
                case 1 :
                    // InternalRosetta.g:27716:3: rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureAssignment_1_1_0_0_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_1__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_2__0"
    // InternalRosetta.g:27725:1: rule__UnaryOperation__Group_1_1_0_0_2__0 : rule__UnaryOperation__Group_1_1_0_0_2__0__Impl rule__UnaryOperation__Group_1_1_0_0_2__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27729:1: ( rule__UnaryOperation__Group_1_1_0_0_2__0__Impl rule__UnaryOperation__Group_1_1_0_0_2__1 )
            // InternalRosetta.g:27730:2: rule__UnaryOperation__Group_1_1_0_0_2__0__Impl rule__UnaryOperation__Group_1_1_0_0_2__1
            {
            pushFollow(FOLLOW_125);
            rule__UnaryOperation__Group_1_1_0_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_2__0__Impl"
    // InternalRosetta.g:27737:1: rule__UnaryOperation__Group_1_1_0_0_2__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27741:1: ( ( () ) )
            // InternalRosetta.g:27742:1: ( () )
            {
            // InternalRosetta.g:27742:1: ( () )
            // InternalRosetta.g:27743:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaExistsExpressionArgumentAction_1_1_0_0_2_0()); }
            // InternalRosetta.g:27744:2: ()
            // InternalRosetta.g:27744:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaExistsExpressionArgumentAction_1_1_0_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_2__1"
    // InternalRosetta.g:27752:1: rule__UnaryOperation__Group_1_1_0_0_2__1 : rule__UnaryOperation__Group_1_1_0_0_2__1__Impl rule__UnaryOperation__Group_1_1_0_0_2__2 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27756:1: ( rule__UnaryOperation__Group_1_1_0_0_2__1__Impl rule__UnaryOperation__Group_1_1_0_0_2__2 )
            // InternalRosetta.g:27757:2: rule__UnaryOperation__Group_1_1_0_0_2__1__Impl rule__UnaryOperation__Group_1_1_0_0_2__2
            {
            pushFollow(FOLLOW_125);
            rule__UnaryOperation__Group_1_1_0_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_2__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_2__1__Impl"
    // InternalRosetta.g:27764:1: rule__UnaryOperation__Group_1_1_0_0_2__1__Impl : ( ( rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1 )? ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27768:1: ( ( ( rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1 )? ) )
            // InternalRosetta.g:27769:1: ( ( rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1 )? )
            {
            // InternalRosetta.g:27769:1: ( ( rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1 )? )
            // InternalRosetta.g:27770:2: ( rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getModifierAssignment_1_1_0_0_2_1()); }
            // InternalRosetta.g:27771:2: ( rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1 )?
            int alt259=2;
            int LA259_0 = input.LA(1);
            if ( ((LA259_0>=57 && LA259_0<=58)) ) {
                alt259=1;
            }
            switch (alt259) {
                case 1 :
                    // InternalRosetta.g:27771:3: rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getModifierAssignment_1_1_0_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_2__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_2__2"
    // InternalRosetta.g:27779:1: rule__UnaryOperation__Group_1_1_0_0_2__2 : rule__UnaryOperation__Group_1_1_0_0_2__2__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_2__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27783:1: ( rule__UnaryOperation__Group_1_1_0_0_2__2__Impl )
            // InternalRosetta.g:27784:2: rule__UnaryOperation__Group_1_1_0_0_2__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_2__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_2__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_2__2__Impl"
    // InternalRosetta.g:27790:1: rule__UnaryOperation__Group_1_1_0_0_2__2__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27794:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2 ) ) )
            // InternalRosetta.g:27795:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2 ) )
            {
            // InternalRosetta.g:27795:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2 ) )
            // InternalRosetta.g:27796:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_2_2()); }
            // InternalRosetta.g:27797:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2 )
            // InternalRosetta.g:27797:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_2_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_2__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_3__0"
    // InternalRosetta.g:27806:1: rule__UnaryOperation__Group_1_1_0_0_3__0 : rule__UnaryOperation__Group_1_1_0_0_3__0__Impl rule__UnaryOperation__Group_1_1_0_0_3__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27810:1: ( rule__UnaryOperation__Group_1_1_0_0_3__0__Impl rule__UnaryOperation__Group_1_1_0_0_3__1 )
            // InternalRosetta.g:27811:2: rule__UnaryOperation__Group_1_1_0_0_3__0__Impl rule__UnaryOperation__Group_1_1_0_0_3__1
            {
            pushFollow(FOLLOW_81);
            rule__UnaryOperation__Group_1_1_0_0_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_3__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_3__0__Impl"
    // InternalRosetta.g:27818:1: rule__UnaryOperation__Group_1_1_0_0_3__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27822:1: ( ( () ) )
            // InternalRosetta.g:27823:1: ( () )
            {
            // InternalRosetta.g:27823:1: ( () )
            // InternalRosetta.g:27824:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaAbsentExpressionArgumentAction_1_1_0_0_3_0()); }
            // InternalRosetta.g:27825:2: ()
            // InternalRosetta.g:27825:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaAbsentExpressionArgumentAction_1_1_0_0_3_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_3__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_3__1"
    // InternalRosetta.g:27833:1: rule__UnaryOperation__Group_1_1_0_0_3__1 : rule__UnaryOperation__Group_1_1_0_0_3__1__Impl rule__UnaryOperation__Group_1_1_0_0_3__2 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27837:1: ( rule__UnaryOperation__Group_1_1_0_0_3__1__Impl rule__UnaryOperation__Group_1_1_0_0_3__2 )
            // InternalRosetta.g:27838:2: rule__UnaryOperation__Group_1_1_0_0_3__1__Impl rule__UnaryOperation__Group_1_1_0_0_3__2
            {
            pushFollow(FOLLOW_82);
            rule__UnaryOperation__Group_1_1_0_0_3__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_3__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_3__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_3__1__Impl"
    // InternalRosetta.g:27845:1: rule__UnaryOperation__Group_1_1_0_0_3__1__Impl : ( 'is' ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27849:1: ( ( 'is' ) )
            // InternalRosetta.g:27850:1: ( 'is' )
            {
            // InternalRosetta.g:27850:1: ( 'is' )
            // InternalRosetta.g:27851:2: 'is'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getIsKeyword_1_1_0_0_3_1()); }
            match(input,106,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getIsKeyword_1_1_0_0_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_3__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_3__2"
    // InternalRosetta.g:27860:1: rule__UnaryOperation__Group_1_1_0_0_3__2 : rule__UnaryOperation__Group_1_1_0_0_3__2__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_3__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27864:1: ( rule__UnaryOperation__Group_1_1_0_0_3__2__Impl )
            // InternalRosetta.g:27865:2: rule__UnaryOperation__Group_1_1_0_0_3__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_3__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_3__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_3__2__Impl"
    // InternalRosetta.g:27871:1: rule__UnaryOperation__Group_1_1_0_0_3__2__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27875:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2 ) ) )
            // InternalRosetta.g:27876:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2 ) )
            {
            // InternalRosetta.g:27876:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2 ) )
            // InternalRosetta.g:27877:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_3_2()); }
            // InternalRosetta.g:27878:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2 )
            // InternalRosetta.g:27878:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_3_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_3__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_4__0"
    // InternalRosetta.g:27887:1: rule__UnaryOperation__Group_1_1_0_0_4__0 : rule__UnaryOperation__Group_1_1_0_0_4__0__Impl rule__UnaryOperation__Group_1_1_0_0_4__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27891:1: ( rule__UnaryOperation__Group_1_1_0_0_4__0__Impl rule__UnaryOperation__Group_1_1_0_0_4__1 )
            // InternalRosetta.g:27892:2: rule__UnaryOperation__Group_1_1_0_0_4__0__Impl rule__UnaryOperation__Group_1_1_0_0_4__1
            {
            pushFollow(FOLLOW_126);
            rule__UnaryOperation__Group_1_1_0_0_4__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_4__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_4__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_4__0__Impl"
    // InternalRosetta.g:27899:1: rule__UnaryOperation__Group_1_1_0_0_4__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27903:1: ( ( () ) )
            // InternalRosetta.g:27904:1: ( () )
            {
            // InternalRosetta.g:27904:1: ( () )
            // InternalRosetta.g:27905:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaOnlyElementArgumentAction_1_1_0_0_4_0()); }
            // InternalRosetta.g:27906:2: ()
            // InternalRosetta.g:27906:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaOnlyElementArgumentAction_1_1_0_0_4_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_4__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_4__1"
    // InternalRosetta.g:27914:1: rule__UnaryOperation__Group_1_1_0_0_4__1 : rule__UnaryOperation__Group_1_1_0_0_4__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_4__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27918:1: ( rule__UnaryOperation__Group_1_1_0_0_4__1__Impl )
            // InternalRosetta.g:27919:2: rule__UnaryOperation__Group_1_1_0_0_4__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_4__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_4__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_4__1__Impl"
    // InternalRosetta.g:27925:1: rule__UnaryOperation__Group_1_1_0_0_4__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27929:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1 ) ) )
            // InternalRosetta.g:27930:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1 ) )
            {
            // InternalRosetta.g:27930:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1 ) )
            // InternalRosetta.g:27931:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_4_1()); }
            // InternalRosetta.g:27932:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1 )
            // InternalRosetta.g:27932:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_4_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_4__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_5__0"
    // InternalRosetta.g:27941:1: rule__UnaryOperation__Group_1_1_0_0_5__0 : rule__UnaryOperation__Group_1_1_0_0_5__0__Impl rule__UnaryOperation__Group_1_1_0_0_5__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_5__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27945:1: ( rule__UnaryOperation__Group_1_1_0_0_5__0__Impl rule__UnaryOperation__Group_1_1_0_0_5__1 )
            // InternalRosetta.g:27946:2: rule__UnaryOperation__Group_1_1_0_0_5__0__Impl rule__UnaryOperation__Group_1_1_0_0_5__1
            {
            pushFollow(FOLLOW_127);
            rule__UnaryOperation__Group_1_1_0_0_5__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_5__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_5__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_5__0__Impl"
    // InternalRosetta.g:27953:1: rule__UnaryOperation__Group_1_1_0_0_5__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27957:1: ( ( () ) )
            // InternalRosetta.g:27958:1: ( () )
            {
            // InternalRosetta.g:27958:1: ( () )
            // InternalRosetta.g:27959:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getRosettaCountOperationArgumentAction_1_1_0_0_5_0()); }
            // InternalRosetta.g:27960:2: ()
            // InternalRosetta.g:27960:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getRosettaCountOperationArgumentAction_1_1_0_0_5_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_5__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_5__1"
    // InternalRosetta.g:27968:1: rule__UnaryOperation__Group_1_1_0_0_5__1 : rule__UnaryOperation__Group_1_1_0_0_5__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_5__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27972:1: ( rule__UnaryOperation__Group_1_1_0_0_5__1__Impl )
            // InternalRosetta.g:27973:2: rule__UnaryOperation__Group_1_1_0_0_5__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_5__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_5__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_5__1__Impl"
    // InternalRosetta.g:27979:1: rule__UnaryOperation__Group_1_1_0_0_5__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27983:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1 ) ) )
            // InternalRosetta.g:27984:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1 ) )
            {
            // InternalRosetta.g:27984:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1 ) )
            // InternalRosetta.g:27985:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_5_1()); }
            // InternalRosetta.g:27986:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1 )
            // InternalRosetta.g:27986:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_5_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_5__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_6__0"
    // InternalRosetta.g:27995:1: rule__UnaryOperation__Group_1_1_0_0_6__0 : rule__UnaryOperation__Group_1_1_0_0_6__0__Impl rule__UnaryOperation__Group_1_1_0_0_6__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_6__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:27999:1: ( rule__UnaryOperation__Group_1_1_0_0_6__0__Impl rule__UnaryOperation__Group_1_1_0_0_6__1 )
            // InternalRosetta.g:28000:2: rule__UnaryOperation__Group_1_1_0_0_6__0__Impl rule__UnaryOperation__Group_1_1_0_0_6__1
            {
            pushFollow(FOLLOW_128);
            rule__UnaryOperation__Group_1_1_0_0_6__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_6__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_6__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_6__0__Impl"
    // InternalRosetta.g:28007:1: rule__UnaryOperation__Group_1_1_0_0_6__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28011:1: ( ( () ) )
            // InternalRosetta.g:28012:1: ( () )
            {
            // InternalRosetta.g:28012:1: ( () )
            // InternalRosetta.g:28013:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFlattenOperationArgumentAction_1_1_0_0_6_0()); }
            // InternalRosetta.g:28014:2: ()
            // InternalRosetta.g:28014:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFlattenOperationArgumentAction_1_1_0_0_6_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_6__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_6__1"
    // InternalRosetta.g:28022:1: rule__UnaryOperation__Group_1_1_0_0_6__1 : rule__UnaryOperation__Group_1_1_0_0_6__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_6__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28026:1: ( rule__UnaryOperation__Group_1_1_0_0_6__1__Impl )
            // InternalRosetta.g:28027:2: rule__UnaryOperation__Group_1_1_0_0_6__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_6__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_6__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_6__1__Impl"
    // InternalRosetta.g:28033:1: rule__UnaryOperation__Group_1_1_0_0_6__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28037:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1 ) ) )
            // InternalRosetta.g:28038:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1 ) )
            {
            // InternalRosetta.g:28038:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1 ) )
            // InternalRosetta.g:28039:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_6_1()); }
            // InternalRosetta.g:28040:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1 )
            // InternalRosetta.g:28040:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_6_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_6__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_7__0"
    // InternalRosetta.g:28049:1: rule__UnaryOperation__Group_1_1_0_0_7__0 : rule__UnaryOperation__Group_1_1_0_0_7__0__Impl rule__UnaryOperation__Group_1_1_0_0_7__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_7__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28053:1: ( rule__UnaryOperation__Group_1_1_0_0_7__0__Impl rule__UnaryOperation__Group_1_1_0_0_7__1 )
            // InternalRosetta.g:28054:2: rule__UnaryOperation__Group_1_1_0_0_7__0__Impl rule__UnaryOperation__Group_1_1_0_0_7__1
            {
            pushFollow(FOLLOW_129);
            rule__UnaryOperation__Group_1_1_0_0_7__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_7__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_7__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_7__0__Impl"
    // InternalRosetta.g:28061:1: rule__UnaryOperation__Group_1_1_0_0_7__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28065:1: ( ( () ) )
            // InternalRosetta.g:28066:1: ( () )
            {
            // InternalRosetta.g:28066:1: ( () )
            // InternalRosetta.g:28067:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDistinctOperationArgumentAction_1_1_0_0_7_0()); }
            // InternalRosetta.g:28068:2: ()
            // InternalRosetta.g:28068:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDistinctOperationArgumentAction_1_1_0_0_7_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_7__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_7__1"
    // InternalRosetta.g:28076:1: rule__UnaryOperation__Group_1_1_0_0_7__1 : rule__UnaryOperation__Group_1_1_0_0_7__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_7__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28080:1: ( rule__UnaryOperation__Group_1_1_0_0_7__1__Impl )
            // InternalRosetta.g:28081:2: rule__UnaryOperation__Group_1_1_0_0_7__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_7__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_7__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_7__1__Impl"
    // InternalRosetta.g:28087:1: rule__UnaryOperation__Group_1_1_0_0_7__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28091:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1 ) ) )
            // InternalRosetta.g:28092:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1 ) )
            {
            // InternalRosetta.g:28092:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1 ) )
            // InternalRosetta.g:28093:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_7_1()); }
            // InternalRosetta.g:28094:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1 )
            // InternalRosetta.g:28094:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_7_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_7__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_8__0"
    // InternalRosetta.g:28103:1: rule__UnaryOperation__Group_1_1_0_0_8__0 : rule__UnaryOperation__Group_1_1_0_0_8__0__Impl rule__UnaryOperation__Group_1_1_0_0_8__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_8__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28107:1: ( rule__UnaryOperation__Group_1_1_0_0_8__0__Impl rule__UnaryOperation__Group_1_1_0_0_8__1 )
            // InternalRosetta.g:28108:2: rule__UnaryOperation__Group_1_1_0_0_8__0__Impl rule__UnaryOperation__Group_1_1_0_0_8__1
            {
            pushFollow(FOLLOW_130);
            rule__UnaryOperation__Group_1_1_0_0_8__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_8__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_8__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_8__0__Impl"
    // InternalRosetta.g:28115:1: rule__UnaryOperation__Group_1_1_0_0_8__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_8__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28119:1: ( ( () ) )
            // InternalRosetta.g:28120:1: ( () )
            {
            // InternalRosetta.g:28120:1: ( () )
            // InternalRosetta.g:28121:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getReverseOperationArgumentAction_1_1_0_0_8_0()); }
            // InternalRosetta.g:28122:2: ()
            // InternalRosetta.g:28122:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getReverseOperationArgumentAction_1_1_0_0_8_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_8__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_8__1"
    // InternalRosetta.g:28130:1: rule__UnaryOperation__Group_1_1_0_0_8__1 : rule__UnaryOperation__Group_1_1_0_0_8__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_8__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28134:1: ( rule__UnaryOperation__Group_1_1_0_0_8__1__Impl )
            // InternalRosetta.g:28135:2: rule__UnaryOperation__Group_1_1_0_0_8__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_8__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_8__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_8__1__Impl"
    // InternalRosetta.g:28141:1: rule__UnaryOperation__Group_1_1_0_0_8__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_8__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28145:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1 ) ) )
            // InternalRosetta.g:28146:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1 ) )
            {
            // InternalRosetta.g:28146:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1 ) )
            // InternalRosetta.g:28147:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_8_1()); }
            // InternalRosetta.g:28148:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1 )
            // InternalRosetta.g:28148:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_8_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_8__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_9__0"
    // InternalRosetta.g:28157:1: rule__UnaryOperation__Group_1_1_0_0_9__0 : rule__UnaryOperation__Group_1_1_0_0_9__0__Impl rule__UnaryOperation__Group_1_1_0_0_9__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_9__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28161:1: ( rule__UnaryOperation__Group_1_1_0_0_9__0__Impl rule__UnaryOperation__Group_1_1_0_0_9__1 )
            // InternalRosetta.g:28162:2: rule__UnaryOperation__Group_1_1_0_0_9__0__Impl rule__UnaryOperation__Group_1_1_0_0_9__1
            {
            pushFollow(FOLLOW_131);
            rule__UnaryOperation__Group_1_1_0_0_9__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_9__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_9__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_9__0__Impl"
    // InternalRosetta.g:28169:1: rule__UnaryOperation__Group_1_1_0_0_9__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_9__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28173:1: ( ( () ) )
            // InternalRosetta.g:28174:1: ( () )
            {
            // InternalRosetta.g:28174:1: ( () )
            // InternalRosetta.g:28175:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFirstOperationArgumentAction_1_1_0_0_9_0()); }
            // InternalRosetta.g:28176:2: ()
            // InternalRosetta.g:28176:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFirstOperationArgumentAction_1_1_0_0_9_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_9__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_9__1"
    // InternalRosetta.g:28184:1: rule__UnaryOperation__Group_1_1_0_0_9__1 : rule__UnaryOperation__Group_1_1_0_0_9__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_9__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28188:1: ( rule__UnaryOperation__Group_1_1_0_0_9__1__Impl )
            // InternalRosetta.g:28189:2: rule__UnaryOperation__Group_1_1_0_0_9__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_9__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_9__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_9__1__Impl"
    // InternalRosetta.g:28195:1: rule__UnaryOperation__Group_1_1_0_0_9__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_9__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28199:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1 ) ) )
            // InternalRosetta.g:28200:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1 ) )
            {
            // InternalRosetta.g:28200:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1 ) )
            // InternalRosetta.g:28201:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_9_1()); }
            // InternalRosetta.g:28202:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1 )
            // InternalRosetta.g:28202:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_9_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_9__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_10__0"
    // InternalRosetta.g:28211:1: rule__UnaryOperation__Group_1_1_0_0_10__0 : rule__UnaryOperation__Group_1_1_0_0_10__0__Impl rule__UnaryOperation__Group_1_1_0_0_10__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_10__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28215:1: ( rule__UnaryOperation__Group_1_1_0_0_10__0__Impl rule__UnaryOperation__Group_1_1_0_0_10__1 )
            // InternalRosetta.g:28216:2: rule__UnaryOperation__Group_1_1_0_0_10__0__Impl rule__UnaryOperation__Group_1_1_0_0_10__1
            {
            pushFollow(FOLLOW_132);
            rule__UnaryOperation__Group_1_1_0_0_10__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_10__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_10__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_10__0__Impl"
    // InternalRosetta.g:28223:1: rule__UnaryOperation__Group_1_1_0_0_10__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_10__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28227:1: ( ( () ) )
            // InternalRosetta.g:28228:1: ( () )
            {
            // InternalRosetta.g:28228:1: ( () )
            // InternalRosetta.g:28229:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getLastOperationArgumentAction_1_1_0_0_10_0()); }
            // InternalRosetta.g:28230:2: ()
            // InternalRosetta.g:28230:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getLastOperationArgumentAction_1_1_0_0_10_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_10__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_10__1"
    // InternalRosetta.g:28238:1: rule__UnaryOperation__Group_1_1_0_0_10__1 : rule__UnaryOperation__Group_1_1_0_0_10__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_10__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28242:1: ( rule__UnaryOperation__Group_1_1_0_0_10__1__Impl )
            // InternalRosetta.g:28243:2: rule__UnaryOperation__Group_1_1_0_0_10__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_10__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_10__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_10__1__Impl"
    // InternalRosetta.g:28249:1: rule__UnaryOperation__Group_1_1_0_0_10__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_10__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28253:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1 ) ) )
            // InternalRosetta.g:28254:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1 ) )
            {
            // InternalRosetta.g:28254:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1 ) )
            // InternalRosetta.g:28255:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_10_1()); }
            // InternalRosetta.g:28256:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1 )
            // InternalRosetta.g:28256:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_10_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_10__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_11__0"
    // InternalRosetta.g:28265:1: rule__UnaryOperation__Group_1_1_0_0_11__0 : rule__UnaryOperation__Group_1_1_0_0_11__0__Impl rule__UnaryOperation__Group_1_1_0_0_11__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_11__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28269:1: ( rule__UnaryOperation__Group_1_1_0_0_11__0__Impl rule__UnaryOperation__Group_1_1_0_0_11__1 )
            // InternalRosetta.g:28270:2: rule__UnaryOperation__Group_1_1_0_0_11__0__Impl rule__UnaryOperation__Group_1_1_0_0_11__1
            {
            pushFollow(FOLLOW_133);
            rule__UnaryOperation__Group_1_1_0_0_11__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_11__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_11__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_11__0__Impl"
    // InternalRosetta.g:28277:1: rule__UnaryOperation__Group_1_1_0_0_11__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_11__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28281:1: ( ( () ) )
            // InternalRosetta.g:28282:1: ( () )
            {
            // InternalRosetta.g:28282:1: ( () )
            // InternalRosetta.g:28283:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getSumOperationArgumentAction_1_1_0_0_11_0()); }
            // InternalRosetta.g:28284:2: ()
            // InternalRosetta.g:28284:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getSumOperationArgumentAction_1_1_0_0_11_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_11__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_11__1"
    // InternalRosetta.g:28292:1: rule__UnaryOperation__Group_1_1_0_0_11__1 : rule__UnaryOperation__Group_1_1_0_0_11__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_11__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28296:1: ( rule__UnaryOperation__Group_1_1_0_0_11__1__Impl )
            // InternalRosetta.g:28297:2: rule__UnaryOperation__Group_1_1_0_0_11__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_11__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_11__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_11__1__Impl"
    // InternalRosetta.g:28303:1: rule__UnaryOperation__Group_1_1_0_0_11__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_11__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28307:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1 ) ) )
            // InternalRosetta.g:28308:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1 ) )
            {
            // InternalRosetta.g:28308:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1 ) )
            // InternalRosetta.g:28309:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_11_1()); }
            // InternalRosetta.g:28310:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1 )
            // InternalRosetta.g:28310:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_11_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_11__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_12__0"
    // InternalRosetta.g:28319:1: rule__UnaryOperation__Group_1_1_0_0_12__0 : rule__UnaryOperation__Group_1_1_0_0_12__0__Impl rule__UnaryOperation__Group_1_1_0_0_12__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_12__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28323:1: ( rule__UnaryOperation__Group_1_1_0_0_12__0__Impl rule__UnaryOperation__Group_1_1_0_0_12__1 )
            // InternalRosetta.g:28324:2: rule__UnaryOperation__Group_1_1_0_0_12__0__Impl rule__UnaryOperation__Group_1_1_0_0_12__1
            {
            pushFollow(FOLLOW_134);
            rule__UnaryOperation__Group_1_1_0_0_12__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_12__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_12__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_12__0__Impl"
    // InternalRosetta.g:28331:1: rule__UnaryOperation__Group_1_1_0_0_12__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_12__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28335:1: ( ( () ) )
            // InternalRosetta.g:28336:1: ( () )
            {
            // InternalRosetta.g:28336:1: ( () )
            // InternalRosetta.g:28337:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOneOfOperationArgumentAction_1_1_0_0_12_0()); }
            // InternalRosetta.g:28338:2: ()
            // InternalRosetta.g:28338:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOneOfOperationArgumentAction_1_1_0_0_12_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_12__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_12__1"
    // InternalRosetta.g:28346:1: rule__UnaryOperation__Group_1_1_0_0_12__1 : rule__UnaryOperation__Group_1_1_0_0_12__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_12__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28350:1: ( rule__UnaryOperation__Group_1_1_0_0_12__1__Impl )
            // InternalRosetta.g:28351:2: rule__UnaryOperation__Group_1_1_0_0_12__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_12__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_12__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_12__1__Impl"
    // InternalRosetta.g:28357:1: rule__UnaryOperation__Group_1_1_0_0_12__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_12__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28361:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1 ) ) )
            // InternalRosetta.g:28362:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1 ) )
            {
            // InternalRosetta.g:28362:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1 ) )
            // InternalRosetta.g:28363:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_12_1()); }
            // InternalRosetta.g:28364:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1 )
            // InternalRosetta.g:28364:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_12_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_12__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13__0"
    // InternalRosetta.g:28373:1: rule__UnaryOperation__Group_1_1_0_0_13__0 : rule__UnaryOperation__Group_1_1_0_0_13__0__Impl rule__UnaryOperation__Group_1_1_0_0_13__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28377:1: ( rule__UnaryOperation__Group_1_1_0_0_13__0__Impl rule__UnaryOperation__Group_1_1_0_0_13__1 )
            // InternalRosetta.g:28378:2: rule__UnaryOperation__Group_1_1_0_0_13__0__Impl rule__UnaryOperation__Group_1_1_0_0_13__1
            {
            pushFollow(FOLLOW_135);
            rule__UnaryOperation__Group_1_1_0_0_13__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_13__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13__0__Impl"
    // InternalRosetta.g:28385:1: rule__UnaryOperation__Group_1_1_0_0_13__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28389:1: ( ( () ) )
            // InternalRosetta.g:28390:1: ( () )
            {
            // InternalRosetta.g:28390:1: ( () )
            // InternalRosetta.g:28391:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getChoiceOperationArgumentAction_1_1_0_0_13_0()); }
            // InternalRosetta.g:28392:2: ()
            // InternalRosetta.g:28392:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getChoiceOperationArgumentAction_1_1_0_0_13_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13__1"
    // InternalRosetta.g:28400:1: rule__UnaryOperation__Group_1_1_0_0_13__1 : rule__UnaryOperation__Group_1_1_0_0_13__1__Impl rule__UnaryOperation__Group_1_1_0_0_13__2 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28404:1: ( rule__UnaryOperation__Group_1_1_0_0_13__1__Impl rule__UnaryOperation__Group_1_1_0_0_13__2 )
            // InternalRosetta.g:28405:2: rule__UnaryOperation__Group_1_1_0_0_13__1__Impl rule__UnaryOperation__Group_1_1_0_0_13__2
            {
            pushFollow(FOLLOW_136);
            rule__UnaryOperation__Group_1_1_0_0_13__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_13__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13__1__Impl"
    // InternalRosetta.g:28412:1: rule__UnaryOperation__Group_1_1_0_0_13__1__Impl : ( ( rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28416:1: ( ( ( rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1 ) ) )
            // InternalRosetta.g:28417:1: ( ( rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1 ) )
            {
            // InternalRosetta.g:28417:1: ( ( rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1 ) )
            // InternalRosetta.g:28418:2: ( rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getNecessityAssignment_1_1_0_0_13_1()); }
            // InternalRosetta.g:28419:2: ( rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1 )
            // InternalRosetta.g:28419:3: rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getNecessityAssignment_1_1_0_0_13_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13__2"
    // InternalRosetta.g:28427:1: rule__UnaryOperation__Group_1_1_0_0_13__2 : rule__UnaryOperation__Group_1_1_0_0_13__2__Impl rule__UnaryOperation__Group_1_1_0_0_13__3 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28431:1: ( rule__UnaryOperation__Group_1_1_0_0_13__2__Impl rule__UnaryOperation__Group_1_1_0_0_13__3 )
            // InternalRosetta.g:28432:2: rule__UnaryOperation__Group_1_1_0_0_13__2__Impl rule__UnaryOperation__Group_1_1_0_0_13__3
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_1_1_0_0_13__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_13__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13__2__Impl"
    // InternalRosetta.g:28439:1: rule__UnaryOperation__Group_1_1_0_0_13__2__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28443:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2 ) ) )
            // InternalRosetta.g:28444:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2 ) )
            {
            // InternalRosetta.g:28444:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2 ) )
            // InternalRosetta.g:28445:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_13_2()); }
            // InternalRosetta.g:28446:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2 )
            // InternalRosetta.g:28446:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_13_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13__3"
    // InternalRosetta.g:28454:1: rule__UnaryOperation__Group_1_1_0_0_13__3 : rule__UnaryOperation__Group_1_1_0_0_13__3__Impl rule__UnaryOperation__Group_1_1_0_0_13__4 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28458:1: ( rule__UnaryOperation__Group_1_1_0_0_13__3__Impl rule__UnaryOperation__Group_1_1_0_0_13__4 )
            // InternalRosetta.g:28459:2: rule__UnaryOperation__Group_1_1_0_0_13__3__Impl rule__UnaryOperation__Group_1_1_0_0_13__4
            {
            pushFollow(FOLLOW_41);
            rule__UnaryOperation__Group_1_1_0_0_13__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_13__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13__3"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13__3__Impl"
    // InternalRosetta.g:28466:1: rule__UnaryOperation__Group_1_1_0_0_13__3__Impl : ( ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28470:1: ( ( ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3 ) ) )
            // InternalRosetta.g:28471:1: ( ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3 ) )
            {
            // InternalRosetta.g:28471:1: ( ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3 ) )
            // InternalRosetta.g:28472:2: ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_1_1_0_0_13_3()); }
            // InternalRosetta.g:28473:2: ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3 )
            // InternalRosetta.g:28473:3: rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_1_1_0_0_13_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13__3__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13__4"
    // InternalRosetta.g:28481:1: rule__UnaryOperation__Group_1_1_0_0_13__4 : rule__UnaryOperation__Group_1_1_0_0_13__4__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28485:1: ( rule__UnaryOperation__Group_1_1_0_0_13__4__Impl )
            // InternalRosetta.g:28486:2: rule__UnaryOperation__Group_1_1_0_0_13__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_13__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13__4"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13__4__Impl"
    // InternalRosetta.g:28492:1: rule__UnaryOperation__Group_1_1_0_0_13__4__Impl : ( ( rule__UnaryOperation__Group_1_1_0_0_13_4__0 )* ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28496:1: ( ( ( rule__UnaryOperation__Group_1_1_0_0_13_4__0 )* ) )
            // InternalRosetta.g:28497:1: ( ( rule__UnaryOperation__Group_1_1_0_0_13_4__0 )* )
            {
            // InternalRosetta.g:28497:1: ( ( rule__UnaryOperation__Group_1_1_0_0_13_4__0 )* )
            // InternalRosetta.g:28498:2: ( rule__UnaryOperation__Group_1_1_0_0_13_4__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_13_4()); }
            // InternalRosetta.g:28499:2: ( rule__UnaryOperation__Group_1_1_0_0_13_4__0 )*
            loop260:
            do {
                int alt260=2;
                alt260 = dfa260.predict(input);
                switch (alt260) {
            	case 1 :
            	    // InternalRosetta.g:28499:3: rule__UnaryOperation__Group_1_1_0_0_13_4__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__UnaryOperation__Group_1_1_0_0_13_4__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop260;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_13_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13__4__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13_4__0"
    // InternalRosetta.g:28508:1: rule__UnaryOperation__Group_1_1_0_0_13_4__0 : rule__UnaryOperation__Group_1_1_0_0_13_4__0__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28512:1: ( rule__UnaryOperation__Group_1_1_0_0_13_4__0__Impl )
            // InternalRosetta.g:28513:2: rule__UnaryOperation__Group_1_1_0_0_13_4__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_13_4__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13_4__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13_4__0__Impl"
    // InternalRosetta.g:28519:1: rule__UnaryOperation__Group_1_1_0_0_13_4__0__Impl : ( ( rule__UnaryOperation__Group_1_1_0_0_13_4_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28523:1: ( ( ( rule__UnaryOperation__Group_1_1_0_0_13_4_0__0 ) ) )
            // InternalRosetta.g:28524:1: ( ( rule__UnaryOperation__Group_1_1_0_0_13_4_0__0 ) )
            {
            // InternalRosetta.g:28524:1: ( ( rule__UnaryOperation__Group_1_1_0_0_13_4_0__0 ) )
            // InternalRosetta.g:28525:2: ( rule__UnaryOperation__Group_1_1_0_0_13_4_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_13_4_0()); }
            // InternalRosetta.g:28526:2: ( rule__UnaryOperation__Group_1_1_0_0_13_4_0__0 )
            // InternalRosetta.g:28526:3: rule__UnaryOperation__Group_1_1_0_0_13_4_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_13_4_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_13_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13_4__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13_4_0__0"
    // InternalRosetta.g:28535:1: rule__UnaryOperation__Group_1_1_0_0_13_4_0__0 : rule__UnaryOperation__Group_1_1_0_0_13_4_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_13_4_0__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13_4_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28539:1: ( rule__UnaryOperation__Group_1_1_0_0_13_4_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_13_4_0__1 )
            // InternalRosetta.g:28540:2: rule__UnaryOperation__Group_1_1_0_0_13_4_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_13_4_0__1
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_1_1_0_0_13_4_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_13_4_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13_4_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13_4_0__0__Impl"
    // InternalRosetta.g:28547:1: rule__UnaryOperation__Group_1_1_0_0_13_4_0__0__Impl : ( ',' ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13_4_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28551:1: ( ( ',' ) )
            // InternalRosetta.g:28552:1: ( ',' )
            {
            // InternalRosetta.g:28552:1: ( ',' )
            // InternalRosetta.g:28553:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_1_0_0_13_4_0_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_1_0_0_13_4_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13_4_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13_4_0__1"
    // InternalRosetta.g:28562:1: rule__UnaryOperation__Group_1_1_0_0_13_4_0__1 : rule__UnaryOperation__Group_1_1_0_0_13_4_0__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13_4_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28566:1: ( rule__UnaryOperation__Group_1_1_0_0_13_4_0__1__Impl )
            // InternalRosetta.g:28567:2: rule__UnaryOperation__Group_1_1_0_0_13_4_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_13_4_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13_4_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_13_4_0__1__Impl"
    // InternalRosetta.g:28573:1: rule__UnaryOperation__Group_1_1_0_0_13_4_0__1__Impl : ( ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_13_4_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28577:1: ( ( ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1 ) ) )
            // InternalRosetta.g:28578:1: ( ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1 ) )
            {
            // InternalRosetta.g:28578:1: ( ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1 ) )
            // InternalRosetta.g:28579:2: ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_1_1_0_0_13_4_0_1()); }
            // InternalRosetta.g:28580:2: ( rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1 )
            // InternalRosetta.g:28580:3: rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAssignment_1_1_0_0_13_4_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_13_4_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_14__0"
    // InternalRosetta.g:28589:1: rule__UnaryOperation__Group_1_1_0_0_14__0 : rule__UnaryOperation__Group_1_1_0_0_14__0__Impl rule__UnaryOperation__Group_1_1_0_0_14__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_14__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28593:1: ( rule__UnaryOperation__Group_1_1_0_0_14__0__Impl rule__UnaryOperation__Group_1_1_0_0_14__1 )
            // InternalRosetta.g:28594:2: rule__UnaryOperation__Group_1_1_0_0_14__0__Impl rule__UnaryOperation__Group_1_1_0_0_14__1
            {
            pushFollow(FOLLOW_137);
            rule__UnaryOperation__Group_1_1_0_0_14__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_14__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_14__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_14__0__Impl"
    // InternalRosetta.g:28601:1: rule__UnaryOperation__Group_1_1_0_0_14__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_14__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28605:1: ( ( () ) )
            // InternalRosetta.g:28606:1: ( () )
            {
            // InternalRosetta.g:28606:1: ( () )
            // InternalRosetta.g:28607:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToStringOperationArgumentAction_1_1_0_0_14_0()); }
            // InternalRosetta.g:28608:2: ()
            // InternalRosetta.g:28608:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToStringOperationArgumentAction_1_1_0_0_14_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_14__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_14__1"
    // InternalRosetta.g:28616:1: rule__UnaryOperation__Group_1_1_0_0_14__1 : rule__UnaryOperation__Group_1_1_0_0_14__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_14__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28620:1: ( rule__UnaryOperation__Group_1_1_0_0_14__1__Impl )
            // InternalRosetta.g:28621:2: rule__UnaryOperation__Group_1_1_0_0_14__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_14__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_14__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_14__1__Impl"
    // InternalRosetta.g:28627:1: rule__UnaryOperation__Group_1_1_0_0_14__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_14__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28631:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1 ) ) )
            // InternalRosetta.g:28632:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1 ) )
            {
            // InternalRosetta.g:28632:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1 ) )
            // InternalRosetta.g:28633:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_14_1()); }
            // InternalRosetta.g:28634:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1 )
            // InternalRosetta.g:28634:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_14_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_14__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_15__0"
    // InternalRosetta.g:28643:1: rule__UnaryOperation__Group_1_1_0_0_15__0 : rule__UnaryOperation__Group_1_1_0_0_15__0__Impl rule__UnaryOperation__Group_1_1_0_0_15__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_15__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28647:1: ( rule__UnaryOperation__Group_1_1_0_0_15__0__Impl rule__UnaryOperation__Group_1_1_0_0_15__1 )
            // InternalRosetta.g:28648:2: rule__UnaryOperation__Group_1_1_0_0_15__0__Impl rule__UnaryOperation__Group_1_1_0_0_15__1
            {
            pushFollow(FOLLOW_138);
            rule__UnaryOperation__Group_1_1_0_0_15__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_15__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_15__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_15__0__Impl"
    // InternalRosetta.g:28655:1: rule__UnaryOperation__Group_1_1_0_0_15__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_15__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28659:1: ( ( () ) )
            // InternalRosetta.g:28660:1: ( () )
            {
            // InternalRosetta.g:28660:1: ( () )
            // InternalRosetta.g:28661:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToNumberOperationArgumentAction_1_1_0_0_15_0()); }
            // InternalRosetta.g:28662:2: ()
            // InternalRosetta.g:28662:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToNumberOperationArgumentAction_1_1_0_0_15_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_15__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_15__1"
    // InternalRosetta.g:28670:1: rule__UnaryOperation__Group_1_1_0_0_15__1 : rule__UnaryOperation__Group_1_1_0_0_15__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_15__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28674:1: ( rule__UnaryOperation__Group_1_1_0_0_15__1__Impl )
            // InternalRosetta.g:28675:2: rule__UnaryOperation__Group_1_1_0_0_15__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_15__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_15__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_15__1__Impl"
    // InternalRosetta.g:28681:1: rule__UnaryOperation__Group_1_1_0_0_15__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_15__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28685:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1 ) ) )
            // InternalRosetta.g:28686:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1 ) )
            {
            // InternalRosetta.g:28686:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1 ) )
            // InternalRosetta.g:28687:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_15_1()); }
            // InternalRosetta.g:28688:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1 )
            // InternalRosetta.g:28688:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_15_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_15__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_16__0"
    // InternalRosetta.g:28697:1: rule__UnaryOperation__Group_1_1_0_0_16__0 : rule__UnaryOperation__Group_1_1_0_0_16__0__Impl rule__UnaryOperation__Group_1_1_0_0_16__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_16__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28701:1: ( rule__UnaryOperation__Group_1_1_0_0_16__0__Impl rule__UnaryOperation__Group_1_1_0_0_16__1 )
            // InternalRosetta.g:28702:2: rule__UnaryOperation__Group_1_1_0_0_16__0__Impl rule__UnaryOperation__Group_1_1_0_0_16__1
            {
            pushFollow(FOLLOW_139);
            rule__UnaryOperation__Group_1_1_0_0_16__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_16__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_16__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_16__0__Impl"
    // InternalRosetta.g:28709:1: rule__UnaryOperation__Group_1_1_0_0_16__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_16__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28713:1: ( ( () ) )
            // InternalRosetta.g:28714:1: ( () )
            {
            // InternalRosetta.g:28714:1: ( () )
            // InternalRosetta.g:28715:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToIntOperationArgumentAction_1_1_0_0_16_0()); }
            // InternalRosetta.g:28716:2: ()
            // InternalRosetta.g:28716:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToIntOperationArgumentAction_1_1_0_0_16_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_16__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_16__1"
    // InternalRosetta.g:28724:1: rule__UnaryOperation__Group_1_1_0_0_16__1 : rule__UnaryOperation__Group_1_1_0_0_16__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_16__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28728:1: ( rule__UnaryOperation__Group_1_1_0_0_16__1__Impl )
            // InternalRosetta.g:28729:2: rule__UnaryOperation__Group_1_1_0_0_16__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_16__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_16__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_16__1__Impl"
    // InternalRosetta.g:28735:1: rule__UnaryOperation__Group_1_1_0_0_16__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_16__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28739:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1 ) ) )
            // InternalRosetta.g:28740:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1 ) )
            {
            // InternalRosetta.g:28740:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1 ) )
            // InternalRosetta.g:28741:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_16_1()); }
            // InternalRosetta.g:28742:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1 )
            // InternalRosetta.g:28742:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_16_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_16__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_17__0"
    // InternalRosetta.g:28751:1: rule__UnaryOperation__Group_1_1_0_0_17__0 : rule__UnaryOperation__Group_1_1_0_0_17__0__Impl rule__UnaryOperation__Group_1_1_0_0_17__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_17__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28755:1: ( rule__UnaryOperation__Group_1_1_0_0_17__0__Impl rule__UnaryOperation__Group_1_1_0_0_17__1 )
            // InternalRosetta.g:28756:2: rule__UnaryOperation__Group_1_1_0_0_17__0__Impl rule__UnaryOperation__Group_1_1_0_0_17__1
            {
            pushFollow(FOLLOW_140);
            rule__UnaryOperation__Group_1_1_0_0_17__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_17__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_17__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_17__0__Impl"
    // InternalRosetta.g:28763:1: rule__UnaryOperation__Group_1_1_0_0_17__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_17__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28767:1: ( ( () ) )
            // InternalRosetta.g:28768:1: ( () )
            {
            // InternalRosetta.g:28768:1: ( () )
            // InternalRosetta.g:28769:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToTimeOperationArgumentAction_1_1_0_0_17_0()); }
            // InternalRosetta.g:28770:2: ()
            // InternalRosetta.g:28770:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToTimeOperationArgumentAction_1_1_0_0_17_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_17__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_17__1"
    // InternalRosetta.g:28778:1: rule__UnaryOperation__Group_1_1_0_0_17__1 : rule__UnaryOperation__Group_1_1_0_0_17__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_17__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28782:1: ( rule__UnaryOperation__Group_1_1_0_0_17__1__Impl )
            // InternalRosetta.g:28783:2: rule__UnaryOperation__Group_1_1_0_0_17__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_17__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_17__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_17__1__Impl"
    // InternalRosetta.g:28789:1: rule__UnaryOperation__Group_1_1_0_0_17__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_17__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28793:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1 ) ) )
            // InternalRosetta.g:28794:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1 ) )
            {
            // InternalRosetta.g:28794:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1 ) )
            // InternalRosetta.g:28795:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_17_1()); }
            // InternalRosetta.g:28796:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1 )
            // InternalRosetta.g:28796:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_17_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_17__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_18__0"
    // InternalRosetta.g:28805:1: rule__UnaryOperation__Group_1_1_0_0_18__0 : rule__UnaryOperation__Group_1_1_0_0_18__0__Impl rule__UnaryOperation__Group_1_1_0_0_18__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_18__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28809:1: ( rule__UnaryOperation__Group_1_1_0_0_18__0__Impl rule__UnaryOperation__Group_1_1_0_0_18__1 )
            // InternalRosetta.g:28810:2: rule__UnaryOperation__Group_1_1_0_0_18__0__Impl rule__UnaryOperation__Group_1_1_0_0_18__1
            {
            pushFollow(FOLLOW_141);
            rule__UnaryOperation__Group_1_1_0_0_18__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_18__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_18__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_18__0__Impl"
    // InternalRosetta.g:28817:1: rule__UnaryOperation__Group_1_1_0_0_18__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_18__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28821:1: ( ( () ) )
            // InternalRosetta.g:28822:1: ( () )
            {
            // InternalRosetta.g:28822:1: ( () )
            // InternalRosetta.g:28823:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToEnumOperationArgumentAction_1_1_0_0_18_0()); }
            // InternalRosetta.g:28824:2: ()
            // InternalRosetta.g:28824:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToEnumOperationArgumentAction_1_1_0_0_18_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_18__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_18__1"
    // InternalRosetta.g:28832:1: rule__UnaryOperation__Group_1_1_0_0_18__1 : rule__UnaryOperation__Group_1_1_0_0_18__1__Impl rule__UnaryOperation__Group_1_1_0_0_18__2 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_18__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28836:1: ( rule__UnaryOperation__Group_1_1_0_0_18__1__Impl rule__UnaryOperation__Group_1_1_0_0_18__2 )
            // InternalRosetta.g:28837:2: rule__UnaryOperation__Group_1_1_0_0_18__1__Impl rule__UnaryOperation__Group_1_1_0_0_18__2
            {
            pushFollow(FOLLOW_13);
            rule__UnaryOperation__Group_1_1_0_0_18__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_18__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_18__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_18__1__Impl"
    // InternalRosetta.g:28844:1: rule__UnaryOperation__Group_1_1_0_0_18__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_18__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28848:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1 ) ) )
            // InternalRosetta.g:28849:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1 ) )
            {
            // InternalRosetta.g:28849:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1 ) )
            // InternalRosetta.g:28850:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_18_1()); }
            // InternalRosetta.g:28851:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1 )
            // InternalRosetta.g:28851:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_18_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_18__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_18__2"
    // InternalRosetta.g:28859:1: rule__UnaryOperation__Group_1_1_0_0_18__2 : rule__UnaryOperation__Group_1_1_0_0_18__2__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_18__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28863:1: ( rule__UnaryOperation__Group_1_1_0_0_18__2__Impl )
            // InternalRosetta.g:28864:2: rule__UnaryOperation__Group_1_1_0_0_18__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_18__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_18__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_18__2__Impl"
    // InternalRosetta.g:28870:1: rule__UnaryOperation__Group_1_1_0_0_18__2__Impl : ( ( rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_18__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28874:1: ( ( ( rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2 ) ) )
            // InternalRosetta.g:28875:1: ( ( rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2 ) )
            {
            // InternalRosetta.g:28875:1: ( ( rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2 ) )
            // InternalRosetta.g:28876:2: ( rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getEnumerationAssignment_1_1_0_0_18_2()); }
            // InternalRosetta.g:28877:2: ( rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2 )
            // InternalRosetta.g:28877:3: rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getEnumerationAssignment_1_1_0_0_18_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_18__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_19__0"
    // InternalRosetta.g:28886:1: rule__UnaryOperation__Group_1_1_0_0_19__0 : rule__UnaryOperation__Group_1_1_0_0_19__0__Impl rule__UnaryOperation__Group_1_1_0_0_19__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_19__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28890:1: ( rule__UnaryOperation__Group_1_1_0_0_19__0__Impl rule__UnaryOperation__Group_1_1_0_0_19__1 )
            // InternalRosetta.g:28891:2: rule__UnaryOperation__Group_1_1_0_0_19__0__Impl rule__UnaryOperation__Group_1_1_0_0_19__1
            {
            pushFollow(FOLLOW_142);
            rule__UnaryOperation__Group_1_1_0_0_19__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_19__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_19__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_19__0__Impl"
    // InternalRosetta.g:28898:1: rule__UnaryOperation__Group_1_1_0_0_19__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_19__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28902:1: ( ( () ) )
            // InternalRosetta.g:28903:1: ( () )
            {
            // InternalRosetta.g:28903:1: ( () )
            // InternalRosetta.g:28904:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToDateOperationArgumentAction_1_1_0_0_19_0()); }
            // InternalRosetta.g:28905:2: ()
            // InternalRosetta.g:28905:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToDateOperationArgumentAction_1_1_0_0_19_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_19__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_19__1"
    // InternalRosetta.g:28913:1: rule__UnaryOperation__Group_1_1_0_0_19__1 : rule__UnaryOperation__Group_1_1_0_0_19__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_19__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28917:1: ( rule__UnaryOperation__Group_1_1_0_0_19__1__Impl )
            // InternalRosetta.g:28918:2: rule__UnaryOperation__Group_1_1_0_0_19__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_19__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_19__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_19__1__Impl"
    // InternalRosetta.g:28924:1: rule__UnaryOperation__Group_1_1_0_0_19__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_19__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28928:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1 ) ) )
            // InternalRosetta.g:28929:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1 ) )
            {
            // InternalRosetta.g:28929:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1 ) )
            // InternalRosetta.g:28930:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_19_1()); }
            // InternalRosetta.g:28931:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1 )
            // InternalRosetta.g:28931:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_19_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_19__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_20__0"
    // InternalRosetta.g:28940:1: rule__UnaryOperation__Group_1_1_0_0_20__0 : rule__UnaryOperation__Group_1_1_0_0_20__0__Impl rule__UnaryOperation__Group_1_1_0_0_20__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_20__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28944:1: ( rule__UnaryOperation__Group_1_1_0_0_20__0__Impl rule__UnaryOperation__Group_1_1_0_0_20__1 )
            // InternalRosetta.g:28945:2: rule__UnaryOperation__Group_1_1_0_0_20__0__Impl rule__UnaryOperation__Group_1_1_0_0_20__1
            {
            pushFollow(FOLLOW_143);
            rule__UnaryOperation__Group_1_1_0_0_20__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_20__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_20__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_20__0__Impl"
    // InternalRosetta.g:28952:1: rule__UnaryOperation__Group_1_1_0_0_20__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_20__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28956:1: ( ( () ) )
            // InternalRosetta.g:28957:1: ( () )
            {
            // InternalRosetta.g:28957:1: ( () )
            // InternalRosetta.g:28958:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToDateTimeOperationArgumentAction_1_1_0_0_20_0()); }
            // InternalRosetta.g:28959:2: ()
            // InternalRosetta.g:28959:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToDateTimeOperationArgumentAction_1_1_0_0_20_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_20__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_20__1"
    // InternalRosetta.g:28967:1: rule__UnaryOperation__Group_1_1_0_0_20__1 : rule__UnaryOperation__Group_1_1_0_0_20__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_20__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28971:1: ( rule__UnaryOperation__Group_1_1_0_0_20__1__Impl )
            // InternalRosetta.g:28972:2: rule__UnaryOperation__Group_1_1_0_0_20__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_20__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_20__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_20__1__Impl"
    // InternalRosetta.g:28978:1: rule__UnaryOperation__Group_1_1_0_0_20__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_20__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28982:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1 ) ) )
            // InternalRosetta.g:28983:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1 ) )
            {
            // InternalRosetta.g:28983:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1 ) )
            // InternalRosetta.g:28984:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_20_1()); }
            // InternalRosetta.g:28985:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1 )
            // InternalRosetta.g:28985:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_20_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_20__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_21__0"
    // InternalRosetta.g:28994:1: rule__UnaryOperation__Group_1_1_0_0_21__0 : rule__UnaryOperation__Group_1_1_0_0_21__0__Impl rule__UnaryOperation__Group_1_1_0_0_21__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_21__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:28998:1: ( rule__UnaryOperation__Group_1_1_0_0_21__0__Impl rule__UnaryOperation__Group_1_1_0_0_21__1 )
            // InternalRosetta.g:28999:2: rule__UnaryOperation__Group_1_1_0_0_21__0__Impl rule__UnaryOperation__Group_1_1_0_0_21__1
            {
            pushFollow(FOLLOW_144);
            rule__UnaryOperation__Group_1_1_0_0_21__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_21__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_21__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_21__0__Impl"
    // InternalRosetta.g:29006:1: rule__UnaryOperation__Group_1_1_0_0_21__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_21__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29010:1: ( ( () ) )
            // InternalRosetta.g:29011:1: ( () )
            {
            // InternalRosetta.g:29011:1: ( () )
            // InternalRosetta.g:29012:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getToZonedDateTimeOperationArgumentAction_1_1_0_0_21_0()); }
            // InternalRosetta.g:29013:2: ()
            // InternalRosetta.g:29013:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getToZonedDateTimeOperationArgumentAction_1_1_0_0_21_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_21__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_21__1"
    // InternalRosetta.g:29021:1: rule__UnaryOperation__Group_1_1_0_0_21__1 : rule__UnaryOperation__Group_1_1_0_0_21__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_21__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29025:1: ( rule__UnaryOperation__Group_1_1_0_0_21__1__Impl )
            // InternalRosetta.g:29026:2: rule__UnaryOperation__Group_1_1_0_0_21__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_21__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_21__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_21__1__Impl"
    // InternalRosetta.g:29032:1: rule__UnaryOperation__Group_1_1_0_0_21__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_21__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29036:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1 ) ) )
            // InternalRosetta.g:29037:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1 ) )
            {
            // InternalRosetta.g:29037:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1 ) )
            // InternalRosetta.g:29038:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_21_1()); }
            // InternalRosetta.g:29039:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1 )
            // InternalRosetta.g:29039:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_21_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_21__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22__0"
    // InternalRosetta.g:29048:1: rule__UnaryOperation__Group_1_1_0_0_22__0 : rule__UnaryOperation__Group_1_1_0_0_22__0__Impl rule__UnaryOperation__Group_1_1_0_0_22__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29052:1: ( rule__UnaryOperation__Group_1_1_0_0_22__0__Impl rule__UnaryOperation__Group_1_1_0_0_22__1 )
            // InternalRosetta.g:29053:2: rule__UnaryOperation__Group_1_1_0_0_22__0__Impl rule__UnaryOperation__Group_1_1_0_0_22__1
            {
            pushFollow(FOLLOW_145);
            rule__UnaryOperation__Group_1_1_0_0_22__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22__0__Impl"
    // InternalRosetta.g:29060:1: rule__UnaryOperation__Group_1_1_0_0_22__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29064:1: ( ( () ) )
            // InternalRosetta.g:29065:1: ( () )
            {
            // InternalRosetta.g:29065:1: ( () )
            // InternalRosetta.g:29066:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getSwitchOperationArgumentAction_1_1_0_0_22_0()); }
            // InternalRosetta.g:29067:2: ()
            // InternalRosetta.g:29067:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getSwitchOperationArgumentAction_1_1_0_0_22_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22__1"
    // InternalRosetta.g:29075:1: rule__UnaryOperation__Group_1_1_0_0_22__1 : rule__UnaryOperation__Group_1_1_0_0_22__1__Impl rule__UnaryOperation__Group_1_1_0_0_22__2 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29079:1: ( rule__UnaryOperation__Group_1_1_0_0_22__1__Impl rule__UnaryOperation__Group_1_1_0_0_22__2 )
            // InternalRosetta.g:29080:2: rule__UnaryOperation__Group_1_1_0_0_22__1__Impl rule__UnaryOperation__Group_1_1_0_0_22__2
            {
            pushFollow(FOLLOW_146);
            rule__UnaryOperation__Group_1_1_0_0_22__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22__1__Impl"
    // InternalRosetta.g:29087:1: rule__UnaryOperation__Group_1_1_0_0_22__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29091:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1 ) ) )
            // InternalRosetta.g:29092:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1 ) )
            {
            // InternalRosetta.g:29092:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1 ) )
            // InternalRosetta.g:29093:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_22_1()); }
            // InternalRosetta.g:29094:2: ( rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1 )
            // InternalRosetta.g:29094:3: rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_0_0_22_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22__2"
    // InternalRosetta.g:29102:1: rule__UnaryOperation__Group_1_1_0_0_22__2 : rule__UnaryOperation__Group_1_1_0_0_22__2__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29106:1: ( rule__UnaryOperation__Group_1_1_0_0_22__2__Impl )
            // InternalRosetta.g:29107:2: rule__UnaryOperation__Group_1_1_0_0_22__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22__2__Impl"
    // InternalRosetta.g:29113:1: rule__UnaryOperation__Group_1_1_0_0_22__2__Impl : ( ( rule__UnaryOperation__Alternatives_1_1_0_0_22_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29117:1: ( ( ( rule__UnaryOperation__Alternatives_1_1_0_0_22_2 ) ) )
            // InternalRosetta.g:29118:1: ( ( rule__UnaryOperation__Alternatives_1_1_0_0_22_2 ) )
            {
            // InternalRosetta.g:29118:1: ( ( rule__UnaryOperation__Alternatives_1_1_0_0_22_2 ) )
            // InternalRosetta.g:29119:2: ( rule__UnaryOperation__Alternatives_1_1_0_0_22_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1_0_0_22_2()); }
            // InternalRosetta.g:29120:2: ( rule__UnaryOperation__Alternatives_1_1_0_0_22_2 )
            // InternalRosetta.g:29120:3: rule__UnaryOperation__Alternatives_1_1_0_0_22_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_1_1_0_0_22_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1_0_0_22_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0__0"
    // InternalRosetta.g:29129:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0__0 : rule__UnaryOperation__Group_1_1_0_0_22_2_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29133:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0__1 )
            // InternalRosetta.g:29134:2: rule__UnaryOperation__Group_1_1_0_0_22_2_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0__1
            {
            pushFollow(FOLLOW_41);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0__0__Impl"
    // InternalRosetta.g:29141:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0__0__Impl : ( ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29145:1: ( ( ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0 ) ) )
            // InternalRosetta.g:29146:1: ( ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0 ) )
            {
            // InternalRosetta.g:29146:1: ( ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0 ) )
            // InternalRosetta.g:29147:2: ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesAssignment_1_1_0_0_22_2_0_0()); }
            // InternalRosetta.g:29148:2: ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0 )
            // InternalRosetta.g:29148:3: rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesAssignment_1_1_0_0_22_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0__1"
    // InternalRosetta.g:29156:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0__1 : rule__UnaryOperation__Group_1_1_0_0_22_2_0__1__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0__2 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29160:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0__1__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0__2 )
            // InternalRosetta.g:29161:2: rule__UnaryOperation__Group_1_1_0_0_22_2_0__1__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0__2
            {
            pushFollow(FOLLOW_41);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0__1__Impl"
    // InternalRosetta.g:29168:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0__1__Impl : ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0 )* ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29172:1: ( ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0 )* ) )
            // InternalRosetta.g:29173:1: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0 )* )
            {
            // InternalRosetta.g:29173:1: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0 )* )
            // InternalRosetta.g:29174:2: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_0_1()); }
            // InternalRosetta.g:29175:2: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0 )*
            loop261:
            do {
                int alt261=2;
                int LA261_0 = input.LA(1);
                if ( (LA261_0==40) ) {
                    int LA261_1 = input.LA(2);
                    if ( (synpred396_InternalRosetta()) ) {
                        alt261=1;
                    }
                }
                switch (alt261) {
            	case 1 :
            	    // InternalRosetta.g:29175:3: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop261;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0__2"
    // InternalRosetta.g:29183:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0__2 : rule__UnaryOperation__Group_1_1_0_0_22_2_0__2__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29187:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0__2__Impl )
            // InternalRosetta.g:29188:2: rule__UnaryOperation__Group_1_1_0_0_22_2_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0__2__Impl"
    // InternalRosetta.g:29194:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0__2__Impl : ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0 )? ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29198:1: ( ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0 )? ) )
            // InternalRosetta.g:29199:1: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0 )? )
            {
            // InternalRosetta.g:29199:1: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0 )? )
            // InternalRosetta.g:29200:2: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_0_2()); }
            // InternalRosetta.g:29201:2: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0 )?
            int alt262=2;
            int LA262_0 = input.LA(1);
            if ( (LA262_0==40) ) {
                int LA262_1 = input.LA(2);
                if ( (synpred397_InternalRosetta()) ) {
                    alt262=1;
                }}
            switch (alt262) {
                case 1 :
                    // InternalRosetta.g:29201:3: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0"
    // InternalRosetta.g:29210:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0 : rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29214:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0__Impl )
            // InternalRosetta.g:29215:2: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0__Impl"
    // InternalRosetta.g:29221:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0__Impl : ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29225:1: ( ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0 ) ) )
            // InternalRosetta.g:29226:1: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0 ) )
            {
            // InternalRosetta.g:29226:1: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0 ) )
            // InternalRosetta.g:29227:2: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_0_1_0()); }
            // InternalRosetta.g:29228:2: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0 )
            // InternalRosetta.g:29228:3: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0"
    // InternalRosetta.g:29237:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0 : rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29241:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1 )
            // InternalRosetta.g:29242:2: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1
            {
            pushFollow(FOLLOW_73);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0__Impl"
    // InternalRosetta.g:29249:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0__Impl : ( ',' ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29253:1: ( ( ',' ) )
            // InternalRosetta.g:29254:1: ( ',' )
            {
            // InternalRosetta.g:29254:1: ( ',' )
            // InternalRosetta.g:29255:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_1_0_0_22_2_0_1_0_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_1_0_0_22_2_0_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1"
    // InternalRosetta.g:29264:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1 : rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29268:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1__Impl )
            // InternalRosetta.g:29269:2: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1__Impl"
    // InternalRosetta.g:29275:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1__Impl : ( ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29279:1: ( ( ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1 ) ) )
            // InternalRosetta.g:29280:1: ( ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1 ) )
            {
            // InternalRosetta.g:29280:1: ( ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1 ) )
            // InternalRosetta.g:29281:2: ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesAssignment_1_1_0_0_22_2_0_1_0_1()); }
            // InternalRosetta.g:29282:2: ( rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1 )
            // InternalRosetta.g:29282:3: rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesAssignment_1_1_0_0_22_2_0_1_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_1_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0"
    // InternalRosetta.g:29291:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0 : rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29295:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0__Impl )
            // InternalRosetta.g:29296:2: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0__Impl"
    // InternalRosetta.g:29302:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0__Impl : ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29306:1: ( ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0 ) ) )
            // InternalRosetta.g:29307:1: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0 ) )
            {
            // InternalRosetta.g:29307:1: ( ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0 ) )
            // InternalRosetta.g:29308:2: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_0_2_0()); }
            // InternalRosetta.g:29309:2: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0 )
            // InternalRosetta.g:29309:3: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_0_0_22_2_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0"
    // InternalRosetta.g:29318:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0 : rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29322:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1 )
            // InternalRosetta.g:29323:2: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1
            {
            pushFollow(FOLLOW_121);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0__Impl"
    // InternalRosetta.g:29330:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0__Impl : ( ',' ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29334:1: ( ( ',' ) )
            // InternalRosetta.g:29335:1: ( ',' )
            {
            // InternalRosetta.g:29335:1: ( ',' )
            // InternalRosetta.g:29336:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_1_0_0_22_2_0_2_0_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCommaKeyword_1_1_0_0_22_2_0_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1"
    // InternalRosetta.g:29345:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1 : rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29349:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2 )
            // InternalRosetta.g:29350:2: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2
            {
            pushFollow(FOLLOW_34);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1__Impl"
    // InternalRosetta.g:29357:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1__Impl : ( 'default' ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29361:1: ( ( 'default' ) )
            // InternalRosetta.g:29362:1: ( 'default' )
            {
            // InternalRosetta.g:29362:1: ( 'default' )
            // InternalRosetta.g:29363:2: 'default'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_1_1_0_0_22_2_0_2_0_1()); }
            match(input,119,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_1_1_0_0_22_2_0_2_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2"
    // InternalRosetta.g:29372:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2 : rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29376:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2__Impl )
            // InternalRosetta.g:29377:2: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2__Impl"
    // InternalRosetta.g:29383:1: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2__Impl : ( ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29387:1: ( ( ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2 ) ) )
            // InternalRosetta.g:29388:1: ( ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2 ) )
            {
            // InternalRosetta.g:29388:1: ( ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2 ) )
            // InternalRosetta.g:29389:2: ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_1_1_0_0_22_2_0_2_0_2()); }
            // InternalRosetta.g:29390:2: ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2 )
            // InternalRosetta.g:29390:3: rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_1_1_0_0_22_2_0_2_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_0_2_0__2__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_1__0"
    // InternalRosetta.g:29399:1: rule__UnaryOperation__Group_1_1_0_0_22_2_1__0 : rule__UnaryOperation__Group_1_1_0_0_22_2_1__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_1__1 ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29403:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_1__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_1__1 )
            // InternalRosetta.g:29404:2: rule__UnaryOperation__Group_1_1_0_0_22_2_1__0__Impl rule__UnaryOperation__Group_1_1_0_0_22_2_1__1
            {
            pushFollow(FOLLOW_34);
            rule__UnaryOperation__Group_1_1_0_0_22_2_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_1__0__Impl"
    // InternalRosetta.g:29411:1: rule__UnaryOperation__Group_1_1_0_0_22_2_1__0__Impl : ( 'default' ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29415:1: ( ( 'default' ) )
            // InternalRosetta.g:29416:1: ( 'default' )
            {
            // InternalRosetta.g:29416:1: ( 'default' )
            // InternalRosetta.g:29417:2: 'default'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_1_1_0_0_22_2_1_0()); }
            match(input,119,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultKeyword_1_1_0_0_22_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_1__1"
    // InternalRosetta.g:29426:1: rule__UnaryOperation__Group_1_1_0_0_22_2_1__1 : rule__UnaryOperation__Group_1_1_0_0_22_2_1__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29430:1: ( rule__UnaryOperation__Group_1_1_0_0_22_2_1__1__Impl )
            // InternalRosetta.g:29431:2: rule__UnaryOperation__Group_1_1_0_0_22_2_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_0_0_22_2_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_0_0_22_2_1__1__Impl"
    // InternalRosetta.g:29437:1: rule__UnaryOperation__Group_1_1_0_0_22_2_1__1__Impl : ( ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_0_0_22_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29441:1: ( ( ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1 ) ) )
            // InternalRosetta.g:29442:1: ( ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1 ) )
            {
            // InternalRosetta.g:29442:1: ( ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1 ) )
            // InternalRosetta.g:29443:2: ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_1_1_0_0_22_2_1_1()); }
            // InternalRosetta.g:29444:2: ( rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1 )
            // InternalRosetta.g:29444:3: rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultAssignment_1_1_0_0_22_2_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_0_0_22_2_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1__0"
    // InternalRosetta.g:29453:1: rule__UnaryOperation__Group_1_1_1__0 : rule__UnaryOperation__Group_1_1_1__0__Impl rule__UnaryOperation__Group_1_1_1__1 ;
    public final void rule__UnaryOperation__Group_1_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29457:1: ( rule__UnaryOperation__Group_1_1_1__0__Impl rule__UnaryOperation__Group_1_1_1__1 )
            // InternalRosetta.g:29458:2: rule__UnaryOperation__Group_1_1_1__0__Impl rule__UnaryOperation__Group_1_1_1__1
            {
            pushFollow(FOLLOW_147);
            rule__UnaryOperation__Group_1_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1__0__Impl"
    // InternalRosetta.g:29465:1: rule__UnaryOperation__Group_1_1_1__0__Impl : ( ( rule__UnaryOperation__Group_1_1_1_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29469:1: ( ( ( rule__UnaryOperation__Group_1_1_1_0__0 ) ) )
            // InternalRosetta.g:29470:1: ( ( rule__UnaryOperation__Group_1_1_1_0__0 ) )
            {
            // InternalRosetta.g:29470:1: ( ( rule__UnaryOperation__Group_1_1_1_0__0 ) )
            // InternalRosetta.g:29471:2: ( rule__UnaryOperation__Group_1_1_1_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_1_0()); }
            // InternalRosetta.g:29472:2: ( rule__UnaryOperation__Group_1_1_1_0__0 )
            // InternalRosetta.g:29472:3: rule__UnaryOperation__Group_1_1_1_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_1_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1__1"
    // InternalRosetta.g:29480:1: rule__UnaryOperation__Group_1_1_1__1 : rule__UnaryOperation__Group_1_1_1__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29484:1: ( rule__UnaryOperation__Group_1_1_1__1__Impl )
            // InternalRosetta.g:29485:2: rule__UnaryOperation__Group_1_1_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1__1__Impl"
    // InternalRosetta.g:29491:1: rule__UnaryOperation__Group_1_1_1__1__Impl : ( ( rule__UnaryOperation__FunctionAssignment_1_1_1_1 )? ) ;
    public final void rule__UnaryOperation__Group_1_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29495:1: ( ( ( rule__UnaryOperation__FunctionAssignment_1_1_1_1 )? ) )
            // InternalRosetta.g:29496:1: ( ( rule__UnaryOperation__FunctionAssignment_1_1_1_1 )? )
            {
            // InternalRosetta.g:29496:1: ( ( rule__UnaryOperation__FunctionAssignment_1_1_1_1 )? )
            // InternalRosetta.g:29497:2: ( rule__UnaryOperation__FunctionAssignment_1_1_1_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_1_1_1()); }
            // InternalRosetta.g:29498:2: ( rule__UnaryOperation__FunctionAssignment_1_1_1_1 )?
            int alt263=2;
            int LA263_0 = input.LA(1);
            if ( (LA263_0==RULE_ID||LA263_0==65) ) {
                alt263=1;
            }
            switch (alt263) {
                case 1 :
                    // InternalRosetta.g:29498:3: rule__UnaryOperation__FunctionAssignment_1_1_1_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__FunctionAssignment_1_1_1_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0__0"
    // InternalRosetta.g:29507:1: rule__UnaryOperation__Group_1_1_1_0__0 : rule__UnaryOperation__Group_1_1_1_0__0__Impl ;
    public final void rule__UnaryOperation__Group_1_1_1_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29511:1: ( rule__UnaryOperation__Group_1_1_1_0__0__Impl )
            // InternalRosetta.g:29512:2: rule__UnaryOperation__Group_1_1_1_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_1_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0__0__Impl"
    // InternalRosetta.g:29518:1: rule__UnaryOperation__Group_1_1_1_0__0__Impl : ( ( rule__UnaryOperation__Alternatives_1_1_1_0_0 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29522:1: ( ( ( rule__UnaryOperation__Alternatives_1_1_1_0_0 ) ) )
            // InternalRosetta.g:29523:1: ( ( rule__UnaryOperation__Alternatives_1_1_1_0_0 ) )
            {
            // InternalRosetta.g:29523:1: ( ( rule__UnaryOperation__Alternatives_1_1_1_0_0 ) )
            // InternalRosetta.g:29524:2: ( rule__UnaryOperation__Alternatives_1_1_1_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1_1_0_0()); }
            // InternalRosetta.g:29525:2: ( rule__UnaryOperation__Alternatives_1_1_1_0_0 )
            // InternalRosetta.g:29525:3: rule__UnaryOperation__Alternatives_1_1_1_0_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_1_1_1_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_0__0"
    // InternalRosetta.g:29534:1: rule__UnaryOperation__Group_1_1_1_0_0_0__0 : rule__UnaryOperation__Group_1_1_1_0_0_0__0__Impl rule__UnaryOperation__Group_1_1_1_0_0_0__1 ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29538:1: ( rule__UnaryOperation__Group_1_1_1_0_0_0__0__Impl rule__UnaryOperation__Group_1_1_1_0_0_0__1 )
            // InternalRosetta.g:29539:2: rule__UnaryOperation__Group_1_1_1_0_0_0__0__Impl rule__UnaryOperation__Group_1_1_1_0_0_0__1
            {
            pushFollow(FOLLOW_148);
            rule__UnaryOperation__Group_1_1_1_0_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_1_0_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_0__0__Impl"
    // InternalRosetta.g:29546:1: rule__UnaryOperation__Group_1_1_1_0_0_0__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29550:1: ( ( () ) )
            // InternalRosetta.g:29551:1: ( () )
            {
            // InternalRosetta.g:29551:1: ( () )
            // InternalRosetta.g:29552:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getSortOperationArgumentAction_1_1_1_0_0_0_0()); }
            // InternalRosetta.g:29553:2: ()
            // InternalRosetta.g:29553:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getSortOperationArgumentAction_1_1_1_0_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_0__1"
    // InternalRosetta.g:29561:1: rule__UnaryOperation__Group_1_1_1_0_0_0__1 : rule__UnaryOperation__Group_1_1_1_0_0_0__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29565:1: ( rule__UnaryOperation__Group_1_1_1_0_0_0__1__Impl )
            // InternalRosetta.g:29566:2: rule__UnaryOperation__Group_1_1_1_0_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_1_0_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_0__1__Impl"
    // InternalRosetta.g:29572:1: rule__UnaryOperation__Group_1_1_1_0_0_0__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29576:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1 ) ) )
            // InternalRosetta.g:29577:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1 ) )
            {
            // InternalRosetta.g:29577:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1 ) )
            // InternalRosetta.g:29578:2: ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_1_0_0_0_1()); }
            // InternalRosetta.g:29579:2: ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1 )
            // InternalRosetta.g:29579:3: rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_1_0_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_1__0"
    // InternalRosetta.g:29588:1: rule__UnaryOperation__Group_1_1_1_0_0_1__0 : rule__UnaryOperation__Group_1_1_1_0_0_1__0__Impl rule__UnaryOperation__Group_1_1_1_0_0_1__1 ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29592:1: ( rule__UnaryOperation__Group_1_1_1_0_0_1__0__Impl rule__UnaryOperation__Group_1_1_1_0_0_1__1 )
            // InternalRosetta.g:29593:2: rule__UnaryOperation__Group_1_1_1_0_0_1__0__Impl rule__UnaryOperation__Group_1_1_1_0_0_1__1
            {
            pushFollow(FOLLOW_149);
            rule__UnaryOperation__Group_1_1_1_0_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_1_0_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_1__0__Impl"
    // InternalRosetta.g:29600:1: rule__UnaryOperation__Group_1_1_1_0_0_1__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29604:1: ( ( () ) )
            // InternalRosetta.g:29605:1: ( () )
            {
            // InternalRosetta.g:29605:1: ( () )
            // InternalRosetta.g:29606:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getMinOperationArgumentAction_1_1_1_0_0_1_0()); }
            // InternalRosetta.g:29607:2: ()
            // InternalRosetta.g:29607:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getMinOperationArgumentAction_1_1_1_0_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_1__1"
    // InternalRosetta.g:29615:1: rule__UnaryOperation__Group_1_1_1_0_0_1__1 : rule__UnaryOperation__Group_1_1_1_0_0_1__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29619:1: ( rule__UnaryOperation__Group_1_1_1_0_0_1__1__Impl )
            // InternalRosetta.g:29620:2: rule__UnaryOperation__Group_1_1_1_0_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_1_0_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_1__1__Impl"
    // InternalRosetta.g:29626:1: rule__UnaryOperation__Group_1_1_1_0_0_1__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29630:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1 ) ) )
            // InternalRosetta.g:29631:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1 ) )
            {
            // InternalRosetta.g:29631:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1 ) )
            // InternalRosetta.g:29632:2: ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_1_0_0_1_1()); }
            // InternalRosetta.g:29633:2: ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1 )
            // InternalRosetta.g:29633:3: rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_1_0_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_2__0"
    // InternalRosetta.g:29642:1: rule__UnaryOperation__Group_1_1_1_0_0_2__0 : rule__UnaryOperation__Group_1_1_1_0_0_2__0__Impl rule__UnaryOperation__Group_1_1_1_0_0_2__1 ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29646:1: ( rule__UnaryOperation__Group_1_1_1_0_0_2__0__Impl rule__UnaryOperation__Group_1_1_1_0_0_2__1 )
            // InternalRosetta.g:29647:2: rule__UnaryOperation__Group_1_1_1_0_0_2__0__Impl rule__UnaryOperation__Group_1_1_1_0_0_2__1
            {
            pushFollow(FOLLOW_150);
            rule__UnaryOperation__Group_1_1_1_0_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_1_0_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_2__0__Impl"
    // InternalRosetta.g:29654:1: rule__UnaryOperation__Group_1_1_1_0_0_2__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29658:1: ( ( () ) )
            // InternalRosetta.g:29659:1: ( () )
            {
            // InternalRosetta.g:29659:1: ( () )
            // InternalRosetta.g:29660:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getMaxOperationArgumentAction_1_1_1_0_0_2_0()); }
            // InternalRosetta.g:29661:2: ()
            // InternalRosetta.g:29661:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getMaxOperationArgumentAction_1_1_1_0_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_2__1"
    // InternalRosetta.g:29669:1: rule__UnaryOperation__Group_1_1_1_0_0_2__1 : rule__UnaryOperation__Group_1_1_1_0_0_2__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29673:1: ( rule__UnaryOperation__Group_1_1_1_0_0_2__1__Impl )
            // InternalRosetta.g:29674:2: rule__UnaryOperation__Group_1_1_1_0_0_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_1_0_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_1_0_0_2__1__Impl"
    // InternalRosetta.g:29680:1: rule__UnaryOperation__Group_1_1_1_0_0_2__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_1_0_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29684:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1 ) ) )
            // InternalRosetta.g:29685:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1 ) )
            {
            // InternalRosetta.g:29685:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1 ) )
            // InternalRosetta.g:29686:2: ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_1_0_0_2_1()); }
            // InternalRosetta.g:29687:2: ( rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1 )
            // InternalRosetta.g:29687:3: rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_1_0_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_1_0_0_2__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2__0"
    // InternalRosetta.g:29696:1: rule__UnaryOperation__Group_1_1_2__0 : rule__UnaryOperation__Group_1_1_2__0__Impl rule__UnaryOperation__Group_1_1_2__1 ;
    public final void rule__UnaryOperation__Group_1_1_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29700:1: ( rule__UnaryOperation__Group_1_1_2__0__Impl rule__UnaryOperation__Group_1_1_2__1 )
            // InternalRosetta.g:29701:2: rule__UnaryOperation__Group_1_1_2__0__Impl rule__UnaryOperation__Group_1_1_2__1
            {
            pushFollow(FOLLOW_34);
            rule__UnaryOperation__Group_1_1_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2__0__Impl"
    // InternalRosetta.g:29708:1: rule__UnaryOperation__Group_1_1_2__0__Impl : ( ( rule__UnaryOperation__Group_1_1_2_0__0 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29712:1: ( ( ( rule__UnaryOperation__Group_1_1_2_0__0 ) ) )
            // InternalRosetta.g:29713:1: ( ( rule__UnaryOperation__Group_1_1_2_0__0 ) )
            {
            // InternalRosetta.g:29713:1: ( ( rule__UnaryOperation__Group_1_1_2_0__0 ) )
            // InternalRosetta.g:29714:2: ( rule__UnaryOperation__Group_1_1_2_0__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getGroup_1_1_2_0()); }
            // InternalRosetta.g:29715:2: ( rule__UnaryOperation__Group_1_1_2_0__0 )
            // InternalRosetta.g:29715:3: rule__UnaryOperation__Group_1_1_2_0__0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_2_0__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getGroup_1_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2__1"
    // InternalRosetta.g:29723:1: rule__UnaryOperation__Group_1_1_2__1 : rule__UnaryOperation__Group_1_1_2__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29727:1: ( rule__UnaryOperation__Group_1_1_2__1__Impl )
            // InternalRosetta.g:29728:2: rule__UnaryOperation__Group_1_1_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2__1__Impl"
    // InternalRosetta.g:29734:1: rule__UnaryOperation__Group_1_1_2__1__Impl : ( ( rule__UnaryOperation__Alternatives_1_1_2_1 )? ) ;
    public final void rule__UnaryOperation__Group_1_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29738:1: ( ( ( rule__UnaryOperation__Alternatives_1_1_2_1 )? ) )
            // InternalRosetta.g:29739:1: ( ( rule__UnaryOperation__Alternatives_1_1_2_1 )? )
            {
            // InternalRosetta.g:29739:1: ( ( rule__UnaryOperation__Alternatives_1_1_2_1 )? )
            // InternalRosetta.g:29740:2: ( rule__UnaryOperation__Alternatives_1_1_2_1 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1_2_1()); }
            // InternalRosetta.g:29741:2: ( rule__UnaryOperation__Alternatives_1_1_2_1 )?
            int alt264=2;
            alt264 = dfa264.predict(input);
            switch (alt264) {
                case 1 :
                    // InternalRosetta.g:29741:3: rule__UnaryOperation__Alternatives_1_1_2_1
                    {
                    pushFollow(FOLLOW_2);
                    rule__UnaryOperation__Alternatives_1_1_2_1();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0__0"
    // InternalRosetta.g:29750:1: rule__UnaryOperation__Group_1_1_2_0__0 : rule__UnaryOperation__Group_1_1_2_0__0__Impl ;
    public final void rule__UnaryOperation__Group_1_1_2_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29754:1: ( rule__UnaryOperation__Group_1_1_2_0__0__Impl )
            // InternalRosetta.g:29755:2: rule__UnaryOperation__Group_1_1_2_0__0__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_2_0__0__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0__0__Impl"
    // InternalRosetta.g:29761:1: rule__UnaryOperation__Group_1_1_2_0__0__Impl : ( ( rule__UnaryOperation__Alternatives_1_1_2_0_0 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_2_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29765:1: ( ( ( rule__UnaryOperation__Alternatives_1_1_2_0_0 ) ) )
            // InternalRosetta.g:29766:1: ( ( rule__UnaryOperation__Alternatives_1_1_2_0_0 ) )
            {
            // InternalRosetta.g:29766:1: ( ( rule__UnaryOperation__Alternatives_1_1_2_0_0 ) )
            // InternalRosetta.g:29767:2: ( rule__UnaryOperation__Alternatives_1_1_2_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1_2_0_0()); }
            // InternalRosetta.g:29768:2: ( rule__UnaryOperation__Alternatives_1_1_2_0_0 )
            // InternalRosetta.g:29768:3: rule__UnaryOperation__Alternatives_1_1_2_0_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Alternatives_1_1_2_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAlternatives_1_1_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_0__0"
    // InternalRosetta.g:29777:1: rule__UnaryOperation__Group_1_1_2_0_0_0__0 : rule__UnaryOperation__Group_1_1_2_0_0_0__0__Impl rule__UnaryOperation__Group_1_1_2_0_0_0__1 ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29781:1: ( rule__UnaryOperation__Group_1_1_2_0_0_0__0__Impl rule__UnaryOperation__Group_1_1_2_0_0_0__1 )
            // InternalRosetta.g:29782:2: rule__UnaryOperation__Group_1_1_2_0_0_0__0__Impl rule__UnaryOperation__Group_1_1_2_0_0_0__1
            {
            pushFollow(FOLLOW_151);
            rule__UnaryOperation__Group_1_1_2_0_0_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_2_0_0_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_0__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_0__0__Impl"
    // InternalRosetta.g:29789:1: rule__UnaryOperation__Group_1_1_2_0_0_0__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29793:1: ( ( () ) )
            // InternalRosetta.g:29794:1: ( () )
            {
            // InternalRosetta.g:29794:1: ( () )
            // InternalRosetta.g:29795:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getReduceOperationArgumentAction_1_1_2_0_0_0_0()); }
            // InternalRosetta.g:29796:2: ()
            // InternalRosetta.g:29796:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getReduceOperationArgumentAction_1_1_2_0_0_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_0__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_0__1"
    // InternalRosetta.g:29804:1: rule__UnaryOperation__Group_1_1_2_0_0_0__1 : rule__UnaryOperation__Group_1_1_2_0_0_0__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29808:1: ( rule__UnaryOperation__Group_1_1_2_0_0_0__1__Impl )
            // InternalRosetta.g:29809:2: rule__UnaryOperation__Group_1_1_2_0_0_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_2_0_0_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_0__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_0__1__Impl"
    // InternalRosetta.g:29815:1: rule__UnaryOperation__Group_1_1_2_0_0_0__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29819:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1 ) ) )
            // InternalRosetta.g:29820:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1 ) )
            {
            // InternalRosetta.g:29820:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1 ) )
            // InternalRosetta.g:29821:2: ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_2_0_0_0_1()); }
            // InternalRosetta.g:29822:2: ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1 )
            // InternalRosetta.g:29822:3: rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_2_0_0_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_0__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_1__0"
    // InternalRosetta.g:29831:1: rule__UnaryOperation__Group_1_1_2_0_0_1__0 : rule__UnaryOperation__Group_1_1_2_0_0_1__0__Impl rule__UnaryOperation__Group_1_1_2_0_0_1__1 ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29835:1: ( rule__UnaryOperation__Group_1_1_2_0_0_1__0__Impl rule__UnaryOperation__Group_1_1_2_0_0_1__1 )
            // InternalRosetta.g:29836:2: rule__UnaryOperation__Group_1_1_2_0_0_1__0__Impl rule__UnaryOperation__Group_1_1_2_0_0_1__1
            {
            pushFollow(FOLLOW_152);
            rule__UnaryOperation__Group_1_1_2_0_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_2_0_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_1__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_1__0__Impl"
    // InternalRosetta.g:29843:1: rule__UnaryOperation__Group_1_1_2_0_0_1__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29847:1: ( ( () ) )
            // InternalRosetta.g:29848:1: ( () )
            {
            // InternalRosetta.g:29848:1: ( () )
            // InternalRosetta.g:29849:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFilterOperationArgumentAction_1_1_2_0_0_1_0()); }
            // InternalRosetta.g:29850:2: ()
            // InternalRosetta.g:29850:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFilterOperationArgumentAction_1_1_2_0_0_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_1__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_1__1"
    // InternalRosetta.g:29858:1: rule__UnaryOperation__Group_1_1_2_0_0_1__1 : rule__UnaryOperation__Group_1_1_2_0_0_1__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29862:1: ( rule__UnaryOperation__Group_1_1_2_0_0_1__1__Impl )
            // InternalRosetta.g:29863:2: rule__UnaryOperation__Group_1_1_2_0_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_2_0_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_1__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_1__1__Impl"
    // InternalRosetta.g:29869:1: rule__UnaryOperation__Group_1_1_2_0_0_1__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29873:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1 ) ) )
            // InternalRosetta.g:29874:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1 ) )
            {
            // InternalRosetta.g:29874:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1 ) )
            // InternalRosetta.g:29875:2: ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_2_0_0_1_1()); }
            // InternalRosetta.g:29876:2: ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1 )
            // InternalRosetta.g:29876:3: rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_2_0_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_1__1__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_2__0"
    // InternalRosetta.g:29885:1: rule__UnaryOperation__Group_1_1_2_0_0_2__0 : rule__UnaryOperation__Group_1_1_2_0_0_2__0__Impl rule__UnaryOperation__Group_1_1_2_0_0_2__1 ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29889:1: ( rule__UnaryOperation__Group_1_1_2_0_0_2__0__Impl rule__UnaryOperation__Group_1_1_2_0_0_2__1 )
            // InternalRosetta.g:29890:2: rule__UnaryOperation__Group_1_1_2_0_0_2__0__Impl rule__UnaryOperation__Group_1_1_2_0_0_2__1
            {
            pushFollow(FOLLOW_122);
            rule__UnaryOperation__Group_1_1_2_0_0_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_2_0_0_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_2__0"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_2__0__Impl"
    // InternalRosetta.g:29897:1: rule__UnaryOperation__Group_1_1_2_0_0_2__0__Impl : ( () ) ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29901:1: ( ( () ) )
            // InternalRosetta.g:29902:1: ( () )
            {
            // InternalRosetta.g:29902:1: ( () )
            // InternalRosetta.g:29903:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getMapOperationArgumentAction_1_1_2_0_0_2_0()); }
            // InternalRosetta.g:29904:2: ()
            // InternalRosetta.g:29904:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getMapOperationArgumentAction_1_1_2_0_0_2_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_2__0__Impl"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_2__1"
    // InternalRosetta.g:29912:1: rule__UnaryOperation__Group_1_1_2_0_0_2__1 : rule__UnaryOperation__Group_1_1_2_0_0_2__1__Impl ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29916:1: ( rule__UnaryOperation__Group_1_1_2_0_0_2__1__Impl )
            // InternalRosetta.g:29917:2: rule__UnaryOperation__Group_1_1_2_0_0_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__Group_1_1_2_0_0_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_2__1"
    // $ANTLR start "rule__UnaryOperation__Group_1_1_2_0_0_2__1__Impl"
    // InternalRosetta.g:29923:1: rule__UnaryOperation__Group_1_1_2_0_0_2__1__Impl : ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1 ) ) ;
    public final void rule__UnaryOperation__Group_1_1_2_0_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29927:1: ( ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1 ) ) )
            // InternalRosetta.g:29928:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1 ) )
            {
            // InternalRosetta.g:29928:1: ( ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1 ) )
            // InternalRosetta.g:29929:2: ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_2_0_0_2_1()); }
            // InternalRosetta.g:29930:2: ( rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1 )
            // InternalRosetta.g:29930:3: rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAssignment_1_1_2_0_0_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__Group_1_1_2_0_0_2__1__Impl"
    // $ANTLR start "rule__RosettaCalcPrimary__Group_7__0"
    // InternalRosetta.g:29939:1: rule__RosettaCalcPrimary__Group_7__0 : rule__RosettaCalcPrimary__Group_7__0__Impl rule__RosettaCalcPrimary__Group_7__1 ;
    public final void rule__RosettaCalcPrimary__Group_7__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29943:1: ( rule__RosettaCalcPrimary__Group_7__0__Impl rule__RosettaCalcPrimary__Group_7__1 )
            // InternalRosetta.g:29944:2: rule__RosettaCalcPrimary__Group_7__0__Impl rule__RosettaCalcPrimary__Group_7__1
            {
            pushFollow(FOLLOW_34);
            rule__RosettaCalcPrimary__Group_7__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcPrimary__Group_7__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcPrimary__Group_7__0"
    // $ANTLR start "rule__RosettaCalcPrimary__Group_7__0__Impl"
    // InternalRosetta.g:29951:1: rule__RosettaCalcPrimary__Group_7__0__Impl : ( '(' ) ;
    public final void rule__RosettaCalcPrimary__Group_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29955:1: ( ( '(' ) )
            // InternalRosetta.g:29956:1: ( '(' )
            {
            // InternalRosetta.g:29956:1: ( '(' )
            // InternalRosetta.g:29957:2: '('
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcPrimaryAccess().getLeftParenthesisKeyword_7_0()); }
            match(input,73,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcPrimaryAccess().getLeftParenthesisKeyword_7_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcPrimary__Group_7__0__Impl"
    // $ANTLR start "rule__RosettaCalcPrimary__Group_7__1"
    // InternalRosetta.g:29966:1: rule__RosettaCalcPrimary__Group_7__1 : rule__RosettaCalcPrimary__Group_7__1__Impl rule__RosettaCalcPrimary__Group_7__2 ;
    public final void rule__RosettaCalcPrimary__Group_7__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29970:1: ( rule__RosettaCalcPrimary__Group_7__1__Impl rule__RosettaCalcPrimary__Group_7__2 )
            // InternalRosetta.g:29971:2: rule__RosettaCalcPrimary__Group_7__1__Impl rule__RosettaCalcPrimary__Group_7__2
            {
            pushFollow(FOLLOW_33);
            rule__RosettaCalcPrimary__Group_7__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcPrimary__Group_7__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcPrimary__Group_7__1"
    // $ANTLR start "rule__RosettaCalcPrimary__Group_7__1__Impl"
    // InternalRosetta.g:29978:1: rule__RosettaCalcPrimary__Group_7__1__Impl : ( ruleRosettaCalcExpression ) ;
    public final void rule__RosettaCalcPrimary__Group_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29982:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:29983:1: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:29983:1: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:29984:2: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaCalcExpressionParserRuleCall_7_1()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaCalcExpressionParserRuleCall_7_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcPrimary__Group_7__1__Impl"
    // $ANTLR start "rule__RosettaCalcPrimary__Group_7__2"
    // InternalRosetta.g:29993:1: rule__RosettaCalcPrimary__Group_7__2 : rule__RosettaCalcPrimary__Group_7__2__Impl ;
    public final void rule__RosettaCalcPrimary__Group_7__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:29997:1: ( rule__RosettaCalcPrimary__Group_7__2__Impl )
            // InternalRosetta.g:29998:2: rule__RosettaCalcPrimary__Group_7__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcPrimary__Group_7__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcPrimary__Group_7__2"
    // $ANTLR start "rule__RosettaCalcPrimary__Group_7__2__Impl"
    // InternalRosetta.g:30004:1: rule__RosettaCalcPrimary__Group_7__2__Impl : ( ')' ) ;
    public final void rule__RosettaCalcPrimary__Group_7__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30008:1: ( ( ')' ) )
            // InternalRosetta.g:30009:1: ( ')' )
            {
            // InternalRosetta.g:30009:1: ( ')' )
            // InternalRosetta.g:30010:2: ')'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcPrimaryAccess().getRightParenthesisKeyword_7_2()); }
            match(input,74,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcPrimaryAccess().getRightParenthesisKeyword_7_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcPrimary__Group_7__2__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group__0"
    // InternalRosetta.g:30020:1: rule__RosettaCalcConstructorExpression__Group__0 : rule__RosettaCalcConstructorExpression__Group__0__Impl rule__RosettaCalcConstructorExpression__Group__1 ;
    public final void rule__RosettaCalcConstructorExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30024:1: ( rule__RosettaCalcConstructorExpression__Group__0__Impl rule__RosettaCalcConstructorExpression__Group__1 )
            // InternalRosetta.g:30025:2: rule__RosettaCalcConstructorExpression__Group__0__Impl rule__RosettaCalcConstructorExpression__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaCalcConstructorExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group__0"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group__0__Impl"
    // InternalRosetta.g:30032:1: rule__RosettaCalcConstructorExpression__Group__0__Impl : ( () ) ;
    public final void rule__RosettaCalcConstructorExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30036:1: ( ( () ) )
            // InternalRosetta.g:30037:1: ( () )
            {
            // InternalRosetta.g:30037:1: ( () )
            // InternalRosetta.g:30038:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getRosettaConstructorExpressionAction_0()); }
            // InternalRosetta.g:30039:2: ()
            // InternalRosetta.g:30039:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getRosettaConstructorExpressionAction_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group__0__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group__1"
    // InternalRosetta.g:30047:1: rule__RosettaCalcConstructorExpression__Group__1 : rule__RosettaCalcConstructorExpression__Group__1__Impl rule__RosettaCalcConstructorExpression__Group__2 ;
    public final void rule__RosettaCalcConstructorExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30051:1: ( rule__RosettaCalcConstructorExpression__Group__1__Impl rule__RosettaCalcConstructorExpression__Group__2 )
            // InternalRosetta.g:30052:2: rule__RosettaCalcConstructorExpression__Group__1__Impl rule__RosettaCalcConstructorExpression__Group__2
            {
            pushFollow(FOLLOW_49);
            rule__RosettaCalcConstructorExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group__1"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group__1__Impl"
    // InternalRosetta.g:30059:1: rule__RosettaCalcConstructorExpression__Group__1__Impl : ( ( rule__RosettaCalcConstructorExpression__TypeCallAssignment_1 ) ) ;
    public final void rule__RosettaCalcConstructorExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30063:1: ( ( ( rule__RosettaCalcConstructorExpression__TypeCallAssignment_1 ) ) )
            // InternalRosetta.g:30064:1: ( ( rule__RosettaCalcConstructorExpression__TypeCallAssignment_1 ) )
            {
            // InternalRosetta.g:30064:1: ( ( rule__RosettaCalcConstructorExpression__TypeCallAssignment_1 ) )
            // InternalRosetta.g:30065:2: ( rule__RosettaCalcConstructorExpression__TypeCallAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getTypeCallAssignment_1()); }
            // InternalRosetta.g:30066:2: ( rule__RosettaCalcConstructorExpression__TypeCallAssignment_1 )
            // InternalRosetta.g:30066:3: rule__RosettaCalcConstructorExpression__TypeCallAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__TypeCallAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getTypeCallAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group__1__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group__2"
    // InternalRosetta.g:30074:1: rule__RosettaCalcConstructorExpression__Group__2 : rule__RosettaCalcConstructorExpression__Group__2__Impl rule__RosettaCalcConstructorExpression__Group__3 ;
    public final void rule__RosettaCalcConstructorExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30078:1: ( rule__RosettaCalcConstructorExpression__Group__2__Impl rule__RosettaCalcConstructorExpression__Group__3 )
            // InternalRosetta.g:30079:2: rule__RosettaCalcConstructorExpression__Group__2__Impl rule__RosettaCalcConstructorExpression__Group__3
            {
            pushFollow(FOLLOW_154);
            rule__RosettaCalcConstructorExpression__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group__2"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group__2__Impl"
    // InternalRosetta.g:30086:1: rule__RosettaCalcConstructorExpression__Group__2__Impl : ( '{' ) ;
    public final void rule__RosettaCalcConstructorExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30090:1: ( ( '{' ) )
            // InternalRosetta.g:30091:1: ( '{' )
            {
            // InternalRosetta.g:30091:1: ( '{' )
            // InternalRosetta.g:30092:2: '{'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getLeftCurlyBracketKeyword_2()); }
            match(input,83,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getLeftCurlyBracketKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group__2__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group__3"
    // InternalRosetta.g:30101:1: rule__RosettaCalcConstructorExpression__Group__3 : rule__RosettaCalcConstructorExpression__Group__3__Impl rule__RosettaCalcConstructorExpression__Group__4 ;
    public final void rule__RosettaCalcConstructorExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30105:1: ( rule__RosettaCalcConstructorExpression__Group__3__Impl rule__RosettaCalcConstructorExpression__Group__4 )
            // InternalRosetta.g:30106:2: rule__RosettaCalcConstructorExpression__Group__3__Impl rule__RosettaCalcConstructorExpression__Group__4
            {
            pushFollow(FOLLOW_154);
            rule__RosettaCalcConstructorExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group__3"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group__3__Impl"
    // InternalRosetta.g:30113:1: rule__RosettaCalcConstructorExpression__Group__3__Impl : ( ( rule__RosettaCalcConstructorExpression__Alternatives_3 )? ) ;
    public final void rule__RosettaCalcConstructorExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30117:1: ( ( ( rule__RosettaCalcConstructorExpression__Alternatives_3 )? ) )
            // InternalRosetta.g:30118:1: ( ( rule__RosettaCalcConstructorExpression__Alternatives_3 )? )
            {
            // InternalRosetta.g:30118:1: ( ( rule__RosettaCalcConstructorExpression__Alternatives_3 )? )
            // InternalRosetta.g:30119:2: ( rule__RosettaCalcConstructorExpression__Alternatives_3 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getAlternatives_3()); }
            // InternalRosetta.g:30120:2: ( rule__RosettaCalcConstructorExpression__Alternatives_3 )?
            int alt265=2;
            int LA265_0 = input.LA(1);
            if ( (LA265_0==RULE_ID||(LA265_0>=14 && LA265_0<=18)||LA265_0==163) ) {
                alt265=1;
            }
            switch (alt265) {
                case 1 :
                    // InternalRosetta.g:30120:3: rule__RosettaCalcConstructorExpression__Alternatives_3
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcConstructorExpression__Alternatives_3();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getAlternatives_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group__3__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group__4"
    // InternalRosetta.g:30128:1: rule__RosettaCalcConstructorExpression__Group__4 : rule__RosettaCalcConstructorExpression__Group__4__Impl ;
    public final void rule__RosettaCalcConstructorExpression__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30132:1: ( rule__RosettaCalcConstructorExpression__Group__4__Impl )
            // InternalRosetta.g:30133:2: rule__RosettaCalcConstructorExpression__Group__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group__4"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group__4__Impl"
    // InternalRosetta.g:30139:1: rule__RosettaCalcConstructorExpression__Group__4__Impl : ( '}' ) ;
    public final void rule__RosettaCalcConstructorExpression__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30143:1: ( ( '}' ) )
            // InternalRosetta.g:30144:1: ( '}' )
            {
            // InternalRosetta.g:30144:1: ( '}' )
            // InternalRosetta.g:30145:2: '}'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getRightCurlyBracketKeyword_4()); }
            match(input,84,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getRightCurlyBracketKeyword_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group__4__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0__0"
    // InternalRosetta.g:30155:1: rule__RosettaCalcConstructorExpression__Group_3_0__0 : rule__RosettaCalcConstructorExpression__Group_3_0__0__Impl rule__RosettaCalcConstructorExpression__Group_3_0__1 ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30159:1: ( rule__RosettaCalcConstructorExpression__Group_3_0__0__Impl rule__RosettaCalcConstructorExpression__Group_3_0__1 )
            // InternalRosetta.g:30160:2: rule__RosettaCalcConstructorExpression__Group_3_0__0__Impl rule__RosettaCalcConstructorExpression__Group_3_0__1
            {
            pushFollow(FOLLOW_41);
            rule__RosettaCalcConstructorExpression__Group_3_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group_3_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0__0"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0__0__Impl"
    // InternalRosetta.g:30167:1: rule__RosettaCalcConstructorExpression__Group_3_0__0__Impl : ( ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0 ) ) ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30171:1: ( ( ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0 ) ) )
            // InternalRosetta.g:30172:1: ( ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0 ) )
            {
            // InternalRosetta.g:30172:1: ( ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0 ) )
            // InternalRosetta.g:30173:2: ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getValuesAssignment_3_0_0()); }
            // InternalRosetta.g:30174:2: ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0 )
            // InternalRosetta.g:30174:3: rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getValuesAssignment_3_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0__0__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0__1"
    // InternalRosetta.g:30182:1: rule__RosettaCalcConstructorExpression__Group_3_0__1 : rule__RosettaCalcConstructorExpression__Group_3_0__1__Impl rule__RosettaCalcConstructorExpression__Group_3_0__2 ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30186:1: ( rule__RosettaCalcConstructorExpression__Group_3_0__1__Impl rule__RosettaCalcConstructorExpression__Group_3_0__2 )
            // InternalRosetta.g:30187:2: rule__RosettaCalcConstructorExpression__Group_3_0__1__Impl rule__RosettaCalcConstructorExpression__Group_3_0__2
            {
            pushFollow(FOLLOW_41);
            rule__RosettaCalcConstructorExpression__Group_3_0__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group_3_0__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0__1"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0__1__Impl"
    // InternalRosetta.g:30194:1: rule__RosettaCalcConstructorExpression__Group_3_0__1__Impl : ( ( rule__RosettaCalcConstructorExpression__Group_3_0_1__0 )* ) ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30198:1: ( ( ( rule__RosettaCalcConstructorExpression__Group_3_0_1__0 )* ) )
            // InternalRosetta.g:30199:1: ( ( rule__RosettaCalcConstructorExpression__Group_3_0_1__0 )* )
            {
            // InternalRosetta.g:30199:1: ( ( rule__RosettaCalcConstructorExpression__Group_3_0_1__0 )* )
            // InternalRosetta.g:30200:2: ( rule__RosettaCalcConstructorExpression__Group_3_0_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getGroup_3_0_1()); }
            // InternalRosetta.g:30201:2: ( rule__RosettaCalcConstructorExpression__Group_3_0_1__0 )*
            loop266:
            do {
                int alt266=2;
                int LA266_0 = input.LA(1);
                if ( (LA266_0==40) ) {
                    int LA266_1 = input.LA(2);
                    if ( (LA266_1==RULE_ID||(LA266_1>=14 && LA266_1<=18)) ) {
                        alt266=1;
                    }
                }
                switch (alt266) {
            	case 1 :
            	    // InternalRosetta.g:30201:3: rule__RosettaCalcConstructorExpression__Group_3_0_1__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__RosettaCalcConstructorExpression__Group_3_0_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop266;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getGroup_3_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0__1__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0__2"
    // InternalRosetta.g:30209:1: rule__RosettaCalcConstructorExpression__Group_3_0__2 : rule__RosettaCalcConstructorExpression__Group_3_0__2__Impl ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30213:1: ( rule__RosettaCalcConstructorExpression__Group_3_0__2__Impl )
            // InternalRosetta.g:30214:2: rule__RosettaCalcConstructorExpression__Group_3_0__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group_3_0__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0__2"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0__2__Impl"
    // InternalRosetta.g:30220:1: rule__RosettaCalcConstructorExpression__Group_3_0__2__Impl : ( ( rule__RosettaCalcConstructorExpression__Alternatives_3_0_2 )? ) ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30224:1: ( ( ( rule__RosettaCalcConstructorExpression__Alternatives_3_0_2 )? ) )
            // InternalRosetta.g:30225:1: ( ( rule__RosettaCalcConstructorExpression__Alternatives_3_0_2 )? )
            {
            // InternalRosetta.g:30225:1: ( ( rule__RosettaCalcConstructorExpression__Alternatives_3_0_2 )? )
            // InternalRosetta.g:30226:2: ( rule__RosettaCalcConstructorExpression__Alternatives_3_0_2 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getAlternatives_3_0_2()); }
            // InternalRosetta.g:30227:2: ( rule__RosettaCalcConstructorExpression__Alternatives_3_0_2 )?
            int alt267=2;
            int LA267_0 = input.LA(1);
            if ( (LA267_0==40) ) {
                alt267=1;
            }
            switch (alt267) {
                case 1 :
                    // InternalRosetta.g:30227:3: rule__RosettaCalcConstructorExpression__Alternatives_3_0_2
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcConstructorExpression__Alternatives_3_0_2();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getAlternatives_3_0_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0__2__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0_1__0"
    // InternalRosetta.g:30236:1: rule__RosettaCalcConstructorExpression__Group_3_0_1__0 : rule__RosettaCalcConstructorExpression__Group_3_0_1__0__Impl rule__RosettaCalcConstructorExpression__Group_3_0_1__1 ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30240:1: ( rule__RosettaCalcConstructorExpression__Group_3_0_1__0__Impl rule__RosettaCalcConstructorExpression__Group_3_0_1__1 )
            // InternalRosetta.g:30241:2: rule__RosettaCalcConstructorExpression__Group_3_0_1__0__Impl rule__RosettaCalcConstructorExpression__Group_3_0_1__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaCalcConstructorExpression__Group_3_0_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group_3_0_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0_1__0"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0_1__0__Impl"
    // InternalRosetta.g:30248:1: rule__RosettaCalcConstructorExpression__Group_3_0_1__0__Impl : ( ',' ) ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30252:1: ( ( ',' ) )
            // InternalRosetta.g:30253:1: ( ',' )
            {
            // InternalRosetta.g:30253:1: ( ',' )
            // InternalRosetta.g:30254:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getCommaKeyword_3_0_1_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getCommaKeyword_3_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0_1__1"
    // InternalRosetta.g:30263:1: rule__RosettaCalcConstructorExpression__Group_3_0_1__1 : rule__RosettaCalcConstructorExpression__Group_3_0_1__1__Impl ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30267:1: ( rule__RosettaCalcConstructorExpression__Group_3_0_1__1__Impl )
            // InternalRosetta.g:30268:2: rule__RosettaCalcConstructorExpression__Group_3_0_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group_3_0_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0_1__1"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0_1__1__Impl"
    // InternalRosetta.g:30274:1: rule__RosettaCalcConstructorExpression__Group_3_0_1__1__Impl : ( ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1 ) ) ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30278:1: ( ( ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1 ) ) )
            // InternalRosetta.g:30279:1: ( ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1 ) )
            {
            // InternalRosetta.g:30279:1: ( ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1 ) )
            // InternalRosetta.g:30280:2: ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getValuesAssignment_3_0_1_1()); }
            // InternalRosetta.g:30281:2: ( rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1 )
            // InternalRosetta.g:30281:3: rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getValuesAssignment_3_0_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0"
    // InternalRosetta.g:30290:1: rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0 : rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0__Impl rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1 ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30294:1: ( rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0__Impl rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1 )
            // InternalRosetta.g:30295:2: rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0__Impl rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1
            {
            pushFollow(FOLLOW_155);
            rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0__Impl"
    // InternalRosetta.g:30302:1: rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0__Impl : ( ',' ) ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30306:1: ( ( ',' ) )
            // InternalRosetta.g:30307:1: ( ',' )
            {
            // InternalRosetta.g:30307:1: ( ',' )
            // InternalRosetta.g:30308:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getCommaKeyword_3_0_2_1_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getCommaKeyword_3_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0_2_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1"
    // InternalRosetta.g:30317:1: rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1 : rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1__Impl ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30321:1: ( rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1__Impl )
            // InternalRosetta.g:30322:2: rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1__Impl"
    // InternalRosetta.g:30328:1: rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1__Impl : ( ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1 ) ) ;
    public final void rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30332:1: ( ( ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1 ) ) )
            // InternalRosetta.g:30333:1: ( ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1 ) )
            {
            // InternalRosetta.g:30333:1: ( ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1 ) )
            // InternalRosetta.g:30334:2: ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyAssignment_3_0_2_1_1()); }
            // InternalRosetta.g:30335:2: ( rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1 )
            // InternalRosetta.g:30335:3: rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyAssignment_3_0_2_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__Group_3_0_2_1__1__Impl"
    // $ANTLR start "rule__ConstructorKeyValuePair__Group__0"
    // InternalRosetta.g:30344:1: rule__ConstructorKeyValuePair__Group__0 : rule__ConstructorKeyValuePair__Group__0__Impl rule__ConstructorKeyValuePair__Group__1 ;
    public final void rule__ConstructorKeyValuePair__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30348:1: ( rule__ConstructorKeyValuePair__Group__0__Impl rule__ConstructorKeyValuePair__Group__1 )
            // InternalRosetta.g:30349:2: rule__ConstructorKeyValuePair__Group__0__Impl rule__ConstructorKeyValuePair__Group__1
            {
            pushFollow(FOLLOW_16);
            rule__ConstructorKeyValuePair__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ConstructorKeyValuePair__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ConstructorKeyValuePair__Group__0"
    // $ANTLR start "rule__ConstructorKeyValuePair__Group__0__Impl"
    // InternalRosetta.g:30356:1: rule__ConstructorKeyValuePair__Group__0__Impl : ( ( rule__ConstructorKeyValuePair__KeyAssignment_0 ) ) ;
    public final void rule__ConstructorKeyValuePair__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30360:1: ( ( ( rule__ConstructorKeyValuePair__KeyAssignment_0 ) ) )
            // InternalRosetta.g:30361:1: ( ( rule__ConstructorKeyValuePair__KeyAssignment_0 ) )
            {
            // InternalRosetta.g:30361:1: ( ( rule__ConstructorKeyValuePair__KeyAssignment_0 ) )
            // InternalRosetta.g:30362:2: ( rule__ConstructorKeyValuePair__KeyAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConstructorKeyValuePairAccess().getKeyAssignment_0()); }
            // InternalRosetta.g:30363:2: ( rule__ConstructorKeyValuePair__KeyAssignment_0 )
            // InternalRosetta.g:30363:3: rule__ConstructorKeyValuePair__KeyAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__ConstructorKeyValuePair__KeyAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getConstructorKeyValuePairAccess().getKeyAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ConstructorKeyValuePair__Group__0__Impl"
    // $ANTLR start "rule__ConstructorKeyValuePair__Group__1"
    // InternalRosetta.g:30371:1: rule__ConstructorKeyValuePair__Group__1 : rule__ConstructorKeyValuePair__Group__1__Impl rule__ConstructorKeyValuePair__Group__2 ;
    public final void rule__ConstructorKeyValuePair__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30375:1: ( rule__ConstructorKeyValuePair__Group__1__Impl rule__ConstructorKeyValuePair__Group__2 )
            // InternalRosetta.g:30376:2: rule__ConstructorKeyValuePair__Group__1__Impl rule__ConstructorKeyValuePair__Group__2
            {
            pushFollow(FOLLOW_34);
            rule__ConstructorKeyValuePair__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ConstructorKeyValuePair__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ConstructorKeyValuePair__Group__1"
    // $ANTLR start "rule__ConstructorKeyValuePair__Group__1__Impl"
    // InternalRosetta.g:30383:1: rule__ConstructorKeyValuePair__Group__1__Impl : ( ':' ) ;
    public final void rule__ConstructorKeyValuePair__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30387:1: ( ( ':' ) )
            // InternalRosetta.g:30388:1: ( ':' )
            {
            // InternalRosetta.g:30388:1: ( ':' )
            // InternalRosetta.g:30389:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConstructorKeyValuePairAccess().getColonKeyword_1()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getConstructorKeyValuePairAccess().getColonKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ConstructorKeyValuePair__Group__1__Impl"
    // $ANTLR start "rule__ConstructorKeyValuePair__Group__2"
    // InternalRosetta.g:30398:1: rule__ConstructorKeyValuePair__Group__2 : rule__ConstructorKeyValuePair__Group__2__Impl ;
    public final void rule__ConstructorKeyValuePair__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30402:1: ( rule__ConstructorKeyValuePair__Group__2__Impl )
            // InternalRosetta.g:30403:2: rule__ConstructorKeyValuePair__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ConstructorKeyValuePair__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ConstructorKeyValuePair__Group__2"
    // $ANTLR start "rule__ConstructorKeyValuePair__Group__2__Impl"
    // InternalRosetta.g:30409:1: rule__ConstructorKeyValuePair__Group__2__Impl : ( ( rule__ConstructorKeyValuePair__ValueAssignment_2 ) ) ;
    public final void rule__ConstructorKeyValuePair__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30413:1: ( ( ( rule__ConstructorKeyValuePair__ValueAssignment_2 ) ) )
            // InternalRosetta.g:30414:1: ( ( rule__ConstructorKeyValuePair__ValueAssignment_2 ) )
            {
            // InternalRosetta.g:30414:1: ( ( rule__ConstructorKeyValuePair__ValueAssignment_2 ) )
            // InternalRosetta.g:30415:2: ( rule__ConstructorKeyValuePair__ValueAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConstructorKeyValuePairAccess().getValueAssignment_2()); }
            // InternalRosetta.g:30416:2: ( rule__ConstructorKeyValuePair__ValueAssignment_2 )
            // InternalRosetta.g:30416:3: rule__ConstructorKeyValuePair__ValueAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__ConstructorKeyValuePair__ValueAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getConstructorKeyValuePairAccess().getValueAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ConstructorKeyValuePair__Group__2__Impl"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__0"
    // InternalRosetta.g:30425:1: rule__RosettaCalcConditionalExpression__Group__0 : rule__RosettaCalcConditionalExpression__Group__0__Impl rule__RosettaCalcConditionalExpression__Group__1 ;
    public final void rule__RosettaCalcConditionalExpression__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30429:1: ( rule__RosettaCalcConditionalExpression__Group__0__Impl rule__RosettaCalcConditionalExpression__Group__1 )
            // InternalRosetta.g:30430:2: rule__RosettaCalcConditionalExpression__Group__0__Impl rule__RosettaCalcConditionalExpression__Group__1
            {
            pushFollow(FOLLOW_156);
            rule__RosettaCalcConditionalExpression__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__0"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__0__Impl"
    // InternalRosetta.g:30437:1: rule__RosettaCalcConditionalExpression__Group__0__Impl : ( () ) ;
    public final void rule__RosettaCalcConditionalExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30441:1: ( ( () ) )
            // InternalRosetta.g:30442:1: ( () )
            {
            // InternalRosetta.g:30442:1: ( () )
            // InternalRosetta.g:30443:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getRosettaConditionalExpressionAction_0()); }
            // InternalRosetta.g:30444:2: ()
            // InternalRosetta.g:30444:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getRosettaConditionalExpressionAction_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__0__Impl"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__1"
    // InternalRosetta.g:30452:1: rule__RosettaCalcConditionalExpression__Group__1 : rule__RosettaCalcConditionalExpression__Group__1__Impl rule__RosettaCalcConditionalExpression__Group__2 ;
    public final void rule__RosettaCalcConditionalExpression__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30456:1: ( rule__RosettaCalcConditionalExpression__Group__1__Impl rule__RosettaCalcConditionalExpression__Group__2 )
            // InternalRosetta.g:30457:2: rule__RosettaCalcConditionalExpression__Group__1__Impl rule__RosettaCalcConditionalExpression__Group__2
            {
            pushFollow(FOLLOW_34);
            rule__RosettaCalcConditionalExpression__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__1"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__1__Impl"
    // InternalRosetta.g:30464:1: rule__RosettaCalcConditionalExpression__Group__1__Impl : ( 'if' ) ;
    public final void rule__RosettaCalcConditionalExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30468:1: ( ( 'if' ) )
            // InternalRosetta.g:30469:1: ( 'if' )
            {
            // InternalRosetta.g:30469:1: ( 'if' )
            // InternalRosetta.g:30470:2: 'if'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getIfKeyword_1()); }
            match(input,120,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getIfKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__1__Impl"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__2"
    // InternalRosetta.g:30479:1: rule__RosettaCalcConditionalExpression__Group__2 : rule__RosettaCalcConditionalExpression__Group__2__Impl rule__RosettaCalcConditionalExpression__Group__3 ;
    public final void rule__RosettaCalcConditionalExpression__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30483:1: ( rule__RosettaCalcConditionalExpression__Group__2__Impl rule__RosettaCalcConditionalExpression__Group__3 )
            // InternalRosetta.g:30484:2: rule__RosettaCalcConditionalExpression__Group__2__Impl rule__RosettaCalcConditionalExpression__Group__3
            {
            pushFollow(FOLLOW_101);
            rule__RosettaCalcConditionalExpression__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__2"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__2__Impl"
    // InternalRosetta.g:30491:1: rule__RosettaCalcConditionalExpression__Group__2__Impl : ( ( rule__RosettaCalcConditionalExpression__IfAssignment_2 ) ) ;
    public final void rule__RosettaCalcConditionalExpression__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30495:1: ( ( ( rule__RosettaCalcConditionalExpression__IfAssignment_2 ) ) )
            // InternalRosetta.g:30496:1: ( ( rule__RosettaCalcConditionalExpression__IfAssignment_2 ) )
            {
            // InternalRosetta.g:30496:1: ( ( rule__RosettaCalcConditionalExpression__IfAssignment_2 ) )
            // InternalRosetta.g:30497:2: ( rule__RosettaCalcConditionalExpression__IfAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getIfAssignment_2()); }
            // InternalRosetta.g:30498:2: ( rule__RosettaCalcConditionalExpression__IfAssignment_2 )
            // InternalRosetta.g:30498:3: rule__RosettaCalcConditionalExpression__IfAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__IfAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getIfAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__2__Impl"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__3"
    // InternalRosetta.g:30506:1: rule__RosettaCalcConditionalExpression__Group__3 : rule__RosettaCalcConditionalExpression__Group__3__Impl rule__RosettaCalcConditionalExpression__Group__4 ;
    public final void rule__RosettaCalcConditionalExpression__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30510:1: ( rule__RosettaCalcConditionalExpression__Group__3__Impl rule__RosettaCalcConditionalExpression__Group__4 )
            // InternalRosetta.g:30511:2: rule__RosettaCalcConditionalExpression__Group__3__Impl rule__RosettaCalcConditionalExpression__Group__4
            {
            pushFollow(FOLLOW_34);
            rule__RosettaCalcConditionalExpression__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__3"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__3__Impl"
    // InternalRosetta.g:30518:1: rule__RosettaCalcConditionalExpression__Group__3__Impl : ( 'then' ) ;
    public final void rule__RosettaCalcConditionalExpression__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30522:1: ( ( 'then' ) )
            // InternalRosetta.g:30523:1: ( 'then' )
            {
            // InternalRosetta.g:30523:1: ( 'then' )
            // InternalRosetta.g:30524:2: 'then'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getThenKeyword_3()); }
            match(input,117,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getThenKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__3__Impl"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__4"
    // InternalRosetta.g:30533:1: rule__RosettaCalcConditionalExpression__Group__4 : rule__RosettaCalcConditionalExpression__Group__4__Impl rule__RosettaCalcConditionalExpression__Group__5 ;
    public final void rule__RosettaCalcConditionalExpression__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30537:1: ( rule__RosettaCalcConditionalExpression__Group__4__Impl rule__RosettaCalcConditionalExpression__Group__5 )
            // InternalRosetta.g:30538:2: rule__RosettaCalcConditionalExpression__Group__4__Impl rule__RosettaCalcConditionalExpression__Group__5
            {
            pushFollow(FOLLOW_157);
            rule__RosettaCalcConditionalExpression__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__4"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__4__Impl"
    // InternalRosetta.g:30545:1: rule__RosettaCalcConditionalExpression__Group__4__Impl : ( ( rule__RosettaCalcConditionalExpression__IfthenAssignment_4 ) ) ;
    public final void rule__RosettaCalcConditionalExpression__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30549:1: ( ( ( rule__RosettaCalcConditionalExpression__IfthenAssignment_4 ) ) )
            // InternalRosetta.g:30550:1: ( ( rule__RosettaCalcConditionalExpression__IfthenAssignment_4 ) )
            {
            // InternalRosetta.g:30550:1: ( ( rule__RosettaCalcConditionalExpression__IfthenAssignment_4 ) )
            // InternalRosetta.g:30551:2: ( rule__RosettaCalcConditionalExpression__IfthenAssignment_4 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getIfthenAssignment_4()); }
            // InternalRosetta.g:30552:2: ( rule__RosettaCalcConditionalExpression__IfthenAssignment_4 )
            // InternalRosetta.g:30552:3: rule__RosettaCalcConditionalExpression__IfthenAssignment_4
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__IfthenAssignment_4(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getIfthenAssignment_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__4__Impl"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__5"
    // InternalRosetta.g:30560:1: rule__RosettaCalcConditionalExpression__Group__5 : rule__RosettaCalcConditionalExpression__Group__5__Impl ;
    public final void rule__RosettaCalcConditionalExpression__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30564:1: ( rule__RosettaCalcConditionalExpression__Group__5__Impl )
            // InternalRosetta.g:30565:2: rule__RosettaCalcConditionalExpression__Group__5__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__5"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group__5__Impl"
    // InternalRosetta.g:30571:1: rule__RosettaCalcConditionalExpression__Group__5__Impl : ( ( rule__RosettaCalcConditionalExpression__Group_5__0 )? ) ;
    public final void rule__RosettaCalcConditionalExpression__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30575:1: ( ( ( rule__RosettaCalcConditionalExpression__Group_5__0 )? ) )
            // InternalRosetta.g:30576:1: ( ( rule__RosettaCalcConditionalExpression__Group_5__0 )? )
            {
            // InternalRosetta.g:30576:1: ( ( rule__RosettaCalcConditionalExpression__Group_5__0 )? )
            // InternalRosetta.g:30577:2: ( rule__RosettaCalcConditionalExpression__Group_5__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getGroup_5()); }
            // InternalRosetta.g:30578:2: ( rule__RosettaCalcConditionalExpression__Group_5__0 )?
            int alt268=2;
            int LA268_0 = input.LA(1);
            if ( (LA268_0==164) ) {
                int LA268_1 = input.LA(2);
                if ( (synpred403_InternalRosetta()) ) {
                    alt268=1;
                }}
            switch (alt268) {
                case 1 :
                    // InternalRosetta.g:30578:3: rule__RosettaCalcConditionalExpression__Group_5__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaCalcConditionalExpression__Group_5__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getGroup_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group__5__Impl"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group_5__0"
    // InternalRosetta.g:30587:1: rule__RosettaCalcConditionalExpression__Group_5__0 : rule__RosettaCalcConditionalExpression__Group_5__0__Impl rule__RosettaCalcConditionalExpression__Group_5__1 ;
    public final void rule__RosettaCalcConditionalExpression__Group_5__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30591:1: ( rule__RosettaCalcConditionalExpression__Group_5__0__Impl rule__RosettaCalcConditionalExpression__Group_5__1 )
            // InternalRosetta.g:30592:2: rule__RosettaCalcConditionalExpression__Group_5__0__Impl rule__RosettaCalcConditionalExpression__Group_5__1
            {
            pushFollow(FOLLOW_34);
            rule__RosettaCalcConditionalExpression__Group_5__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__Group_5__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group_5__0"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group_5__0__Impl"
    // InternalRosetta.g:30599:1: rule__RosettaCalcConditionalExpression__Group_5__0__Impl : ( ( rule__RosettaCalcConditionalExpression__FullAssignment_5_0 ) ) ;
    public final void rule__RosettaCalcConditionalExpression__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30603:1: ( ( ( rule__RosettaCalcConditionalExpression__FullAssignment_5_0 ) ) )
            // InternalRosetta.g:30604:1: ( ( rule__RosettaCalcConditionalExpression__FullAssignment_5_0 ) )
            {
            // InternalRosetta.g:30604:1: ( ( rule__RosettaCalcConditionalExpression__FullAssignment_5_0 ) )
            // InternalRosetta.g:30605:2: ( rule__RosettaCalcConditionalExpression__FullAssignment_5_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getFullAssignment_5_0()); }
            // InternalRosetta.g:30606:2: ( rule__RosettaCalcConditionalExpression__FullAssignment_5_0 )
            // InternalRosetta.g:30606:3: rule__RosettaCalcConditionalExpression__FullAssignment_5_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__FullAssignment_5_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getFullAssignment_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group_5__0__Impl"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group_5__1"
    // InternalRosetta.g:30614:1: rule__RosettaCalcConditionalExpression__Group_5__1 : rule__RosettaCalcConditionalExpression__Group_5__1__Impl ;
    public final void rule__RosettaCalcConditionalExpression__Group_5__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30618:1: ( rule__RosettaCalcConditionalExpression__Group_5__1__Impl )
            // InternalRosetta.g:30619:2: rule__RosettaCalcConditionalExpression__Group_5__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__Group_5__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group_5__1"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__Group_5__1__Impl"
    // InternalRosetta.g:30625:1: rule__RosettaCalcConditionalExpression__Group_5__1__Impl : ( ( rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1 ) ) ;
    public final void rule__RosettaCalcConditionalExpression__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30629:1: ( ( ( rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1 ) ) )
            // InternalRosetta.g:30630:1: ( ( rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1 ) )
            {
            // InternalRosetta.g:30630:1: ( ( rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1 ) )
            // InternalRosetta.g:30631:2: ( rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getElsethenAssignment_5_1()); }
            // InternalRosetta.g:30632:2: ( rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1 )
            // InternalRosetta.g:30632:3: rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getElsethenAssignment_5_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__Group_5__1__Impl"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group__0"
    // InternalRosetta.g:30641:1: rule__RosettaCalcOnlyExists__Group__0 : rule__RosettaCalcOnlyExists__Group__0__Impl rule__RosettaCalcOnlyExists__Group__1 ;
    public final void rule__RosettaCalcOnlyExists__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30645:1: ( rule__RosettaCalcOnlyExists__Group__0__Impl rule__RosettaCalcOnlyExists__Group__1 )
            // InternalRosetta.g:30646:2: rule__RosettaCalcOnlyExists__Group__0__Impl rule__RosettaCalcOnlyExists__Group__1
            {
            pushFollow(FOLLOW_158);
            rule__RosettaCalcOnlyExists__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group__0"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group__0__Impl"
    // InternalRosetta.g:30653:1: rule__RosettaCalcOnlyExists__Group__0__Impl : ( () ) ;
    public final void rule__RosettaCalcOnlyExists__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30657:1: ( ( () ) )
            // InternalRosetta.g:30658:1: ( () )
            {
            // InternalRosetta.g:30658:1: ( () )
            // InternalRosetta.g:30659:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getRosettaOnlyExistsExpressionAction_0()); }
            // InternalRosetta.g:30660:2: ()
            // InternalRosetta.g:30660:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getRosettaOnlyExistsExpressionAction_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group__0__Impl"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group__1"
    // InternalRosetta.g:30668:1: rule__RosettaCalcOnlyExists__Group__1 : rule__RosettaCalcOnlyExists__Group__1__Impl rule__RosettaCalcOnlyExists__Group__2 ;
    public final void rule__RosettaCalcOnlyExists__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30672:1: ( rule__RosettaCalcOnlyExists__Group__1__Impl rule__RosettaCalcOnlyExists__Group__2 )
            // InternalRosetta.g:30673:2: rule__RosettaCalcOnlyExists__Group__1__Impl rule__RosettaCalcOnlyExists__Group__2
            {
            pushFollow(FOLLOW_159);
            rule__RosettaCalcOnlyExists__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group__1"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group__1__Impl"
    // InternalRosetta.g:30680:1: rule__RosettaCalcOnlyExists__Group__1__Impl : ( ( rule__RosettaCalcOnlyExists__Alternatives_1 ) ) ;
    public final void rule__RosettaCalcOnlyExists__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30684:1: ( ( ( rule__RosettaCalcOnlyExists__Alternatives_1 ) ) )
            // InternalRosetta.g:30685:1: ( ( rule__RosettaCalcOnlyExists__Alternatives_1 ) )
            {
            // InternalRosetta.g:30685:1: ( ( rule__RosettaCalcOnlyExists__Alternatives_1 ) )
            // InternalRosetta.g:30686:2: ( rule__RosettaCalcOnlyExists__Alternatives_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getAlternatives_1()); }
            // InternalRosetta.g:30687:2: ( rule__RosettaCalcOnlyExists__Alternatives_1 )
            // InternalRosetta.g:30687:3: rule__RosettaCalcOnlyExists__Alternatives_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Alternatives_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getAlternatives_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group__1__Impl"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group__2"
    // InternalRosetta.g:30695:1: rule__RosettaCalcOnlyExists__Group__2 : rule__RosettaCalcOnlyExists__Group__2__Impl rule__RosettaCalcOnlyExists__Group__3 ;
    public final void rule__RosettaCalcOnlyExists__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30699:1: ( rule__RosettaCalcOnlyExists__Group__2__Impl rule__RosettaCalcOnlyExists__Group__3 )
            // InternalRosetta.g:30700:2: rule__RosettaCalcOnlyExists__Group__2__Impl rule__RosettaCalcOnlyExists__Group__3
            {
            pushFollow(FOLLOW_80);
            rule__RosettaCalcOnlyExists__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group__2"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group__2__Impl"
    // InternalRosetta.g:30707:1: rule__RosettaCalcOnlyExists__Group__2__Impl : ( 'only' ) ;
    public final void rule__RosettaCalcOnlyExists__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30711:1: ( ( 'only' ) )
            // InternalRosetta.g:30712:1: ( 'only' )
            {
            // InternalRosetta.g:30712:1: ( 'only' )
            // InternalRosetta.g:30713:2: 'only'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getOnlyKeyword_2()); }
            match(input,121,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getOnlyKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group__2__Impl"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group__3"
    // InternalRosetta.g:30722:1: rule__RosettaCalcOnlyExists__Group__3 : rule__RosettaCalcOnlyExists__Group__3__Impl ;
    public final void rule__RosettaCalcOnlyExists__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30726:1: ( rule__RosettaCalcOnlyExists__Group__3__Impl )
            // InternalRosetta.g:30727:2: rule__RosettaCalcOnlyExists__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group__3"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group__3__Impl"
    // InternalRosetta.g:30733:1: rule__RosettaCalcOnlyExists__Group__3__Impl : ( 'exists' ) ;
    public final void rule__RosettaCalcOnlyExists__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30737:1: ( ( 'exists' ) )
            // InternalRosetta.g:30738:1: ( 'exists' )
            {
            // InternalRosetta.g:30738:1: ( 'exists' )
            // InternalRosetta.g:30739:2: 'exists'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getExistsKeyword_3()); }
            match(input,105,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getExistsKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group__3__Impl"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1__0"
    // InternalRosetta.g:30749:1: rule__RosettaCalcOnlyExists__Group_1_1__0 : rule__RosettaCalcOnlyExists__Group_1_1__0__Impl rule__RosettaCalcOnlyExists__Group_1_1__1 ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30753:1: ( rule__RosettaCalcOnlyExists__Group_1_1__0__Impl rule__RosettaCalcOnlyExists__Group_1_1__1 )
            // InternalRosetta.g:30754:2: rule__RosettaCalcOnlyExists__Group_1_1__0__Impl rule__RosettaCalcOnlyExists__Group_1_1__1
            {
            pushFollow(FOLLOW_92);
            rule__RosettaCalcOnlyExists__Group_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Group_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1__0"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1__0__Impl"
    // InternalRosetta.g:30761:1: rule__RosettaCalcOnlyExists__Group_1_1__0__Impl : ( '(' ) ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30765:1: ( ( '(' ) )
            // InternalRosetta.g:30766:1: ( '(' )
            {
            // InternalRosetta.g:30766:1: ( '(' )
            // InternalRosetta.g:30767:2: '('
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getLeftParenthesisKeyword_1_1_0()); }
            match(input,73,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getLeftParenthesisKeyword_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1__0__Impl"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1__1"
    // InternalRosetta.g:30776:1: rule__RosettaCalcOnlyExists__Group_1_1__1 : rule__RosettaCalcOnlyExists__Group_1_1__1__Impl rule__RosettaCalcOnlyExists__Group_1_1__2 ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30780:1: ( rule__RosettaCalcOnlyExists__Group_1_1__1__Impl rule__RosettaCalcOnlyExists__Group_1_1__2 )
            // InternalRosetta.g:30781:2: rule__RosettaCalcOnlyExists__Group_1_1__1__Impl rule__RosettaCalcOnlyExists__Group_1_1__2
            {
            pushFollow(FOLLOW_45);
            rule__RosettaCalcOnlyExists__Group_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Group_1_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1__1"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1__1__Impl"
    // InternalRosetta.g:30788:1: rule__RosettaCalcOnlyExists__Group_1_1__1__Impl : ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1 ) ) ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30792:1: ( ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1 ) ) )
            // InternalRosetta.g:30793:1: ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1 ) )
            {
            // InternalRosetta.g:30793:1: ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1 ) )
            // InternalRosetta.g:30794:2: ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsAssignment_1_1_1()); }
            // InternalRosetta.g:30795:2: ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1 )
            // InternalRosetta.g:30795:3: rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsAssignment_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1__1__Impl"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1__2"
    // InternalRosetta.g:30803:1: rule__RosettaCalcOnlyExists__Group_1_1__2 : rule__RosettaCalcOnlyExists__Group_1_1__2__Impl rule__RosettaCalcOnlyExists__Group_1_1__3 ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30807:1: ( rule__RosettaCalcOnlyExists__Group_1_1__2__Impl rule__RosettaCalcOnlyExists__Group_1_1__3 )
            // InternalRosetta.g:30808:2: rule__RosettaCalcOnlyExists__Group_1_1__2__Impl rule__RosettaCalcOnlyExists__Group_1_1__3
            {
            pushFollow(FOLLOW_45);
            rule__RosettaCalcOnlyExists__Group_1_1__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Group_1_1__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1__2"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1__2__Impl"
    // InternalRosetta.g:30815:1: rule__RosettaCalcOnlyExists__Group_1_1__2__Impl : ( ( rule__RosettaCalcOnlyExists__Group_1_1_2__0 )* ) ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30819:1: ( ( ( rule__RosettaCalcOnlyExists__Group_1_1_2__0 )* ) )
            // InternalRosetta.g:30820:1: ( ( rule__RosettaCalcOnlyExists__Group_1_1_2__0 )* )
            {
            // InternalRosetta.g:30820:1: ( ( rule__RosettaCalcOnlyExists__Group_1_1_2__0 )* )
            // InternalRosetta.g:30821:2: ( rule__RosettaCalcOnlyExists__Group_1_1_2__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getGroup_1_1_2()); }
            // InternalRosetta.g:30822:2: ( rule__RosettaCalcOnlyExists__Group_1_1_2__0 )*
            loop269:
            do {
                int alt269=2;
                int LA269_0 = input.LA(1);
                if ( (LA269_0==40) ) {
                    alt269=1;
                }
                switch (alt269) {
            	case 1 :
            	    // InternalRosetta.g:30822:3: rule__RosettaCalcOnlyExists__Group_1_1_2__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__RosettaCalcOnlyExists__Group_1_1_2__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop269;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getGroup_1_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1__2__Impl"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1__3"
    // InternalRosetta.g:30830:1: rule__RosettaCalcOnlyExists__Group_1_1__3 : rule__RosettaCalcOnlyExists__Group_1_1__3__Impl ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30834:1: ( rule__RosettaCalcOnlyExists__Group_1_1__3__Impl )
            // InternalRosetta.g:30835:2: rule__RosettaCalcOnlyExists__Group_1_1__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Group_1_1__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1__3"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1__3__Impl"
    // InternalRosetta.g:30841:1: rule__RosettaCalcOnlyExists__Group_1_1__3__Impl : ( ')' ) ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30845:1: ( ( ')' ) )
            // InternalRosetta.g:30846:1: ( ')' )
            {
            // InternalRosetta.g:30846:1: ( ')' )
            // InternalRosetta.g:30847:2: ')'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getRightParenthesisKeyword_1_1_3()); }
            match(input,74,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getRightParenthesisKeyword_1_1_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1__3__Impl"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1_2__0"
    // InternalRosetta.g:30857:1: rule__RosettaCalcOnlyExists__Group_1_1_2__0 : rule__RosettaCalcOnlyExists__Group_1_1_2__0__Impl rule__RosettaCalcOnlyExists__Group_1_1_2__1 ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30861:1: ( rule__RosettaCalcOnlyExists__Group_1_1_2__0__Impl rule__RosettaCalcOnlyExists__Group_1_1_2__1 )
            // InternalRosetta.g:30862:2: rule__RosettaCalcOnlyExists__Group_1_1_2__0__Impl rule__RosettaCalcOnlyExists__Group_1_1_2__1
            {
            pushFollow(FOLLOW_92);
            rule__RosettaCalcOnlyExists__Group_1_1_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Group_1_1_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1_2__0"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1_2__0__Impl"
    // InternalRosetta.g:30869:1: rule__RosettaCalcOnlyExists__Group_1_1_2__0__Impl : ( ',' ) ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30873:1: ( ( ',' ) )
            // InternalRosetta.g:30874:1: ( ',' )
            {
            // InternalRosetta.g:30874:1: ( ',' )
            // InternalRosetta.g:30875:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getCommaKeyword_1_1_2_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getCommaKeyword_1_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1_2__0__Impl"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1_2__1"
    // InternalRosetta.g:30884:1: rule__RosettaCalcOnlyExists__Group_1_1_2__1 : rule__RosettaCalcOnlyExists__Group_1_1_2__1__Impl ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30888:1: ( rule__RosettaCalcOnlyExists__Group_1_1_2__1__Impl )
            // InternalRosetta.g:30889:2: rule__RosettaCalcOnlyExists__Group_1_1_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__Group_1_1_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1_2__1"
    // $ANTLR start "rule__RosettaCalcOnlyExists__Group_1_1_2__1__Impl"
    // InternalRosetta.g:30895:1: rule__RosettaCalcOnlyExists__Group_1_1_2__1__Impl : ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1 ) ) ;
    public final void rule__RosettaCalcOnlyExists__Group_1_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30899:1: ( ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1 ) ) )
            // InternalRosetta.g:30900:1: ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1 ) )
            {
            // InternalRosetta.g:30900:1: ( ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1 ) )
            // InternalRosetta.g:30901:2: ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsAssignment_1_1_2_1()); }
            // InternalRosetta.g:30902:2: ( rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1 )
            // InternalRosetta.g:30902:3: rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsAssignment_1_1_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__Group_1_1_2__1__Impl"
    // $ANTLR start "rule__RosettaOnlyExistsElement__Group__0"
    // InternalRosetta.g:30911:1: rule__RosettaOnlyExistsElement__Group__0 : rule__RosettaOnlyExistsElement__Group__0__Impl rule__RosettaOnlyExistsElement__Group__1 ;
    public final void rule__RosettaOnlyExistsElement__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30915:1: ( rule__RosettaOnlyExistsElement__Group__0__Impl rule__RosettaOnlyExistsElement__Group__1 )
            // InternalRosetta.g:30916:2: rule__RosettaOnlyExistsElement__Group__0__Impl rule__RosettaOnlyExistsElement__Group__1
            {
            pushFollow(FOLLOW_37);
            rule__RosettaOnlyExistsElement__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElement__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElement__Group__0"
    // $ANTLR start "rule__RosettaOnlyExistsElement__Group__0__Impl"
    // InternalRosetta.g:30923:1: rule__RosettaOnlyExistsElement__Group__0__Impl : ( ruleRosettaOnlyExistsElementRoot ) ;
    public final void rule__RosettaOnlyExistsElement__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30927:1: ( ( ruleRosettaOnlyExistsElementRoot ) )
            // InternalRosetta.g:30928:1: ( ruleRosettaOnlyExistsElementRoot )
            {
            // InternalRosetta.g:30928:1: ( ruleRosettaOnlyExistsElementRoot )
            // InternalRosetta.g:30929:2: ruleRosettaOnlyExistsElementRoot
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementAccess().getRosettaOnlyExistsElementRootParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaOnlyExistsElementRoot(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementAccess().getRosettaOnlyExistsElementRootParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElement__Group__0__Impl"
    // $ANTLR start "rule__RosettaOnlyExistsElement__Group__1"
    // InternalRosetta.g:30938:1: rule__RosettaOnlyExistsElement__Group__1 : rule__RosettaOnlyExistsElement__Group__1__Impl ;
    public final void rule__RosettaOnlyExistsElement__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30942:1: ( rule__RosettaOnlyExistsElement__Group__1__Impl )
            // InternalRosetta.g:30943:2: rule__RosettaOnlyExistsElement__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElement__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElement__Group__1"
    // $ANTLR start "rule__RosettaOnlyExistsElement__Group__1__Impl"
    // InternalRosetta.g:30949:1: rule__RosettaOnlyExistsElement__Group__1__Impl : ( ( rule__RosettaOnlyExistsElement__Group_1__0 )* ) ;
    public final void rule__RosettaOnlyExistsElement__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30953:1: ( ( ( rule__RosettaOnlyExistsElement__Group_1__0 )* ) )
            // InternalRosetta.g:30954:1: ( ( rule__RosettaOnlyExistsElement__Group_1__0 )* )
            {
            // InternalRosetta.g:30954:1: ( ( rule__RosettaOnlyExistsElement__Group_1__0 )* )
            // InternalRosetta.g:30955:2: ( rule__RosettaOnlyExistsElement__Group_1__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementAccess().getGroup_1()); }
            // InternalRosetta.g:30956:2: ( rule__RosettaOnlyExistsElement__Group_1__0 )*
            loop270:
            do {
                int alt270=2;
                int LA270_0 = input.LA(1);
                if ( (LA270_0==78) ) {
                    alt270=1;
                }
                switch (alt270) {
            	case 1 :
            	    // InternalRosetta.g:30956:3: rule__RosettaOnlyExistsElement__Group_1__0
            	    {
            	    pushFollow(FOLLOW_78);
            	    rule__RosettaOnlyExistsElement__Group_1__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop270;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElement__Group__1__Impl"
    // $ANTLR start "rule__RosettaOnlyExistsElement__Group_1__0"
    // InternalRosetta.g:30965:1: rule__RosettaOnlyExistsElement__Group_1__0 : rule__RosettaOnlyExistsElement__Group_1__0__Impl rule__RosettaOnlyExistsElement__Group_1__1 ;
    public final void rule__RosettaOnlyExistsElement__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30969:1: ( rule__RosettaOnlyExistsElement__Group_1__0__Impl rule__RosettaOnlyExistsElement__Group_1__1 )
            // InternalRosetta.g:30970:2: rule__RosettaOnlyExistsElement__Group_1__0__Impl rule__RosettaOnlyExistsElement__Group_1__1
            {
            pushFollow(FOLLOW_37);
            rule__RosettaOnlyExistsElement__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElement__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElement__Group_1__0"
    // $ANTLR start "rule__RosettaOnlyExistsElement__Group_1__0__Impl"
    // InternalRosetta.g:30977:1: rule__RosettaOnlyExistsElement__Group_1__0__Impl : ( () ) ;
    public final void rule__RosettaOnlyExistsElement__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30981:1: ( ( () ) )
            // InternalRosetta.g:30982:1: ( () )
            {
            // InternalRosetta.g:30982:1: ( () )
            // InternalRosetta.g:30983:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementAccess().getRosettaFeatureCallReceiverAction_1_0()); }
            // InternalRosetta.g:30984:2: ()
            // InternalRosetta.g:30984:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementAccess().getRosettaFeatureCallReceiverAction_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaOnlyExistsElement__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaOnlyExistsElement__Group_1__1"
    // InternalRosetta.g:30992:1: rule__RosettaOnlyExistsElement__Group_1__1 : rule__RosettaOnlyExistsElement__Group_1__1__Impl rule__RosettaOnlyExistsElement__Group_1__2 ;
    public final void rule__RosettaOnlyExistsElement__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:30996:1: ( rule__RosettaOnlyExistsElement__Group_1__1__Impl rule__RosettaOnlyExistsElement__Group_1__2 )
            // InternalRosetta.g:30997:2: rule__RosettaOnlyExistsElement__Group_1__1__Impl rule__RosettaOnlyExistsElement__Group_1__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaOnlyExistsElement__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElement__Group_1__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElement__Group_1__1"
    // $ANTLR start "rule__RosettaOnlyExistsElement__Group_1__1__Impl"
    // InternalRosetta.g:31004:1: rule__RosettaOnlyExistsElement__Group_1__1__Impl : ( '->' ) ;
    public final void rule__RosettaOnlyExistsElement__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31008:1: ( ( '->' ) )
            // InternalRosetta.g:31009:1: ( '->' )
            {
            // InternalRosetta.g:31009:1: ( '->' )
            // InternalRosetta.g:31010:2: '->'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); }
            match(input,78,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementAccess().getHyphenMinusGreaterThanSignKeyword_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElement__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaOnlyExistsElement__Group_1__2"
    // InternalRosetta.g:31019:1: rule__RosettaOnlyExistsElement__Group_1__2 : rule__RosettaOnlyExistsElement__Group_1__2__Impl ;
    public final void rule__RosettaOnlyExistsElement__Group_1__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31023:1: ( rule__RosettaOnlyExistsElement__Group_1__2__Impl )
            // InternalRosetta.g:31024:2: rule__RosettaOnlyExistsElement__Group_1__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElement__Group_1__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElement__Group_1__2"
    // $ANTLR start "rule__RosettaOnlyExistsElement__Group_1__2__Impl"
    // InternalRosetta.g:31030:1: rule__RosettaOnlyExistsElement__Group_1__2__Impl : ( ( rule__RosettaOnlyExistsElement__FeatureAssignment_1_2 ) ) ;
    public final void rule__RosettaOnlyExistsElement__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31034:1: ( ( ( rule__RosettaOnlyExistsElement__FeatureAssignment_1_2 ) ) )
            // InternalRosetta.g:31035:1: ( ( rule__RosettaOnlyExistsElement__FeatureAssignment_1_2 ) )
            {
            // InternalRosetta.g:31035:1: ( ( rule__RosettaOnlyExistsElement__FeatureAssignment_1_2 ) )
            // InternalRosetta.g:31036:2: ( rule__RosettaOnlyExistsElement__FeatureAssignment_1_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementAccess().getFeatureAssignment_1_2()); }
            // InternalRosetta.g:31037:2: ( rule__RosettaOnlyExistsElement__FeatureAssignment_1_2 )
            // InternalRosetta.g:31037:3: rule__RosettaOnlyExistsElement__FeatureAssignment_1_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElement__FeatureAssignment_1_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementAccess().getFeatureAssignment_1_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElement__Group_1__2__Impl"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__Group_0__0"
    // InternalRosetta.g:31046:1: rule__RosettaOnlyExistsElementRoot__Group_0__0 : rule__RosettaOnlyExistsElementRoot__Group_0__0__Impl rule__RosettaOnlyExistsElementRoot__Group_0__1 ;
    public final void rule__RosettaOnlyExistsElementRoot__Group_0__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31050:1: ( rule__RosettaOnlyExistsElementRoot__Group_0__0__Impl rule__RosettaOnlyExistsElementRoot__Group_0__1 )
            // InternalRosetta.g:31051:2: rule__RosettaOnlyExistsElementRoot__Group_0__0__Impl rule__RosettaOnlyExistsElementRoot__Group_0__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaOnlyExistsElementRoot__Group_0__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElementRoot__Group_0__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__Group_0__0"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__Group_0__0__Impl"
    // InternalRosetta.g:31058:1: rule__RosettaOnlyExistsElementRoot__Group_0__0__Impl : ( () ) ;
    public final void rule__RosettaOnlyExistsElementRoot__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31062:1: ( ( () ) )
            // InternalRosetta.g:31063:1: ( () )
            {
            // InternalRosetta.g:31063:1: ( () )
            // InternalRosetta.g:31064:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getRosettaSymbolReferenceAction_0_0()); }
            // InternalRosetta.g:31065:2: ()
            // InternalRosetta.g:31065:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getRosettaSymbolReferenceAction_0_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__Group_0__0__Impl"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__Group_0__1"
    // InternalRosetta.g:31073:1: rule__RosettaOnlyExistsElementRoot__Group_0__1 : rule__RosettaOnlyExistsElementRoot__Group_0__1__Impl ;
    public final void rule__RosettaOnlyExistsElementRoot__Group_0__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31077:1: ( rule__RosettaOnlyExistsElementRoot__Group_0__1__Impl )
            // InternalRosetta.g:31078:2: rule__RosettaOnlyExistsElementRoot__Group_0__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElementRoot__Group_0__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__Group_0__1"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__Group_0__1__Impl"
    // InternalRosetta.g:31084:1: rule__RosettaOnlyExistsElementRoot__Group_0__1__Impl : ( ( rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1 ) ) ;
    public final void rule__RosettaOnlyExistsElementRoot__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31088:1: ( ( ( rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1 ) ) )
            // InternalRosetta.g:31089:1: ( ( rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1 ) )
            {
            // InternalRosetta.g:31089:1: ( ( rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1 ) )
            // InternalRosetta.g:31090:2: ( rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getSymbolAssignment_0_1()); }
            // InternalRosetta.g:31091:2: ( rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1 )
            // InternalRosetta.g:31091:3: rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getSymbolAssignment_0_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__Group_0__1__Impl"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__Group_1__0"
    // InternalRosetta.g:31100:1: rule__RosettaOnlyExistsElementRoot__Group_1__0 : rule__RosettaOnlyExistsElementRoot__Group_1__0__Impl rule__RosettaOnlyExistsElementRoot__Group_1__1 ;
    public final void rule__RosettaOnlyExistsElementRoot__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31104:1: ( rule__RosettaOnlyExistsElementRoot__Group_1__0__Impl rule__RosettaOnlyExistsElementRoot__Group_1__1 )
            // InternalRosetta.g:31105:2: rule__RosettaOnlyExistsElementRoot__Group_1__0__Impl rule__RosettaOnlyExistsElementRoot__Group_1__1
            {
            pushFollow(FOLLOW_92);
            rule__RosettaOnlyExistsElementRoot__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElementRoot__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__Group_1__0"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__Group_1__0__Impl"
    // InternalRosetta.g:31112:1: rule__RosettaOnlyExistsElementRoot__Group_1__0__Impl : ( () ) ;
    public final void rule__RosettaOnlyExistsElementRoot__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31116:1: ( ( () ) )
            // InternalRosetta.g:31117:1: ( () )
            {
            // InternalRosetta.g:31117:1: ( () )
            // InternalRosetta.g:31118:2: ()
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getRosettaImplicitVariableAction_1_0()); }
            // InternalRosetta.g:31119:2: ()
            // InternalRosetta.g:31119:3: 
            {
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getRosettaImplicitVariableAction_1_0()); }}}
        }
        finally {
            	restoreStackSize(stackSize);
        }
        return ;
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__Group_1__1"
    // InternalRosetta.g:31127:1: rule__RosettaOnlyExistsElementRoot__Group_1__1 : rule__RosettaOnlyExistsElementRoot__Group_1__1__Impl ;
    public final void rule__RosettaOnlyExistsElementRoot__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31131:1: ( rule__RosettaOnlyExistsElementRoot__Group_1__1__Impl )
            // InternalRosetta.g:31132:2: rule__RosettaOnlyExistsElementRoot__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElementRoot__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__Group_1__1"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__Group_1__1__Impl"
    // InternalRosetta.g:31138:1: rule__RosettaOnlyExistsElementRoot__Group_1__1__Impl : ( ( rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1 ) ) ;
    public final void rule__RosettaOnlyExistsElementRoot__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31142:1: ( ( ( rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1 ) ) )
            // InternalRosetta.g:31143:1: ( ( rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1 ) )
            {
            // InternalRosetta.g:31143:1: ( ( rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1 ) )
            // InternalRosetta.g:31144:2: ( rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getNameAssignment_1_1()); }
            // InternalRosetta.g:31145:2: ( rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1 )
            // InternalRosetta.g:31145:3: rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getNameAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__Group_1__1__Impl"
    // $ANTLR start "rule__ExternalAnnotationSource__Group__0"
    // InternalRosetta.g:31154:1: rule__ExternalAnnotationSource__Group__0 : rule__ExternalAnnotationSource__Group__0__Impl rule__ExternalAnnotationSource__Group__1 ;
    public final void rule__ExternalAnnotationSource__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31158:1: ( rule__ExternalAnnotationSource__Group__0__Impl rule__ExternalAnnotationSource__Group__1 )
            // InternalRosetta.g:31159:2: rule__ExternalAnnotationSource__Group__0__Impl rule__ExternalAnnotationSource__Group__1
            {
            pushFollow(FOLLOW_160);
            rule__ExternalAnnotationSource__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ExternalAnnotationSource__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group__0"
    // $ANTLR start "rule__ExternalAnnotationSource__Group__0__Impl"
    // InternalRosetta.g:31166:1: rule__ExternalAnnotationSource__Group__0__Impl : ( '{' ) ;
    public final void rule__ExternalAnnotationSource__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31170:1: ( ( '{' ) )
            // InternalRosetta.g:31171:1: ( '{' )
            {
            // InternalRosetta.g:31171:1: ( '{' )
            // InternalRosetta.g:31172:2: '{'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getExternalAnnotationSourceAccess().getLeftCurlyBracketKeyword_0()); }
            match(input,83,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getExternalAnnotationSourceAccess().getLeftCurlyBracketKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group__0__Impl"
    // $ANTLR start "rule__ExternalAnnotationSource__Group__1"
    // InternalRosetta.g:31181:1: rule__ExternalAnnotationSource__Group__1 : rule__ExternalAnnotationSource__Group__1__Impl rule__ExternalAnnotationSource__Group__2 ;
    public final void rule__ExternalAnnotationSource__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31185:1: ( rule__ExternalAnnotationSource__Group__1__Impl rule__ExternalAnnotationSource__Group__2 )
            // InternalRosetta.g:31186:2: rule__ExternalAnnotationSource__Group__1__Impl rule__ExternalAnnotationSource__Group__2
            {
            pushFollow(FOLLOW_160);
            rule__ExternalAnnotationSource__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ExternalAnnotationSource__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group__1"
    // $ANTLR start "rule__ExternalAnnotationSource__Group__1__Impl"
    // InternalRosetta.g:31193:1: rule__ExternalAnnotationSource__Group__1__Impl : ( ( rule__ExternalAnnotationSource__ExternalClassesAssignment_1 )* ) ;
    public final void rule__ExternalAnnotationSource__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31197:1: ( ( ( rule__ExternalAnnotationSource__ExternalClassesAssignment_1 )* ) )
            // InternalRosetta.g:31198:1: ( ( rule__ExternalAnnotationSource__ExternalClassesAssignment_1 )* )
            {
            // InternalRosetta.g:31198:1: ( ( rule__ExternalAnnotationSource__ExternalClassesAssignment_1 )* )
            // InternalRosetta.g:31199:2: ( rule__ExternalAnnotationSource__ExternalClassesAssignment_1 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getExternalAnnotationSourceAccess().getExternalClassesAssignment_1()); }
            // InternalRosetta.g:31200:2: ( rule__ExternalAnnotationSource__ExternalClassesAssignment_1 )*
            loop271:
            do {
                int alt271=2;
                int LA271_0 = input.LA(1);
                if ( (LA271_0==RULE_ID||(LA271_0>=14 && LA271_0<=18)) ) {
                    alt271=1;
                }
                switch (alt271) {
            	case 1 :
            	    // InternalRosetta.g:31200:3: rule__ExternalAnnotationSource__ExternalClassesAssignment_1
            	    {
            	    pushFollow(FOLLOW_18);
            	    rule__ExternalAnnotationSource__ExternalClassesAssignment_1();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop271;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getExternalAnnotationSourceAccess().getExternalClassesAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group__1__Impl"
    // $ANTLR start "rule__ExternalAnnotationSource__Group__2"
    // InternalRosetta.g:31208:1: rule__ExternalAnnotationSource__Group__2 : rule__ExternalAnnotationSource__Group__2__Impl rule__ExternalAnnotationSource__Group__3 ;
    public final void rule__ExternalAnnotationSource__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31212:1: ( rule__ExternalAnnotationSource__Group__2__Impl rule__ExternalAnnotationSource__Group__3 )
            // InternalRosetta.g:31213:2: rule__ExternalAnnotationSource__Group__2__Impl rule__ExternalAnnotationSource__Group__3
            {
            pushFollow(FOLLOW_160);
            rule__ExternalAnnotationSource__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ExternalAnnotationSource__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group__2"
    // $ANTLR start "rule__ExternalAnnotationSource__Group__2__Impl"
    // InternalRosetta.g:31220:1: rule__ExternalAnnotationSource__Group__2__Impl : ( ( rule__ExternalAnnotationSource__Group_2__0 )? ) ;
    public final void rule__ExternalAnnotationSource__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31224:1: ( ( ( rule__ExternalAnnotationSource__Group_2__0 )? ) )
            // InternalRosetta.g:31225:1: ( ( rule__ExternalAnnotationSource__Group_2__0 )? )
            {
            // InternalRosetta.g:31225:1: ( ( rule__ExternalAnnotationSource__Group_2__0 )? )
            // InternalRosetta.g:31226:2: ( rule__ExternalAnnotationSource__Group_2__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getExternalAnnotationSourceAccess().getGroup_2()); }
            // InternalRosetta.g:31227:2: ( rule__ExternalAnnotationSource__Group_2__0 )?
            int alt272=2;
            int LA272_0 = input.LA(1);
            if ( (LA272_0==122) ) {
                alt272=1;
            }
            switch (alt272) {
                case 1 :
                    // InternalRosetta.g:31227:3: rule__ExternalAnnotationSource__Group_2__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__ExternalAnnotationSource__Group_2__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getExternalAnnotationSourceAccess().getGroup_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group__2__Impl"
    // $ANTLR start "rule__ExternalAnnotationSource__Group__3"
    // InternalRosetta.g:31235:1: rule__ExternalAnnotationSource__Group__3 : rule__ExternalAnnotationSource__Group__3__Impl ;
    public final void rule__ExternalAnnotationSource__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31239:1: ( rule__ExternalAnnotationSource__Group__3__Impl )
            // InternalRosetta.g:31240:2: rule__ExternalAnnotationSource__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ExternalAnnotationSource__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group__3"
    // $ANTLR start "rule__ExternalAnnotationSource__Group__3__Impl"
    // InternalRosetta.g:31246:1: rule__ExternalAnnotationSource__Group__3__Impl : ( '}' ) ;
    public final void rule__ExternalAnnotationSource__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31250:1: ( ( '}' ) )
            // InternalRosetta.g:31251:1: ( '}' )
            {
            // InternalRosetta.g:31251:1: ( '}' )
            // InternalRosetta.g:31252:2: '}'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getExternalAnnotationSourceAccess().getRightCurlyBracketKeyword_3()); }
            match(input,84,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getExternalAnnotationSourceAccess().getRightCurlyBracketKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group__3__Impl"
    // $ANTLR start "rule__ExternalAnnotationSource__Group_2__0"
    // InternalRosetta.g:31262:1: rule__ExternalAnnotationSource__Group_2__0 : rule__ExternalAnnotationSource__Group_2__0__Impl rule__ExternalAnnotationSource__Group_2__1 ;
    public final void rule__ExternalAnnotationSource__Group_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31266:1: ( rule__ExternalAnnotationSource__Group_2__0__Impl rule__ExternalAnnotationSource__Group_2__1 )
            // InternalRosetta.g:31267:2: rule__ExternalAnnotationSource__Group_2__0__Impl rule__ExternalAnnotationSource__Group_2__1
            {
            pushFollow(FOLLOW_13);
            rule__ExternalAnnotationSource__Group_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__ExternalAnnotationSource__Group_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group_2__0"
    // $ANTLR start "rule__ExternalAnnotationSource__Group_2__0__Impl"
    // InternalRosetta.g:31274:1: rule__ExternalAnnotationSource__Group_2__0__Impl : ( 'enums' ) ;
    public final void rule__ExternalAnnotationSource__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31278:1: ( ( 'enums' ) )
            // InternalRosetta.g:31279:1: ( 'enums' )
            {
            // InternalRosetta.g:31279:1: ( 'enums' )
            // InternalRosetta.g:31280:2: 'enums'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getExternalAnnotationSourceAccess().getEnumsKeyword_2_0()); }
            match(input,122,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getExternalAnnotationSourceAccess().getEnumsKeyword_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group_2__0__Impl"
    // $ANTLR start "rule__ExternalAnnotationSource__Group_2__1"
    // InternalRosetta.g:31289:1: rule__ExternalAnnotationSource__Group_2__1 : rule__ExternalAnnotationSource__Group_2__1__Impl ;
    public final void rule__ExternalAnnotationSource__Group_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31293:1: ( rule__ExternalAnnotationSource__Group_2__1__Impl )
            // InternalRosetta.g:31294:2: rule__ExternalAnnotationSource__Group_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__ExternalAnnotationSource__Group_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group_2__1"
    // $ANTLR start "rule__ExternalAnnotationSource__Group_2__1__Impl"
    // InternalRosetta.g:31300:1: rule__ExternalAnnotationSource__Group_2__1__Impl : ( ( rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1 )* ) ;
    public final void rule__ExternalAnnotationSource__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31304:1: ( ( ( rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1 )* ) )
            // InternalRosetta.g:31305:1: ( ( rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1 )* )
            {
            // InternalRosetta.g:31305:1: ( ( rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1 )* )
            // InternalRosetta.g:31306:2: ( rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getExternalAnnotationSourceAccess().getExternalEnumsAssignment_2_1()); }
            // InternalRosetta.g:31307:2: ( rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1 )*
            loop273:
            do {
                int alt273=2;
                int LA273_0 = input.LA(1);
                if ( (LA273_0==RULE_ID||(LA273_0>=14 && LA273_0<=18)) ) {
                    alt273=1;
                }
                switch (alt273) {
            	case 1 :
            	    // InternalRosetta.g:31307:3: rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1
            	    {
            	    pushFollow(FOLLOW_18);
            	    rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop273;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getExternalAnnotationSourceAccess().getExternalEnumsAssignment_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__Group_2__1__Impl"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group__0"
    // InternalRosetta.g:31316:1: rule__RosettaExternalSynonymSource__Group__0 : rule__RosettaExternalSynonymSource__Group__0__Impl rule__RosettaExternalSynonymSource__Group__1 ;
    public final void rule__RosettaExternalSynonymSource__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31320:1: ( rule__RosettaExternalSynonymSource__Group__0__Impl rule__RosettaExternalSynonymSource__Group__1 )
            // InternalRosetta.g:31321:2: rule__RosettaExternalSynonymSource__Group__0__Impl rule__RosettaExternalSynonymSource__Group__1
            {
            pushFollow(FOLLOW_48);
            rule__RosettaExternalSynonymSource__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group__0"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group__0__Impl"
    // InternalRosetta.g:31328:1: rule__RosettaExternalSynonymSource__Group__0__Impl : ( 'synonym' ) ;
    public final void rule__RosettaExternalSynonymSource__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31332:1: ( ( 'synonym' ) )
            // InternalRosetta.g:31333:1: ( 'synonym' )
            {
            // InternalRosetta.g:31333:1: ( 'synonym' )
            // InternalRosetta.g:31334:2: 'synonym'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getSynonymKeyword_0()); }
            match(input,81,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getSynonymKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group__0__Impl"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group__1"
    // InternalRosetta.g:31343:1: rule__RosettaExternalSynonymSource__Group__1 : rule__RosettaExternalSynonymSource__Group__1__Impl rule__RosettaExternalSynonymSource__Group__2 ;
    public final void rule__RosettaExternalSynonymSource__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31347:1: ( rule__RosettaExternalSynonymSource__Group__1__Impl rule__RosettaExternalSynonymSource__Group__2 )
            // InternalRosetta.g:31348:2: rule__RosettaExternalSynonymSource__Group__1__Impl rule__RosettaExternalSynonymSource__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaExternalSynonymSource__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group__1"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group__1__Impl"
    // InternalRosetta.g:31355:1: rule__RosettaExternalSynonymSource__Group__1__Impl : ( 'source' ) ;
    public final void rule__RosettaExternalSynonymSource__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31359:1: ( ( 'source' ) )
            // InternalRosetta.g:31360:1: ( 'source' )
            {
            // InternalRosetta.g:31360:1: ( 'source' )
            // InternalRosetta.g:31361:2: 'source'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getSourceKeyword_1()); }
            match(input,15,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getSourceKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group__1__Impl"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group__2"
    // InternalRosetta.g:31370:1: rule__RosettaExternalSynonymSource__Group__2 : rule__RosettaExternalSynonymSource__Group__2__Impl rule__RosettaExternalSynonymSource__Group__3 ;
    public final void rule__RosettaExternalSynonymSource__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31374:1: ( rule__RosettaExternalSynonymSource__Group__2__Impl rule__RosettaExternalSynonymSource__Group__3 )
            // InternalRosetta.g:31375:2: rule__RosettaExternalSynonymSource__Group__2__Impl rule__RosettaExternalSynonymSource__Group__3
            {
            pushFollow(FOLLOW_161);
            rule__RosettaExternalSynonymSource__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group__2"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group__2__Impl"
    // InternalRosetta.g:31382:1: rule__RosettaExternalSynonymSource__Group__2__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaExternalSynonymSource__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31386:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:31387:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:31387:1: ( ruleRosettaNamed )
            // InternalRosetta.g:31388:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getRosettaNamedParserRuleCall_2()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getRosettaNamedParserRuleCall_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group__2__Impl"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group__3"
    // InternalRosetta.g:31397:1: rule__RosettaExternalSynonymSource__Group__3 : rule__RosettaExternalSynonymSource__Group__3__Impl rule__RosettaExternalSynonymSource__Group__4 ;
    public final void rule__RosettaExternalSynonymSource__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31401:1: ( rule__RosettaExternalSynonymSource__Group__3__Impl rule__RosettaExternalSynonymSource__Group__4 )
            // InternalRosetta.g:31402:2: rule__RosettaExternalSynonymSource__Group__3__Impl rule__RosettaExternalSynonymSource__Group__4
            {
            pushFollow(FOLLOW_161);
            rule__RosettaExternalSynonymSource__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group__3"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group__3__Impl"
    // InternalRosetta.g:31409:1: rule__RosettaExternalSynonymSource__Group__3__Impl : ( ( rule__RosettaExternalSynonymSource__Group_3__0 )? ) ;
    public final void rule__RosettaExternalSynonymSource__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31413:1: ( ( ( rule__RosettaExternalSynonymSource__Group_3__0 )? ) )
            // InternalRosetta.g:31414:1: ( ( rule__RosettaExternalSynonymSource__Group_3__0 )? )
            {
            // InternalRosetta.g:31414:1: ( ( rule__RosettaExternalSynonymSource__Group_3__0 )? )
            // InternalRosetta.g:31415:2: ( rule__RosettaExternalSynonymSource__Group_3__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getGroup_3()); }
            // InternalRosetta.g:31416:2: ( rule__RosettaExternalSynonymSource__Group_3__0 )?
            int alt274=2;
            int LA274_0 = input.LA(1);
            if ( (LA274_0==69) ) {
                alt274=1;
            }
            switch (alt274) {
                case 1 :
                    // InternalRosetta.g:31416:3: rule__RosettaExternalSynonymSource__Group_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaExternalSynonymSource__Group_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getGroup_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group__3__Impl"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group__4"
    // InternalRosetta.g:31424:1: rule__RosettaExternalSynonymSource__Group__4 : rule__RosettaExternalSynonymSource__Group__4__Impl ;
    public final void rule__RosettaExternalSynonymSource__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31428:1: ( rule__RosettaExternalSynonymSource__Group__4__Impl )
            // InternalRosetta.g:31429:2: rule__RosettaExternalSynonymSource__Group__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group__4"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group__4__Impl"
    // InternalRosetta.g:31435:1: rule__RosettaExternalSynonymSource__Group__4__Impl : ( ruleExternalAnnotationSource ) ;
    public final void rule__RosettaExternalSynonymSource__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31439:1: ( ( ruleExternalAnnotationSource ) )
            // InternalRosetta.g:31440:1: ( ruleExternalAnnotationSource )
            {
            // InternalRosetta.g:31440:1: ( ruleExternalAnnotationSource )
            // InternalRosetta.g:31441:2: ruleExternalAnnotationSource
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getExternalAnnotationSourceParserRuleCall_4()); }
            pushFollow(FOLLOW_2);
            ruleExternalAnnotationSource(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getExternalAnnotationSourceParserRuleCall_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group__4__Impl"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group_3__0"
    // InternalRosetta.g:31451:1: rule__RosettaExternalSynonymSource__Group_3__0 : rule__RosettaExternalSynonymSource__Group_3__0__Impl rule__RosettaExternalSynonymSource__Group_3__1 ;
    public final void rule__RosettaExternalSynonymSource__Group_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31455:1: ( rule__RosettaExternalSynonymSource__Group_3__0__Impl rule__RosettaExternalSynonymSource__Group_3__1 )
            // InternalRosetta.g:31456:2: rule__RosettaExternalSynonymSource__Group_3__0__Impl rule__RosettaExternalSynonymSource__Group_3__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaExternalSynonymSource__Group_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__Group_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group_3__0"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group_3__0__Impl"
    // InternalRosetta.g:31463:1: rule__RosettaExternalSynonymSource__Group_3__0__Impl : ( 'extends' ) ;
    public final void rule__RosettaExternalSynonymSource__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31467:1: ( ( 'extends' ) )
            // InternalRosetta.g:31468:1: ( 'extends' )
            {
            // InternalRosetta.g:31468:1: ( 'extends' )
            // InternalRosetta.g:31469:2: 'extends'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getExtendsKeyword_3_0()); }
            match(input,69,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getExtendsKeyword_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group_3__0__Impl"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group_3__1"
    // InternalRosetta.g:31478:1: rule__RosettaExternalSynonymSource__Group_3__1 : rule__RosettaExternalSynonymSource__Group_3__1__Impl rule__RosettaExternalSynonymSource__Group_3__2 ;
    public final void rule__RosettaExternalSynonymSource__Group_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31482:1: ( rule__RosettaExternalSynonymSource__Group_3__1__Impl rule__RosettaExternalSynonymSource__Group_3__2 )
            // InternalRosetta.g:31483:2: rule__RosettaExternalSynonymSource__Group_3__1__Impl rule__RosettaExternalSynonymSource__Group_3__2
            {
            pushFollow(FOLLOW_41);
            rule__RosettaExternalSynonymSource__Group_3__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__Group_3__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group_3__1"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group_3__1__Impl"
    // InternalRosetta.g:31490:1: rule__RosettaExternalSynonymSource__Group_3__1__Impl : ( ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1 ) ) ;
    public final void rule__RosettaExternalSynonymSource__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31494:1: ( ( ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1 ) ) )
            // InternalRosetta.g:31495:1: ( ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1 ) )
            {
            // InternalRosetta.g:31495:1: ( ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1 ) )
            // InternalRosetta.g:31496:2: ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesAssignment_3_1()); }
            // InternalRosetta.g:31497:2: ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1 )
            // InternalRosetta.g:31497:3: rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesAssignment_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group_3__1__Impl"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group_3__2"
    // InternalRosetta.g:31505:1: rule__RosettaExternalSynonymSource__Group_3__2 : rule__RosettaExternalSynonymSource__Group_3__2__Impl ;
    public final void rule__RosettaExternalSynonymSource__Group_3__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31509:1: ( rule__RosettaExternalSynonymSource__Group_3__2__Impl )
            // InternalRosetta.g:31510:2: rule__RosettaExternalSynonymSource__Group_3__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__Group_3__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group_3__2"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group_3__2__Impl"
    // InternalRosetta.g:31516:1: rule__RosettaExternalSynonymSource__Group_3__2__Impl : ( ( rule__RosettaExternalSynonymSource__Group_3_2__0 )* ) ;
    public final void rule__RosettaExternalSynonymSource__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31520:1: ( ( ( rule__RosettaExternalSynonymSource__Group_3_2__0 )* ) )
            // InternalRosetta.g:31521:1: ( ( rule__RosettaExternalSynonymSource__Group_3_2__0 )* )
            {
            // InternalRosetta.g:31521:1: ( ( rule__RosettaExternalSynonymSource__Group_3_2__0 )* )
            // InternalRosetta.g:31522:2: ( rule__RosettaExternalSynonymSource__Group_3_2__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getGroup_3_2()); }
            // InternalRosetta.g:31523:2: ( rule__RosettaExternalSynonymSource__Group_3_2__0 )*
            loop275:
            do {
                int alt275=2;
                int LA275_0 = input.LA(1);
                if ( (LA275_0==40) ) {
                    alt275=1;
                }
                switch (alt275) {
            	case 1 :
            	    // InternalRosetta.g:31523:3: rule__RosettaExternalSynonymSource__Group_3_2__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__RosettaExternalSynonymSource__Group_3_2__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop275;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getGroup_3_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group_3__2__Impl"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group_3_2__0"
    // InternalRosetta.g:31532:1: rule__RosettaExternalSynonymSource__Group_3_2__0 : rule__RosettaExternalSynonymSource__Group_3_2__0__Impl rule__RosettaExternalSynonymSource__Group_3_2__1 ;
    public final void rule__RosettaExternalSynonymSource__Group_3_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31536:1: ( rule__RosettaExternalSynonymSource__Group_3_2__0__Impl rule__RosettaExternalSynonymSource__Group_3_2__1 )
            // InternalRosetta.g:31537:2: rule__RosettaExternalSynonymSource__Group_3_2__0__Impl rule__RosettaExternalSynonymSource__Group_3_2__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaExternalSynonymSource__Group_3_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__Group_3_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group_3_2__0"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group_3_2__0__Impl"
    // InternalRosetta.g:31544:1: rule__RosettaExternalSynonymSource__Group_3_2__0__Impl : ( ',' ) ;
    public final void rule__RosettaExternalSynonymSource__Group_3_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31548:1: ( ( ',' ) )
            // InternalRosetta.g:31549:1: ( ',' )
            {
            // InternalRosetta.g:31549:1: ( ',' )
            // InternalRosetta.g:31550:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getCommaKeyword_3_2_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getCommaKeyword_3_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group_3_2__0__Impl"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group_3_2__1"
    // InternalRosetta.g:31559:1: rule__RosettaExternalSynonymSource__Group_3_2__1 : rule__RosettaExternalSynonymSource__Group_3_2__1__Impl ;
    public final void rule__RosettaExternalSynonymSource__Group_3_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31563:1: ( rule__RosettaExternalSynonymSource__Group_3_2__1__Impl )
            // InternalRosetta.g:31564:2: rule__RosettaExternalSynonymSource__Group_3_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__Group_3_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group_3_2__1"
    // $ANTLR start "rule__RosettaExternalSynonymSource__Group_3_2__1__Impl"
    // InternalRosetta.g:31570:1: rule__RosettaExternalSynonymSource__Group_3_2__1__Impl : ( ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1 ) ) ;
    public final void rule__RosettaExternalSynonymSource__Group_3_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31574:1: ( ( ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1 ) ) )
            // InternalRosetta.g:31575:1: ( ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1 ) )
            {
            // InternalRosetta.g:31575:1: ( ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1 ) )
            // InternalRosetta.g:31576:2: ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesAssignment_3_2_1()); }
            // InternalRosetta.g:31577:2: ( rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1 )
            // InternalRosetta.g:31577:3: rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesAssignment_3_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__Group_3_2__1__Impl"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group__0"
    // InternalRosetta.g:31586:1: rule__RosettaExternalRuleSource__Group__0 : rule__RosettaExternalRuleSource__Group__0__Impl rule__RosettaExternalRuleSource__Group__1 ;
    public final void rule__RosettaExternalRuleSource__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31590:1: ( rule__RosettaExternalRuleSource__Group__0__Impl rule__RosettaExternalRuleSource__Group__1 )
            // InternalRosetta.g:31591:2: rule__RosettaExternalRuleSource__Group__0__Impl rule__RosettaExternalRuleSource__Group__1
            {
            pushFollow(FOLLOW_48);
            rule__RosettaExternalRuleSource__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group__0"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group__0__Impl"
    // InternalRosetta.g:31598:1: rule__RosettaExternalRuleSource__Group__0__Impl : ( 'rule' ) ;
    public final void rule__RosettaExternalRuleSource__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31602:1: ( ( 'rule' ) )
            // InternalRosetta.g:31603:1: ( 'rule' )
            {
            // InternalRosetta.g:31603:1: ( 'rule' )
            // InternalRosetta.g:31604:2: 'rule'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getRuleKeyword_0()); }
            match(input,123,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getRuleKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group__0__Impl"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group__1"
    // InternalRosetta.g:31613:1: rule__RosettaExternalRuleSource__Group__1 : rule__RosettaExternalRuleSource__Group__1__Impl rule__RosettaExternalRuleSource__Group__2 ;
    public final void rule__RosettaExternalRuleSource__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31617:1: ( rule__RosettaExternalRuleSource__Group__1__Impl rule__RosettaExternalRuleSource__Group__2 )
            // InternalRosetta.g:31618:2: rule__RosettaExternalRuleSource__Group__1__Impl rule__RosettaExternalRuleSource__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaExternalRuleSource__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group__1"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group__1__Impl"
    // InternalRosetta.g:31625:1: rule__RosettaExternalRuleSource__Group__1__Impl : ( 'source' ) ;
    public final void rule__RosettaExternalRuleSource__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31629:1: ( ( 'source' ) )
            // InternalRosetta.g:31630:1: ( 'source' )
            {
            // InternalRosetta.g:31630:1: ( 'source' )
            // InternalRosetta.g:31631:2: 'source'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getSourceKeyword_1()); }
            match(input,15,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getSourceKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group__1__Impl"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group__2"
    // InternalRosetta.g:31640:1: rule__RosettaExternalRuleSource__Group__2 : rule__RosettaExternalRuleSource__Group__2__Impl rule__RosettaExternalRuleSource__Group__3 ;
    public final void rule__RosettaExternalRuleSource__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31644:1: ( rule__RosettaExternalRuleSource__Group__2__Impl rule__RosettaExternalRuleSource__Group__3 )
            // InternalRosetta.g:31645:2: rule__RosettaExternalRuleSource__Group__2__Impl rule__RosettaExternalRuleSource__Group__3
            {
            pushFollow(FOLLOW_161);
            rule__RosettaExternalRuleSource__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group__2"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group__2__Impl"
    // InternalRosetta.g:31652:1: rule__RosettaExternalRuleSource__Group__2__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaExternalRuleSource__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31656:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:31657:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:31657:1: ( ruleRosettaNamed )
            // InternalRosetta.g:31658:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getRosettaNamedParserRuleCall_2()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getRosettaNamedParserRuleCall_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group__2__Impl"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group__3"
    // InternalRosetta.g:31667:1: rule__RosettaExternalRuleSource__Group__3 : rule__RosettaExternalRuleSource__Group__3__Impl rule__RosettaExternalRuleSource__Group__4 ;
    public final void rule__RosettaExternalRuleSource__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31671:1: ( rule__RosettaExternalRuleSource__Group__3__Impl rule__RosettaExternalRuleSource__Group__4 )
            // InternalRosetta.g:31672:2: rule__RosettaExternalRuleSource__Group__3__Impl rule__RosettaExternalRuleSource__Group__4
            {
            pushFollow(FOLLOW_161);
            rule__RosettaExternalRuleSource__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group__3"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group__3__Impl"
    // InternalRosetta.g:31679:1: rule__RosettaExternalRuleSource__Group__3__Impl : ( ( rule__RosettaExternalRuleSource__Group_3__0 )? ) ;
    public final void rule__RosettaExternalRuleSource__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31683:1: ( ( ( rule__RosettaExternalRuleSource__Group_3__0 )? ) )
            // InternalRosetta.g:31684:1: ( ( rule__RosettaExternalRuleSource__Group_3__0 )? )
            {
            // InternalRosetta.g:31684:1: ( ( rule__RosettaExternalRuleSource__Group_3__0 )? )
            // InternalRosetta.g:31685:2: ( rule__RosettaExternalRuleSource__Group_3__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getGroup_3()); }
            // InternalRosetta.g:31686:2: ( rule__RosettaExternalRuleSource__Group_3__0 )?
            int alt276=2;
            int LA276_0 = input.LA(1);
            if ( (LA276_0==69) ) {
                alt276=1;
            }
            switch (alt276) {
                case 1 :
                    // InternalRosetta.g:31686:3: rule__RosettaExternalRuleSource__Group_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaExternalRuleSource__Group_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getGroup_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group__3__Impl"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group__4"
    // InternalRosetta.g:31694:1: rule__RosettaExternalRuleSource__Group__4 : rule__RosettaExternalRuleSource__Group__4__Impl ;
    public final void rule__RosettaExternalRuleSource__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31698:1: ( rule__RosettaExternalRuleSource__Group__4__Impl )
            // InternalRosetta.g:31699:2: rule__RosettaExternalRuleSource__Group__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group__4"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group__4__Impl"
    // InternalRosetta.g:31705:1: rule__RosettaExternalRuleSource__Group__4__Impl : ( ruleExternalAnnotationSource ) ;
    public final void rule__RosettaExternalRuleSource__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31709:1: ( ( ruleExternalAnnotationSource ) )
            // InternalRosetta.g:31710:1: ( ruleExternalAnnotationSource )
            {
            // InternalRosetta.g:31710:1: ( ruleExternalAnnotationSource )
            // InternalRosetta.g:31711:2: ruleExternalAnnotationSource
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getExternalAnnotationSourceParserRuleCall_4()); }
            pushFollow(FOLLOW_2);
            ruleExternalAnnotationSource(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getExternalAnnotationSourceParserRuleCall_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group__4__Impl"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group_3__0"
    // InternalRosetta.g:31721:1: rule__RosettaExternalRuleSource__Group_3__0 : rule__RosettaExternalRuleSource__Group_3__0__Impl rule__RosettaExternalRuleSource__Group_3__1 ;
    public final void rule__RosettaExternalRuleSource__Group_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31725:1: ( rule__RosettaExternalRuleSource__Group_3__0__Impl rule__RosettaExternalRuleSource__Group_3__1 )
            // InternalRosetta.g:31726:2: rule__RosettaExternalRuleSource__Group_3__0__Impl rule__RosettaExternalRuleSource__Group_3__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaExternalRuleSource__Group_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__Group_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group_3__0"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group_3__0__Impl"
    // InternalRosetta.g:31733:1: rule__RosettaExternalRuleSource__Group_3__0__Impl : ( 'extends' ) ;
    public final void rule__RosettaExternalRuleSource__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31737:1: ( ( 'extends' ) )
            // InternalRosetta.g:31738:1: ( 'extends' )
            {
            // InternalRosetta.g:31738:1: ( 'extends' )
            // InternalRosetta.g:31739:2: 'extends'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getExtendsKeyword_3_0()); }
            match(input,69,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getExtendsKeyword_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group_3__0__Impl"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group_3__1"
    // InternalRosetta.g:31748:1: rule__RosettaExternalRuleSource__Group_3__1 : rule__RosettaExternalRuleSource__Group_3__1__Impl rule__RosettaExternalRuleSource__Group_3__2 ;
    public final void rule__RosettaExternalRuleSource__Group_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31752:1: ( rule__RosettaExternalRuleSource__Group_3__1__Impl rule__RosettaExternalRuleSource__Group_3__2 )
            // InternalRosetta.g:31753:2: rule__RosettaExternalRuleSource__Group_3__1__Impl rule__RosettaExternalRuleSource__Group_3__2
            {
            pushFollow(FOLLOW_41);
            rule__RosettaExternalRuleSource__Group_3__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__Group_3__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group_3__1"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group_3__1__Impl"
    // InternalRosetta.g:31760:1: rule__RosettaExternalRuleSource__Group_3__1__Impl : ( ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1 ) ) ;
    public final void rule__RosettaExternalRuleSource__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31764:1: ( ( ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1 ) ) )
            // InternalRosetta.g:31765:1: ( ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1 ) )
            {
            // InternalRosetta.g:31765:1: ( ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1 ) )
            // InternalRosetta.g:31766:2: ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesAssignment_3_1()); }
            // InternalRosetta.g:31767:2: ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1 )
            // InternalRosetta.g:31767:3: rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesAssignment_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group_3__1__Impl"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group_3__2"
    // InternalRosetta.g:31775:1: rule__RosettaExternalRuleSource__Group_3__2 : rule__RosettaExternalRuleSource__Group_3__2__Impl ;
    public final void rule__RosettaExternalRuleSource__Group_3__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31779:1: ( rule__RosettaExternalRuleSource__Group_3__2__Impl )
            // InternalRosetta.g:31780:2: rule__RosettaExternalRuleSource__Group_3__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__Group_3__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group_3__2"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group_3__2__Impl"
    // InternalRosetta.g:31786:1: rule__RosettaExternalRuleSource__Group_3__2__Impl : ( ( rule__RosettaExternalRuleSource__Group_3_2__0 )* ) ;
    public final void rule__RosettaExternalRuleSource__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31790:1: ( ( ( rule__RosettaExternalRuleSource__Group_3_2__0 )* ) )
            // InternalRosetta.g:31791:1: ( ( rule__RosettaExternalRuleSource__Group_3_2__0 )* )
            {
            // InternalRosetta.g:31791:1: ( ( rule__RosettaExternalRuleSource__Group_3_2__0 )* )
            // InternalRosetta.g:31792:2: ( rule__RosettaExternalRuleSource__Group_3_2__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getGroup_3_2()); }
            // InternalRosetta.g:31793:2: ( rule__RosettaExternalRuleSource__Group_3_2__0 )*
            loop277:
            do {
                int alt277=2;
                int LA277_0 = input.LA(1);
                if ( (LA277_0==40) ) {
                    alt277=1;
                }
                switch (alt277) {
            	case 1 :
            	    // InternalRosetta.g:31793:3: rule__RosettaExternalRuleSource__Group_3_2__0
            	    {
            	    pushFollow(FOLLOW_42);
            	    rule__RosettaExternalRuleSource__Group_3_2__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop277;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getGroup_3_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group_3__2__Impl"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group_3_2__0"
    // InternalRosetta.g:31802:1: rule__RosettaExternalRuleSource__Group_3_2__0 : rule__RosettaExternalRuleSource__Group_3_2__0__Impl rule__RosettaExternalRuleSource__Group_3_2__1 ;
    public final void rule__RosettaExternalRuleSource__Group_3_2__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31806:1: ( rule__RosettaExternalRuleSource__Group_3_2__0__Impl rule__RosettaExternalRuleSource__Group_3_2__1 )
            // InternalRosetta.g:31807:2: rule__RosettaExternalRuleSource__Group_3_2__0__Impl rule__RosettaExternalRuleSource__Group_3_2__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaExternalRuleSource__Group_3_2__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__Group_3_2__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group_3_2__0"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group_3_2__0__Impl"
    // InternalRosetta.g:31814:1: rule__RosettaExternalRuleSource__Group_3_2__0__Impl : ( ',' ) ;
    public final void rule__RosettaExternalRuleSource__Group_3_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31818:1: ( ( ',' ) )
            // InternalRosetta.g:31819:1: ( ',' )
            {
            // InternalRosetta.g:31819:1: ( ',' )
            // InternalRosetta.g:31820:2: ','
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getCommaKeyword_3_2_0()); }
            match(input,40,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getCommaKeyword_3_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group_3_2__0__Impl"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group_3_2__1"
    // InternalRosetta.g:31829:1: rule__RosettaExternalRuleSource__Group_3_2__1 : rule__RosettaExternalRuleSource__Group_3_2__1__Impl ;
    public final void rule__RosettaExternalRuleSource__Group_3_2__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31833:1: ( rule__RosettaExternalRuleSource__Group_3_2__1__Impl )
            // InternalRosetta.g:31834:2: rule__RosettaExternalRuleSource__Group_3_2__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__Group_3_2__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group_3_2__1"
    // $ANTLR start "rule__RosettaExternalRuleSource__Group_3_2__1__Impl"
    // InternalRosetta.g:31840:1: rule__RosettaExternalRuleSource__Group_3_2__1__Impl : ( ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1 ) ) ;
    public final void rule__RosettaExternalRuleSource__Group_3_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31844:1: ( ( ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1 ) ) )
            // InternalRosetta.g:31845:1: ( ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1 ) )
            {
            // InternalRosetta.g:31845:1: ( ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1 ) )
            // InternalRosetta.g:31846:2: ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesAssignment_3_2_1()); }
            // InternalRosetta.g:31847:2: ( rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1 )
            // InternalRosetta.g:31847:3: rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesAssignment_3_2_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__Group_3_2__1__Impl"
    // $ANTLR start "rule__RosettaExternalClass__Group__0"
    // InternalRosetta.g:31856:1: rule__RosettaExternalClass__Group__0 : rule__RosettaExternalClass__Group__0__Impl rule__RosettaExternalClass__Group__1 ;
    public final void rule__RosettaExternalClass__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31860:1: ( rule__RosettaExternalClass__Group__0__Impl rule__RosettaExternalClass__Group__1 )
            // InternalRosetta.g:31861:2: rule__RosettaExternalClass__Group__0__Impl rule__RosettaExternalClass__Group__1
            {
            pushFollow(FOLLOW_16);
            rule__RosettaExternalClass__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClass__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClass__Group__0"
    // $ANTLR start "rule__RosettaExternalClass__Group__0__Impl"
    // InternalRosetta.g:31868:1: rule__RosettaExternalClass__Group__0__Impl : ( ( rule__RosettaExternalClass__DataAssignment_0 ) ) ;
    public final void rule__RosettaExternalClass__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31872:1: ( ( ( rule__RosettaExternalClass__DataAssignment_0 ) ) )
            // InternalRosetta.g:31873:1: ( ( rule__RosettaExternalClass__DataAssignment_0 ) )
            {
            // InternalRosetta.g:31873:1: ( ( rule__RosettaExternalClass__DataAssignment_0 ) )
            // InternalRosetta.g:31874:2: ( rule__RosettaExternalClass__DataAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassAccess().getDataAssignment_0()); }
            // InternalRosetta.g:31875:2: ( rule__RosettaExternalClass__DataAssignment_0 )
            // InternalRosetta.g:31875:3: rule__RosettaExternalClass__DataAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClass__DataAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassAccess().getDataAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClass__Group__0__Impl"
    // $ANTLR start "rule__RosettaExternalClass__Group__1"
    // InternalRosetta.g:31883:1: rule__RosettaExternalClass__Group__1 : rule__RosettaExternalClass__Group__1__Impl rule__RosettaExternalClass__Group__2 ;
    public final void rule__RosettaExternalClass__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31887:1: ( rule__RosettaExternalClass__Group__1__Impl rule__RosettaExternalClass__Group__2 )
            // InternalRosetta.g:31888:2: rule__RosettaExternalClass__Group__1__Impl rule__RosettaExternalClass__Group__2
            {
            pushFollow(FOLLOW_162);
            rule__RosettaExternalClass__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClass__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClass__Group__1"
    // $ANTLR start "rule__RosettaExternalClass__Group__1__Impl"
    // InternalRosetta.g:31895:1: rule__RosettaExternalClass__Group__1__Impl : ( ':' ) ;
    public final void rule__RosettaExternalClass__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31899:1: ( ( ':' ) )
            // InternalRosetta.g:31900:1: ( ':' )
            {
            // InternalRosetta.g:31900:1: ( ':' )
            // InternalRosetta.g:31901:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassAccess().getColonKeyword_1()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassAccess().getColonKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClass__Group__1__Impl"
    // $ANTLR start "rule__RosettaExternalClass__Group__2"
    // InternalRosetta.g:31910:1: rule__RosettaExternalClass__Group__2 : rule__RosettaExternalClass__Group__2__Impl rule__RosettaExternalClass__Group__3 ;
    public final void rule__RosettaExternalClass__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31914:1: ( rule__RosettaExternalClass__Group__2__Impl rule__RosettaExternalClass__Group__3 )
            // InternalRosetta.g:31915:2: rule__RosettaExternalClass__Group__2__Impl rule__RosettaExternalClass__Group__3
            {
            pushFollow(FOLLOW_162);
            rule__RosettaExternalClass__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClass__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClass__Group__2"
    // $ANTLR start "rule__RosettaExternalClass__Group__2__Impl"
    // InternalRosetta.g:31922:1: rule__RosettaExternalClass__Group__2__Impl : ( ( rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2 )* ) ;
    public final void rule__RosettaExternalClass__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31926:1: ( ( ( rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2 )* ) )
            // InternalRosetta.g:31927:1: ( ( rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2 )* )
            {
            // InternalRosetta.g:31927:1: ( ( rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2 )* )
            // InternalRosetta.g:31928:2: ( rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassAccess().getExternalClassSynonymsAssignment_2()); }
            // InternalRosetta.g:31929:2: ( rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2 )*
            loop278:
            do {
                int alt278=2;
                int LA278_0 = input.LA(1);
                if ( (LA278_0==65) ) {
                    alt278=1;
                }
                switch (alt278) {
            	case 1 :
            	    // InternalRosetta.g:31929:3: rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2
            	    {
            	    pushFollow(FOLLOW_25);
            	    rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop278;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassAccess().getExternalClassSynonymsAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClass__Group__2__Impl"
    // $ANTLR start "rule__RosettaExternalClass__Group__3"
    // InternalRosetta.g:31937:1: rule__RosettaExternalClass__Group__3 : rule__RosettaExternalClass__Group__3__Impl ;
    public final void rule__RosettaExternalClass__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31941:1: ( rule__RosettaExternalClass__Group__3__Impl )
            // InternalRosetta.g:31942:2: rule__RosettaExternalClass__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClass__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClass__Group__3"
    // $ANTLR start "rule__RosettaExternalClass__Group__3__Impl"
    // InternalRosetta.g:31948:1: rule__RosettaExternalClass__Group__3__Impl : ( ( rule__RosettaExternalClass__RegularAttributesAssignment_3 )* ) ;
    public final void rule__RosettaExternalClass__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31952:1: ( ( ( rule__RosettaExternalClass__RegularAttributesAssignment_3 )* ) )
            // InternalRosetta.g:31953:1: ( ( rule__RosettaExternalClass__RegularAttributesAssignment_3 )* )
            {
            // InternalRosetta.g:31953:1: ( ( rule__RosettaExternalClass__RegularAttributesAssignment_3 )* )
            // InternalRosetta.g:31954:2: ( rule__RosettaExternalClass__RegularAttributesAssignment_3 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassAccess().getRegularAttributesAssignment_3()); }
            // InternalRosetta.g:31955:2: ( rule__RosettaExternalClass__RegularAttributesAssignment_3 )*
            loop279:
            do {
                int alt279=2;
                int LA279_0 = input.LA(1);
                if ( ((LA279_0>=28 && LA279_0<=29)) ) {
                    alt279=1;
                }
                switch (alt279) {
            	case 1 :
            	    // InternalRosetta.g:31955:3: rule__RosettaExternalClass__RegularAttributesAssignment_3
            	    {
            	    pushFollow(FOLLOW_113);
            	    rule__RosettaExternalClass__RegularAttributesAssignment_3();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop279;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassAccess().getRegularAttributesAssignment_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClass__Group__3__Impl"
    // $ANTLR start "rule__RosettaExternalEnum__Group__0"
    // InternalRosetta.g:31964:1: rule__RosettaExternalEnum__Group__0 : rule__RosettaExternalEnum__Group__0__Impl rule__RosettaExternalEnum__Group__1 ;
    public final void rule__RosettaExternalEnum__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31968:1: ( rule__RosettaExternalEnum__Group__0__Impl rule__RosettaExternalEnum__Group__1 )
            // InternalRosetta.g:31969:2: rule__RosettaExternalEnum__Group__0__Impl rule__RosettaExternalEnum__Group__1
            {
            pushFollow(FOLLOW_16);
            rule__RosettaExternalEnum__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnum__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnum__Group__0"
    // $ANTLR start "rule__RosettaExternalEnum__Group__0__Impl"
    // InternalRosetta.g:31976:1: rule__RosettaExternalEnum__Group__0__Impl : ( ( rule__RosettaExternalEnum__EnumerationAssignment_0 ) ) ;
    public final void rule__RosettaExternalEnum__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31980:1: ( ( ( rule__RosettaExternalEnum__EnumerationAssignment_0 ) ) )
            // InternalRosetta.g:31981:1: ( ( rule__RosettaExternalEnum__EnumerationAssignment_0 ) )
            {
            // InternalRosetta.g:31981:1: ( ( rule__RosettaExternalEnum__EnumerationAssignment_0 ) )
            // InternalRosetta.g:31982:2: ( rule__RosettaExternalEnum__EnumerationAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumAccess().getEnumerationAssignment_0()); }
            // InternalRosetta.g:31983:2: ( rule__RosettaExternalEnum__EnumerationAssignment_0 )
            // InternalRosetta.g:31983:3: rule__RosettaExternalEnum__EnumerationAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnum__EnumerationAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumAccess().getEnumerationAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnum__Group__0__Impl"
    // $ANTLR start "rule__RosettaExternalEnum__Group__1"
    // InternalRosetta.g:31991:1: rule__RosettaExternalEnum__Group__1 : rule__RosettaExternalEnum__Group__1__Impl rule__RosettaExternalEnum__Group__2 ;
    public final void rule__RosettaExternalEnum__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:31995:1: ( rule__RosettaExternalEnum__Group__1__Impl rule__RosettaExternalEnum__Group__2 )
            // InternalRosetta.g:31996:2: rule__RosettaExternalEnum__Group__1__Impl rule__RosettaExternalEnum__Group__2
            {
            pushFollow(FOLLOW_96);
            rule__RosettaExternalEnum__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnum__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnum__Group__1"
    // $ANTLR start "rule__RosettaExternalEnum__Group__1__Impl"
    // InternalRosetta.g:32003:1: rule__RosettaExternalEnum__Group__1__Impl : ( ':' ) ;
    public final void rule__RosettaExternalEnum__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32007:1: ( ( ':' ) )
            // InternalRosetta.g:32008:1: ( ':' )
            {
            // InternalRosetta.g:32008:1: ( ':' )
            // InternalRosetta.g:32009:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumAccess().getColonKeyword_1()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumAccess().getColonKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnum__Group__1__Impl"
    // $ANTLR start "rule__RosettaExternalEnum__Group__2"
    // InternalRosetta.g:32018:1: rule__RosettaExternalEnum__Group__2 : rule__RosettaExternalEnum__Group__2__Impl ;
    public final void rule__RosettaExternalEnum__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32022:1: ( rule__RosettaExternalEnum__Group__2__Impl )
            // InternalRosetta.g:32023:2: rule__RosettaExternalEnum__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnum__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnum__Group__2"
    // $ANTLR start "rule__RosettaExternalEnum__Group__2__Impl"
    // InternalRosetta.g:32029:1: rule__RosettaExternalEnum__Group__2__Impl : ( ( rule__RosettaExternalEnum__RegularValuesAssignment_2 )* ) ;
    public final void rule__RosettaExternalEnum__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32033:1: ( ( ( rule__RosettaExternalEnum__RegularValuesAssignment_2 )* ) )
            // InternalRosetta.g:32034:1: ( ( rule__RosettaExternalEnum__RegularValuesAssignment_2 )* )
            {
            // InternalRosetta.g:32034:1: ( ( rule__RosettaExternalEnum__RegularValuesAssignment_2 )* )
            // InternalRosetta.g:32035:2: ( rule__RosettaExternalEnum__RegularValuesAssignment_2 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumAccess().getRegularValuesAssignment_2()); }
            // InternalRosetta.g:32036:2: ( rule__RosettaExternalEnum__RegularValuesAssignment_2 )*
            loop280:
            do {
                int alt280=2;
                int LA280_0 = input.LA(1);
                if ( ((LA280_0>=28 && LA280_0<=29)) ) {
                    alt280=1;
                }
                switch (alt280) {
            	case 1 :
            	    // InternalRosetta.g:32036:3: rule__RosettaExternalEnum__RegularValuesAssignment_2
            	    {
            	    pushFollow(FOLLOW_113);
            	    rule__RosettaExternalEnum__RegularValuesAssignment_2();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop280;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumAccess().getRegularValuesAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnum__Group__2__Impl"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__Group__0"
    // InternalRosetta.g:32045:1: rule__RosettaExternalRegularAttribute__Group__0 : rule__RosettaExternalRegularAttribute__Group__0__Impl rule__RosettaExternalRegularAttribute__Group__1 ;
    public final void rule__RosettaExternalRegularAttribute__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32049:1: ( rule__RosettaExternalRegularAttribute__Group__0__Impl rule__RosettaExternalRegularAttribute__Group__1 )
            // InternalRosetta.g:32050:2: rule__RosettaExternalRegularAttribute__Group__0__Impl rule__RosettaExternalRegularAttribute__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaExternalRegularAttribute__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRegularAttribute__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__Group__0"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__Group__0__Impl"
    // InternalRosetta.g:32057:1: rule__RosettaExternalRegularAttribute__Group__0__Impl : ( ( rule__RosettaExternalRegularAttribute__OperatorAssignment_0 ) ) ;
    public final void rule__RosettaExternalRegularAttribute__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32061:1: ( ( ( rule__RosettaExternalRegularAttribute__OperatorAssignment_0 ) ) )
            // InternalRosetta.g:32062:1: ( ( rule__RosettaExternalRegularAttribute__OperatorAssignment_0 ) )
            {
            // InternalRosetta.g:32062:1: ( ( rule__RosettaExternalRegularAttribute__OperatorAssignment_0 ) )
            // InternalRosetta.g:32063:2: ( rule__RosettaExternalRegularAttribute__OperatorAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRegularAttributeAccess().getOperatorAssignment_0()); }
            // InternalRosetta.g:32064:2: ( rule__RosettaExternalRegularAttribute__OperatorAssignment_0 )
            // InternalRosetta.g:32064:3: rule__RosettaExternalRegularAttribute__OperatorAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRegularAttribute__OperatorAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRegularAttributeAccess().getOperatorAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__Group__0__Impl"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__Group__1"
    // InternalRosetta.g:32072:1: rule__RosettaExternalRegularAttribute__Group__1 : rule__RosettaExternalRegularAttribute__Group__1__Impl rule__RosettaExternalRegularAttribute__Group__2 ;
    public final void rule__RosettaExternalRegularAttribute__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32076:1: ( rule__RosettaExternalRegularAttribute__Group__1__Impl rule__RosettaExternalRegularAttribute__Group__2 )
            // InternalRosetta.g:32077:2: rule__RosettaExternalRegularAttribute__Group__1__Impl rule__RosettaExternalRegularAttribute__Group__2
            {
            pushFollow(FOLLOW_39);
            rule__RosettaExternalRegularAttribute__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRegularAttribute__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__Group__1"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__Group__1__Impl"
    // InternalRosetta.g:32084:1: rule__RosettaExternalRegularAttribute__Group__1__Impl : ( ( rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1 ) ) ;
    public final void rule__RosettaExternalRegularAttribute__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32088:1: ( ( ( rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1 ) ) )
            // InternalRosetta.g:32089:1: ( ( rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1 ) )
            {
            // InternalRosetta.g:32089:1: ( ( rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1 ) )
            // InternalRosetta.g:32090:2: ( rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRegularAttributeAccess().getAttributeRefAssignment_1()); }
            // InternalRosetta.g:32091:2: ( rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1 )
            // InternalRosetta.g:32091:3: rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRegularAttributeAccess().getAttributeRefAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__Group__1__Impl"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__Group__2"
    // InternalRosetta.g:32099:1: rule__RosettaExternalRegularAttribute__Group__2 : rule__RosettaExternalRegularAttribute__Group__2__Impl rule__RosettaExternalRegularAttribute__Group__3 ;
    public final void rule__RosettaExternalRegularAttribute__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32103:1: ( rule__RosettaExternalRegularAttribute__Group__2__Impl rule__RosettaExternalRegularAttribute__Group__3 )
            // InternalRosetta.g:32104:2: rule__RosettaExternalRegularAttribute__Group__2__Impl rule__RosettaExternalRegularAttribute__Group__3
            {
            pushFollow(FOLLOW_39);
            rule__RosettaExternalRegularAttribute__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRegularAttribute__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__Group__2"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__Group__2__Impl"
    // InternalRosetta.g:32111:1: rule__RosettaExternalRegularAttribute__Group__2__Impl : ( ( rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2 )* ) ;
    public final void rule__RosettaExternalRegularAttribute__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32115:1: ( ( ( rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2 )* ) )
            // InternalRosetta.g:32116:1: ( ( rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2 )* )
            {
            // InternalRosetta.g:32116:1: ( ( rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2 )* )
            // InternalRosetta.g:32117:2: ( rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRegularAttributeAccess().getExternalSynonymsAssignment_2()); }
            // InternalRosetta.g:32118:2: ( rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2 )*
            loop281:
            do {
                int alt281=2;
                int LA281_0 = input.LA(1);
                if ( (LA281_0==65) ) {
                    int LA281_1 = input.LA(2);
                    if ( (LA281_1==11||LA281_1==16||LA281_1==93||(LA281_1>=95 && LA281_1<=96)) ) {
                        alt281=1;
                    }
                }
                switch (alt281) {
            	case 1 :
            	    // InternalRosetta.g:32118:3: rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2
            	    {
            	    pushFollow(FOLLOW_25);
            	    rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop281;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRegularAttributeAccess().getExternalSynonymsAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__Group__2__Impl"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__Group__3"
    // InternalRosetta.g:32126:1: rule__RosettaExternalRegularAttribute__Group__3 : rule__RosettaExternalRegularAttribute__Group__3__Impl ;
    public final void rule__RosettaExternalRegularAttribute__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32130:1: ( rule__RosettaExternalRegularAttribute__Group__3__Impl )
            // InternalRosetta.g:32131:2: rule__RosettaExternalRegularAttribute__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalRegularAttribute__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__Group__3"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__Group__3__Impl"
    // InternalRosetta.g:32137:1: rule__RosettaExternalRegularAttribute__Group__3__Impl : ( ( rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3 )? ) ;
    public final void rule__RosettaExternalRegularAttribute__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32141:1: ( ( ( rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3 )? ) )
            // InternalRosetta.g:32142:1: ( ( rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3 )? )
            {
            // InternalRosetta.g:32142:1: ( ( rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3 )? )
            // InternalRosetta.g:32143:2: ( rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRegularAttributeAccess().getExternalRuleReferenceAssignment_3()); }
            // InternalRosetta.g:32144:2: ( rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3 )?
            int alt282=2;
            int LA282_0 = input.LA(1);
            if ( (LA282_0==65) ) {
                alt282=1;
            }
            switch (alt282) {
                case 1 :
                    // InternalRosetta.g:32144:3: rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRegularAttributeAccess().getExternalRuleReferenceAssignment_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__Group__3__Impl"
    // $ANTLR start "rule__RosettaExternalEnumValue__Group__0"
    // InternalRosetta.g:32153:1: rule__RosettaExternalEnumValue__Group__0 : rule__RosettaExternalEnumValue__Group__0__Impl rule__RosettaExternalEnumValue__Group__1 ;
    public final void rule__RosettaExternalEnumValue__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32157:1: ( rule__RosettaExternalEnumValue__Group__0__Impl rule__RosettaExternalEnumValue__Group__1 )
            // InternalRosetta.g:32158:2: rule__RosettaExternalEnumValue__Group__0__Impl rule__RosettaExternalEnumValue__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaExternalEnumValue__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumValue__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumValue__Group__0"
    // $ANTLR start "rule__RosettaExternalEnumValue__Group__0__Impl"
    // InternalRosetta.g:32165:1: rule__RosettaExternalEnumValue__Group__0__Impl : ( ( rule__RosettaExternalEnumValue__OperatorAssignment_0 ) ) ;
    public final void rule__RosettaExternalEnumValue__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32169:1: ( ( ( rule__RosettaExternalEnumValue__OperatorAssignment_0 ) ) )
            // InternalRosetta.g:32170:1: ( ( rule__RosettaExternalEnumValue__OperatorAssignment_0 ) )
            {
            // InternalRosetta.g:32170:1: ( ( rule__RosettaExternalEnumValue__OperatorAssignment_0 ) )
            // InternalRosetta.g:32171:2: ( rule__RosettaExternalEnumValue__OperatorAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumValueAccess().getOperatorAssignment_0()); }
            // InternalRosetta.g:32172:2: ( rule__RosettaExternalEnumValue__OperatorAssignment_0 )
            // InternalRosetta.g:32172:3: rule__RosettaExternalEnumValue__OperatorAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumValue__OperatorAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumValueAccess().getOperatorAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumValue__Group__0__Impl"
    // $ANTLR start "rule__RosettaExternalEnumValue__Group__1"
    // InternalRosetta.g:32180:1: rule__RosettaExternalEnumValue__Group__1 : rule__RosettaExternalEnumValue__Group__1__Impl rule__RosettaExternalEnumValue__Group__2 ;
    public final void rule__RosettaExternalEnumValue__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32184:1: ( rule__RosettaExternalEnumValue__Group__1__Impl rule__RosettaExternalEnumValue__Group__2 )
            // InternalRosetta.g:32185:2: rule__RosettaExternalEnumValue__Group__1__Impl rule__RosettaExternalEnumValue__Group__2
            {
            pushFollow(FOLLOW_39);
            rule__RosettaExternalEnumValue__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumValue__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumValue__Group__1"
    // $ANTLR start "rule__RosettaExternalEnumValue__Group__1__Impl"
    // InternalRosetta.g:32192:1: rule__RosettaExternalEnumValue__Group__1__Impl : ( ( rule__RosettaExternalEnumValue__EnumRefAssignment_1 ) ) ;
    public final void rule__RosettaExternalEnumValue__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32196:1: ( ( ( rule__RosettaExternalEnumValue__EnumRefAssignment_1 ) ) )
            // InternalRosetta.g:32197:1: ( ( rule__RosettaExternalEnumValue__EnumRefAssignment_1 ) )
            {
            // InternalRosetta.g:32197:1: ( ( rule__RosettaExternalEnumValue__EnumRefAssignment_1 ) )
            // InternalRosetta.g:32198:2: ( rule__RosettaExternalEnumValue__EnumRefAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumValueAccess().getEnumRefAssignment_1()); }
            // InternalRosetta.g:32199:2: ( rule__RosettaExternalEnumValue__EnumRefAssignment_1 )
            // InternalRosetta.g:32199:3: rule__RosettaExternalEnumValue__EnumRefAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumValue__EnumRefAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumValueAccess().getEnumRefAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumValue__Group__1__Impl"
    // $ANTLR start "rule__RosettaExternalEnumValue__Group__2"
    // InternalRosetta.g:32207:1: rule__RosettaExternalEnumValue__Group__2 : rule__RosettaExternalEnumValue__Group__2__Impl ;
    public final void rule__RosettaExternalEnumValue__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32211:1: ( rule__RosettaExternalEnumValue__Group__2__Impl )
            // InternalRosetta.g:32212:2: rule__RosettaExternalEnumValue__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumValue__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumValue__Group__2"
    // $ANTLR start "rule__RosettaExternalEnumValue__Group__2__Impl"
    // InternalRosetta.g:32218:1: rule__RosettaExternalEnumValue__Group__2__Impl : ( ( rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2 )* ) ;
    public final void rule__RosettaExternalEnumValue__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32222:1: ( ( ( rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2 )* ) )
            // InternalRosetta.g:32223:1: ( ( rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2 )* )
            {
            // InternalRosetta.g:32223:1: ( ( rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2 )* )
            // InternalRosetta.g:32224:2: ( rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumValueAccess().getExternalEnumSynonymsAssignment_2()); }
            // InternalRosetta.g:32225:2: ( rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2 )*
            loop283:
            do {
                int alt283=2;
                int LA283_0 = input.LA(1);
                if ( (LA283_0==65) ) {
                    alt283=1;
                }
                switch (alt283) {
            	case 1 :
            	    // InternalRosetta.g:32225:3: rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2
            	    {
            	    pushFollow(FOLLOW_25);
            	    rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop283;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumValueAccess().getExternalEnumSynonymsAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumValue__Group__2__Impl"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group__0"
    // InternalRosetta.g:32234:1: rule__RosettaExternalClassSynonym__Group__0 : rule__RosettaExternalClassSynonym__Group__0__Impl rule__RosettaExternalClassSynonym__Group__1 ;
    public final void rule__RosettaExternalClassSynonym__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32238:1: ( rule__RosettaExternalClassSynonym__Group__0__Impl rule__RosettaExternalClassSynonym__Group__1 )
            // InternalRosetta.g:32239:2: rule__RosettaExternalClassSynonym__Group__0__Impl rule__RosettaExternalClassSynonym__Group__1
            {
            pushFollow(FOLLOW_163);
            rule__RosettaExternalClassSynonym__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClassSynonym__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group__0"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group__0__Impl"
    // InternalRosetta.g:32246:1: rule__RosettaExternalClassSynonym__Group__0__Impl : ( '[' ) ;
    public final void rule__RosettaExternalClassSynonym__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32250:1: ( ( '[' ) )
            // InternalRosetta.g:32251:1: ( '[' )
            {
            // InternalRosetta.g:32251:1: ( '[' )
            // InternalRosetta.g:32252:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassSynonymAccess().getLeftSquareBracketKeyword_0()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassSynonymAccess().getLeftSquareBracketKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group__0__Impl"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group__1"
    // InternalRosetta.g:32261:1: rule__RosettaExternalClassSynonym__Group__1 : rule__RosettaExternalClassSynonym__Group__1__Impl rule__RosettaExternalClassSynonym__Group__2 ;
    public final void rule__RosettaExternalClassSynonym__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32265:1: ( rule__RosettaExternalClassSynonym__Group__1__Impl rule__RosettaExternalClassSynonym__Group__2 )
            // InternalRosetta.g:32266:2: rule__RosettaExternalClassSynonym__Group__1__Impl rule__RosettaExternalClassSynonym__Group__2
            {
            pushFollow(FOLLOW_163);
            rule__RosettaExternalClassSynonym__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClassSynonym__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group__1"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group__1__Impl"
    // InternalRosetta.g:32273:1: rule__RosettaExternalClassSynonym__Group__1__Impl : ( ( rule__RosettaExternalClassSynonym__Group_1__0 )? ) ;
    public final void rule__RosettaExternalClassSynonym__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32277:1: ( ( ( rule__RosettaExternalClassSynonym__Group_1__0 )? ) )
            // InternalRosetta.g:32278:1: ( ( rule__RosettaExternalClassSynonym__Group_1__0 )? )
            {
            // InternalRosetta.g:32278:1: ( ( rule__RosettaExternalClassSynonym__Group_1__0 )? )
            // InternalRosetta.g:32279:2: ( rule__RosettaExternalClassSynonym__Group_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassSynonymAccess().getGroup_1()); }
            // InternalRosetta.g:32280:2: ( rule__RosettaExternalClassSynonym__Group_1__0 )?
            int alt284=2;
            int LA284_0 = input.LA(1);
            if ( (LA284_0==16) ) {
                alt284=1;
            }
            switch (alt284) {
                case 1 :
                    // InternalRosetta.g:32280:3: rule__RosettaExternalClassSynonym__Group_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaExternalClassSynonym__Group_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassSynonymAccess().getGroup_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group__1__Impl"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group__2"
    // InternalRosetta.g:32288:1: rule__RosettaExternalClassSynonym__Group__2 : rule__RosettaExternalClassSynonym__Group__2__Impl rule__RosettaExternalClassSynonym__Group__3 ;
    public final void rule__RosettaExternalClassSynonym__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32292:1: ( rule__RosettaExternalClassSynonym__Group__2__Impl rule__RosettaExternalClassSynonym__Group__3 )
            // InternalRosetta.g:32293:2: rule__RosettaExternalClassSynonym__Group__2__Impl rule__RosettaExternalClassSynonym__Group__3
            {
            pushFollow(FOLLOW_10);
            rule__RosettaExternalClassSynonym__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClassSynonym__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group__2"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group__2__Impl"
    // InternalRosetta.g:32300:1: rule__RosettaExternalClassSynonym__Group__2__Impl : ( 'meta' ) ;
    public final void rule__RosettaExternalClassSynonym__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32304:1: ( ( 'meta' ) )
            // InternalRosetta.g:32305:1: ( 'meta' )
            {
            // InternalRosetta.g:32305:1: ( 'meta' )
            // InternalRosetta.g:32306:2: 'meta'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassSynonymAccess().getMetaKeyword_2()); }
            match(input,93,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassSynonymAccess().getMetaKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group__2__Impl"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group__3"
    // InternalRosetta.g:32315:1: rule__RosettaExternalClassSynonym__Group__3 : rule__RosettaExternalClassSynonym__Group__3__Impl rule__RosettaExternalClassSynonym__Group__4 ;
    public final void rule__RosettaExternalClassSynonym__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32319:1: ( rule__RosettaExternalClassSynonym__Group__3__Impl rule__RosettaExternalClassSynonym__Group__4 )
            // InternalRosetta.g:32320:2: rule__RosettaExternalClassSynonym__Group__3__Impl rule__RosettaExternalClassSynonym__Group__4
            {
            pushFollow(FOLLOW_20);
            rule__RosettaExternalClassSynonym__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClassSynonym__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group__3"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group__3__Impl"
    // InternalRosetta.g:32327:1: rule__RosettaExternalClassSynonym__Group__3__Impl : ( ( rule__RosettaExternalClassSynonym__MetaValueAssignment_3 ) ) ;
    public final void rule__RosettaExternalClassSynonym__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32331:1: ( ( ( rule__RosettaExternalClassSynonym__MetaValueAssignment_3 ) ) )
            // InternalRosetta.g:32332:1: ( ( rule__RosettaExternalClassSynonym__MetaValueAssignment_3 ) )
            {
            // InternalRosetta.g:32332:1: ( ( rule__RosettaExternalClassSynonym__MetaValueAssignment_3 ) )
            // InternalRosetta.g:32333:2: ( rule__RosettaExternalClassSynonym__MetaValueAssignment_3 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassSynonymAccess().getMetaValueAssignment_3()); }
            // InternalRosetta.g:32334:2: ( rule__RosettaExternalClassSynonym__MetaValueAssignment_3 )
            // InternalRosetta.g:32334:3: rule__RosettaExternalClassSynonym__MetaValueAssignment_3
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClassSynonym__MetaValueAssignment_3(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassSynonymAccess().getMetaValueAssignment_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group__3__Impl"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group__4"
    // InternalRosetta.g:32342:1: rule__RosettaExternalClassSynonym__Group__4 : rule__RosettaExternalClassSynonym__Group__4__Impl ;
    public final void rule__RosettaExternalClassSynonym__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32346:1: ( rule__RosettaExternalClassSynonym__Group__4__Impl )
            // InternalRosetta.g:32347:2: rule__RosettaExternalClassSynonym__Group__4__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClassSynonym__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group__4"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group__4__Impl"
    // InternalRosetta.g:32353:1: rule__RosettaExternalClassSynonym__Group__4__Impl : ( ']' ) ;
    public final void rule__RosettaExternalClassSynonym__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32357:1: ( ( ']' ) )
            // InternalRosetta.g:32358:1: ( ']' )
            {
            // InternalRosetta.g:32358:1: ( ']' )
            // InternalRosetta.g:32359:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassSynonymAccess().getRightSquareBracketKeyword_4()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassSynonymAccess().getRightSquareBracketKeyword_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group__4__Impl"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group_1__0"
    // InternalRosetta.g:32369:1: rule__RosettaExternalClassSynonym__Group_1__0 : rule__RosettaExternalClassSynonym__Group_1__0__Impl rule__RosettaExternalClassSynonym__Group_1__1 ;
    public final void rule__RosettaExternalClassSynonym__Group_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32373:1: ( rule__RosettaExternalClassSynonym__Group_1__0__Impl rule__RosettaExternalClassSynonym__Group_1__1 )
            // InternalRosetta.g:32374:2: rule__RosettaExternalClassSynonym__Group_1__0__Impl rule__RosettaExternalClassSynonym__Group_1__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaExternalClassSynonym__Group_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClassSynonym__Group_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group_1__0"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group_1__0__Impl"
    // InternalRosetta.g:32381:1: rule__RosettaExternalClassSynonym__Group_1__0__Impl : ( 'value' ) ;
    public final void rule__RosettaExternalClassSynonym__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32385:1: ( ( 'value' ) )
            // InternalRosetta.g:32386:1: ( 'value' )
            {
            // InternalRosetta.g:32386:1: ( 'value' )
            // InternalRosetta.g:32387:2: 'value'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassSynonymAccess().getValueKeyword_1_0()); }
            match(input,16,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassSynonymAccess().getValueKeyword_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group_1__0__Impl"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group_1__1"
    // InternalRosetta.g:32396:1: rule__RosettaExternalClassSynonym__Group_1__1 : rule__RosettaExternalClassSynonym__Group_1__1__Impl ;
    public final void rule__RosettaExternalClassSynonym__Group_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32400:1: ( rule__RosettaExternalClassSynonym__Group_1__1__Impl )
            // InternalRosetta.g:32401:2: rule__RosettaExternalClassSynonym__Group_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClassSynonym__Group_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group_1__1"
    // $ANTLR start "rule__RosettaExternalClassSynonym__Group_1__1__Impl"
    // InternalRosetta.g:32407:1: rule__RosettaExternalClassSynonym__Group_1__1__Impl : ( ( rule__RosettaExternalClassSynonym__ValueAssignment_1_1 ) ) ;
    public final void rule__RosettaExternalClassSynonym__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32411:1: ( ( ( rule__RosettaExternalClassSynonym__ValueAssignment_1_1 ) ) )
            // InternalRosetta.g:32412:1: ( ( rule__RosettaExternalClassSynonym__ValueAssignment_1_1 ) )
            {
            // InternalRosetta.g:32412:1: ( ( rule__RosettaExternalClassSynonym__ValueAssignment_1_1 ) )
            // InternalRosetta.g:32413:2: ( rule__RosettaExternalClassSynonym__ValueAssignment_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassSynonymAccess().getValueAssignment_1_1()); }
            // InternalRosetta.g:32414:2: ( rule__RosettaExternalClassSynonym__ValueAssignment_1_1 )
            // InternalRosetta.g:32414:3: rule__RosettaExternalClassSynonym__ValueAssignment_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalClassSynonym__ValueAssignment_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassSynonymAccess().getValueAssignment_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__Group_1__1__Impl"
    // $ANTLR start "rule__RosettaExternalSynonym__Group__0"
    // InternalRosetta.g:32423:1: rule__RosettaExternalSynonym__Group__0 : rule__RosettaExternalSynonym__Group__0__Impl rule__RosettaExternalSynonym__Group__1 ;
    public final void rule__RosettaExternalSynonym__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32427:1: ( rule__RosettaExternalSynonym__Group__0__Impl rule__RosettaExternalSynonym__Group__1 )
            // InternalRosetta.g:32428:2: rule__RosettaExternalSynonym__Group__0__Impl rule__RosettaExternalSynonym__Group__1
            {
            pushFollow(FOLLOW_62);
            rule__RosettaExternalSynonym__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonym__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonym__Group__0"
    // $ANTLR start "rule__RosettaExternalSynonym__Group__0__Impl"
    // InternalRosetta.g:32435:1: rule__RosettaExternalSynonym__Group__0__Impl : ( '[' ) ;
    public final void rule__RosettaExternalSynonym__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32439:1: ( ( '[' ) )
            // InternalRosetta.g:32440:1: ( '[' )
            {
            // InternalRosetta.g:32440:1: ( '[' )
            // InternalRosetta.g:32441:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymAccess().getLeftSquareBracketKeyword_0()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymAccess().getLeftSquareBracketKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonym__Group__0__Impl"
    // $ANTLR start "rule__RosettaExternalSynonym__Group__1"
    // InternalRosetta.g:32450:1: rule__RosettaExternalSynonym__Group__1 : rule__RosettaExternalSynonym__Group__1__Impl rule__RosettaExternalSynonym__Group__2 ;
    public final void rule__RosettaExternalSynonym__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32454:1: ( rule__RosettaExternalSynonym__Group__1__Impl rule__RosettaExternalSynonym__Group__2 )
            // InternalRosetta.g:32455:2: rule__RosettaExternalSynonym__Group__1__Impl rule__RosettaExternalSynonym__Group__2
            {
            pushFollow(FOLLOW_20);
            rule__RosettaExternalSynonym__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonym__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonym__Group__1"
    // $ANTLR start "rule__RosettaExternalSynonym__Group__1__Impl"
    // InternalRosetta.g:32462:1: rule__RosettaExternalSynonym__Group__1__Impl : ( ( rule__RosettaExternalSynonym__BodyAssignment_1 ) ) ;
    public final void rule__RosettaExternalSynonym__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32466:1: ( ( ( rule__RosettaExternalSynonym__BodyAssignment_1 ) ) )
            // InternalRosetta.g:32467:1: ( ( rule__RosettaExternalSynonym__BodyAssignment_1 ) )
            {
            // InternalRosetta.g:32467:1: ( ( rule__RosettaExternalSynonym__BodyAssignment_1 ) )
            // InternalRosetta.g:32468:2: ( rule__RosettaExternalSynonym__BodyAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymAccess().getBodyAssignment_1()); }
            // InternalRosetta.g:32469:2: ( rule__RosettaExternalSynonym__BodyAssignment_1 )
            // InternalRosetta.g:32469:3: rule__RosettaExternalSynonym__BodyAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonym__BodyAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymAccess().getBodyAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonym__Group__1__Impl"
    // $ANTLR start "rule__RosettaExternalSynonym__Group__2"
    // InternalRosetta.g:32477:1: rule__RosettaExternalSynonym__Group__2 : rule__RosettaExternalSynonym__Group__2__Impl ;
    public final void rule__RosettaExternalSynonym__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32481:1: ( rule__RosettaExternalSynonym__Group__2__Impl )
            // InternalRosetta.g:32482:2: rule__RosettaExternalSynonym__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalSynonym__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonym__Group__2"
    // $ANTLR start "rule__RosettaExternalSynonym__Group__2__Impl"
    // InternalRosetta.g:32488:1: rule__RosettaExternalSynonym__Group__2__Impl : ( ']' ) ;
    public final void rule__RosettaExternalSynonym__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32492:1: ( ( ']' ) )
            // InternalRosetta.g:32493:1: ( ']' )
            {
            // InternalRosetta.g:32493:1: ( ']' )
            // InternalRosetta.g:32494:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymAccess().getRightSquareBracketKeyword_2()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymAccess().getRightSquareBracketKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonym__Group__2__Impl"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__0"
    // InternalRosetta.g:32504:1: rule__RosettaExternalEnumSynonym__Group__0 : rule__RosettaExternalEnumSynonym__Group__0__Impl rule__RosettaExternalEnumSynonym__Group__1 ;
    public final void rule__RosettaExternalEnumSynonym__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32508:1: ( rule__RosettaExternalEnumSynonym__Group__0__Impl rule__RosettaExternalEnumSynonym__Group__1 )
            // InternalRosetta.g:32509:2: rule__RosettaExternalEnumSynonym__Group__0__Impl rule__RosettaExternalEnumSynonym__Group__1
            {
            pushFollow(FOLLOW_164);
            rule__RosettaExternalEnumSynonym__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__0"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__0__Impl"
    // InternalRosetta.g:32516:1: rule__RosettaExternalEnumSynonym__Group__0__Impl : ( '[' ) ;
    public final void rule__RosettaExternalEnumSynonym__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32520:1: ( ( '[' ) )
            // InternalRosetta.g:32521:1: ( '[' )
            {
            // InternalRosetta.g:32521:1: ( '[' )
            // InternalRosetta.g:32522:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getLeftSquareBracketKeyword_0()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getLeftSquareBracketKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__0__Impl"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__1"
    // InternalRosetta.g:32531:1: rule__RosettaExternalEnumSynonym__Group__1 : rule__RosettaExternalEnumSynonym__Group__1__Impl rule__RosettaExternalEnumSynonym__Group__2 ;
    public final void rule__RosettaExternalEnumSynonym__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32535:1: ( rule__RosettaExternalEnumSynonym__Group__1__Impl rule__RosettaExternalEnumSynonym__Group__2 )
            // InternalRosetta.g:32536:2: rule__RosettaExternalEnumSynonym__Group__1__Impl rule__RosettaExternalEnumSynonym__Group__2
            {
            pushFollow(FOLLOW_10);
            rule__RosettaExternalEnumSynonym__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__1"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__1__Impl"
    // InternalRosetta.g:32543:1: rule__RosettaExternalEnumSynonym__Group__1__Impl : ( 'value' ) ;
    public final void rule__RosettaExternalEnumSynonym__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32547:1: ( ( 'value' ) )
            // InternalRosetta.g:32548:1: ( 'value' )
            {
            // InternalRosetta.g:32548:1: ( 'value' )
            // InternalRosetta.g:32549:2: 'value'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getValueKeyword_1()); }
            match(input,16,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getValueKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__1__Impl"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__2"
    // InternalRosetta.g:32558:1: rule__RosettaExternalEnumSynonym__Group__2 : rule__RosettaExternalEnumSynonym__Group__2__Impl rule__RosettaExternalEnumSynonym__Group__3 ;
    public final void rule__RosettaExternalEnumSynonym__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32562:1: ( rule__RosettaExternalEnumSynonym__Group__2__Impl rule__RosettaExternalEnumSynonym__Group__3 )
            // InternalRosetta.g:32563:2: rule__RosettaExternalEnumSynonym__Group__2__Impl rule__RosettaExternalEnumSynonym__Group__3
            {
            pushFollow(FOLLOW_165);
            rule__RosettaExternalEnumSynonym__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__2"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__2__Impl"
    // InternalRosetta.g:32570:1: rule__RosettaExternalEnumSynonym__Group__2__Impl : ( ( rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2 ) ) ;
    public final void rule__RosettaExternalEnumSynonym__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32574:1: ( ( ( rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2 ) ) )
            // InternalRosetta.g:32575:1: ( ( rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2 ) )
            {
            // InternalRosetta.g:32575:1: ( ( rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2 ) )
            // InternalRosetta.g:32576:2: ( rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getSynonymValueAssignment_2()); }
            // InternalRosetta.g:32577:2: ( rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2 )
            // InternalRosetta.g:32577:3: rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getSynonymValueAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__2__Impl"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__3"
    // InternalRosetta.g:32585:1: rule__RosettaExternalEnumSynonym__Group__3 : rule__RosettaExternalEnumSynonym__Group__3__Impl rule__RosettaExternalEnumSynonym__Group__4 ;
    public final void rule__RosettaExternalEnumSynonym__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32589:1: ( rule__RosettaExternalEnumSynonym__Group__3__Impl rule__RosettaExternalEnumSynonym__Group__4 )
            // InternalRosetta.g:32590:2: rule__RosettaExternalEnumSynonym__Group__3__Impl rule__RosettaExternalEnumSynonym__Group__4
            {
            pushFollow(FOLLOW_165);
            rule__RosettaExternalEnumSynonym__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__3"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__3__Impl"
    // InternalRosetta.g:32597:1: rule__RosettaExternalEnumSynonym__Group__3__Impl : ( ( rule__RosettaExternalEnumSynonym__Group_3__0 )? ) ;
    public final void rule__RosettaExternalEnumSynonym__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32601:1: ( ( ( rule__RosettaExternalEnumSynonym__Group_3__0 )? ) )
            // InternalRosetta.g:32602:1: ( ( rule__RosettaExternalEnumSynonym__Group_3__0 )? )
            {
            // InternalRosetta.g:32602:1: ( ( rule__RosettaExternalEnumSynonym__Group_3__0 )? )
            // InternalRosetta.g:32603:2: ( rule__RosettaExternalEnumSynonym__Group_3__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getGroup_3()); }
            // InternalRosetta.g:32604:2: ( rule__RosettaExternalEnumSynonym__Group_3__0 )?
            int alt285=2;
            int LA285_0 = input.LA(1);
            if ( (LA285_0==101) ) {
                alt285=1;
            }
            switch (alt285) {
                case 1 :
                    // InternalRosetta.g:32604:3: rule__RosettaExternalEnumSynonym__Group_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaExternalEnumSynonym__Group_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getGroup_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__3__Impl"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__4"
    // InternalRosetta.g:32612:1: rule__RosettaExternalEnumSynonym__Group__4 : rule__RosettaExternalEnumSynonym__Group__4__Impl rule__RosettaExternalEnumSynonym__Group__5 ;
    public final void rule__RosettaExternalEnumSynonym__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32616:1: ( rule__RosettaExternalEnumSynonym__Group__4__Impl rule__RosettaExternalEnumSynonym__Group__5 )
            // InternalRosetta.g:32617:2: rule__RosettaExternalEnumSynonym__Group__4__Impl rule__RosettaExternalEnumSynonym__Group__5
            {
            pushFollow(FOLLOW_165);
            rule__RosettaExternalEnumSynonym__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__4"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__4__Impl"
    // InternalRosetta.g:32624:1: rule__RosettaExternalEnumSynonym__Group__4__Impl : ( ( rule__RosettaExternalEnumSynonym__Group_4__0 )? ) ;
    public final void rule__RosettaExternalEnumSynonym__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32628:1: ( ( ( rule__RosettaExternalEnumSynonym__Group_4__0 )? ) )
            // InternalRosetta.g:32629:1: ( ( rule__RosettaExternalEnumSynonym__Group_4__0 )? )
            {
            // InternalRosetta.g:32629:1: ( ( rule__RosettaExternalEnumSynonym__Group_4__0 )? )
            // InternalRosetta.g:32630:2: ( rule__RosettaExternalEnumSynonym__Group_4__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getGroup_4()); }
            // InternalRosetta.g:32631:2: ( rule__RosettaExternalEnumSynonym__Group_4__0 )?
            int alt286=2;
            int LA286_0 = input.LA(1);
            if ( (LA286_0==18) ) {
                alt286=1;
            }
            switch (alt286) {
                case 1 :
                    // InternalRosetta.g:32631:3: rule__RosettaExternalEnumSynonym__Group_4__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaExternalEnumSynonym__Group_4__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getGroup_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__4__Impl"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__5"
    // InternalRosetta.g:32639:1: rule__RosettaExternalEnumSynonym__Group__5 : rule__RosettaExternalEnumSynonym__Group__5__Impl ;
    public final void rule__RosettaExternalEnumSynonym__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32643:1: ( rule__RosettaExternalEnumSynonym__Group__5__Impl )
            // InternalRosetta.g:32644:2: rule__RosettaExternalEnumSynonym__Group__5__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__5"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group__5__Impl"
    // InternalRosetta.g:32650:1: rule__RosettaExternalEnumSynonym__Group__5__Impl : ( ']' ) ;
    public final void rule__RosettaExternalEnumSynonym__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32654:1: ( ( ']' ) )
            // InternalRosetta.g:32655:1: ( ']' )
            {
            // InternalRosetta.g:32655:1: ( ']' )
            // InternalRosetta.g:32656:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getRightSquareBracketKeyword_5()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getRightSquareBracketKeyword_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group__5__Impl"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group_3__0"
    // InternalRosetta.g:32666:1: rule__RosettaExternalEnumSynonym__Group_3__0 : rule__RosettaExternalEnumSynonym__Group_3__0__Impl rule__RosettaExternalEnumSynonym__Group_3__1 ;
    public final void rule__RosettaExternalEnumSynonym__Group_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32670:1: ( rule__RosettaExternalEnumSynonym__Group_3__0__Impl rule__RosettaExternalEnumSynonym__Group_3__1 )
            // InternalRosetta.g:32671:2: rule__RosettaExternalEnumSynonym__Group_3__0__Impl rule__RosettaExternalEnumSynonym__Group_3__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaExternalEnumSynonym__Group_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group_3__0"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group_3__0__Impl"
    // InternalRosetta.g:32678:1: rule__RosettaExternalEnumSynonym__Group_3__0__Impl : ( 'definition' ) ;
    public final void rule__RosettaExternalEnumSynonym__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32682:1: ( ( 'definition' ) )
            // InternalRosetta.g:32683:1: ( 'definition' )
            {
            // InternalRosetta.g:32683:1: ( 'definition' )
            // InternalRosetta.g:32684:2: 'definition'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getDefinitionKeyword_3_0()); }
            match(input,101,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getDefinitionKeyword_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group_3__0__Impl"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group_3__1"
    // InternalRosetta.g:32693:1: rule__RosettaExternalEnumSynonym__Group_3__1 : rule__RosettaExternalEnumSynonym__Group_3__1__Impl ;
    public final void rule__RosettaExternalEnumSynonym__Group_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32697:1: ( rule__RosettaExternalEnumSynonym__Group_3__1__Impl )
            // InternalRosetta.g:32698:2: rule__RosettaExternalEnumSynonym__Group_3__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group_3__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group_3__1"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group_3__1__Impl"
    // InternalRosetta.g:32704:1: rule__RosettaExternalEnumSynonym__Group_3__1__Impl : ( ( rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1 ) ) ;
    public final void rule__RosettaExternalEnumSynonym__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32708:1: ( ( ( rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1 ) ) )
            // InternalRosetta.g:32709:1: ( ( rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1 ) )
            {
            // InternalRosetta.g:32709:1: ( ( rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1 ) )
            // InternalRosetta.g:32710:2: ( rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getDefinitionAssignment_3_1()); }
            // InternalRosetta.g:32711:2: ( rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1 )
            // InternalRosetta.g:32711:3: rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getDefinitionAssignment_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group_3__1__Impl"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group_4__0"
    // InternalRosetta.g:32720:1: rule__RosettaExternalEnumSynonym__Group_4__0 : rule__RosettaExternalEnumSynonym__Group_4__0__Impl rule__RosettaExternalEnumSynonym__Group_4__1 ;
    public final void rule__RosettaExternalEnumSynonym__Group_4__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32724:1: ( rule__RosettaExternalEnumSynonym__Group_4__0__Impl rule__RosettaExternalEnumSynonym__Group_4__1 )
            // InternalRosetta.g:32725:2: rule__RosettaExternalEnumSynonym__Group_4__0__Impl rule__RosettaExternalEnumSynonym__Group_4__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaExternalEnumSynonym__Group_4__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group_4__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group_4__0"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group_4__0__Impl"
    // InternalRosetta.g:32732:1: rule__RosettaExternalEnumSynonym__Group_4__0__Impl : ( 'pattern' ) ;
    public final void rule__RosettaExternalEnumSynonym__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32736:1: ( ( 'pattern' ) )
            // InternalRosetta.g:32737:1: ( 'pattern' )
            {
            // InternalRosetta.g:32737:1: ( 'pattern' )
            // InternalRosetta.g:32738:2: 'pattern'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getPatternKeyword_4_0()); }
            match(input,18,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getPatternKeyword_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group_4__0__Impl"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group_4__1"
    // InternalRosetta.g:32747:1: rule__RosettaExternalEnumSynonym__Group_4__1 : rule__RosettaExternalEnumSynonym__Group_4__1__Impl rule__RosettaExternalEnumSynonym__Group_4__2 ;
    public final void rule__RosettaExternalEnumSynonym__Group_4__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32751:1: ( rule__RosettaExternalEnumSynonym__Group_4__1__Impl rule__RosettaExternalEnumSynonym__Group_4__2 )
            // InternalRosetta.g:32752:2: rule__RosettaExternalEnumSynonym__Group_4__1__Impl rule__RosettaExternalEnumSynonym__Group_4__2
            {
            pushFollow(FOLLOW_10);
            rule__RosettaExternalEnumSynonym__Group_4__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group_4__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group_4__1"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group_4__1__Impl"
    // InternalRosetta.g:32759:1: rule__RosettaExternalEnumSynonym__Group_4__1__Impl : ( ( rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1 ) ) ;
    public final void rule__RosettaExternalEnumSynonym__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32763:1: ( ( ( rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1 ) ) )
            // InternalRosetta.g:32764:1: ( ( rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1 ) )
            {
            // InternalRosetta.g:32764:1: ( ( rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1 ) )
            // InternalRosetta.g:32765:2: ( rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getPatternMatchAssignment_4_1()); }
            // InternalRosetta.g:32766:2: ( rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1 )
            // InternalRosetta.g:32766:3: rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getPatternMatchAssignment_4_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group_4__1__Impl"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group_4__2"
    // InternalRosetta.g:32774:1: rule__RosettaExternalEnumSynonym__Group_4__2 : rule__RosettaExternalEnumSynonym__Group_4__2__Impl ;
    public final void rule__RosettaExternalEnumSynonym__Group_4__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32778:1: ( rule__RosettaExternalEnumSynonym__Group_4__2__Impl )
            // InternalRosetta.g:32779:2: rule__RosettaExternalEnumSynonym__Group_4__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__Group_4__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group_4__2"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__Group_4__2__Impl"
    // InternalRosetta.g:32785:1: rule__RosettaExternalEnumSynonym__Group_4__2__Impl : ( ( rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2 ) ) ;
    public final void rule__RosettaExternalEnumSynonym__Group_4__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32789:1: ( ( ( rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2 ) ) )
            // InternalRosetta.g:32790:1: ( ( rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2 ) )
            {
            // InternalRosetta.g:32790:1: ( ( rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2 ) )
            // InternalRosetta.g:32791:2: ( rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getPatternReplaceAssignment_4_2()); }
            // InternalRosetta.g:32792:2: ( rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2 )
            // InternalRosetta.g:32792:3: rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getPatternReplaceAssignment_4_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__Group_4__2__Impl"
    // $ANTLR start "rule__RegulatoryDocumentReference__Group__0"
    // InternalRosetta.g:32801:1: rule__RegulatoryDocumentReference__Group__0 : rule__RegulatoryDocumentReference__Group__0__Impl rule__RegulatoryDocumentReference__Group__1 ;
    public final void rule__RegulatoryDocumentReference__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32805:1: ( rule__RegulatoryDocumentReference__Group__0__Impl rule__RegulatoryDocumentReference__Group__1 )
            // InternalRosetta.g:32806:2: rule__RegulatoryDocumentReference__Group__0__Impl rule__RegulatoryDocumentReference__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RegulatoryDocumentReference__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RegulatoryDocumentReference__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RegulatoryDocumentReference__Group__0"
    // $ANTLR start "rule__RegulatoryDocumentReference__Group__0__Impl"
    // InternalRosetta.g:32813:1: rule__RegulatoryDocumentReference__Group__0__Impl : ( ( rule__RegulatoryDocumentReference__BodyAssignment_0 ) ) ;
    public final void rule__RegulatoryDocumentReference__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32817:1: ( ( ( rule__RegulatoryDocumentReference__BodyAssignment_0 ) ) )
            // InternalRosetta.g:32818:1: ( ( rule__RegulatoryDocumentReference__BodyAssignment_0 ) )
            {
            // InternalRosetta.g:32818:1: ( ( rule__RegulatoryDocumentReference__BodyAssignment_0 ) )
            // InternalRosetta.g:32819:2: ( rule__RegulatoryDocumentReference__BodyAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRegulatoryDocumentReferenceAccess().getBodyAssignment_0()); }
            // InternalRosetta.g:32820:2: ( rule__RegulatoryDocumentReference__BodyAssignment_0 )
            // InternalRosetta.g:32820:3: rule__RegulatoryDocumentReference__BodyAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RegulatoryDocumentReference__BodyAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRegulatoryDocumentReferenceAccess().getBodyAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RegulatoryDocumentReference__Group__0__Impl"
    // $ANTLR start "rule__RegulatoryDocumentReference__Group__1"
    // InternalRosetta.g:32828:1: rule__RegulatoryDocumentReference__Group__1 : rule__RegulatoryDocumentReference__Group__1__Impl rule__RegulatoryDocumentReference__Group__2 ;
    public final void rule__RegulatoryDocumentReference__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32832:1: ( rule__RegulatoryDocumentReference__Group__1__Impl rule__RegulatoryDocumentReference__Group__2 )
            // InternalRosetta.g:32833:2: rule__RegulatoryDocumentReference__Group__1__Impl rule__RegulatoryDocumentReference__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RegulatoryDocumentReference__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RegulatoryDocumentReference__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RegulatoryDocumentReference__Group__1"
    // $ANTLR start "rule__RegulatoryDocumentReference__Group__1__Impl"
    // InternalRosetta.g:32840:1: rule__RegulatoryDocumentReference__Group__1__Impl : ( ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 ) ) ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 )* ) ) ;
    public final void rule__RegulatoryDocumentReference__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32844:1: ( ( ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 ) ) ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 )* ) ) )
            // InternalRosetta.g:32845:1: ( ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 ) ) ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 )* ) )
            {
            // InternalRosetta.g:32845:1: ( ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 ) ) ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 )* ) )
            // InternalRosetta.g:32846:2: ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 ) ) ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 )* )
            {
            // InternalRosetta.g:32846:2: ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 ) )
            // InternalRosetta.g:32847:3: ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRegulatoryDocumentReferenceAccess().getCorpusListAssignment_1()); }
            // InternalRosetta.g:32848:3: ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 )
            // InternalRosetta.g:32848:4: rule__RegulatoryDocumentReference__CorpusListAssignment_1
            {
            pushFollow(FOLLOW_18);
            rule__RegulatoryDocumentReference__CorpusListAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRegulatoryDocumentReferenceAccess().getCorpusListAssignment_1()); }}
            // InternalRosetta.g:32851:2: ( ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 )* )
            // InternalRosetta.g:32852:3: ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRegulatoryDocumentReferenceAccess().getCorpusListAssignment_1()); }
            // InternalRosetta.g:32853:3: ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 )*
            loop287:
            do {
                int alt287=2;
                alt287 = dfa287.predict(input);
                switch (alt287) {
            	case 1 :
            	    // InternalRosetta.g:32853:4: rule__RegulatoryDocumentReference__CorpusListAssignment_1
            	    {
            	    pushFollow(FOLLOW_18);
            	    rule__RegulatoryDocumentReference__CorpusListAssignment_1();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop287;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRegulatoryDocumentReferenceAccess().getCorpusListAssignment_1()); }}}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RegulatoryDocumentReference__Group__1__Impl"
    // $ANTLR start "rule__RegulatoryDocumentReference__Group__2"
    // InternalRosetta.g:32862:1: rule__RegulatoryDocumentReference__Group__2 : rule__RegulatoryDocumentReference__Group__2__Impl ;
    public final void rule__RegulatoryDocumentReference__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32866:1: ( rule__RegulatoryDocumentReference__Group__2__Impl )
            // InternalRosetta.g:32867:2: rule__RegulatoryDocumentReference__Group__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RegulatoryDocumentReference__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RegulatoryDocumentReference__Group__2"
    // $ANTLR start "rule__RegulatoryDocumentReference__Group__2__Impl"
    // InternalRosetta.g:32873:1: rule__RegulatoryDocumentReference__Group__2__Impl : ( ( rule__RegulatoryDocumentReference__SegmentsAssignment_2 )* ) ;
    public final void rule__RegulatoryDocumentReference__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32877:1: ( ( ( rule__RegulatoryDocumentReference__SegmentsAssignment_2 )* ) )
            // InternalRosetta.g:32878:1: ( ( rule__RegulatoryDocumentReference__SegmentsAssignment_2 )* )
            {
            // InternalRosetta.g:32878:1: ( ( rule__RegulatoryDocumentReference__SegmentsAssignment_2 )* )
            // InternalRosetta.g:32879:2: ( rule__RegulatoryDocumentReference__SegmentsAssignment_2 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRegulatoryDocumentReferenceAccess().getSegmentsAssignment_2()); }
            // InternalRosetta.g:32880:2: ( rule__RegulatoryDocumentReference__SegmentsAssignment_2 )*
            loop288:
            do {
                int alt288=2;
                alt288 = dfa288.predict(input);
                switch (alt288) {
            	case 1 :
            	    // InternalRosetta.g:32880:3: rule__RegulatoryDocumentReference__SegmentsAssignment_2
            	    {
            	    pushFollow(FOLLOW_18);
            	    rule__RegulatoryDocumentReference__SegmentsAssignment_2();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop288;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRegulatoryDocumentReferenceAccess().getSegmentsAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RegulatoryDocumentReference__Group__2__Impl"
    // $ANTLR start "rule__RosettaSegmentRef__Group__0"
    // InternalRosetta.g:32889:1: rule__RosettaSegmentRef__Group__0 : rule__RosettaSegmentRef__Group__0__Impl rule__RosettaSegmentRef__Group__1 ;
    public final void rule__RosettaSegmentRef__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32893:1: ( rule__RosettaSegmentRef__Group__0__Impl rule__RosettaSegmentRef__Group__1 )
            // InternalRosetta.g:32894:2: rule__RosettaSegmentRef__Group__0__Impl rule__RosettaSegmentRef__Group__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaSegmentRef__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaSegmentRef__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegmentRef__Group__0"
    // $ANTLR start "rule__RosettaSegmentRef__Group__0__Impl"
    // InternalRosetta.g:32901:1: rule__RosettaSegmentRef__Group__0__Impl : ( ( rule__RosettaSegmentRef__SegmentAssignment_0 ) ) ;
    public final void rule__RosettaSegmentRef__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32905:1: ( ( ( rule__RosettaSegmentRef__SegmentAssignment_0 ) ) )
            // InternalRosetta.g:32906:1: ( ( rule__RosettaSegmentRef__SegmentAssignment_0 ) )
            {
            // InternalRosetta.g:32906:1: ( ( rule__RosettaSegmentRef__SegmentAssignment_0 ) )
            // InternalRosetta.g:32907:2: ( rule__RosettaSegmentRef__SegmentAssignment_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentRefAccess().getSegmentAssignment_0()); }
            // InternalRosetta.g:32908:2: ( rule__RosettaSegmentRef__SegmentAssignment_0 )
            // InternalRosetta.g:32908:3: rule__RosettaSegmentRef__SegmentAssignment_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSegmentRef__SegmentAssignment_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentRefAccess().getSegmentAssignment_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegmentRef__Group__0__Impl"
    // $ANTLR start "rule__RosettaSegmentRef__Group__1"
    // InternalRosetta.g:32916:1: rule__RosettaSegmentRef__Group__1 : rule__RosettaSegmentRef__Group__1__Impl ;
    public final void rule__RosettaSegmentRef__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32920:1: ( rule__RosettaSegmentRef__Group__1__Impl )
            // InternalRosetta.g:32921:2: rule__RosettaSegmentRef__Group__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSegmentRef__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegmentRef__Group__1"
    // $ANTLR start "rule__RosettaSegmentRef__Group__1__Impl"
    // InternalRosetta.g:32927:1: rule__RosettaSegmentRef__Group__1__Impl : ( ( rule__RosettaSegmentRef__SegmentRefAssignment_1 ) ) ;
    public final void rule__RosettaSegmentRef__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32931:1: ( ( ( rule__RosettaSegmentRef__SegmentRefAssignment_1 ) ) )
            // InternalRosetta.g:32932:1: ( ( rule__RosettaSegmentRef__SegmentRefAssignment_1 ) )
            {
            // InternalRosetta.g:32932:1: ( ( rule__RosettaSegmentRef__SegmentRefAssignment_1 ) )
            // InternalRosetta.g:32933:2: ( rule__RosettaSegmentRef__SegmentRefAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentRefAccess().getSegmentRefAssignment_1()); }
            // InternalRosetta.g:32934:2: ( rule__RosettaSegmentRef__SegmentRefAssignment_1 )
            // InternalRosetta.g:32934:3: rule__RosettaSegmentRef__SegmentRefAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSegmentRef__SegmentRefAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentRefAccess().getSegmentRefAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegmentRef__Group__1__Impl"
    // $ANTLR start "rule__RosettaReport__Group__0"
    // InternalRosetta.g:32943:1: rule__RosettaReport__Group__0 : rule__RosettaReport__Group__0__Impl rule__RosettaReport__Group__1 ;
    public final void rule__RosettaReport__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32947:1: ( rule__RosettaReport__Group__0__Impl rule__RosettaReport__Group__1 )
            // InternalRosetta.g:32948:2: rule__RosettaReport__Group__0__Impl rule__RosettaReport__Group__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaReport__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__0"
    // $ANTLR start "rule__RosettaReport__Group__0__Impl"
    // InternalRosetta.g:32955:1: rule__RosettaReport__Group__0__Impl : ( 'report' ) ;
    public final void rule__RosettaReport__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32959:1: ( ( 'report' ) )
            // InternalRosetta.g:32960:1: ( 'report' )
            {
            // InternalRosetta.g:32960:1: ( 'report' )
            // InternalRosetta.g:32961:2: 'report'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getReportKeyword_0()); }
            match(input,124,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getReportKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__0__Impl"
    // $ANTLR start "rule__RosettaReport__Group__1"
    // InternalRosetta.g:32970:1: rule__RosettaReport__Group__1 : rule__RosettaReport__Group__1__Impl rule__RosettaReport__Group__2 ;
    public final void rule__RosettaReport__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32974:1: ( rule__RosettaReport__Group__1__Impl rule__RosettaReport__Group__2 )
            // InternalRosetta.g:32975:2: rule__RosettaReport__Group__1__Impl rule__RosettaReport__Group__2
            {
            pushFollow(FOLLOW_166);
            rule__RosettaReport__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__1"
    // $ANTLR start "rule__RosettaReport__Group__1__Impl"
    // InternalRosetta.g:32982:1: rule__RosettaReport__Group__1__Impl : ( ( rule__RosettaReport__RegulatoryBodyAssignment_1 ) ) ;
    public final void rule__RosettaReport__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:32986:1: ( ( ( rule__RosettaReport__RegulatoryBodyAssignment_1 ) ) )
            // InternalRosetta.g:32987:1: ( ( rule__RosettaReport__RegulatoryBodyAssignment_1 ) )
            {
            // InternalRosetta.g:32987:1: ( ( rule__RosettaReport__RegulatoryBodyAssignment_1 ) )
            // InternalRosetta.g:32988:2: ( rule__RosettaReport__RegulatoryBodyAssignment_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getRegulatoryBodyAssignment_1()); }
            // InternalRosetta.g:32989:2: ( rule__RosettaReport__RegulatoryBodyAssignment_1 )
            // InternalRosetta.g:32989:3: rule__RosettaReport__RegulatoryBodyAssignment_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__RegulatoryBodyAssignment_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getRegulatoryBodyAssignment_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__1__Impl"
    // $ANTLR start "rule__RosettaReport__Group__2"
    // InternalRosetta.g:32997:1: rule__RosettaReport__Group__2 : rule__RosettaReport__Group__2__Impl rule__RosettaReport__Group__3 ;
    public final void rule__RosettaReport__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33001:1: ( rule__RosettaReport__Group__2__Impl rule__RosettaReport__Group__3 )
            // InternalRosetta.g:33002:2: rule__RosettaReport__Group__2__Impl rule__RosettaReport__Group__3
            {
            pushFollow(FOLLOW_167);
            rule__RosettaReport__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__2"
    // $ANTLR start "rule__RosettaReport__Group__2__Impl"
    // InternalRosetta.g:33009:1: rule__RosettaReport__Group__2__Impl : ( 'in' ) ;
    public final void rule__RosettaReport__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33013:1: ( ( 'in' ) )
            // InternalRosetta.g:33014:1: ( 'in' )
            {
            // InternalRosetta.g:33014:1: ( 'in' )
            // InternalRosetta.g:33015:2: 'in'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getInKeyword_2()); }
            match(input,125,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getInKeyword_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__2__Impl"
    // $ANTLR start "rule__RosettaReport__Group__3"
    // InternalRosetta.g:33024:1: rule__RosettaReport__Group__3 : rule__RosettaReport__Group__3__Impl rule__RosettaReport__Group__4 ;
    public final void rule__RosettaReport__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33028:1: ( rule__RosettaReport__Group__3__Impl rule__RosettaReport__Group__4 )
            // InternalRosetta.g:33029:2: rule__RosettaReport__Group__3__Impl rule__RosettaReport__Group__4
            {
            pushFollow(FOLLOW_168);
            rule__RosettaReport__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__3"
    // $ANTLR start "rule__RosettaReport__Group__3__Impl"
    // InternalRosetta.g:33036:1: rule__RosettaReport__Group__3__Impl : ( ( rule__RosettaReport__Alternatives_3 ) ) ;
    public final void rule__RosettaReport__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33040:1: ( ( ( rule__RosettaReport__Alternatives_3 ) ) )
            // InternalRosetta.g:33041:1: ( ( rule__RosettaReport__Alternatives_3 ) )
            {
            // InternalRosetta.g:33041:1: ( ( rule__RosettaReport__Alternatives_3 ) )
            // InternalRosetta.g:33042:2: ( rule__RosettaReport__Alternatives_3 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getAlternatives_3()); }
            // InternalRosetta.g:33043:2: ( rule__RosettaReport__Alternatives_3 )
            // InternalRosetta.g:33043:3: rule__RosettaReport__Alternatives_3
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Alternatives_3(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getAlternatives_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__3__Impl"
    // $ANTLR start "rule__RosettaReport__Group__4"
    // InternalRosetta.g:33051:1: rule__RosettaReport__Group__4 : rule__RosettaReport__Group__4__Impl rule__RosettaReport__Group__5 ;
    public final void rule__RosettaReport__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33055:1: ( rule__RosettaReport__Group__4__Impl rule__RosettaReport__Group__5 )
            // InternalRosetta.g:33056:2: rule__RosettaReport__Group__4__Impl rule__RosettaReport__Group__5
            {
            pushFollow(FOLLOW_13);
            rule__RosettaReport__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__4"
    // $ANTLR start "rule__RosettaReport__Group__4__Impl"
    // InternalRosetta.g:33063:1: rule__RosettaReport__Group__4__Impl : ( 'from' ) ;
    public final void rule__RosettaReport__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33067:1: ( ( 'from' ) )
            // InternalRosetta.g:33068:1: ( 'from' )
            {
            // InternalRosetta.g:33068:1: ( 'from' )
            // InternalRosetta.g:33069:2: 'from'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getFromKeyword_4()); }
            match(input,126,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getFromKeyword_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__4__Impl"
    // $ANTLR start "rule__RosettaReport__Group__5"
    // InternalRosetta.g:33078:1: rule__RosettaReport__Group__5 : rule__RosettaReport__Group__5__Impl rule__RosettaReport__Group__6 ;
    public final void rule__RosettaReport__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33082:1: ( rule__RosettaReport__Group__5__Impl rule__RosettaReport__Group__6 )
            // InternalRosetta.g:33083:2: rule__RosettaReport__Group__5__Impl rule__RosettaReport__Group__6
            {
            pushFollow(FOLLOW_66);
            rule__RosettaReport__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__6(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__5"
    // $ANTLR start "rule__RosettaReport__Group__5__Impl"
    // InternalRosetta.g:33090:1: rule__RosettaReport__Group__5__Impl : ( ( rule__RosettaReport__InputTypeAssignment_5 ) ) ;
    public final void rule__RosettaReport__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33094:1: ( ( ( rule__RosettaReport__InputTypeAssignment_5 ) ) )
            // InternalRosetta.g:33095:1: ( ( rule__RosettaReport__InputTypeAssignment_5 ) )
            {
            // InternalRosetta.g:33095:1: ( ( rule__RosettaReport__InputTypeAssignment_5 ) )
            // InternalRosetta.g:33096:2: ( rule__RosettaReport__InputTypeAssignment_5 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getInputTypeAssignment_5()); }
            // InternalRosetta.g:33097:2: ( rule__RosettaReport__InputTypeAssignment_5 )
            // InternalRosetta.g:33097:3: rule__RosettaReport__InputTypeAssignment_5
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__InputTypeAssignment_5(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getInputTypeAssignment_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__5__Impl"
    // $ANTLR start "rule__RosettaReport__Group__6"
    // InternalRosetta.g:33105:1: rule__RosettaReport__Group__6 : rule__RosettaReport__Group__6__Impl rule__RosettaReport__Group__7 ;
    public final void rule__RosettaReport__Group__6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33109:1: ( rule__RosettaReport__Group__6__Impl rule__RosettaReport__Group__7 )
            // InternalRosetta.g:33110:2: rule__RosettaReport__Group__6__Impl rule__RosettaReport__Group__7
            {
            pushFollow(FOLLOW_13);
            rule__RosettaReport__Group__6__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__7(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__6"
    // $ANTLR start "rule__RosettaReport__Group__6__Impl"
    // InternalRosetta.g:33117:1: rule__RosettaReport__Group__6__Impl : ( 'when' ) ;
    public final void rule__RosettaReport__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33121:1: ( ( 'when' ) )
            // InternalRosetta.g:33122:1: ( 'when' )
            {
            // InternalRosetta.g:33122:1: ( 'when' )
            // InternalRosetta.g:33123:2: 'when'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getWhenKeyword_6()); }
            match(input,100,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getWhenKeyword_6()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__6__Impl"
    // $ANTLR start "rule__RosettaReport__Group__7"
    // InternalRosetta.g:33132:1: rule__RosettaReport__Group__7 : rule__RosettaReport__Group__7__Impl rule__RosettaReport__Group__8 ;
    public final void rule__RosettaReport__Group__7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33136:1: ( rule__RosettaReport__Group__7__Impl rule__RosettaReport__Group__8 )
            // InternalRosetta.g:33137:2: rule__RosettaReport__Group__7__Impl rule__RosettaReport__Group__8
            {
            pushFollow(FOLLOW_169);
            rule__RosettaReport__Group__7__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__8(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__7"
    // $ANTLR start "rule__RosettaReport__Group__7__Impl"
    // InternalRosetta.g:33144:1: rule__RosettaReport__Group__7__Impl : ( ( rule__RosettaReport__EligibilityRulesAssignment_7 ) ) ;
    public final void rule__RosettaReport__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33148:1: ( ( ( rule__RosettaReport__EligibilityRulesAssignment_7 ) ) )
            // InternalRosetta.g:33149:1: ( ( rule__RosettaReport__EligibilityRulesAssignment_7 ) )
            {
            // InternalRosetta.g:33149:1: ( ( rule__RosettaReport__EligibilityRulesAssignment_7 ) )
            // InternalRosetta.g:33150:2: ( rule__RosettaReport__EligibilityRulesAssignment_7 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getEligibilityRulesAssignment_7()); }
            // InternalRosetta.g:33151:2: ( rule__RosettaReport__EligibilityRulesAssignment_7 )
            // InternalRosetta.g:33151:3: rule__RosettaReport__EligibilityRulesAssignment_7
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__EligibilityRulesAssignment_7(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getEligibilityRulesAssignment_7()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__7__Impl"
    // $ANTLR start "rule__RosettaReport__Group__8"
    // InternalRosetta.g:33159:1: rule__RosettaReport__Group__8 : rule__RosettaReport__Group__8__Impl rule__RosettaReport__Group__9 ;
    public final void rule__RosettaReport__Group__8() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33163:1: ( rule__RosettaReport__Group__8__Impl rule__RosettaReport__Group__9 )
            // InternalRosetta.g:33164:2: rule__RosettaReport__Group__8__Impl rule__RosettaReport__Group__9
            {
            pushFollow(FOLLOW_169);
            rule__RosettaReport__Group__8__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__9(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__8"
    // $ANTLR start "rule__RosettaReport__Group__8__Impl"
    // InternalRosetta.g:33171:1: rule__RosettaReport__Group__8__Impl : ( ( rule__RosettaReport__Group_8__0 )* ) ;
    public final void rule__RosettaReport__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33175:1: ( ( ( rule__RosettaReport__Group_8__0 )* ) )
            // InternalRosetta.g:33176:1: ( ( rule__RosettaReport__Group_8__0 )* )
            {
            // InternalRosetta.g:33176:1: ( ( rule__RosettaReport__Group_8__0 )* )
            // InternalRosetta.g:33177:2: ( rule__RosettaReport__Group_8__0 )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getGroup_8()); }
            // InternalRosetta.g:33178:2: ( rule__RosettaReport__Group_8__0 )*
            loop289:
            do {
                int alt289=2;
                int LA289_0 = input.LA(1);
                if ( (LA289_0==103) ) {
                    alt289=1;
                }
                switch (alt289) {
            	case 1 :
            	    // InternalRosetta.g:33178:3: rule__RosettaReport__Group_8__0
            	    {
            	    pushFollow(FOLLOW_77);
            	    rule__RosettaReport__Group_8__0();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop289;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getGroup_8()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__8__Impl"
    // $ANTLR start "rule__RosettaReport__Group__9"
    // InternalRosetta.g:33186:1: rule__RosettaReport__Group__9 : rule__RosettaReport__Group__9__Impl rule__RosettaReport__Group__10 ;
    public final void rule__RosettaReport__Group__9() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33190:1: ( rule__RosettaReport__Group__9__Impl rule__RosettaReport__Group__10 )
            // InternalRosetta.g:33191:2: rule__RosettaReport__Group__9__Impl rule__RosettaReport__Group__10
            {
            pushFollow(FOLLOW_169);
            rule__RosettaReport__Group__9__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__10(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__9"
    // $ANTLR start "rule__RosettaReport__Group__9__Impl"
    // InternalRosetta.g:33198:1: rule__RosettaReport__Group__9__Impl : ( ( rule__RosettaReport__Group_9__0 )? ) ;
    public final void rule__RosettaReport__Group__9__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33202:1: ( ( ( rule__RosettaReport__Group_9__0 )? ) )
            // InternalRosetta.g:33203:1: ( ( rule__RosettaReport__Group_9__0 )? )
            {
            // InternalRosetta.g:33203:1: ( ( rule__RosettaReport__Group_9__0 )? )
            // InternalRosetta.g:33204:2: ( rule__RosettaReport__Group_9__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getGroup_9()); }
            // InternalRosetta.g:33205:2: ( rule__RosettaReport__Group_9__0 )?
            int alt290=2;
            int LA290_0 = input.LA(1);
            if ( (LA290_0==128) ) {
                alt290=1;
            }
            switch (alt290) {
                case 1 :
                    // InternalRosetta.g:33205:3: rule__RosettaReport__Group_9__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaReport__Group_9__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getGroup_9()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__9__Impl"
    // $ANTLR start "rule__RosettaReport__Group__10"
    // InternalRosetta.g:33213:1: rule__RosettaReport__Group__10 : rule__RosettaReport__Group__10__Impl rule__RosettaReport__Group__11 ;
    public final void rule__RosettaReport__Group__10() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33217:1: ( rule__RosettaReport__Group__10__Impl rule__RosettaReport__Group__11 )
            // InternalRosetta.g:33218:2: rule__RosettaReport__Group__10__Impl rule__RosettaReport__Group__11
            {
            pushFollow(FOLLOW_170);
            rule__RosettaReport__Group__10__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__11(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__10"
    // $ANTLR start "rule__RosettaReport__Group__10__Impl"
    // InternalRosetta.g:33225:1: rule__RosettaReport__Group__10__Impl : ( 'with' ) ;
    public final void rule__RosettaReport__Group__10__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33229:1: ( ( 'with' ) )
            // InternalRosetta.g:33230:1: ( 'with' )
            {
            // InternalRosetta.g:33230:1: ( 'with' )
            // InternalRosetta.g:33231:2: 'with'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getWithKeyword_10()); }
            match(input,127,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getWithKeyword_10()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__10__Impl"
    // $ANTLR start "rule__RosettaReport__Group__11"
    // InternalRosetta.g:33240:1: rule__RosettaReport__Group__11 : rule__RosettaReport__Group__11__Impl rule__RosettaReport__Group__12 ;
    public final void rule__RosettaReport__Group__11() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33244:1: ( rule__RosettaReport__Group__11__Impl rule__RosettaReport__Group__12 )
            // InternalRosetta.g:33245:2: rule__RosettaReport__Group__11__Impl rule__RosettaReport__Group__12
            {
            pushFollow(FOLLOW_13);
            rule__RosettaReport__Group__11__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__12(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__11"
    // $ANTLR start "rule__RosettaReport__Group__11__Impl"
    // InternalRosetta.g:33252:1: rule__RosettaReport__Group__11__Impl : ( 'type' ) ;
    public final void rule__RosettaReport__Group__11__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33256:1: ( ( 'type' ) )
            // InternalRosetta.g:33257:1: ( 'type' )
            {
            // InternalRosetta.g:33257:1: ( 'type' )
            // InternalRosetta.g:33258:2: 'type'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getTypeKeyword_11()); }
            match(input,68,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getTypeKeyword_11()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__11__Impl"
    // $ANTLR start "rule__RosettaReport__Group__12"
    // InternalRosetta.g:33267:1: rule__RosettaReport__Group__12 : rule__RosettaReport__Group__12__Impl rule__RosettaReport__Group__13 ;
    public final void rule__RosettaReport__Group__12() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33271:1: ( rule__RosettaReport__Group__12__Impl rule__RosettaReport__Group__13 )
            // InternalRosetta.g:33272:2: rule__RosettaReport__Group__12__Impl rule__RosettaReport__Group__13
            {
            pushFollow(FOLLOW_171);
            rule__RosettaReport__Group__12__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__13(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__12"
    // $ANTLR start "rule__RosettaReport__Group__12__Impl"
    // InternalRosetta.g:33279:1: rule__RosettaReport__Group__12__Impl : ( ( rule__RosettaReport__ReportTypeAssignment_12 ) ) ;
    public final void rule__RosettaReport__Group__12__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33283:1: ( ( ( rule__RosettaReport__ReportTypeAssignment_12 ) ) )
            // InternalRosetta.g:33284:1: ( ( rule__RosettaReport__ReportTypeAssignment_12 ) )
            {
            // InternalRosetta.g:33284:1: ( ( rule__RosettaReport__ReportTypeAssignment_12 ) )
            // InternalRosetta.g:33285:2: ( rule__RosettaReport__ReportTypeAssignment_12 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getReportTypeAssignment_12()); }
            // InternalRosetta.g:33286:2: ( rule__RosettaReport__ReportTypeAssignment_12 )
            // InternalRosetta.g:33286:3: rule__RosettaReport__ReportTypeAssignment_12
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__ReportTypeAssignment_12(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getReportTypeAssignment_12()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__12__Impl"
    // $ANTLR start "rule__RosettaReport__Group__13"
    // InternalRosetta.g:33294:1: rule__RosettaReport__Group__13 : rule__RosettaReport__Group__13__Impl ;
    public final void rule__RosettaReport__Group__13() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33298:1: ( rule__RosettaReport__Group__13__Impl )
            // InternalRosetta.g:33299:2: rule__RosettaReport__Group__13__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group__13__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__13"
    // $ANTLR start "rule__RosettaReport__Group__13__Impl"
    // InternalRosetta.g:33305:1: rule__RosettaReport__Group__13__Impl : ( ( rule__RosettaReport__Group_13__0 )? ) ;
    public final void rule__RosettaReport__Group__13__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33309:1: ( ( ( rule__RosettaReport__Group_13__0 )? ) )
            // InternalRosetta.g:33310:1: ( ( rule__RosettaReport__Group_13__0 )? )
            {
            // InternalRosetta.g:33310:1: ( ( rule__RosettaReport__Group_13__0 )? )
            // InternalRosetta.g:33311:2: ( rule__RosettaReport__Group_13__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getGroup_13()); }
            // InternalRosetta.g:33312:2: ( rule__RosettaReport__Group_13__0 )?
            int alt291=2;
            int LA291_0 = input.LA(1);
            if ( (LA291_0==127) ) {
                alt291=1;
            }
            switch (alt291) {
                case 1 :
                    // InternalRosetta.g:33312:3: rule__RosettaReport__Group_13__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaReport__Group_13__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getGroup_13()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group__13__Impl"
    // $ANTLR start "rule__RosettaReport__Group_8__0"
    // InternalRosetta.g:33321:1: rule__RosettaReport__Group_8__0 : rule__RosettaReport__Group_8__0__Impl rule__RosettaReport__Group_8__1 ;
    public final void rule__RosettaReport__Group_8__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33325:1: ( rule__RosettaReport__Group_8__0__Impl rule__RosettaReport__Group_8__1 )
            // InternalRosetta.g:33326:2: rule__RosettaReport__Group_8__0__Impl rule__RosettaReport__Group_8__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaReport__Group_8__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group_8__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_8__0"
    // $ANTLR start "rule__RosettaReport__Group_8__0__Impl"
    // InternalRosetta.g:33333:1: rule__RosettaReport__Group_8__0__Impl : ( 'and' ) ;
    public final void rule__RosettaReport__Group_8__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33337:1: ( ( 'and' ) )
            // InternalRosetta.g:33338:1: ( 'and' )
            {
            // InternalRosetta.g:33338:1: ( 'and' )
            // InternalRosetta.g:33339:2: 'and'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getAndKeyword_8_0()); }
            match(input,103,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getAndKeyword_8_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_8__0__Impl"
    // $ANTLR start "rule__RosettaReport__Group_8__1"
    // InternalRosetta.g:33348:1: rule__RosettaReport__Group_8__1 : rule__RosettaReport__Group_8__1__Impl ;
    public final void rule__RosettaReport__Group_8__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33352:1: ( rule__RosettaReport__Group_8__1__Impl )
            // InternalRosetta.g:33353:2: rule__RosettaReport__Group_8__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group_8__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_8__1"
    // $ANTLR start "rule__RosettaReport__Group_8__1__Impl"
    // InternalRosetta.g:33359:1: rule__RosettaReport__Group_8__1__Impl : ( ( rule__RosettaReport__EligibilityRulesAssignment_8_1 ) ) ;
    public final void rule__RosettaReport__Group_8__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33363:1: ( ( ( rule__RosettaReport__EligibilityRulesAssignment_8_1 ) ) )
            // InternalRosetta.g:33364:1: ( ( rule__RosettaReport__EligibilityRulesAssignment_8_1 ) )
            {
            // InternalRosetta.g:33364:1: ( ( rule__RosettaReport__EligibilityRulesAssignment_8_1 ) )
            // InternalRosetta.g:33365:2: ( rule__RosettaReport__EligibilityRulesAssignment_8_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getEligibilityRulesAssignment_8_1()); }
            // InternalRosetta.g:33366:2: ( rule__RosettaReport__EligibilityRulesAssignment_8_1 )
            // InternalRosetta.g:33366:3: rule__RosettaReport__EligibilityRulesAssignment_8_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__EligibilityRulesAssignment_8_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getEligibilityRulesAssignment_8_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_8__1__Impl"
    // $ANTLR start "rule__RosettaReport__Group_9__0"
    // InternalRosetta.g:33375:1: rule__RosettaReport__Group_9__0 : rule__RosettaReport__Group_9__0__Impl rule__RosettaReport__Group_9__1 ;
    public final void rule__RosettaReport__Group_9__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33379:1: ( rule__RosettaReport__Group_9__0__Impl rule__RosettaReport__Group_9__1 )
            // InternalRosetta.g:33380:2: rule__RosettaReport__Group_9__0__Impl rule__RosettaReport__Group_9__1
            {
            pushFollow(FOLLOW_172);
            rule__RosettaReport__Group_9__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group_9__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_9__0"
    // $ANTLR start "rule__RosettaReport__Group_9__0__Impl"
    // InternalRosetta.g:33387:1: rule__RosettaReport__Group_9__0__Impl : ( 'using' ) ;
    public final void rule__RosettaReport__Group_9__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33391:1: ( ( 'using' ) )
            // InternalRosetta.g:33392:1: ( 'using' )
            {
            // InternalRosetta.g:33392:1: ( 'using' )
            // InternalRosetta.g:33393:2: 'using'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getUsingKeyword_9_0()); }
            match(input,128,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getUsingKeyword_9_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_9__0__Impl"
    // $ANTLR start "rule__RosettaReport__Group_9__1"
    // InternalRosetta.g:33402:1: rule__RosettaReport__Group_9__1 : rule__RosettaReport__Group_9__1__Impl rule__RosettaReport__Group_9__2 ;
    public final void rule__RosettaReport__Group_9__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33406:1: ( rule__RosettaReport__Group_9__1__Impl rule__RosettaReport__Group_9__2 )
            // InternalRosetta.g:33407:2: rule__RosettaReport__Group_9__1__Impl rule__RosettaReport__Group_9__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaReport__Group_9__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group_9__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_9__1"
    // $ANTLR start "rule__RosettaReport__Group_9__1__Impl"
    // InternalRosetta.g:33414:1: rule__RosettaReport__Group_9__1__Impl : ( 'standard' ) ;
    public final void rule__RosettaReport__Group_9__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33418:1: ( ( 'standard' ) )
            // InternalRosetta.g:33419:1: ( 'standard' )
            {
            // InternalRosetta.g:33419:1: ( 'standard' )
            // InternalRosetta.g:33420:2: 'standard'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getStandardKeyword_9_1()); }
            match(input,129,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getStandardKeyword_9_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_9__1__Impl"
    // $ANTLR start "rule__RosettaReport__Group_9__2"
    // InternalRosetta.g:33429:1: rule__RosettaReport__Group_9__2 : rule__RosettaReport__Group_9__2__Impl ;
    public final void rule__RosettaReport__Group_9__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33433:1: ( rule__RosettaReport__Group_9__2__Impl )
            // InternalRosetta.g:33434:2: rule__RosettaReport__Group_9__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group_9__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_9__2"
    // $ANTLR start "rule__RosettaReport__Group_9__2__Impl"
    // InternalRosetta.g:33440:1: rule__RosettaReport__Group_9__2__Impl : ( ( rule__RosettaReport__ReportingStandardAssignment_9_2 ) ) ;
    public final void rule__RosettaReport__Group_9__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33444:1: ( ( ( rule__RosettaReport__ReportingStandardAssignment_9_2 ) ) )
            // InternalRosetta.g:33445:1: ( ( rule__RosettaReport__ReportingStandardAssignment_9_2 ) )
            {
            // InternalRosetta.g:33445:1: ( ( rule__RosettaReport__ReportingStandardAssignment_9_2 ) )
            // InternalRosetta.g:33446:2: ( rule__RosettaReport__ReportingStandardAssignment_9_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getReportingStandardAssignment_9_2()); }
            // InternalRosetta.g:33447:2: ( rule__RosettaReport__ReportingStandardAssignment_9_2 )
            // InternalRosetta.g:33447:3: rule__RosettaReport__ReportingStandardAssignment_9_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__ReportingStandardAssignment_9_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getReportingStandardAssignment_9_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_9__2__Impl"
    // $ANTLR start "rule__RosettaReport__Group_13__0"
    // InternalRosetta.g:33456:1: rule__RosettaReport__Group_13__0 : rule__RosettaReport__Group_13__0__Impl rule__RosettaReport__Group_13__1 ;
    public final void rule__RosettaReport__Group_13__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33460:1: ( rule__RosettaReport__Group_13__0__Impl rule__RosettaReport__Group_13__1 )
            // InternalRosetta.g:33461:2: rule__RosettaReport__Group_13__0__Impl rule__RosettaReport__Group_13__1
            {
            pushFollow(FOLLOW_48);
            rule__RosettaReport__Group_13__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group_13__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_13__0"
    // $ANTLR start "rule__RosettaReport__Group_13__0__Impl"
    // InternalRosetta.g:33468:1: rule__RosettaReport__Group_13__0__Impl : ( 'with' ) ;
    public final void rule__RosettaReport__Group_13__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33472:1: ( ( 'with' ) )
            // InternalRosetta.g:33473:1: ( 'with' )
            {
            // InternalRosetta.g:33473:1: ( 'with' )
            // InternalRosetta.g:33474:2: 'with'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getWithKeyword_13_0()); }
            match(input,127,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getWithKeyword_13_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_13__0__Impl"
    // $ANTLR start "rule__RosettaReport__Group_13__1"
    // InternalRosetta.g:33483:1: rule__RosettaReport__Group_13__1 : rule__RosettaReport__Group_13__1__Impl rule__RosettaReport__Group_13__2 ;
    public final void rule__RosettaReport__Group_13__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33487:1: ( rule__RosettaReport__Group_13__1__Impl rule__RosettaReport__Group_13__2 )
            // InternalRosetta.g:33488:2: rule__RosettaReport__Group_13__1__Impl rule__RosettaReport__Group_13__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaReport__Group_13__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group_13__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_13__1"
    // $ANTLR start "rule__RosettaReport__Group_13__1__Impl"
    // InternalRosetta.g:33495:1: rule__RosettaReport__Group_13__1__Impl : ( 'source' ) ;
    public final void rule__RosettaReport__Group_13__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33499:1: ( ( 'source' ) )
            // InternalRosetta.g:33500:1: ( 'source' )
            {
            // InternalRosetta.g:33500:1: ( 'source' )
            // InternalRosetta.g:33501:2: 'source'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getSourceKeyword_13_1()); }
            match(input,15,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getSourceKeyword_13_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_13__1__Impl"
    // $ANTLR start "rule__RosettaReport__Group_13__2"
    // InternalRosetta.g:33510:1: rule__RosettaReport__Group_13__2 : rule__RosettaReport__Group_13__2__Impl ;
    public final void rule__RosettaReport__Group_13__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33514:1: ( rule__RosettaReport__Group_13__2__Impl )
            // InternalRosetta.g:33515:2: rule__RosettaReport__Group_13__2__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__Group_13__2__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_13__2"
    // $ANTLR start "rule__RosettaReport__Group_13__2__Impl"
    // InternalRosetta.g:33521:1: rule__RosettaReport__Group_13__2__Impl : ( ( rule__RosettaReport__RuleSourceAssignment_13_2 ) ) ;
    public final void rule__RosettaReport__Group_13__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33525:1: ( ( ( rule__RosettaReport__RuleSourceAssignment_13_2 ) ) )
            // InternalRosetta.g:33526:1: ( ( rule__RosettaReport__RuleSourceAssignment_13_2 ) )
            {
            // InternalRosetta.g:33526:1: ( ( rule__RosettaReport__RuleSourceAssignment_13_2 ) )
            // InternalRosetta.g:33527:2: ( rule__RosettaReport__RuleSourceAssignment_13_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getRuleSourceAssignment_13_2()); }
            // InternalRosetta.g:33528:2: ( rule__RosettaReport__RuleSourceAssignment_13_2 )
            // InternalRosetta.g:33528:3: rule__RosettaReport__RuleSourceAssignment_13_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReport__RuleSourceAssignment_13_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getRuleSourceAssignment_13_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__Group_13__2__Impl"
    // $ANTLR start "rule__RosettaRuleReference__Group__0"
    // InternalRosetta.g:33537:1: rule__RosettaRuleReference__Group__0 : rule__RosettaRuleReference__Group__0__Impl rule__RosettaRuleReference__Group__1 ;
    public final void rule__RosettaRuleReference__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33541:1: ( rule__RosettaRuleReference__Group__0__Impl rule__RosettaRuleReference__Group__1 )
            // InternalRosetta.g:33542:2: rule__RosettaRuleReference__Group__0__Impl rule__RosettaRuleReference__Group__1
            {
            pushFollow(FOLLOW_173);
            rule__RosettaRuleReference__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRuleReference__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRuleReference__Group__0"
    // $ANTLR start "rule__RosettaRuleReference__Group__0__Impl"
    // InternalRosetta.g:33549:1: rule__RosettaRuleReference__Group__0__Impl : ( '[' ) ;
    public final void rule__RosettaRuleReference__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33553:1: ( ( '[' ) )
            // InternalRosetta.g:33554:1: ( '[' )
            {
            // InternalRosetta.g:33554:1: ( '[' )
            // InternalRosetta.g:33555:2: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleReferenceAccess().getLeftSquareBracketKeyword_0()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleReferenceAccess().getLeftSquareBracketKeyword_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRuleReference__Group__0__Impl"
    // $ANTLR start "rule__RosettaRuleReference__Group__1"
    // InternalRosetta.g:33564:1: rule__RosettaRuleReference__Group__1 : rule__RosettaRuleReference__Group__1__Impl rule__RosettaRuleReference__Group__2 ;
    public final void rule__RosettaRuleReference__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33568:1: ( rule__RosettaRuleReference__Group__1__Impl rule__RosettaRuleReference__Group__2 )
            // InternalRosetta.g:33569:2: rule__RosettaRuleReference__Group__1__Impl rule__RosettaRuleReference__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaRuleReference__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRuleReference__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRuleReference__Group__1"
    // $ANTLR start "rule__RosettaRuleReference__Group__1__Impl"
    // InternalRosetta.g:33576:1: rule__RosettaRuleReference__Group__1__Impl : ( 'ruleReference' ) ;
    public final void rule__RosettaRuleReference__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33580:1: ( ( 'ruleReference' ) )
            // InternalRosetta.g:33581:1: ( 'ruleReference' )
            {
            // InternalRosetta.g:33581:1: ( 'ruleReference' )
            // InternalRosetta.g:33582:2: 'ruleReference'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleReferenceAccess().getRuleReferenceKeyword_1()); }
            match(input,130,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleReferenceAccess().getRuleReferenceKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRuleReference__Group__1__Impl"
    // $ANTLR start "rule__RosettaRuleReference__Group__2"
    // InternalRosetta.g:33591:1: rule__RosettaRuleReference__Group__2 : rule__RosettaRuleReference__Group__2__Impl rule__RosettaRuleReference__Group__3 ;
    public final void rule__RosettaRuleReference__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33595:1: ( rule__RosettaRuleReference__Group__2__Impl rule__RosettaRuleReference__Group__3 )
            // InternalRosetta.g:33596:2: rule__RosettaRuleReference__Group__2__Impl rule__RosettaRuleReference__Group__3
            {
            pushFollow(FOLLOW_20);
            rule__RosettaRuleReference__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRuleReference__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRuleReference__Group__2"
    // $ANTLR start "rule__RosettaRuleReference__Group__2__Impl"
    // InternalRosetta.g:33603:1: rule__RosettaRuleReference__Group__2__Impl : ( ( rule__RosettaRuleReference__ReportingRuleAssignment_2 ) ) ;
    public final void rule__RosettaRuleReference__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33607:1: ( ( ( rule__RosettaRuleReference__ReportingRuleAssignment_2 ) ) )
            // InternalRosetta.g:33608:1: ( ( rule__RosettaRuleReference__ReportingRuleAssignment_2 ) )
            {
            // InternalRosetta.g:33608:1: ( ( rule__RosettaRuleReference__ReportingRuleAssignment_2 ) )
            // InternalRosetta.g:33609:2: ( rule__RosettaRuleReference__ReportingRuleAssignment_2 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleReferenceAccess().getReportingRuleAssignment_2()); }
            // InternalRosetta.g:33610:2: ( rule__RosettaRuleReference__ReportingRuleAssignment_2 )
            // InternalRosetta.g:33610:3: rule__RosettaRuleReference__ReportingRuleAssignment_2
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRuleReference__ReportingRuleAssignment_2(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleReferenceAccess().getReportingRuleAssignment_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRuleReference__Group__2__Impl"
    // $ANTLR start "rule__RosettaRuleReference__Group__3"
    // InternalRosetta.g:33618:1: rule__RosettaRuleReference__Group__3 : rule__RosettaRuleReference__Group__3__Impl ;
    public final void rule__RosettaRuleReference__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33622:1: ( rule__RosettaRuleReference__Group__3__Impl )
            // InternalRosetta.g:33623:2: rule__RosettaRuleReference__Group__3__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRuleReference__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRuleReference__Group__3"
    // $ANTLR start "rule__RosettaRuleReference__Group__3__Impl"
    // InternalRosetta.g:33629:1: rule__RosettaRuleReference__Group__3__Impl : ( ']' ) ;
    public final void rule__RosettaRuleReference__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33633:1: ( ( ']' ) )
            // InternalRosetta.g:33634:1: ( ']' )
            {
            // InternalRosetta.g:33634:1: ( ']' )
            // InternalRosetta.g:33635:2: ']'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleReferenceAccess().getRightSquareBracketKeyword_3()); }
            match(input,67,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleReferenceAccess().getRightSquareBracketKeyword_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRuleReference__Group__3__Impl"
    // $ANTLR start "rule__RosettaRule__Group__0"
    // InternalRosetta.g:33645:1: rule__RosettaRule__Group__0 : rule__RosettaRule__Group__0__Impl rule__RosettaRule__Group__1 ;
    public final void rule__RosettaRule__Group__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33649:1: ( rule__RosettaRule__Group__0__Impl rule__RosettaRule__Group__1 )
            // InternalRosetta.g:33650:2: rule__RosettaRule__Group__0__Impl rule__RosettaRule__Group__1
            {
            pushFollow(FOLLOW_174);
            rule__RosettaRule__Group__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__0"
    // $ANTLR start "rule__RosettaRule__Group__0__Impl"
    // InternalRosetta.g:33657:1: rule__RosettaRule__Group__0__Impl : ( ( rule__RosettaRule__Alternatives_0 ) ) ;
    public final void rule__RosettaRule__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33661:1: ( ( ( rule__RosettaRule__Alternatives_0 ) ) )
            // InternalRosetta.g:33662:1: ( ( rule__RosettaRule__Alternatives_0 ) )
            {
            // InternalRosetta.g:33662:1: ( ( rule__RosettaRule__Alternatives_0 ) )
            // InternalRosetta.g:33663:2: ( rule__RosettaRule__Alternatives_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getAlternatives_0()); }
            // InternalRosetta.g:33664:2: ( rule__RosettaRule__Alternatives_0 )
            // InternalRosetta.g:33664:3: rule__RosettaRule__Alternatives_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Alternatives_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getAlternatives_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__0__Impl"
    // $ANTLR start "rule__RosettaRule__Group__1"
    // InternalRosetta.g:33672:1: rule__RosettaRule__Group__1 : rule__RosettaRule__Group__1__Impl rule__RosettaRule__Group__2 ;
    public final void rule__RosettaRule__Group__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33676:1: ( rule__RosettaRule__Group__1__Impl rule__RosettaRule__Group__2 )
            // InternalRosetta.g:33677:2: rule__RosettaRule__Group__1__Impl rule__RosettaRule__Group__2
            {
            pushFollow(FOLLOW_13);
            rule__RosettaRule__Group__1__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group__2(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__1"
    // $ANTLR start "rule__RosettaRule__Group__1__Impl"
    // InternalRosetta.g:33684:1: rule__RosettaRule__Group__1__Impl : ( 'rule' ) ;
    public final void rule__RosettaRule__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33688:1: ( ( 'rule' ) )
            // InternalRosetta.g:33689:1: ( 'rule' )
            {
            // InternalRosetta.g:33689:1: ( 'rule' )
            // InternalRosetta.g:33690:2: 'rule'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getRuleKeyword_1()); }
            match(input,123,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getRuleKeyword_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__1__Impl"
    // $ANTLR start "rule__RosettaRule__Group__2"
    // InternalRosetta.g:33699:1: rule__RosettaRule__Group__2 : rule__RosettaRule__Group__2__Impl rule__RosettaRule__Group__3 ;
    public final void rule__RosettaRule__Group__2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33703:1: ( rule__RosettaRule__Group__2__Impl rule__RosettaRule__Group__3 )
            // InternalRosetta.g:33704:2: rule__RosettaRule__Group__2__Impl rule__RosettaRule__Group__3
            {
            pushFollow(FOLLOW_175);
            rule__RosettaRule__Group__2__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group__3(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__2"
    // $ANTLR start "rule__RosettaRule__Group__2__Impl"
    // InternalRosetta.g:33711:1: rule__RosettaRule__Group__2__Impl : ( ruleRosettaNamed ) ;
    public final void rule__RosettaRule__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33715:1: ( ( ruleRosettaNamed ) )
            // InternalRosetta.g:33716:1: ( ruleRosettaNamed )
            {
            // InternalRosetta.g:33716:1: ( ruleRosettaNamed )
            // InternalRosetta.g:33717:2: ruleRosettaNamed
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getRosettaNamedParserRuleCall_2()); }
            pushFollow(FOLLOW_2);
            ruleRosettaNamed(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getRosettaNamedParserRuleCall_2()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__2__Impl"
    // $ANTLR start "rule__RosettaRule__Group__3"
    // InternalRosetta.g:33726:1: rule__RosettaRule__Group__3 : rule__RosettaRule__Group__3__Impl rule__RosettaRule__Group__4 ;
    public final void rule__RosettaRule__Group__3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33730:1: ( rule__RosettaRule__Group__3__Impl rule__RosettaRule__Group__4 )
            // InternalRosetta.g:33731:2: rule__RosettaRule__Group__3__Impl rule__RosettaRule__Group__4
            {
            pushFollow(FOLLOW_175);
            rule__RosettaRule__Group__3__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group__4(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__3"
    // $ANTLR start "rule__RosettaRule__Group__3__Impl"
    // InternalRosetta.g:33738:1: rule__RosettaRule__Group__3__Impl : ( ( rule__RosettaRule__Group_3__0 )? ) ;
    public final void rule__RosettaRule__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33742:1: ( ( ( rule__RosettaRule__Group_3__0 )? ) )
            // InternalRosetta.g:33743:1: ( ( rule__RosettaRule__Group_3__0 )? )
            {
            // InternalRosetta.g:33743:1: ( ( rule__RosettaRule__Group_3__0 )? )
            // InternalRosetta.g:33744:2: ( rule__RosettaRule__Group_3__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getGroup_3()); }
            // InternalRosetta.g:33745:2: ( rule__RosettaRule__Group_3__0 )?
            int alt292=2;
            int LA292_0 = input.LA(1);
            if ( (LA292_0==126) ) {
                alt292=1;
            }
            switch (alt292) {
                case 1 :
                    // InternalRosetta.g:33745:3: rule__RosettaRule__Group_3__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaRule__Group_3__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getGroup_3()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__3__Impl"
    // $ANTLR start "rule__RosettaRule__Group__4"
    // InternalRosetta.g:33753:1: rule__RosettaRule__Group__4 : rule__RosettaRule__Group__4__Impl rule__RosettaRule__Group__5 ;
    public final void rule__RosettaRule__Group__4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33757:1: ( rule__RosettaRule__Group__4__Impl rule__RosettaRule__Group__5 )
            // InternalRosetta.g:33758:2: rule__RosettaRule__Group__4__Impl rule__RosettaRule__Group__5
            {
            pushFollow(FOLLOW_34);
            rule__RosettaRule__Group__4__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group__5(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__4"
    // $ANTLR start "rule__RosettaRule__Group__4__Impl"
    // InternalRosetta.g:33765:1: rule__RosettaRule__Group__4__Impl : ( ':' ) ;
    public final void rule__RosettaRule__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33769:1: ( ( ':' ) )
            // InternalRosetta.g:33770:1: ( ':' )
            {
            // InternalRosetta.g:33770:1: ( ':' )
            // InternalRosetta.g:33771:2: ':'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getColonKeyword_4()); }
            match(input,60,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getColonKeyword_4()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__4__Impl"
    // $ANTLR start "rule__RosettaRule__Group__5"
    // InternalRosetta.g:33780:1: rule__RosettaRule__Group__5 : rule__RosettaRule__Group__5__Impl rule__RosettaRule__Group__6 ;
    public final void rule__RosettaRule__Group__5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33784:1: ( rule__RosettaRule__Group__5__Impl rule__RosettaRule__Group__6 )
            // InternalRosetta.g:33785:2: rule__RosettaRule__Group__5__Impl rule__RosettaRule__Group__6
            {
            pushFollow(FOLLOW_34);
            rule__RosettaRule__Group__5__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group__6(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__5"
    // $ANTLR start "rule__RosettaRule__Group__5__Impl"
    // InternalRosetta.g:33792:1: rule__RosettaRule__Group__5__Impl : ( ( ruleRosettaDefinable )? ) ;
    public final void rule__RosettaRule__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33796:1: ( ( ( ruleRosettaDefinable )? ) )
            // InternalRosetta.g:33797:1: ( ( ruleRosettaDefinable )? )
            {
            // InternalRosetta.g:33797:1: ( ( ruleRosettaDefinable )? )
            // InternalRosetta.g:33798:2: ( ruleRosettaDefinable )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getRosettaDefinableParserRuleCall_5()); }
            // InternalRosetta.g:33799:2: ( ruleRosettaDefinable )?
            int alt293=2;
            alt293 = dfa293.predict(input);
            switch (alt293) {
                case 1 :
                    // InternalRosetta.g:33799:3: ruleRosettaDefinable
                    {
                    pushFollow(FOLLOW_2);
                    ruleRosettaDefinable();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getRosettaDefinableParserRuleCall_5()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__5__Impl"
    // $ANTLR start "rule__RosettaRule__Group__6"
    // InternalRosetta.g:33807:1: rule__RosettaRule__Group__6 : rule__RosettaRule__Group__6__Impl ;
    public final void rule__RosettaRule__Group__6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33811:1: ( rule__RosettaRule__Group__6__Impl )
            // InternalRosetta.g:33812:2: rule__RosettaRule__Group__6__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group__6__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__6"
    // $ANTLR start "rule__RosettaRule__Group__6__Impl"
    // InternalRosetta.g:33818:1: rule__RosettaRule__Group__6__Impl : ( ( rule__RosettaRule__Group_6__0 ) ) ;
    public final void rule__RosettaRule__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33822:1: ( ( ( rule__RosettaRule__Group_6__0 ) ) )
            // InternalRosetta.g:33823:1: ( ( rule__RosettaRule__Group_6__0 ) )
            {
            // InternalRosetta.g:33823:1: ( ( rule__RosettaRule__Group_6__0 ) )
            // InternalRosetta.g:33824:2: ( rule__RosettaRule__Group_6__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getGroup_6()); }
            // InternalRosetta.g:33825:2: ( rule__RosettaRule__Group_6__0 )
            // InternalRosetta.g:33825:3: rule__RosettaRule__Group_6__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group_6__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getGroup_6()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group__6__Impl"
    // $ANTLR start "rule__RosettaRule__Group_3__0"
    // InternalRosetta.g:33834:1: rule__RosettaRule__Group_3__0 : rule__RosettaRule__Group_3__0__Impl rule__RosettaRule__Group_3__1 ;
    public final void rule__RosettaRule__Group_3__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33838:1: ( rule__RosettaRule__Group_3__0__Impl rule__RosettaRule__Group_3__1 )
            // InternalRosetta.g:33839:2: rule__RosettaRule__Group_3__0__Impl rule__RosettaRule__Group_3__1
            {
            pushFollow(FOLLOW_13);
            rule__RosettaRule__Group_3__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group_3__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_3__0"
    // $ANTLR start "rule__RosettaRule__Group_3__0__Impl"
    // InternalRosetta.g:33846:1: rule__RosettaRule__Group_3__0__Impl : ( 'from' ) ;
    public final void rule__RosettaRule__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33850:1: ( ( 'from' ) )
            // InternalRosetta.g:33851:1: ( 'from' )
            {
            // InternalRosetta.g:33851:1: ( 'from' )
            // InternalRosetta.g:33852:2: 'from'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getFromKeyword_3_0()); }
            match(input,126,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getFromKeyword_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_3__0__Impl"
    // $ANTLR start "rule__RosettaRule__Group_3__1"
    // InternalRosetta.g:33861:1: rule__RosettaRule__Group_3__1 : rule__RosettaRule__Group_3__1__Impl ;
    public final void rule__RosettaRule__Group_3__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33865:1: ( rule__RosettaRule__Group_3__1__Impl )
            // InternalRosetta.g:33866:2: rule__RosettaRule__Group_3__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group_3__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_3__1"
    // $ANTLR start "rule__RosettaRule__Group_3__1__Impl"
    // InternalRosetta.g:33872:1: rule__RosettaRule__Group_3__1__Impl : ( ( rule__RosettaRule__InputAssignment_3_1 ) ) ;
    public final void rule__RosettaRule__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33876:1: ( ( ( rule__RosettaRule__InputAssignment_3_1 ) ) )
            // InternalRosetta.g:33877:1: ( ( rule__RosettaRule__InputAssignment_3_1 ) )
            {
            // InternalRosetta.g:33877:1: ( ( rule__RosettaRule__InputAssignment_3_1 ) )
            // InternalRosetta.g:33878:2: ( rule__RosettaRule__InputAssignment_3_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getInputAssignment_3_1()); }
            // InternalRosetta.g:33879:2: ( rule__RosettaRule__InputAssignment_3_1 )
            // InternalRosetta.g:33879:3: rule__RosettaRule__InputAssignment_3_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__InputAssignment_3_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getInputAssignment_3_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_3__1__Impl"
    // $ANTLR start "rule__RosettaRule__Group_6__0"
    // InternalRosetta.g:33888:1: rule__RosettaRule__Group_6__0 : rule__RosettaRule__Group_6__0__Impl rule__RosettaRule__Group_6__1 ;
    public final void rule__RosettaRule__Group_6__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33892:1: ( rule__RosettaRule__Group_6__0__Impl rule__RosettaRule__Group_6__1 )
            // InternalRosetta.g:33893:2: rule__RosettaRule__Group_6__0__Impl rule__RosettaRule__Group_6__1
            {
            pushFollow(FOLLOW_34);
            rule__RosettaRule__Group_6__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group_6__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6__0"
    // $ANTLR start "rule__RosettaRule__Group_6__0__Impl"
    // InternalRosetta.g:33900:1: rule__RosettaRule__Group_6__0__Impl : ( ( ruleReferences )* ) ;
    public final void rule__RosettaRule__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33904:1: ( ( ( ruleReferences )* ) )
            // InternalRosetta.g:33905:1: ( ( ruleReferences )* )
            {
            // InternalRosetta.g:33905:1: ( ( ruleReferences )* )
            // InternalRosetta.g:33906:2: ( ruleReferences )*
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getReferencesParserRuleCall_6_0()); }
            // InternalRosetta.g:33907:2: ( ruleReferences )*
            loop294:
            do {
                int alt294=2;
                int LA294_0 = input.LA(1);
                if ( (LA294_0==65) ) {
                    int LA294_2 = input.LA(2);
                    if ( ((LA294_2>=21 && LA294_2<=22)) ) {
                        alt294=1;
                    }
                }
                switch (alt294) {
            	case 1 :
            	    // InternalRosetta.g:33907:3: ruleReferences
            	    {
            	    pushFollow(FOLLOW_25);
            	    ruleReferences();
            	    state._fsp--;
            	    if (state.failed) return ;
            	    }
            	    break;
            	default :
            	    break loop294;
                }} while (true);
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getReferencesParserRuleCall_6_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6__0__Impl"
    // $ANTLR start "rule__RosettaRule__Group_6__1"
    // InternalRosetta.g:33915:1: rule__RosettaRule__Group_6__1 : rule__RosettaRule__Group_6__1__Impl ;
    public final void rule__RosettaRule__Group_6__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33919:1: ( rule__RosettaRule__Group_6__1__Impl )
            // InternalRosetta.g:33920:2: rule__RosettaRule__Group_6__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group_6__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6__1"
    // $ANTLR start "rule__RosettaRule__Group_6__1__Impl"
    // InternalRosetta.g:33926:1: rule__RosettaRule__Group_6__1__Impl : ( ( rule__RosettaRule__Group_6_1__0 ) ) ;
    public final void rule__RosettaRule__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33930:1: ( ( ( rule__RosettaRule__Group_6_1__0 ) ) )
            // InternalRosetta.g:33931:1: ( ( rule__RosettaRule__Group_6_1__0 ) )
            {
            // InternalRosetta.g:33931:1: ( ( rule__RosettaRule__Group_6_1__0 ) )
            // InternalRosetta.g:33932:2: ( rule__RosettaRule__Group_6_1__0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getGroup_6_1()); }
            // InternalRosetta.g:33933:2: ( rule__RosettaRule__Group_6_1__0 )
            // InternalRosetta.g:33933:3: rule__RosettaRule__Group_6_1__0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group_6_1__0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getGroup_6_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6__1__Impl"
    // $ANTLR start "rule__RosettaRule__Group_6_1__0"
    // InternalRosetta.g:33942:1: rule__RosettaRule__Group_6_1__0 : rule__RosettaRule__Group_6_1__0__Impl rule__RosettaRule__Group_6_1__1 ;
    public final void rule__RosettaRule__Group_6_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33946:1: ( rule__RosettaRule__Group_6_1__0__Impl rule__RosettaRule__Group_6_1__1 )
            // InternalRosetta.g:33947:2: rule__RosettaRule__Group_6_1__0__Impl rule__RosettaRule__Group_6_1__1
            {
            pushFollow(FOLLOW_14);
            rule__RosettaRule__Group_6_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group_6_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6_1__0"
    // $ANTLR start "rule__RosettaRule__Group_6_1__0__Impl"
    // InternalRosetta.g:33954:1: rule__RosettaRule__Group_6_1__0__Impl : ( ( rule__RosettaRule__ExpressionAssignment_6_1_0 ) ) ;
    public final void rule__RosettaRule__Group_6_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33958:1: ( ( ( rule__RosettaRule__ExpressionAssignment_6_1_0 ) ) )
            // InternalRosetta.g:33959:1: ( ( rule__RosettaRule__ExpressionAssignment_6_1_0 ) )
            {
            // InternalRosetta.g:33959:1: ( ( rule__RosettaRule__ExpressionAssignment_6_1_0 ) )
            // InternalRosetta.g:33960:2: ( rule__RosettaRule__ExpressionAssignment_6_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getExpressionAssignment_6_1_0()); }
            // InternalRosetta.g:33961:2: ( rule__RosettaRule__ExpressionAssignment_6_1_0 )
            // InternalRosetta.g:33961:3: rule__RosettaRule__ExpressionAssignment_6_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__ExpressionAssignment_6_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getExpressionAssignment_6_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6_1__0__Impl"
    // $ANTLR start "rule__RosettaRule__Group_6_1__1"
    // InternalRosetta.g:33969:1: rule__RosettaRule__Group_6_1__1 : rule__RosettaRule__Group_6_1__1__Impl ;
    public final void rule__RosettaRule__Group_6_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33973:1: ( rule__RosettaRule__Group_6_1__1__Impl )
            // InternalRosetta.g:33974:2: rule__RosettaRule__Group_6_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group_6_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6_1__1"
    // $ANTLR start "rule__RosettaRule__Group_6_1__1__Impl"
    // InternalRosetta.g:33980:1: rule__RosettaRule__Group_6_1__1__Impl : ( ( rule__RosettaRule__Group_6_1_1__0 )? ) ;
    public final void rule__RosettaRule__Group_6_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:33984:1: ( ( ( rule__RosettaRule__Group_6_1_1__0 )? ) )
            // InternalRosetta.g:33985:1: ( ( rule__RosettaRule__Group_6_1_1__0 )? )
            {
            // InternalRosetta.g:33985:1: ( ( rule__RosettaRule__Group_6_1_1__0 )? )
            // InternalRosetta.g:33986:2: ( rule__RosettaRule__Group_6_1_1__0 )?
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getGroup_6_1_1()); }
            // InternalRosetta.g:33987:2: ( rule__RosettaRule__Group_6_1_1__0 )?
            int alt295=2;
            int LA295_0 = input.LA(1);
            if ( (LA295_0==63) ) {
                alt295=1;
            }
            switch (alt295) {
                case 1 :
                    // InternalRosetta.g:33987:3: rule__RosettaRule__Group_6_1_1__0
                    {
                    pushFollow(FOLLOW_2);
                    rule__RosettaRule__Group_6_1_1__0();
                    state._fsp--;
                    if (state.failed) return ;
                    }
                    break;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getGroup_6_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6_1__1__Impl"
    // $ANTLR start "rule__RosettaRule__Group_6_1_1__0"
    // InternalRosetta.g:33996:1: rule__RosettaRule__Group_6_1_1__0 : rule__RosettaRule__Group_6_1_1__0__Impl rule__RosettaRule__Group_6_1_1__1 ;
    public final void rule__RosettaRule__Group_6_1_1__0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34000:1: ( rule__RosettaRule__Group_6_1_1__0__Impl rule__RosettaRule__Group_6_1_1__1 )
            // InternalRosetta.g:34001:2: rule__RosettaRule__Group_6_1_1__0__Impl rule__RosettaRule__Group_6_1_1__1
            {
            pushFollow(FOLLOW_10);
            rule__RosettaRule__Group_6_1_1__0__Impl(); state._fsp--; if (state.failed) return ;
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group_6_1_1__1(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6_1_1__0"
    // $ANTLR start "rule__RosettaRule__Group_6_1_1__0__Impl"
    // InternalRosetta.g:34008:1: rule__RosettaRule__Group_6_1_1__0__Impl : ( 'as' ) ;
    public final void rule__RosettaRule__Group_6_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34012:1: ( ( 'as' ) )
            // InternalRosetta.g:34013:1: ( 'as' )
            {
            // InternalRosetta.g:34013:1: ( 'as' )
            // InternalRosetta.g:34014:2: 'as'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getAsKeyword_6_1_1_0()); }
            match(input,63,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getAsKeyword_6_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6_1_1__0__Impl"
    // $ANTLR start "rule__RosettaRule__Group_6_1_1__1"
    // InternalRosetta.g:34023:1: rule__RosettaRule__Group_6_1_1__1 : rule__RosettaRule__Group_6_1_1__1__Impl ;
    public final void rule__RosettaRule__Group_6_1_1__1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34027:1: ( rule__RosettaRule__Group_6_1_1__1__Impl )
            // InternalRosetta.g:34028:2: rule__RosettaRule__Group_6_1_1__1__Impl
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__Group_6_1_1__1__Impl(); state._fsp--; if (state.failed) return ;
            }
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6_1_1__1"
    // $ANTLR start "rule__RosettaRule__Group_6_1_1__1__Impl"
    // InternalRosetta.g:34034:1: rule__RosettaRule__Group_6_1_1__1__Impl : ( ( rule__RosettaRule__IdentifierAssignment_6_1_1_1 ) ) ;
    public final void rule__RosettaRule__Group_6_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34038:1: ( ( ( rule__RosettaRule__IdentifierAssignment_6_1_1_1 ) ) )
            // InternalRosetta.g:34039:1: ( ( rule__RosettaRule__IdentifierAssignment_6_1_1_1 ) )
            {
            // InternalRosetta.g:34039:1: ( ( rule__RosettaRule__IdentifierAssignment_6_1_1_1 ) )
            // InternalRosetta.g:34040:2: ( rule__RosettaRule__IdentifierAssignment_6_1_1_1 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getIdentifierAssignment_6_1_1_1()); }
            // InternalRosetta.g:34041:2: ( rule__RosettaRule__IdentifierAssignment_6_1_1_1 )
            // InternalRosetta.g:34041:3: rule__RosettaRule__IdentifierAssignment_6_1_1_1
            {
            pushFollow(FOLLOW_2);
            rule__RosettaRule__IdentifierAssignment_6_1_1_1(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getIdentifierAssignment_6_1_1_1()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__Group_6_1_1__1__Impl"
    // $ANTLR start "rule__RosettaModel__OverriddenAssignment_0"
    // InternalRosetta.g:34050:1: rule__RosettaModel__OverriddenAssignment_0 : ( ( 'override' ) ) ;
    public final void rule__RosettaModel__OverriddenAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34054:1: ( ( ( 'override' ) ) )
            // InternalRosetta.g:34055:2: ( ( 'override' ) )
            {
            // InternalRosetta.g:34055:2: ( ( 'override' ) )
            // InternalRosetta.g:34056:3: ( 'override' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getOverriddenOverrideKeyword_0_0()); }
            // InternalRosetta.g:34057:3: ( 'override' )
            // InternalRosetta.g:34058:4: 'override'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getOverriddenOverrideKeyword_0_0()); }
            match(input,131,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getOverriddenOverrideKeyword_0_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getOverriddenOverrideKeyword_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__OverriddenAssignment_0"
    // $ANTLR start "rule__RosettaModel__NameAssignment_2"
    // InternalRosetta.g:34069:1: rule__RosettaModel__NameAssignment_2 : ( ( rule__RosettaModel__NameAlternatives_2_0 ) ) ;
    public final void rule__RosettaModel__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34073:1: ( ( ( rule__RosettaModel__NameAlternatives_2_0 ) ) )
            // InternalRosetta.g:34074:2: ( ( rule__RosettaModel__NameAlternatives_2_0 ) )
            {
            // InternalRosetta.g:34074:2: ( ( rule__RosettaModel__NameAlternatives_2_0 ) )
            // InternalRosetta.g:34075:3: ( rule__RosettaModel__NameAlternatives_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getNameAlternatives_2_0()); }
            // InternalRosetta.g:34076:3: ( rule__RosettaModel__NameAlternatives_2_0 )
            // InternalRosetta.g:34076:4: rule__RosettaModel__NameAlternatives_2_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaModel__NameAlternatives_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getNameAlternatives_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__NameAssignment_2"
    // $ANTLR start "rule__RosettaModel__VersionAssignment_4_1"
    // InternalRosetta.g:34084:1: rule__RosettaModel__VersionAssignment_4_1 : ( RULE_STRING ) ;
    public final void rule__RosettaModel__VersionAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34088:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:34089:2: ( RULE_STRING )
            {
            // InternalRosetta.g:34089:2: ( RULE_STRING )
            // InternalRosetta.g:34090:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getVersionSTRINGTerminalRuleCall_4_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getVersionSTRINGTerminalRuleCall_4_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__VersionAssignment_4_1"
    // $ANTLR start "rule__RosettaModel__ImportsAssignment_5"
    // InternalRosetta.g:34099:1: rule__RosettaModel__ImportsAssignment_5 : ( ruleImport ) ;
    public final void rule__RosettaModel__ImportsAssignment_5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34103:1: ( ( ruleImport ) )
            // InternalRosetta.g:34104:2: ( ruleImport )
            {
            // InternalRosetta.g:34104:2: ( ruleImport )
            // InternalRosetta.g:34105:3: ruleImport
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getImportsImportParserRuleCall_5_0()); }
            pushFollow(FOLLOW_2);
            ruleImport(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getImportsImportParserRuleCall_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__ImportsAssignment_5"
    // $ANTLR start "rule__RosettaModel__ConfigurationsAssignment_6"
    // InternalRosetta.g:34114:1: rule__RosettaModel__ConfigurationsAssignment_6 : ( ruleRosettaQualifiableConfiguration ) ;
    public final void rule__RosettaModel__ConfigurationsAssignment_6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34118:1: ( ( ruleRosettaQualifiableConfiguration ) )
            // InternalRosetta.g:34119:2: ( ruleRosettaQualifiableConfiguration )
            {
            // InternalRosetta.g:34119:2: ( ruleRosettaQualifiableConfiguration )
            // InternalRosetta.g:34120:3: ruleRosettaQualifiableConfiguration
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getConfigurationsRosettaQualifiableConfigurationParserRuleCall_6_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaQualifiableConfiguration(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getConfigurationsRosettaQualifiableConfigurationParserRuleCall_6_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__ConfigurationsAssignment_6"
    // $ANTLR start "rule__RosettaModel__ElementsAssignment_7"
    // InternalRosetta.g:34129:1: rule__RosettaModel__ElementsAssignment_7 : ( ruleRosettaRootElement ) ;
    public final void rule__RosettaModel__ElementsAssignment_7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34133:1: ( ( ruleRosettaRootElement ) )
            // InternalRosetta.g:34134:2: ( ruleRosettaRootElement )
            {
            // InternalRosetta.g:34134:2: ( ruleRosettaRootElement )
            // InternalRosetta.g:34135:3: ruleRosettaRootElement
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaModelAccess().getElementsRosettaRootElementParserRuleCall_7_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaRootElement(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaModelAccess().getElementsRosettaRootElementParserRuleCall_7_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaModel__ElementsAssignment_7"
    // $ANTLR start "rule__Import__ImportedNamespaceAssignment_1"
    // InternalRosetta.g:34144:1: rule__Import__ImportedNamespaceAssignment_1 : ( ruleQualifiedNameWithWildcard ) ;
    public final void rule__Import__ImportedNamespaceAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34148:1: ( ( ruleQualifiedNameWithWildcard ) )
            // InternalRosetta.g:34149:2: ( ruleQualifiedNameWithWildcard )
            {
            // InternalRosetta.g:34149:2: ( ruleQualifiedNameWithWildcard )
            // InternalRosetta.g:34150:3: ruleQualifiedNameWithWildcard
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__ImportedNamespaceAssignment_1"
    // $ANTLR start "rule__Import__NamespaceAliasAssignment_2_1"
    // InternalRosetta.g:34159:1: rule__Import__NamespaceAliasAssignment_2_1 : ( ruleValidID ) ;
    public final void rule__Import__NamespaceAliasAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34163:1: ( ( ruleValidID ) )
            // InternalRosetta.g:34164:2: ( ruleValidID )
            {
            // InternalRosetta.g:34164:2: ( ruleValidID )
            // InternalRosetta.g:34165:3: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImportAccess().getNamespaceAliasValidIDParserRuleCall_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getImportAccess().getNamespaceAliasValidIDParserRuleCall_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Import__NamespaceAliasAssignment_2_1"
    // $ANTLR start "rule__Annotation__PrefixAssignment_4_2"
    // InternalRosetta.g:34174:1: rule__Annotation__PrefixAssignment_4_2 : ( ruleValidID ) ;
    public final void rule__Annotation__PrefixAssignment_4_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34178:1: ( ( ruleValidID ) )
            // InternalRosetta.g:34179:2: ( ruleValidID )
            {
            // InternalRosetta.g:34179:2: ( ruleValidID )
            // InternalRosetta.g:34180:3: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getPrefixValidIDParserRuleCall_4_2_0()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getPrefixValidIDParserRuleCall_4_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__PrefixAssignment_4_2"
    // $ANTLR start "rule__Annotation__AttributesAssignment_5"
    // InternalRosetta.g:34189:1: rule__Annotation__AttributesAssignment_5 : ( ruleAttribute ) ;
    public final void rule__Annotation__AttributesAssignment_5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34193:1: ( ( ruleAttribute ) )
            // InternalRosetta.g:34194:2: ( ruleAttribute )
            {
            // InternalRosetta.g:34194:2: ( ruleAttribute )
            // InternalRosetta.g:34195:3: ruleAttribute
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationAccess().getAttributesAttributeParserRuleCall_5_0()); }
            pushFollow(FOLLOW_2);
            ruleAttribute(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationAccess().getAttributesAttributeParserRuleCall_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotation__AttributesAssignment_5"
    // $ANTLR start "rule__Annotations__AnnotationsAssignment"
    // InternalRosetta.g:34204:1: rule__Annotations__AnnotationsAssignment : ( ruleAnnotationRef ) ;
    public final void rule__Annotations__AnnotationsAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34208:1: ( ( ruleAnnotationRef ) )
            // InternalRosetta.g:34209:2: ( ruleAnnotationRef )
            {
            // InternalRosetta.g:34209:2: ( ruleAnnotationRef )
            // InternalRosetta.g:34210:3: ruleAnnotationRef
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationsAccess().getAnnotationsAnnotationRefParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleAnnotationRef(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationsAccess().getAnnotationsAnnotationRefParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Annotations__AnnotationsAssignment"
    // $ANTLR start "rule__Synonyms__SynonymsAssignment"
    // InternalRosetta.g:34219:1: rule__Synonyms__SynonymsAssignment : ( ruleRosettaSynonym ) ;
    public final void rule__Synonyms__SynonymsAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34223:1: ( ( ruleRosettaSynonym ) )
            // InternalRosetta.g:34224:2: ( ruleRosettaSynonym )
            {
            // InternalRosetta.g:34224:2: ( ruleRosettaSynonym )
            // InternalRosetta.g:34225:3: ruleRosettaSynonym
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSynonymsAccess().getSynonymsRosettaSynonymParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSynonymsAccess().getSynonymsRosettaSynonymParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Synonyms__SynonymsAssignment"
    // $ANTLR start "rule__ClassSynonyms__SynonymsAssignment"
    // InternalRosetta.g:34234:1: rule__ClassSynonyms__SynonymsAssignment : ( ruleRosettaClassSynonym ) ;
    public final void rule__ClassSynonyms__SynonymsAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34238:1: ( ( ruleRosettaClassSynonym ) )
            // InternalRosetta.g:34239:2: ( ruleRosettaClassSynonym )
            {
            // InternalRosetta.g:34239:2: ( ruleRosettaClassSynonym )
            // InternalRosetta.g:34240:3: ruleRosettaClassSynonym
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getClassSynonymsAccess().getSynonymsRosettaClassSynonymParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaClassSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getClassSynonymsAccess().getSynonymsRosettaClassSynonymParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ClassSynonyms__SynonymsAssignment"
    // $ANTLR start "rule__References__ReferencesAssignment"
    // InternalRosetta.g:34249:1: rule__References__ReferencesAssignment : ( ruleRosettaDocReference ) ;
    public final void rule__References__ReferencesAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34253:1: ( ( ruleRosettaDocReference ) )
            // InternalRosetta.g:34254:2: ( ruleRosettaDocReference )
            {
            // InternalRosetta.g:34254:2: ( ruleRosettaDocReference )
            // InternalRosetta.g:34255:3: ruleRosettaDocReference
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getReferencesAccess().getReferencesRosettaDocReferenceParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaDocReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getReferencesAccess().getReferencesRosettaDocReferenceParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__References__ReferencesAssignment"
    // $ANTLR start "rule__RuleReference__RuleReferenceAssignment"
    // InternalRosetta.g:34264:1: rule__RuleReference__RuleReferenceAssignment : ( ruleRosettaRuleReference ) ;
    public final void rule__RuleReference__RuleReferenceAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34268:1: ( ( ruleRosettaRuleReference ) )
            // InternalRosetta.g:34269:2: ( ruleRosettaRuleReference )
            {
            // InternalRosetta.g:34269:2: ( ruleRosettaRuleReference )
            // InternalRosetta.g:34270:3: ruleRosettaRuleReference
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRuleReferenceAccess().getRuleReferenceRosettaRuleReferenceParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaRuleReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRuleReferenceAccess().getRuleReferenceRosettaRuleReferenceParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RuleReference__RuleReferenceAssignment"
    // $ANTLR start "rule__AnnotationRef__AnnotationAssignment_1"
    // InternalRosetta.g:34279:1: rule__AnnotationRef__AnnotationAssignment_1 : ( ( ruleValidID ) ) ;
    public final void rule__AnnotationRef__AnnotationAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34283:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:34284:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:34284:2: ( ( ruleValidID ) )
            // InternalRosetta.g:34285:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getAnnotationAnnotationCrossReference_1_0()); }
            // InternalRosetta.g:34286:3: ( ruleValidID )
            // InternalRosetta.g:34287:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getAnnotationAnnotationValidIDParserRuleCall_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getAnnotationAnnotationValidIDParserRuleCall_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getAnnotationAnnotationCrossReference_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__AnnotationAssignment_1"
    // $ANTLR start "rule__AnnotationRef__AttributeAssignment_2_0"
    // InternalRosetta.g:34298:1: rule__AnnotationRef__AttributeAssignment_2_0 : ( ( ruleValidID ) ) ;
    public final void rule__AnnotationRef__AttributeAssignment_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34302:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:34303:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:34303:2: ( ( ruleValidID ) )
            // InternalRosetta.g:34304:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getAttributeAttributeCrossReference_2_0_0()); }
            // InternalRosetta.g:34305:3: ( ruleValidID )
            // InternalRosetta.g:34306:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getAttributeAttributeValidIDParserRuleCall_2_0_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getAttributeAttributeValidIDParserRuleCall_2_0_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getAttributeAttributeCrossReference_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__AttributeAssignment_2_0"
    // $ANTLR start "rule__AnnotationRef__QualifiersAssignment_2_1"
    // InternalRosetta.g:34317:1: rule__AnnotationRef__QualifiersAssignment_2_1 : ( ruleAnnotationQualifier ) ;
    public final void rule__AnnotationRef__QualifiersAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34321:1: ( ( ruleAnnotationQualifier ) )
            // InternalRosetta.g:34322:2: ( ruleAnnotationQualifier )
            {
            // InternalRosetta.g:34322:2: ( ruleAnnotationQualifier )
            // InternalRosetta.g:34323:3: ruleAnnotationQualifier
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationRefAccess().getQualifiersAnnotationQualifierParserRuleCall_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleAnnotationQualifier(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationRefAccess().getQualifiersAnnotationQualifierParserRuleCall_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationRef__QualifiersAssignment_2_1"
    // $ANTLR start "rule__AnnotationQualifier__QualNameAssignment_0"
    // InternalRosetta.g:34332:1: rule__AnnotationQualifier__QualNameAssignment_0 : ( RULE_STRING ) ;
    public final void rule__AnnotationQualifier__QualNameAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34336:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:34337:2: ( RULE_STRING )
            {
            // InternalRosetta.g:34337:2: ( RULE_STRING )
            // InternalRosetta.g:34338:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationQualifierAccess().getQualNameSTRINGTerminalRuleCall_0_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationQualifierAccess().getQualNameSTRINGTerminalRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationQualifier__QualNameAssignment_0"
    // $ANTLR start "rule__AnnotationQualifier__QualValueAssignment_2_0"
    // InternalRosetta.g:34347:1: rule__AnnotationQualifier__QualValueAssignment_2_0 : ( RULE_STRING ) ;
    public final void rule__AnnotationQualifier__QualValueAssignment_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34351:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:34352:2: ( RULE_STRING )
            {
            // InternalRosetta.g:34352:2: ( RULE_STRING )
            // InternalRosetta.g:34353:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationQualifierAccess().getQualValueSTRINGTerminalRuleCall_2_0_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationQualifierAccess().getQualValueSTRINGTerminalRuleCall_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationQualifier__QualValueAssignment_2_0"
    // $ANTLR start "rule__AnnotationQualifier__QualPathAssignment_2_1"
    // InternalRosetta.g:34362:1: rule__AnnotationQualifier__QualPathAssignment_2_1 : ( ruleRosettaAttributeReference ) ;
    public final void rule__AnnotationQualifier__QualPathAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34366:1: ( ( ruleRosettaAttributeReference ) )
            // InternalRosetta.g:34367:2: ( ruleRosettaAttributeReference )
            {
            // InternalRosetta.g:34367:2: ( ruleRosettaAttributeReference )
            // InternalRosetta.g:34368:3: ruleRosettaAttributeReference
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAnnotationQualifierAccess().getQualPathRosettaAttributeReferenceParserRuleCall_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaAttributeReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAnnotationQualifierAccess().getQualPathRosettaAttributeReferenceParserRuleCall_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__AnnotationQualifier__QualPathAssignment_2_1"
    // $ANTLR start "rule__Data__SuperTypeAssignment_2_1"
    // InternalRosetta.g:34377:1: rule__Data__SuperTypeAssignment_2_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__Data__SuperTypeAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34381:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:34382:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:34382:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:34383:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getSuperTypeDataCrossReference_2_1_0()); }
            // InternalRosetta.g:34384:3: ( ruleQualifiedName )
            // InternalRosetta.g:34385:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getSuperTypeDataQualifiedNameParserRuleCall_2_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getSuperTypeDataQualifiedNameParserRuleCall_2_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getSuperTypeDataCrossReference_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__SuperTypeAssignment_2_1"
    // $ANTLR start "rule__Data__AttributesAssignment_6"
    // InternalRosetta.g:34396:1: rule__Data__AttributesAssignment_6 : ( ruleAttribute ) ;
    public final void rule__Data__AttributesAssignment_6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34400:1: ( ( ruleAttribute ) )
            // InternalRosetta.g:34401:2: ( ruleAttribute )
            {
            // InternalRosetta.g:34401:2: ( ruleAttribute )
            // InternalRosetta.g:34402:3: ruleAttribute
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getAttributesAttributeParserRuleCall_6_0()); }
            pushFollow(FOLLOW_2);
            ruleAttribute(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getAttributesAttributeParserRuleCall_6_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__AttributesAssignment_6"
    // $ANTLR start "rule__Data__ConditionsAssignment_7"
    // InternalRosetta.g:34411:1: rule__Data__ConditionsAssignment_7 : ( ruleCondition ) ;
    public final void rule__Data__ConditionsAssignment_7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34415:1: ( ( ruleCondition ) )
            // InternalRosetta.g:34416:2: ( ruleCondition )
            {
            // InternalRosetta.g:34416:2: ( ruleCondition )
            // InternalRosetta.g:34417:3: ruleCondition
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDataAccess().getConditionsConditionParserRuleCall_7_0()); }
            pushFollow(FOLLOW_2);
            ruleCondition(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDataAccess().getConditionsConditionParserRuleCall_7_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Data__ConditionsAssignment_7"
    // $ANTLR start "rule__Choice__AttributesAssignment_5"
    // InternalRosetta.g:34426:1: rule__Choice__AttributesAssignment_5 : ( ruleChoiceOption ) ;
    public final void rule__Choice__AttributesAssignment_5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34430:1: ( ( ruleChoiceOption ) )
            // InternalRosetta.g:34431:2: ( ruleChoiceOption )
            {
            // InternalRosetta.g:34431:2: ( ruleChoiceOption )
            // InternalRosetta.g:34432:3: ruleChoiceOption
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getChoiceAccess().getAttributesChoiceOptionParserRuleCall_5_0()); }
            pushFollow(FOLLOW_2);
            ruleChoiceOption(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getChoiceAccess().getAttributesChoiceOptionParserRuleCall_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Choice__AttributesAssignment_5"
    // $ANTLR start "rule__Attribute__CardAssignment_2"
    // InternalRosetta.g:34441:1: rule__Attribute__CardAssignment_2 : ( ruleRosettaCardinality ) ;
    public final void rule__Attribute__CardAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34445:1: ( ( ruleRosettaCardinality ) )
            // InternalRosetta.g:34446:2: ( ruleRosettaCardinality )
            {
            // InternalRosetta.g:34446:2: ( ruleRosettaCardinality )
            // InternalRosetta.g:34447:3: ruleRosettaCardinality
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getAttributeAccess().getCardRosettaCardinalityParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCardinality(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getAttributeAccess().getCardRosettaCardinalityParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Attribute__CardAssignment_2"
    // $ANTLR start "rule__Enumeration__ParentAssignment_2_1"
    // InternalRosetta.g:34456:1: rule__Enumeration__ParentAssignment_2_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__Enumeration__ParentAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34460:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:34461:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:34461:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:34462:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getParentRosettaEnumerationCrossReference_2_1_0()); }
            // InternalRosetta.g:34463:3: ( ruleQualifiedName )
            // InternalRosetta.g:34464:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getParentRosettaEnumerationQualifiedNameParserRuleCall_2_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getParentRosettaEnumerationQualifiedNameParserRuleCall_2_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getParentRosettaEnumerationCrossReference_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__ParentAssignment_2_1"
    // $ANTLR start "rule__Enumeration__SynonymsAssignment_5_2"
    // InternalRosetta.g:34475:1: rule__Enumeration__SynonymsAssignment_5_2 : ( ruleRosettaSynonym ) ;
    public final void rule__Enumeration__SynonymsAssignment_5_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34479:1: ( ( ruleRosettaSynonym ) )
            // InternalRosetta.g:34480:2: ( ruleRosettaSynonym )
            {
            // InternalRosetta.g:34480:2: ( ruleRosettaSynonym )
            // InternalRosetta.g:34481:3: ruleRosettaSynonym
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getSynonymsRosettaSynonymParserRuleCall_5_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getSynonymsRosettaSynonymParserRuleCall_5_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__SynonymsAssignment_5_2"
    // $ANTLR start "rule__Enumeration__EnumValuesAssignment_6"
    // InternalRosetta.g:34490:1: rule__Enumeration__EnumValuesAssignment_6 : ( ruleRosettaEnumValue ) ;
    public final void rule__Enumeration__EnumValuesAssignment_6() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34494:1: ( ( ruleRosettaEnumValue ) )
            // InternalRosetta.g:34495:2: ( ruleRosettaEnumValue )
            {
            // InternalRosetta.g:34495:2: ( ruleRosettaEnumValue )
            // InternalRosetta.g:34496:3: ruleRosettaEnumValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumerationAccess().getEnumValuesRosettaEnumValueParserRuleCall_6_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaEnumValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumerationAccess().getEnumValuesRosettaEnumValueParserRuleCall_6_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Enumeration__EnumValuesAssignment_6"
    // $ANTLR start "rule__Function__AttributeAssignment_1_1_3"
    // InternalRosetta.g:34505:1: rule__Function__AttributeAssignment_1_1_3 : ( ( ruleValidID ) ) ;
    public final void rule__Function__AttributeAssignment_1_1_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34509:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:34510:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:34510:2: ( ( ruleValidID ) )
            // InternalRosetta.g:34511:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getAttributeAttributeCrossReference_1_1_3_0()); }
            // InternalRosetta.g:34512:3: ( ruleValidID )
            // InternalRosetta.g:34513:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getAttributeAttributeValidIDParserRuleCall_1_1_3_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getAttributeAttributeValidIDParserRuleCall_1_1_3_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getAttributeAttributeCrossReference_1_1_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__AttributeAssignment_1_1_3"
    // $ANTLR start "rule__Function__ValueAssignment_1_1_5"
    // InternalRosetta.g:34524:1: rule__Function__ValueAssignment_1_1_5 : ( ruleEnumValueReference ) ;
    public final void rule__Function__ValueAssignment_1_1_5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34528:1: ( ( ruleEnumValueReference ) )
            // InternalRosetta.g:34529:2: ( ruleEnumValueReference )
            {
            // InternalRosetta.g:34529:2: ( ruleEnumValueReference )
            // InternalRosetta.g:34530:3: ruleEnumValueReference
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getValueEnumValueReferenceParserRuleCall_1_1_5_0()); }
            pushFollow(FOLLOW_2);
            ruleEnumValueReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getValueEnumValueReferenceParserRuleCall_1_1_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__ValueAssignment_1_1_5"
    // $ANTLR start "rule__Function__InputsAssignment_5_2"
    // InternalRosetta.g:34539:1: rule__Function__InputsAssignment_5_2 : ( ruleAttribute ) ;
    public final void rule__Function__InputsAssignment_5_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34543:1: ( ( ruleAttribute ) )
            // InternalRosetta.g:34544:2: ( ruleAttribute )
            {
            // InternalRosetta.g:34544:2: ( ruleAttribute )
            // InternalRosetta.g:34545:3: ruleAttribute
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getInputsAttributeParserRuleCall_5_2_0()); }
            pushFollow(FOLLOW_2);
            ruleAttribute(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getInputsAttributeParserRuleCall_5_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__InputsAssignment_5_2"
    // $ANTLR start "rule__Function__OutputAssignment_6_2"
    // InternalRosetta.g:34554:1: rule__Function__OutputAssignment_6_2 : ( ruleAttribute ) ;
    public final void rule__Function__OutputAssignment_6_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34558:1: ( ( ruleAttribute ) )
            // InternalRosetta.g:34559:2: ( ruleAttribute )
            {
            // InternalRosetta.g:34559:2: ( ruleAttribute )
            // InternalRosetta.g:34560:3: ruleAttribute
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getOutputAttributeParserRuleCall_6_2_0()); }
            pushFollow(FOLLOW_2);
            ruleAttribute(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getOutputAttributeParserRuleCall_6_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__OutputAssignment_6_2"
    // $ANTLR start "rule__Function__ShortcutsAssignment_7"
    // InternalRosetta.g:34569:1: rule__Function__ShortcutsAssignment_7 : ( ruleShortcutDeclaration ) ;
    public final void rule__Function__ShortcutsAssignment_7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34573:1: ( ( ruleShortcutDeclaration ) )
            // InternalRosetta.g:34574:2: ( ruleShortcutDeclaration )
            {
            // InternalRosetta.g:34574:2: ( ruleShortcutDeclaration )
            // InternalRosetta.g:34575:3: ruleShortcutDeclaration
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getShortcutsShortcutDeclarationParserRuleCall_7_0()); }
            pushFollow(FOLLOW_2);
            ruleShortcutDeclaration(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getShortcutsShortcutDeclarationParserRuleCall_7_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__ShortcutsAssignment_7"
    // $ANTLR start "rule__Function__ConditionsAssignment_8"
    // InternalRosetta.g:34584:1: rule__Function__ConditionsAssignment_8 : ( ruleCondition ) ;
    public final void rule__Function__ConditionsAssignment_8() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34588:1: ( ( ruleCondition ) )
            // InternalRosetta.g:34589:2: ( ruleCondition )
            {
            // InternalRosetta.g:34589:2: ( ruleCondition )
            // InternalRosetta.g:34590:3: ruleCondition
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getConditionsConditionParserRuleCall_8_0()); }
            pushFollow(FOLLOW_2);
            ruleCondition(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getConditionsConditionParserRuleCall_8_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__ConditionsAssignment_8"
    // $ANTLR start "rule__Function__OperationsAssignment_9"
    // InternalRosetta.g:34599:1: rule__Function__OperationsAssignment_9 : ( ruleOperation ) ;
    public final void rule__Function__OperationsAssignment_9() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34603:1: ( ( ruleOperation ) )
            // InternalRosetta.g:34604:2: ( ruleOperation )
            {
            // InternalRosetta.g:34604:2: ( ruleOperation )
            // InternalRosetta.g:34605:3: ruleOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getOperationsOperationParserRuleCall_9_0()); }
            pushFollow(FOLLOW_2);
            ruleOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getOperationsOperationParserRuleCall_9_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__OperationsAssignment_9"
    // $ANTLR start "rule__Function__PostConditionsAssignment_10"
    // InternalRosetta.g:34614:1: rule__Function__PostConditionsAssignment_10 : ( rulePostCondition ) ;
    public final void rule__Function__PostConditionsAssignment_10() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34618:1: ( ( rulePostCondition ) )
            // InternalRosetta.g:34619:2: ( rulePostCondition )
            {
            // InternalRosetta.g:34619:2: ( rulePostCondition )
            // InternalRosetta.g:34620:3: rulePostCondition
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getFunctionAccess().getPostConditionsPostConditionParserRuleCall_10_0()); }
            pushFollow(FOLLOW_2);
            rulePostCondition(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getFunctionAccess().getPostConditionsPostConditionParserRuleCall_10_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Function__PostConditionsAssignment_10"
    // $ANTLR start "rule__ShortcutDeclaration__ExpressionAssignment_4"
    // InternalRosetta.g:34629:1: rule__ShortcutDeclaration__ExpressionAssignment_4 : ( ruleRosettaCalcExpression ) ;
    public final void rule__ShortcutDeclaration__ExpressionAssignment_4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34633:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:34634:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:34634:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:34635:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getShortcutDeclarationAccess().getExpressionRosettaCalcExpressionParserRuleCall_4_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getShortcutDeclarationAccess().getExpressionRosettaCalcExpressionParserRuleCall_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ShortcutDeclaration__ExpressionAssignment_4"
    // $ANTLR start "rule__Condition__ExpressionAssignment_5"
    // InternalRosetta.g:34644:1: rule__Condition__ExpressionAssignment_5 : ( ruleRosettaCalcExpression ) ;
    public final void rule__Condition__ExpressionAssignment_5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34648:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:34649:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:34649:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:34650:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConditionAccess().getExpressionRosettaCalcExpressionParserRuleCall_5_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getConditionAccess().getExpressionRosettaCalcExpressionParserRuleCall_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Condition__ExpressionAssignment_5"
    // $ANTLR start "rule__PostCondition__PostConditionAssignment_0"
    // InternalRosetta.g:34659:1: rule__PostCondition__PostConditionAssignment_0 : ( ( 'post-condition' ) ) ;
    public final void rule__PostCondition__PostConditionAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34663:1: ( ( ( 'post-condition' ) ) )
            // InternalRosetta.g:34664:2: ( ( 'post-condition' ) )
            {
            // InternalRosetta.g:34664:2: ( ( 'post-condition' ) )
            // InternalRosetta.g:34665:3: ( 'post-condition' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getPostConditionAccess().getPostConditionPostConditionKeyword_0_0()); }
            // InternalRosetta.g:34666:3: ( 'post-condition' )
            // InternalRosetta.g:34667:4: 'post-condition'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getPostConditionAccess().getPostConditionPostConditionKeyword_0_0()); }
            match(input,132,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getPostConditionAccess().getPostConditionPostConditionKeyword_0_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getPostConditionAccess().getPostConditionPostConditionKeyword_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__PostConditionAssignment_0"
    // $ANTLR start "rule__PostCondition__ExpressionAssignment_4"
    // InternalRosetta.g:34678:1: rule__PostCondition__ExpressionAssignment_4 : ( ruleRosettaCalcExpression ) ;
    public final void rule__PostCondition__ExpressionAssignment_4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34682:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:34683:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:34683:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:34684:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getPostConditionAccess().getExpressionRosettaCalcExpressionParserRuleCall_4_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getPostConditionAccess().getExpressionRosettaCalcExpressionParserRuleCall_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__PostCondition__ExpressionAssignment_4"
    // $ANTLR start "rule__Operation__AddAssignment_0_1"
    // InternalRosetta.g:34693:1: rule__Operation__AddAssignment_0_1 : ( ( 'add' ) ) ;
    public final void rule__Operation__AddAssignment_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34697:1: ( ( ( 'add' ) ) )
            // InternalRosetta.g:34698:2: ( ( 'add' ) )
            {
            // InternalRosetta.g:34698:2: ( ( 'add' ) )
            // InternalRosetta.g:34699:3: ( 'add' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getAddAddKeyword_0_1_0()); }
            // InternalRosetta.g:34700:3: ( 'add' )
            // InternalRosetta.g:34701:4: 'add'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getAddAddKeyword_0_1_0()); }
            match(input,133,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getAddAddKeyword_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getAddAddKeyword_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__AddAssignment_0_1"
    // $ANTLR start "rule__Operation__AssignRootAssignment_1"
    // InternalRosetta.g:34712:1: rule__Operation__AssignRootAssignment_1 : ( ( ruleValidID ) ) ;
    public final void rule__Operation__AssignRootAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34716:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:34717:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:34717:2: ( ( ruleValidID ) )
            // InternalRosetta.g:34718:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getAssignRootAssignPathRootCrossReference_1_0()); }
            // InternalRosetta.g:34719:3: ( ruleValidID )
            // InternalRosetta.g:34720:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getAssignRootAssignPathRootValidIDParserRuleCall_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getAssignRootAssignPathRootValidIDParserRuleCall_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getAssignRootAssignPathRootCrossReference_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__AssignRootAssignment_1"
    // $ANTLR start "rule__Operation__PathAssignment_2"
    // InternalRosetta.g:34731:1: rule__Operation__PathAssignment_2 : ( ruleSegment ) ;
    public final void rule__Operation__PathAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34735:1: ( ( ruleSegment ) )
            // InternalRosetta.g:34736:2: ( ruleSegment )
            {
            // InternalRosetta.g:34736:2: ( ruleSegment )
            // InternalRosetta.g:34737:3: ruleSegment
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getPathSegmentParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleSegment(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getPathSegmentParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__PathAssignment_2"
    // $ANTLR start "rule__Operation__ExpressionAssignment_5"
    // InternalRosetta.g:34746:1: rule__Operation__ExpressionAssignment_5 : ( ruleRosettaCalcExpressionWithAsKey ) ;
    public final void rule__Operation__ExpressionAssignment_5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34750:1: ( ( ruleRosettaCalcExpressionWithAsKey ) )
            // InternalRosetta.g:34751:2: ( ruleRosettaCalcExpressionWithAsKey )
            {
            // InternalRosetta.g:34751:2: ( ruleRosettaCalcExpressionWithAsKey )
            // InternalRosetta.g:34752:3: ruleRosettaCalcExpressionWithAsKey
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getOperationAccess().getExpressionRosettaCalcExpressionWithAsKeyParserRuleCall_5_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpressionWithAsKey(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getOperationAccess().getExpressionRosettaCalcExpressionWithAsKeyParserRuleCall_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Operation__ExpressionAssignment_5"
    // $ANTLR start "rule__Segment__AttributeAssignment_1"
    // InternalRosetta.g:34761:1: rule__Segment__AttributeAssignment_1 : ( ( ruleValidID ) ) ;
    public final void rule__Segment__AttributeAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34765:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:34766:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:34766:2: ( ( ruleValidID ) )
            // InternalRosetta.g:34767:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSegmentAccess().getAttributeAttributeCrossReference_1_0()); }
            // InternalRosetta.g:34768:3: ( ruleValidID )
            // InternalRosetta.g:34769:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSegmentAccess().getAttributeAttributeValidIDParserRuleCall_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSegmentAccess().getAttributeAttributeValidIDParserRuleCall_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getSegmentAccess().getAttributeAttributeCrossReference_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Segment__AttributeAssignment_1"
    // $ANTLR start "rule__Segment__NextAssignment_2"
    // InternalRosetta.g:34780:1: rule__Segment__NextAssignment_2 : ( ruleSegment ) ;
    public final void rule__Segment__NextAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34784:1: ( ( ruleSegment ) )
            // InternalRosetta.g:34785:2: ( ruleSegment )
            {
            // InternalRosetta.g:34785:2: ( ruleSegment )
            // InternalRosetta.g:34786:3: ruleSegment
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSegmentAccess().getNextSegmentParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleSegment(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSegmentAccess().getNextSegmentParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__Segment__NextAssignment_2"
    // $ANTLR start "rule__EnumValueReference__EnumerationAssignment_0"
    // InternalRosetta.g:34795:1: rule__EnumValueReference__EnumerationAssignment_0 : ( ( ruleQualifiedName ) ) ;
    public final void rule__EnumValueReference__EnumerationAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34799:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:34800:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:34800:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:34801:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumValueReferenceAccess().getEnumerationRosettaEnumerationCrossReference_0_0()); }
            // InternalRosetta.g:34802:3: ( ruleQualifiedName )
            // InternalRosetta.g:34803:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumValueReferenceAccess().getEnumerationRosettaEnumerationQualifiedNameParserRuleCall_0_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumValueReferenceAccess().getEnumerationRosettaEnumerationQualifiedNameParserRuleCall_0_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumValueReferenceAccess().getEnumerationRosettaEnumerationCrossReference_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__EnumValueReference__EnumerationAssignment_0"
    // $ANTLR start "rule__EnumValueReference__ValueAssignment_2"
    // InternalRosetta.g:34814:1: rule__EnumValueReference__ValueAssignment_2 : ( ( ruleValidID ) ) ;
    public final void rule__EnumValueReference__ValueAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34818:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:34819:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:34819:2: ( ( ruleValidID ) )
            // InternalRosetta.g:34820:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumValueReferenceAccess().getValueRosettaEnumValueCrossReference_2_0()); }
            // InternalRosetta.g:34821:3: ( ruleValidID )
            // InternalRosetta.g:34822:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getEnumValueReferenceAccess().getValueRosettaEnumValueValidIDParserRuleCall_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumValueReferenceAccess().getValueRosettaEnumValueValidIDParserRuleCall_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getEnumValueReferenceAccess().getValueRosettaEnumValueCrossReference_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__EnumValueReference__ValueAssignment_2"
    // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_0"
    // InternalRosetta.g:34833:1: rule__ListLiteral__ElementsAssignment_2_0 : ( ruleRosettaCalcExpression ) ;
    public final void rule__ListLiteral__ElementsAssignment_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34837:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:34838:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:34838:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:34839:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralAccess().getElementsRosettaCalcExpressionParserRuleCall_2_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralAccess().getElementsRosettaCalcExpressionParserRuleCall_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_0"
    // $ANTLR start "rule__ListLiteral__ElementsAssignment_2_1_1"
    // InternalRosetta.g:34848:1: rule__ListLiteral__ElementsAssignment_2_1_1 : ( ruleRosettaCalcExpression ) ;
    public final void rule__ListLiteral__ElementsAssignment_2_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34852:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:34853:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:34853:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:34854:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getListLiteralAccess().getElementsRosettaCalcExpressionParserRuleCall_2_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getListLiteralAccess().getElementsRosettaCalcExpressionParserRuleCall_2_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ListLiteral__ElementsAssignment_2_1_1"
    // $ANTLR start "rule__RosettaDefinable__DefinitionAssignment_1"
    // InternalRosetta.g:34863:1: rule__RosettaDefinable__DefinitionAssignment_1 : ( RULE_STRING ) ;
    public final void rule__RosettaDefinable__DefinitionAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34867:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:34868:2: ( RULE_STRING )
            {
            // InternalRosetta.g:34868:2: ( RULE_STRING )
            // InternalRosetta.g:34869:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDefinableAccess().getDefinitionSTRINGTerminalRuleCall_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDefinableAccess().getDefinitionSTRINGTerminalRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDefinable__DefinitionAssignment_1"
    // $ANTLR start "rule__RosettaNamed__NameAssignment"
    // InternalRosetta.g:34878:1: rule__RosettaNamed__NameAssignment : ( ruleValidID ) ;
    public final void rule__RosettaNamed__NameAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34882:1: ( ( ruleValidID ) )
            // InternalRosetta.g:34883:2: ( ruleValidID )
            {
            // InternalRosetta.g:34883:2: ( ruleValidID )
            // InternalRosetta.g:34884:3: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaNamedAccess().getNameValidIDParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaNamedAccess().getNameValidIDParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaNamed__NameAssignment"
    // $ANTLR start "rule__RosettaTyped__TypeCallAssignment"
    // InternalRosetta.g:34893:1: rule__RosettaTyped__TypeCallAssignment : ( ruleTypeCall ) ;
    public final void rule__RosettaTyped__TypeCallAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34897:1: ( ( ruleTypeCall ) )
            // InternalRosetta.g:34898:2: ( ruleTypeCall )
            {
            // InternalRosetta.g:34898:2: ( ruleTypeCall )
            // InternalRosetta.g:34899:3: ruleTypeCall
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaTypedAccess().getTypeCallTypeCallParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleTypeCall(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaTypedAccess().getTypeCallTypeCallParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaTyped__TypeCallAssignment"
    // $ANTLR start "rule__TypeCall__TypeAssignment_0"
    // InternalRosetta.g:34908:1: rule__TypeCall__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
    public final void rule__TypeCall__TypeAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34912:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:34913:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:34913:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:34914:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getTypeRosettaTypeCrossReference_0_0()); }
            // InternalRosetta.g:34915:3: ( ruleQualifiedName )
            // InternalRosetta.g:34916:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getTypeRosettaTypeQualifiedNameParserRuleCall_0_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getTypeRosettaTypeQualifiedNameParserRuleCall_0_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getTypeRosettaTypeCrossReference_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__TypeAssignment_0"
    // $ANTLR start "rule__TypeCall__ArgumentsAssignment_1_1"
    // InternalRosetta.g:34927:1: rule__TypeCall__ArgumentsAssignment_1_1 : ( ruleTypeCallArgument ) ;
    public final void rule__TypeCall__ArgumentsAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34931:1: ( ( ruleTypeCallArgument ) )
            // InternalRosetta.g:34932:2: ( ruleTypeCallArgument )
            {
            // InternalRosetta.g:34932:2: ( ruleTypeCallArgument )
            // InternalRosetta.g:34933:3: ruleTypeCallArgument
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getArgumentsTypeCallArgumentParserRuleCall_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleTypeCallArgument(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getArgumentsTypeCallArgumentParserRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__ArgumentsAssignment_1_1"
    // $ANTLR start "rule__TypeCall__ArgumentsAssignment_1_2_1"
    // InternalRosetta.g:34942:1: rule__TypeCall__ArgumentsAssignment_1_2_1 : ( ruleTypeCallArgument ) ;
    public final void rule__TypeCall__ArgumentsAssignment_1_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34946:1: ( ( ruleTypeCallArgument ) )
            // InternalRosetta.g:34947:2: ( ruleTypeCallArgument )
            {
            // InternalRosetta.g:34947:2: ( ruleTypeCallArgument )
            // InternalRosetta.g:34948:3: ruleTypeCallArgument
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallAccess().getArgumentsTypeCallArgumentParserRuleCall_1_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleTypeCallArgument(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallAccess().getArgumentsTypeCallArgumentParserRuleCall_1_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCall__ArgumentsAssignment_1_2_1"
    // $ANTLR start "rule__TypeCallArgument__ParameterAssignment_0"
    // InternalRosetta.g:34957:1: rule__TypeCallArgument__ParameterAssignment_0 : ( ( ruleTypeParameterValidID ) ) ;
    public final void rule__TypeCallArgument__ParameterAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34961:1: ( ( ( ruleTypeParameterValidID ) ) )
            // InternalRosetta.g:34962:2: ( ( ruleTypeParameterValidID ) )
            {
            // InternalRosetta.g:34962:2: ( ( ruleTypeParameterValidID ) )
            // InternalRosetta.g:34963:3: ( ruleTypeParameterValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallArgumentAccess().getParameterTypeParameterCrossReference_0_0()); }
            // InternalRosetta.g:34964:3: ( ruleTypeParameterValidID )
            // InternalRosetta.g:34965:4: ruleTypeParameterValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallArgumentAccess().getParameterTypeParameterTypeParameterValidIDParserRuleCall_0_0_1()); }
            pushFollow(FOLLOW_2);
            ruleTypeParameterValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallArgumentAccess().getParameterTypeParameterTypeParameterValidIDParserRuleCall_0_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallArgumentAccess().getParameterTypeParameterCrossReference_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCallArgument__ParameterAssignment_0"
    // $ANTLR start "rule__TypeCallArgument__ValueAssignment_2"
    // InternalRosetta.g:34976:1: rule__TypeCallArgument__ValueAssignment_2 : ( ruleTypeCallArgumentExpression ) ;
    public final void rule__TypeCallArgument__ValueAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34980:1: ( ( ruleTypeCallArgumentExpression ) )
            // InternalRosetta.g:34981:2: ( ruleTypeCallArgumentExpression )
            {
            // InternalRosetta.g:34981:2: ( ruleTypeCallArgumentExpression )
            // InternalRosetta.g:34982:3: ruleTypeCallArgumentExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeCallArgumentAccess().getValueTypeCallArgumentExpressionParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleTypeCallArgumentExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeCallArgumentAccess().getValueTypeCallArgumentExpressionParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeCallArgument__ValueAssignment_2"
    // $ANTLR start "rule__TypeParameterReference__SymbolAssignment"
    // InternalRosetta.g:34991:1: rule__TypeParameterReference__SymbolAssignment : ( ( ruleTypeParameterValidID ) ) ;
    public final void rule__TypeParameterReference__SymbolAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:34995:1: ( ( ( ruleTypeParameterValidID ) ) )
            // InternalRosetta.g:34996:2: ( ( ruleTypeParameterValidID ) )
            {
            // InternalRosetta.g:34996:2: ( ( ruleTypeParameterValidID ) )
            // InternalRosetta.g:34997:3: ( ruleTypeParameterValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterReferenceAccess().getSymbolRosettaSymbolCrossReference_0()); }
            // InternalRosetta.g:34998:3: ( ruleTypeParameterValidID )
            // InternalRosetta.g:34999:4: ruleTypeParameterValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterReferenceAccess().getSymbolRosettaSymbolTypeParameterValidIDParserRuleCall_0_1()); }
            pushFollow(FOLLOW_2);
            ruleTypeParameterValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterReferenceAccess().getSymbolRosettaSymbolTypeParameterValidIDParserRuleCall_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterReferenceAccess().getSymbolRosettaSymbolCrossReference_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameterReference__SymbolAssignment"
    // $ANTLR start "rule__TypeParameters__ParametersAssignment_1"
    // InternalRosetta.g:35010:1: rule__TypeParameters__ParametersAssignment_1 : ( ruleTypeParameter ) ;
    public final void rule__TypeParameters__ParametersAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35014:1: ( ( ruleTypeParameter ) )
            // InternalRosetta.g:35015:2: ( ruleTypeParameter )
            {
            // InternalRosetta.g:35015:2: ( ruleTypeParameter )
            // InternalRosetta.g:35016:3: ruleTypeParameter
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParametersAccess().getParametersTypeParameterParserRuleCall_1_0()); }
            pushFollow(FOLLOW_2);
            ruleTypeParameter(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParametersAccess().getParametersTypeParameterParserRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__ParametersAssignment_1"
    // $ANTLR start "rule__TypeParameters__ParametersAssignment_2_1"
    // InternalRosetta.g:35025:1: rule__TypeParameters__ParametersAssignment_2_1 : ( ruleTypeParameter ) ;
    public final void rule__TypeParameters__ParametersAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35029:1: ( ( ruleTypeParameter ) )
            // InternalRosetta.g:35030:2: ( ruleTypeParameter )
            {
            // InternalRosetta.g:35030:2: ( ruleTypeParameter )
            // InternalRosetta.g:35031:3: ruleTypeParameter
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParametersAccess().getParametersTypeParameterParserRuleCall_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleTypeParameter(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParametersAccess().getParametersTypeParameterParserRuleCall_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameters__ParametersAssignment_2_1"
    // $ANTLR start "rule__TypeParameter__NameAssignment_0"
    // InternalRosetta.g:35040:1: rule__TypeParameter__NameAssignment_0 : ( ruleTypeParameterValidID ) ;
    public final void rule__TypeParameter__NameAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35044:1: ( ( ruleTypeParameterValidID ) )
            // InternalRosetta.g:35045:2: ( ruleTypeParameterValidID )
            {
            // InternalRosetta.g:35045:2: ( ruleTypeParameterValidID )
            // InternalRosetta.g:35046:3: ruleTypeParameterValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getTypeParameterAccess().getNameTypeParameterValidIDParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleTypeParameterValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getTypeParameterAccess().getNameTypeParameterValidIDParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__TypeParameter__NameAssignment_0"
    // $ANTLR start "rule__RosettaRecordType__FeaturesAssignment_4"
    // InternalRosetta.g:35055:1: rule__RosettaRecordType__FeaturesAssignment_4 : ( ruleRosettaRecordFeature ) ;
    public final void rule__RosettaRecordType__FeaturesAssignment_4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35059:1: ( ( ruleRosettaRecordFeature ) )
            // InternalRosetta.g:35060:2: ( ruleRosettaRecordFeature )
            {
            // InternalRosetta.g:35060:2: ( ruleRosettaRecordFeature )
            // InternalRosetta.g:35061:3: ruleRosettaRecordFeature
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRecordTypeAccess().getFeaturesRosettaRecordFeatureParserRuleCall_4_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaRecordFeature(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRecordTypeAccess().getFeaturesRosettaRecordFeatureParserRuleCall_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRecordType__FeaturesAssignment_4"
    // $ANTLR start "rule__RosettaParameter__IsArrayAssignment_2_0"
    // InternalRosetta.g:35070:1: rule__RosettaParameter__IsArrayAssignment_2_0 : ( ( '[' ) ) ;
    public final void rule__RosettaParameter__IsArrayAssignment_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35074:1: ( ( ( '[' ) ) )
            // InternalRosetta.g:35075:2: ( ( '[' ) )
            {
            // InternalRosetta.g:35075:2: ( ( '[' ) )
            // InternalRosetta.g:35076:3: ( '[' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaParameterAccess().getIsArrayLeftSquareBracketKeyword_2_0_0()); }
            // InternalRosetta.g:35077:3: ( '[' )
            // InternalRosetta.g:35078:4: '['
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaParameterAccess().getIsArrayLeftSquareBracketKeyword_2_0_0()); }
            match(input,65,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaParameterAccess().getIsArrayLeftSquareBracketKeyword_2_0_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaParameterAccess().getIsArrayLeftSquareBracketKeyword_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaParameter__IsArrayAssignment_2_0"
    // $ANTLR start "rule__RosettaLibraryFunction__ParametersAssignment_4_0"
    // InternalRosetta.g:35089:1: rule__RosettaLibraryFunction__ParametersAssignment_4_0 : ( ruleRosettaParameter ) ;
    public final void rule__RosettaLibraryFunction__ParametersAssignment_4_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35093:1: ( ( ruleRosettaParameter ) )
            // InternalRosetta.g:35094:2: ( ruleRosettaParameter )
            {
            // InternalRosetta.g:35094:2: ( ruleRosettaParameter )
            // InternalRosetta.g:35095:3: ruleRosettaParameter
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getParametersRosettaParameterParserRuleCall_4_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaParameter(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getParametersRosettaParameterParserRuleCall_4_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__ParametersAssignment_4_0"
    // $ANTLR start "rule__RosettaLibraryFunction__ParametersAssignment_4_1_1"
    // InternalRosetta.g:35104:1: rule__RosettaLibraryFunction__ParametersAssignment_4_1_1 : ( ruleRosettaParameter ) ;
    public final void rule__RosettaLibraryFunction__ParametersAssignment_4_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35108:1: ( ( ruleRosettaParameter ) )
            // InternalRosetta.g:35109:2: ( ruleRosettaParameter )
            {
            // InternalRosetta.g:35109:2: ( ruleRosettaParameter )
            // InternalRosetta.g:35110:3: ruleRosettaParameter
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaLibraryFunctionAccess().getParametersRosettaParameterParserRuleCall_4_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaParameter(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaLibraryFunctionAccess().getParametersRosettaParameterParserRuleCall_4_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaLibraryFunction__ParametersAssignment_4_1_1"
    // $ANTLR start "rule__RosettaEnumValue__DisplayAssignment_1_1"
    // InternalRosetta.g:35119:1: rule__RosettaEnumValue__DisplayAssignment_1_1 : ( RULE_STRING ) ;
    public final void rule__RosettaEnumValue__DisplayAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35123:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35124:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35124:2: ( RULE_STRING )
            // InternalRosetta.g:35125:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumValueAccess().getDisplaySTRINGTerminalRuleCall_1_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumValueAccess().getDisplaySTRINGTerminalRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__DisplayAssignment_1_1"
    // $ANTLR start "rule__RosettaEnumValue__EnumSynonymsAssignment_3_2"
    // InternalRosetta.g:35134:1: rule__RosettaEnumValue__EnumSynonymsAssignment_3_2 : ( ruleRosettaEnumSynonym ) ;
    public final void rule__RosettaEnumValue__EnumSynonymsAssignment_3_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35138:1: ( ( ruleRosettaEnumSynonym ) )
            // InternalRosetta.g:35139:2: ( ruleRosettaEnumSynonym )
            {
            // InternalRosetta.g:35139:2: ( ruleRosettaEnumSynonym )
            // InternalRosetta.g:35140:3: ruleRosettaEnumSynonym
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumValueAccess().getEnumSynonymsRosettaEnumSynonymParserRuleCall_3_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaEnumSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumValueAccess().getEnumSynonymsRosettaEnumSynonymParserRuleCall_3_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumValue__EnumSynonymsAssignment_3_2"
    // $ANTLR start "rule__RosettaCardinality__InfAssignment_1_0_0"
    // InternalRosetta.g:35149:1: rule__RosettaCardinality__InfAssignment_1_0_0 : ( RULE_INT ) ;
    public final void rule__RosettaCardinality__InfAssignment_1_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35153:1: ( ( RULE_INT ) )
            // InternalRosetta.g:35154:2: ( RULE_INT )
            {
            // InternalRosetta.g:35154:2: ( RULE_INT )
            // InternalRosetta.g:35155:3: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getInfINTTerminalRuleCall_1_0_0_0()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getInfINTTerminalRuleCall_1_0_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__InfAssignment_1_0_0"
    // $ANTLR start "rule__RosettaCardinality__SupAssignment_1_0_2"
    // InternalRosetta.g:35164:1: rule__RosettaCardinality__SupAssignment_1_0_2 : ( RULE_INT ) ;
    public final void rule__RosettaCardinality__SupAssignment_1_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35168:1: ( ( RULE_INT ) )
            // InternalRosetta.g:35169:2: ( RULE_INT )
            {
            // InternalRosetta.g:35169:2: ( RULE_INT )
            // InternalRosetta.g:35170:3: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getSupINTTerminalRuleCall_1_0_2_0()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getSupINTTerminalRuleCall_1_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__SupAssignment_1_0_2"
    // $ANTLR start "rule__RosettaCardinality__InfAssignment_1_1_0"
    // InternalRosetta.g:35179:1: rule__RosettaCardinality__InfAssignment_1_1_0 : ( RULE_INT ) ;
    public final void rule__RosettaCardinality__InfAssignment_1_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35183:1: ( ( RULE_INT ) )
            // InternalRosetta.g:35184:2: ( RULE_INT )
            {
            // InternalRosetta.g:35184:2: ( RULE_INT )
            // InternalRosetta.g:35185:3: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getInfINTTerminalRuleCall_1_1_0_0()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getInfINTTerminalRuleCall_1_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__InfAssignment_1_1_0"
    // $ANTLR start "rule__RosettaCardinality__UnboundedAssignment_1_1_2"
    // InternalRosetta.g:35194:1: rule__RosettaCardinality__UnboundedAssignment_1_1_2 : ( ( '*' ) ) ;
    public final void rule__RosettaCardinality__UnboundedAssignment_1_1_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35198:1: ( ( ( '*' ) ) )
            // InternalRosetta.g:35199:2: ( ( '*' ) )
            {
            // InternalRosetta.g:35199:2: ( ( '*' ) )
            // InternalRosetta.g:35200:3: ( '*' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getUnboundedAsteriskKeyword_1_1_2_0()); }
            // InternalRosetta.g:35201:3: ( '*' )
            // InternalRosetta.g:35202:4: '*'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCardinalityAccess().getUnboundedAsteriskKeyword_1_1_2_0()); }
            match(input,36,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getUnboundedAsteriskKeyword_1_1_2_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCardinalityAccess().getUnboundedAsteriskKeyword_1_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCardinality__UnboundedAssignment_1_1_2"
    // $ANTLR start "rule__RosettaClassSynonym__SourcesAssignment_2"
    // InternalRosetta.g:35213:1: rule__RosettaClassSynonym__SourcesAssignment_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaClassSynonym__SourcesAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35217:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:35218:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:35218:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:35219:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_2_0()); }
            // InternalRosetta.g:35220:3: ( ruleQualifiedName )
            // InternalRosetta.g:35221:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__SourcesAssignment_2"
    // $ANTLR start "rule__RosettaClassSynonym__SourcesAssignment_3_1"
    // InternalRosetta.g:35232:1: rule__RosettaClassSynonym__SourcesAssignment_3_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaClassSynonym__SourcesAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35236:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:35237:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:35237:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:35238:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_3_1_0()); }
            // InternalRosetta.g:35239:3: ( ruleQualifiedName )
            // InternalRosetta.g:35240:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_3_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_3_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__SourcesAssignment_3_1"
    // $ANTLR start "rule__RosettaClassSynonym__ValueAssignment_4_1"
    // InternalRosetta.g:35251:1: rule__RosettaClassSynonym__ValueAssignment_4_1 : ( ruleRosettaClassSynonymValue ) ;
    public final void rule__RosettaClassSynonym__ValueAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35255:1: ( ( ruleRosettaClassSynonymValue ) )
            // InternalRosetta.g:35256:2: ( ruleRosettaClassSynonymValue )
            {
            // InternalRosetta.g:35256:2: ( ruleRosettaClassSynonymValue )
            // InternalRosetta.g:35257:3: ruleRosettaClassSynonymValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getValueRosettaClassSynonymValueParserRuleCall_4_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaClassSynonymValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getValueRosettaClassSynonymValueParserRuleCall_4_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__ValueAssignment_4_1"
    // $ANTLR start "rule__RosettaClassSynonym__MetaValueAssignment_5_1"
    // InternalRosetta.g:35266:1: rule__RosettaClassSynonym__MetaValueAssignment_5_1 : ( ruleRosettaMetaSynonymValue ) ;
    public final void rule__RosettaClassSynonym__MetaValueAssignment_5_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35270:1: ( ( ruleRosettaMetaSynonymValue ) )
            // InternalRosetta.g:35271:2: ( ruleRosettaMetaSynonymValue )
            {
            // InternalRosetta.g:35271:2: ( ruleRosettaMetaSynonymValue )
            // InternalRosetta.g:35272:3: ruleRosettaMetaSynonymValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymAccess().getMetaValueRosettaMetaSynonymValueParserRuleCall_5_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMetaSynonymValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymAccess().getMetaValueRosettaMetaSynonymValueParserRuleCall_5_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonym__MetaValueAssignment_5_1"
    // $ANTLR start "rule__RosettaClassSynonymValue__NameAssignment_0"
    // InternalRosetta.g:35281:1: rule__RosettaClassSynonymValue__NameAssignment_0 : ( RULE_STRING ) ;
    public final void rule__RosettaClassSynonymValue__NameAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35285:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35286:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35286:2: ( RULE_STRING )
            // InternalRosetta.g:35287:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getNameSTRINGTerminalRuleCall_0_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getNameSTRINGTerminalRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__NameAssignment_0"
    // $ANTLR start "rule__RosettaClassSynonymValue__RefTypeAssignment_1_0"
    // InternalRosetta.g:35296:1: rule__RosettaClassSynonymValue__RefTypeAssignment_1_0 : ( ruleRosettaSynonymRef ) ;
    public final void rule__RosettaClassSynonymValue__RefTypeAssignment_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35300:1: ( ( ruleRosettaSynonymRef ) )
            // InternalRosetta.g:35301:2: ( ruleRosettaSynonymRef )
            {
            // InternalRosetta.g:35301:2: ( ruleRosettaSynonymRef )
            // InternalRosetta.g:35302:3: ruleRosettaSynonymRef
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getRefTypeRosettaSynonymRefEnumRuleCall_1_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaSynonymRef(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getRefTypeRosettaSynonymRefEnumRuleCall_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__RefTypeAssignment_1_0"
    // $ANTLR start "rule__RosettaClassSynonymValue__ValueAssignment_1_1"
    // InternalRosetta.g:35311:1: rule__RosettaClassSynonymValue__ValueAssignment_1_1 : ( RULE_INT ) ;
    public final void rule__RosettaClassSynonymValue__ValueAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35315:1: ( ( RULE_INT ) )
            // InternalRosetta.g:35316:2: ( RULE_INT )
            {
            // InternalRosetta.g:35316:2: ( RULE_INT )
            // InternalRosetta.g:35317:3: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getValueINTTerminalRuleCall_1_1_0()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getValueINTTerminalRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__ValueAssignment_1_1"
    // $ANTLR start "rule__RosettaClassSynonymValue__PathAssignment_2_1"
    // InternalRosetta.g:35326:1: rule__RosettaClassSynonymValue__PathAssignment_2_1 : ( RULE_STRING ) ;
    public final void rule__RosettaClassSynonymValue__PathAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35330:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35331:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35331:2: ( RULE_STRING )
            // InternalRosetta.g:35332:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaClassSynonymValueAccess().getPathSTRINGTerminalRuleCall_2_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaClassSynonymValueAccess().getPathSTRINGTerminalRuleCall_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaClassSynonymValue__PathAssignment_2_1"
    // $ANTLR start "rule__RosettaSynonym__SourcesAssignment_2"
    // InternalRosetta.g:35341:1: rule__RosettaSynonym__SourcesAssignment_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaSynonym__SourcesAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35345:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:35346:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:35346:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:35347:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_2_0()); }
            // InternalRosetta.g:35348:3: ( ruleQualifiedName )
            // InternalRosetta.g:35349:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__SourcesAssignment_2"
    // $ANTLR start "rule__RosettaSynonym__SourcesAssignment_3_1"
    // InternalRosetta.g:35360:1: rule__RosettaSynonym__SourcesAssignment_3_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaSynonym__SourcesAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35364:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:35365:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:35365:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:35366:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_3_1_0()); }
            // InternalRosetta.g:35367:3: ( ruleQualifiedName )
            // InternalRosetta.g:35368:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_3_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_3_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__SourcesAssignment_3_1"
    // $ANTLR start "rule__RosettaSynonym__BodyAssignment_4"
    // InternalRosetta.g:35379:1: rule__RosettaSynonym__BodyAssignment_4 : ( ruleRosettaSynonymBody ) ;
    public final void rule__RosettaSynonym__BodyAssignment_4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35383:1: ( ( ruleRosettaSynonymBody ) )
            // InternalRosetta.g:35384:2: ( ruleRosettaSynonymBody )
            {
            // InternalRosetta.g:35384:2: ( ruleRosettaSynonymBody )
            // InternalRosetta.g:35385:3: ruleRosettaSynonymBody
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymAccess().getBodyRosettaSynonymBodyParserRuleCall_4_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaSynonymBody(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymAccess().getBodyRosettaSynonymBodyParserRuleCall_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonym__BodyAssignment_4"
    // $ANTLR start "rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0"
    // InternalRosetta.g:35394:1: rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0 : ( ruleRosettaSynonymValue ) ;
    public final void rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35398:1: ( ( ruleRosettaSynonymValue ) )
            // InternalRosetta.g:35399:2: ( ruleRosettaSynonymValue )
            {
            // InternalRosetta.g:35399:2: ( ruleRosettaSynonymValue )
            // InternalRosetta.g:35400:3: ruleRosettaSynonymValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getValuesRosettaSynonymValueParserRuleCall_0_0_1_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaSynonymValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getValuesRosettaSynonymValueParserRuleCall_0_0_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__ValuesAssignment_0_0_1_0"
    // $ANTLR start "rule__RosettaSynonymBody__ValuesAssignment_0_0_2"
    // InternalRosetta.g:35409:1: rule__RosettaSynonymBody__ValuesAssignment_0_0_2 : ( ruleRosettaSynonymValue ) ;
    public final void rule__RosettaSynonymBody__ValuesAssignment_0_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35413:1: ( ( ruleRosettaSynonymValue ) )
            // InternalRosetta.g:35414:2: ( ruleRosettaSynonymValue )
            {
            // InternalRosetta.g:35414:2: ( ruleRosettaSynonymValue )
            // InternalRosetta.g:35415:3: ruleRosettaSynonymValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getValuesRosettaSynonymValueParserRuleCall_0_0_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaSynonymValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getValuesRosettaSynonymValueParserRuleCall_0_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__ValuesAssignment_0_0_2"
    // $ANTLR start "rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3"
    // InternalRosetta.g:35424:1: rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3 : ( ruleRosettaMapping ) ;
    public final void rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35428:1: ( ( ruleRosettaMapping ) )
            // InternalRosetta.g:35429:2: ( ruleRosettaMapping )
            {
            // InternalRosetta.g:35429:2: ( ruleRosettaMapping )
            // InternalRosetta.g:35430:3: ruleRosettaMapping
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMappingLogicRosettaMappingParserRuleCall_0_0_3_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMapping(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMappingLogicRosettaMappingParserRuleCall_0_0_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__MappingLogicAssignment_0_0_3"
    // $ANTLR start "rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0"
    // InternalRosetta.g:35439:1: rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35443:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35444:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35444:2: ( RULE_STRING )
            // InternalRosetta.g:35445:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesSTRINGTerminalRuleCall_0_0_4_1_0_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesSTRINGTerminalRuleCall_0_0_4_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_1_0"
    // $ANTLR start "rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2"
    // InternalRosetta.g:35454:1: rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35458:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35459:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35459:2: ( RULE_STRING )
            // InternalRosetta.g:35460:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesSTRINGTerminalRuleCall_0_0_4_2_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesSTRINGTerminalRuleCall_0_0_4_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__MetaValuesAssignment_0_0_4_2"
    // $ANTLR start "rule__RosettaSynonymBody__HintsAssignment_0_1_1_0"
    // InternalRosetta.g:35469:1: rule__RosettaSynonymBody__HintsAssignment_0_1_1_0 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymBody__HintsAssignment_0_1_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35473:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35474:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35474:2: ( RULE_STRING )
            // InternalRosetta.g:35475:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getHintsSTRINGTerminalRuleCall_0_1_1_0_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getHintsSTRINGTerminalRuleCall_0_1_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__HintsAssignment_0_1_1_0"
    // $ANTLR start "rule__RosettaSynonymBody__HintsAssignment_0_1_2"
    // InternalRosetta.g:35484:1: rule__RosettaSynonymBody__HintsAssignment_0_1_2 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymBody__HintsAssignment_0_1_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35488:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35489:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35489:2: ( RULE_STRING )
            // InternalRosetta.g:35490:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getHintsSTRINGTerminalRuleCall_0_1_2_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getHintsSTRINGTerminalRuleCall_0_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__HintsAssignment_0_1_2"
    // $ANTLR start "rule__RosettaSynonymBody__MergeAssignment_0_2_1"
    // InternalRosetta.g:35499:1: rule__RosettaSynonymBody__MergeAssignment_0_2_1 : ( ruleRosettaMergeSynonymValue ) ;
    public final void rule__RosettaSynonymBody__MergeAssignment_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35503:1: ( ( ruleRosettaMergeSynonymValue ) )
            // InternalRosetta.g:35504:2: ( ruleRosettaMergeSynonymValue )
            {
            // InternalRosetta.g:35504:2: ( ruleRosettaMergeSynonymValue )
            // InternalRosetta.g:35505:3: ruleRosettaMergeSynonymValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMergeRosettaMergeSynonymValueParserRuleCall_0_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMergeSynonymValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMergeRosettaMergeSynonymValueParserRuleCall_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__MergeAssignment_0_2_1"
    // $ANTLR start "rule__RosettaSynonymBody__MappingLogicAssignment_0_3"
    // InternalRosetta.g:35514:1: rule__RosettaSynonymBody__MappingLogicAssignment_0_3 : ( ruleRosettaMappingSetTo ) ;
    public final void rule__RosettaSynonymBody__MappingLogicAssignment_0_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35518:1: ( ( ruleRosettaMappingSetTo ) )
            // InternalRosetta.g:35519:2: ( ruleRosettaMappingSetTo )
            {
            // InternalRosetta.g:35519:2: ( ruleRosettaMappingSetTo )
            // InternalRosetta.g:35520:3: ruleRosettaMappingSetTo
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMappingLogicRosettaMappingSetToParserRuleCall_0_3_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMappingSetTo(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMappingLogicRosettaMappingSetToParserRuleCall_0_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__MappingLogicAssignment_0_3"
    // $ANTLR start "rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0"
    // InternalRosetta.g:35529:1: rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35533:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35534:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35534:2: ( RULE_STRING )
            // InternalRosetta.g:35535:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesSTRINGTerminalRuleCall_0_4_1_0_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesSTRINGTerminalRuleCall_0_4_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__MetaValuesAssignment_0_4_1_0"
    // $ANTLR start "rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2"
    // InternalRosetta.g:35544:1: rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35548:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35549:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35549:2: ( RULE_STRING )
            // InternalRosetta.g:35550:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesSTRINGTerminalRuleCall_0_4_2_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMetaValuesSTRINGTerminalRuleCall_0_4_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__MetaValuesAssignment_0_4_2"
    // $ANTLR start "rule__RosettaSynonymBody__FormatAssignment_1_1"
    // InternalRosetta.g:35559:1: rule__RosettaSynonymBody__FormatAssignment_1_1 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymBody__FormatAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35563:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35564:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35564:2: ( RULE_STRING )
            // InternalRosetta.g:35565:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getFormatSTRINGTerminalRuleCall_1_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getFormatSTRINGTerminalRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__FormatAssignment_1_1"
    // $ANTLR start "rule__RosettaSynonymBody__PatternMatchAssignment_2_1"
    // InternalRosetta.g:35574:1: rule__RosettaSynonymBody__PatternMatchAssignment_2_1 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymBody__PatternMatchAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35578:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35579:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35579:2: ( RULE_STRING )
            // InternalRosetta.g:35580:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getPatternMatchSTRINGTerminalRuleCall_2_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getPatternMatchSTRINGTerminalRuleCall_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__PatternMatchAssignment_2_1"
    // $ANTLR start "rule__RosettaSynonymBody__PatternReplaceAssignment_2_2"
    // InternalRosetta.g:35589:1: rule__RosettaSynonymBody__PatternReplaceAssignment_2_2 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymBody__PatternReplaceAssignment_2_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35593:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35594:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35594:2: ( RULE_STRING )
            // InternalRosetta.g:35595:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getPatternReplaceSTRINGTerminalRuleCall_2_2_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getPatternReplaceSTRINGTerminalRuleCall_2_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__PatternReplaceAssignment_2_2"
    // $ANTLR start "rule__RosettaSynonymBody__RemoveHtmlAssignment_3"
    // InternalRosetta.g:35604:1: rule__RosettaSynonymBody__RemoveHtmlAssignment_3 : ( ( 'removeHtml' ) ) ;
    public final void rule__RosettaSynonymBody__RemoveHtmlAssignment_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35608:1: ( ( ( 'removeHtml' ) ) )
            // InternalRosetta.g:35609:2: ( ( 'removeHtml' ) )
            {
            // InternalRosetta.g:35609:2: ( ( 'removeHtml' ) )
            // InternalRosetta.g:35610:3: ( 'removeHtml' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getRemoveHtmlRemoveHtmlKeyword_3_0()); }
            // InternalRosetta.g:35611:3: ( 'removeHtml' )
            // InternalRosetta.g:35612:4: 'removeHtml'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getRemoveHtmlRemoveHtmlKeyword_3_0()); }
            match(input,134,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getRemoveHtmlRemoveHtmlKeyword_3_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getRemoveHtmlRemoveHtmlKeyword_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__RemoveHtmlAssignment_3"
    // $ANTLR start "rule__RosettaSynonymBody__MapperAssignment_4_1"
    // InternalRosetta.g:35623:1: rule__RosettaSynonymBody__MapperAssignment_4_1 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymBody__MapperAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35627:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35628:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35628:2: ( RULE_STRING )
            // InternalRosetta.g:35629:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymBodyAccess().getMapperSTRINGTerminalRuleCall_4_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymBodyAccess().getMapperSTRINGTerminalRuleCall_4_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymBody__MapperAssignment_4_1"
    // $ANTLR start "rule__RosettaSynonymValue__NameAssignment_0"
    // InternalRosetta.g:35638:1: rule__RosettaSynonymValue__NameAssignment_0 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymValue__NameAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35642:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35643:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35643:2: ( RULE_STRING )
            // InternalRosetta.g:35644:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getNameSTRINGTerminalRuleCall_0_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getNameSTRINGTerminalRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__NameAssignment_0"
    // $ANTLR start "rule__RosettaSynonymValue__RefTypeAssignment_1_0"
    // InternalRosetta.g:35653:1: rule__RosettaSynonymValue__RefTypeAssignment_1_0 : ( ruleRosettaSynonymRef ) ;
    public final void rule__RosettaSynonymValue__RefTypeAssignment_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35657:1: ( ( ruleRosettaSynonymRef ) )
            // InternalRosetta.g:35658:2: ( ruleRosettaSynonymRef )
            {
            // InternalRosetta.g:35658:2: ( ruleRosettaSynonymRef )
            // InternalRosetta.g:35659:3: ruleRosettaSynonymRef
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getRefTypeRosettaSynonymRefEnumRuleCall_1_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaSynonymRef(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getRefTypeRosettaSynonymRefEnumRuleCall_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__RefTypeAssignment_1_0"
    // $ANTLR start "rule__RosettaSynonymValue__ValueAssignment_1_1"
    // InternalRosetta.g:35668:1: rule__RosettaSynonymValue__ValueAssignment_1_1 : ( RULE_INT ) ;
    public final void rule__RosettaSynonymValue__ValueAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35672:1: ( ( RULE_INT ) )
            // InternalRosetta.g:35673:2: ( RULE_INT )
            {
            // InternalRosetta.g:35673:2: ( RULE_INT )
            // InternalRosetta.g:35674:3: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getValueINTTerminalRuleCall_1_1_0()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getValueINTTerminalRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__ValueAssignment_1_1"
    // $ANTLR start "rule__RosettaSynonymValue__PathAssignment_2_1"
    // InternalRosetta.g:35683:1: rule__RosettaSynonymValue__PathAssignment_2_1 : ( RULE_STRING ) ;
    public final void rule__RosettaSynonymValue__PathAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35687:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35688:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35688:2: ( RULE_STRING )
            // InternalRosetta.g:35689:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getPathSTRINGTerminalRuleCall_2_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getPathSTRINGTerminalRuleCall_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__PathAssignment_2_1"
    // $ANTLR start "rule__RosettaSynonymValue__MapsAssignment_3_1"
    // InternalRosetta.g:35698:1: rule__RosettaSynonymValue__MapsAssignment_3_1 : ( RULE_INT ) ;
    public final void rule__RosettaSynonymValue__MapsAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35702:1: ( ( RULE_INT ) )
            // InternalRosetta.g:35703:2: ( RULE_INT )
            {
            // InternalRosetta.g:35703:2: ( RULE_INT )
            // InternalRosetta.g:35704:3: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSynonymValueAccess().getMapsINTTerminalRuleCall_3_1_0()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSynonymValueAccess().getMapsINTTerminalRuleCall_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSynonymValue__MapsAssignment_3_1"
    // $ANTLR start "rule__RosettaMetaSynonymValue__NameAssignment_0"
    // InternalRosetta.g:35713:1: rule__RosettaMetaSynonymValue__NameAssignment_0 : ( RULE_STRING ) ;
    public final void rule__RosettaMetaSynonymValue__NameAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35717:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35718:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35718:2: ( RULE_STRING )
            // InternalRosetta.g:35719:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getNameSTRINGTerminalRuleCall_0_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getNameSTRINGTerminalRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__NameAssignment_0"
    // $ANTLR start "rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0"
    // InternalRosetta.g:35728:1: rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0 : ( ruleRosettaSynonymRef ) ;
    public final void rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35732:1: ( ( ruleRosettaSynonymRef ) )
            // InternalRosetta.g:35733:2: ( ruleRosettaSynonymRef )
            {
            // InternalRosetta.g:35733:2: ( ruleRosettaSynonymRef )
            // InternalRosetta.g:35734:3: ruleRosettaSynonymRef
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getRefTypeRosettaSynonymRefEnumRuleCall_1_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaSynonymRef(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getRefTypeRosettaSynonymRefEnumRuleCall_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__RefTypeAssignment_1_0"
    // $ANTLR start "rule__RosettaMetaSynonymValue__ValueAssignment_1_1"
    // InternalRosetta.g:35743:1: rule__RosettaMetaSynonymValue__ValueAssignment_1_1 : ( RULE_INT ) ;
    public final void rule__RosettaMetaSynonymValue__ValueAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35747:1: ( ( RULE_INT ) )
            // InternalRosetta.g:35748:2: ( RULE_INT )
            {
            // InternalRosetta.g:35748:2: ( RULE_INT )
            // InternalRosetta.g:35749:3: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getValueINTTerminalRuleCall_1_1_0()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getValueINTTerminalRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__ValueAssignment_1_1"
    // $ANTLR start "rule__RosettaMetaSynonymValue__PathAssignment_2_1"
    // InternalRosetta.g:35758:1: rule__RosettaMetaSynonymValue__PathAssignment_2_1 : ( RULE_STRING ) ;
    public final void rule__RosettaMetaSynonymValue__PathAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35762:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35763:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35763:2: ( RULE_STRING )
            // InternalRosetta.g:35764:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getPathSTRINGTerminalRuleCall_2_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getPathSTRINGTerminalRuleCall_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__PathAssignment_2_1"
    // $ANTLR start "rule__RosettaMetaSynonymValue__MapsAssignment_3_1"
    // InternalRosetta.g:35773:1: rule__RosettaMetaSynonymValue__MapsAssignment_3_1 : ( RULE_INT ) ;
    public final void rule__RosettaMetaSynonymValue__MapsAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35777:1: ( ( RULE_INT ) )
            // InternalRosetta.g:35778:2: ( RULE_INT )
            {
            // InternalRosetta.g:35778:2: ( RULE_INT )
            // InternalRosetta.g:35779:3: RULE_INT
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMetaSynonymValueAccess().getMapsINTTerminalRuleCall_3_1_0()); }
            match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMetaSynonymValueAccess().getMapsINTTerminalRuleCall_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMetaSynonymValue__MapsAssignment_3_1"
    // $ANTLR start "rule__RosettaMergeSynonymValue__NameAssignment_0"
    // InternalRosetta.g:35788:1: rule__RosettaMergeSynonymValue__NameAssignment_0 : ( RULE_STRING ) ;
    public final void rule__RosettaMergeSynonymValue__NameAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35792:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35793:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35793:2: ( RULE_STRING )
            // InternalRosetta.g:35794:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMergeSynonymValueAccess().getNameSTRINGTerminalRuleCall_0_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMergeSynonymValueAccess().getNameSTRINGTerminalRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__NameAssignment_0"
    // $ANTLR start "rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3"
    // InternalRosetta.g:35803:1: rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3 : ( RULE_STRING ) ;
    public final void rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35807:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35808:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35808:2: ( RULE_STRING )
            // InternalRosetta.g:35809:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMergeSynonymValueAccess().getExcludePathSTRINGTerminalRuleCall_1_3_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMergeSynonymValueAccess().getExcludePathSTRINGTerminalRuleCall_1_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMergeSynonymValue__ExcludePathAssignment_1_3"
    // $ANTLR start "rule__RosettaEnumSynonym__SourcesAssignment_2"
    // InternalRosetta.g:35818:1: rule__RosettaEnumSynonym__SourcesAssignment_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaEnumSynonym__SourcesAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35822:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:35823:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:35823:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:35824:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_2_0()); }
            // InternalRosetta.g:35825:3: ( ruleQualifiedName )
            // InternalRosetta.g:35826:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__SourcesAssignment_2"
    // $ANTLR start "rule__RosettaEnumSynonym__SourcesAssignment_3_1"
    // InternalRosetta.g:35837:1: rule__RosettaEnumSynonym__SourcesAssignment_3_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaEnumSynonym__SourcesAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35841:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:35842:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:35842:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:35843:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_3_1_0()); }
            // InternalRosetta.g:35844:3: ( ruleQualifiedName )
            // InternalRosetta.g:35845:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_3_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_3_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getSourcesRosettaSynonymSourceCrossReference_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__SourcesAssignment_3_1"
    // $ANTLR start "rule__RosettaEnumSynonym__SynonymValueAssignment_5"
    // InternalRosetta.g:35856:1: rule__RosettaEnumSynonym__SynonymValueAssignment_5 : ( RULE_STRING ) ;
    public final void rule__RosettaEnumSynonym__SynonymValueAssignment_5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35860:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35861:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35861:2: ( RULE_STRING )
            // InternalRosetta.g:35862:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getSynonymValueSTRINGTerminalRuleCall_5_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getSynonymValueSTRINGTerminalRuleCall_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__SynonymValueAssignment_5"
    // $ANTLR start "rule__RosettaEnumSynonym__DefinitionAssignment_6_1"
    // InternalRosetta.g:35871:1: rule__RosettaEnumSynonym__DefinitionAssignment_6_1 : ( RULE_STRING ) ;
    public final void rule__RosettaEnumSynonym__DefinitionAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35875:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35876:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35876:2: ( RULE_STRING )
            // InternalRosetta.g:35877:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getDefinitionSTRINGTerminalRuleCall_6_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getDefinitionSTRINGTerminalRuleCall_6_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__DefinitionAssignment_6_1"
    // $ANTLR start "rule__RosettaEnumSynonym__PatternMatchAssignment_7_1"
    // InternalRosetta.g:35886:1: rule__RosettaEnumSynonym__PatternMatchAssignment_7_1 : ( RULE_STRING ) ;
    public final void rule__RosettaEnumSynonym__PatternMatchAssignment_7_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35890:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35891:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35891:2: ( RULE_STRING )
            // InternalRosetta.g:35892:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getPatternMatchSTRINGTerminalRuleCall_7_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getPatternMatchSTRINGTerminalRuleCall_7_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__PatternMatchAssignment_7_1"
    // $ANTLR start "rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2"
    // InternalRosetta.g:35901:1: rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2 : ( RULE_STRING ) ;
    public final void rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35905:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:35906:2: ( RULE_STRING )
            {
            // InternalRosetta.g:35906:2: ( RULE_STRING )
            // InternalRosetta.g:35907:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getPatternReplaceSTRINGTerminalRuleCall_7_2_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getPatternReplaceSTRINGTerminalRuleCall_7_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__PatternReplaceAssignment_7_2"
    // $ANTLR start "rule__RosettaEnumSynonym__RemoveHtmlAssignment_8"
    // InternalRosetta.g:35916:1: rule__RosettaEnumSynonym__RemoveHtmlAssignment_8 : ( ( 'removeHtml' ) ) ;
    public final void rule__RosettaEnumSynonym__RemoveHtmlAssignment_8() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35920:1: ( ( ( 'removeHtml' ) ) )
            // InternalRosetta.g:35921:2: ( ( 'removeHtml' ) )
            {
            // InternalRosetta.g:35921:2: ( ( 'removeHtml' ) )
            // InternalRosetta.g:35922:3: ( 'removeHtml' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getRemoveHtmlRemoveHtmlKeyword_8_0()); }
            // InternalRosetta.g:35923:3: ( 'removeHtml' )
            // InternalRosetta.g:35924:4: 'removeHtml'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaEnumSynonymAccess().getRemoveHtmlRemoveHtmlKeyword_8_0()); }
            match(input,134,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getRemoveHtmlRemoveHtmlKeyword_8_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaEnumSynonymAccess().getRemoveHtmlRemoveHtmlKeyword_8_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaEnumSynonym__RemoveHtmlAssignment_8"
    // $ANTLR start "rule__RosettaMapping__InstancesAssignment_0"
    // InternalRosetta.g:35935:1: rule__RosettaMapping__InstancesAssignment_0 : ( ruleRosettaMappingInstance ) ;
    public final void rule__RosettaMapping__InstancesAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35939:1: ( ( ruleRosettaMappingInstance ) )
            // InternalRosetta.g:35940:2: ( ruleRosettaMappingInstance )
            {
            // InternalRosetta.g:35940:2: ( ruleRosettaMappingInstance )
            // InternalRosetta.g:35941:3: ruleRosettaMappingInstance
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingAccess().getInstancesRosettaMappingInstanceParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMappingInstance(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingAccess().getInstancesRosettaMappingInstanceParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapping__InstancesAssignment_0"
    // $ANTLR start "rule__RosettaMapping__InstancesAssignment_1_1"
    // InternalRosetta.g:35950:1: rule__RosettaMapping__InstancesAssignment_1_1 : ( ruleRosettaMappingInstance ) ;
    public final void rule__RosettaMapping__InstancesAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35954:1: ( ( ruleRosettaMappingInstance ) )
            // InternalRosetta.g:35955:2: ( ruleRosettaMappingInstance )
            {
            // InternalRosetta.g:35955:2: ( ruleRosettaMappingInstance )
            // InternalRosetta.g:35956:3: ruleRosettaMappingInstance
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingAccess().getInstancesRosettaMappingInstanceParserRuleCall_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMappingInstance(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingAccess().getInstancesRosettaMappingInstanceParserRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapping__InstancesAssignment_1_1"
    // $ANTLR start "rule__RosettaMappingInstance__WhenAssignment_0_1"
    // InternalRosetta.g:35965:1: rule__RosettaMappingInstance__WhenAssignment_0_1 : ( ruleRosettaMappingPathTests ) ;
    public final void rule__RosettaMappingInstance__WhenAssignment_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35969:1: ( ( ruleRosettaMappingPathTests ) )
            // InternalRosetta.g:35970:2: ( ruleRosettaMappingPathTests )
            {
            // InternalRosetta.g:35970:2: ( ruleRosettaMappingPathTests )
            // InternalRosetta.g:35971:3: ruleRosettaMappingPathTests
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getWhenRosettaMappingPathTestsParserRuleCall_0_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMappingPathTests(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getWhenRosettaMappingPathTestsParserRuleCall_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__WhenAssignment_0_1"
    // $ANTLR start "rule__RosettaMappingInstance__DefaultAssignment_1_0_0"
    // InternalRosetta.g:35980:1: rule__RosettaMappingInstance__DefaultAssignment_1_0_0 : ( ( 'default' ) ) ;
    public final void rule__RosettaMappingInstance__DefaultAssignment_1_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:35984:1: ( ( ( 'default' ) ) )
            // InternalRosetta.g:35985:2: ( ( 'default' ) )
            {
            // InternalRosetta.g:35985:2: ( ( 'default' ) )
            // InternalRosetta.g:35986:3: ( 'default' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getDefaultDefaultKeyword_1_0_0_0()); }
            // InternalRosetta.g:35987:3: ( 'default' )
            // InternalRosetta.g:35988:4: 'default'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getDefaultDefaultKeyword_1_0_0_0()); }
            match(input,119,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getDefaultDefaultKeyword_1_0_0_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getDefaultDefaultKeyword_1_0_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__DefaultAssignment_1_0_0"
    // $ANTLR start "rule__RosettaMappingInstance__SetAssignment_1_1"
    // InternalRosetta.g:35999:1: rule__RosettaMappingInstance__SetAssignment_1_1 : ( ruleRosettaMapPrimaryExpression ) ;
    public final void rule__RosettaMappingInstance__SetAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36003:1: ( ( ruleRosettaMapPrimaryExpression ) )
            // InternalRosetta.g:36004:2: ( ruleRosettaMapPrimaryExpression )
            {
            // InternalRosetta.g:36004:2: ( ruleRosettaMapPrimaryExpression )
            // InternalRosetta.g:36005:3: ruleRosettaMapPrimaryExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingInstanceAccess().getSetRosettaMapPrimaryExpressionParserRuleCall_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMapPrimaryExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingInstanceAccess().getSetRosettaMapPrimaryExpressionParserRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingInstance__SetAssignment_1_1"
    // $ANTLR start "rule__RosettaMappingSetTo__InstancesAssignment_0"
    // InternalRosetta.g:36014:1: rule__RosettaMappingSetTo__InstancesAssignment_0 : ( ruleRosettaMappingSetToInstance ) ;
    public final void rule__RosettaMappingSetTo__InstancesAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36018:1: ( ( ruleRosettaMappingSetToInstance ) )
            // InternalRosetta.g:36019:2: ( ruleRosettaMappingSetToInstance )
            {
            // InternalRosetta.g:36019:2: ( ruleRosettaMappingSetToInstance )
            // InternalRosetta.g:36020:3: ruleRosettaMappingSetToInstance
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToAccess().getInstancesRosettaMappingSetToInstanceParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMappingSetToInstance(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToAccess().getInstancesRosettaMappingSetToInstanceParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetTo__InstancesAssignment_0"
    // $ANTLR start "rule__RosettaMappingSetTo__InstancesAssignment_1_1"
    // InternalRosetta.g:36029:1: rule__RosettaMappingSetTo__InstancesAssignment_1_1 : ( ruleRosettaMappingSetToInstance ) ;
    public final void rule__RosettaMappingSetTo__InstancesAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36033:1: ( ( ruleRosettaMappingSetToInstance ) )
            // InternalRosetta.g:36034:2: ( ruleRosettaMappingSetToInstance )
            {
            // InternalRosetta.g:36034:2: ( ruleRosettaMappingSetToInstance )
            // InternalRosetta.g:36035:3: ruleRosettaMappingSetToInstance
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToAccess().getInstancesRosettaMappingSetToInstanceParserRuleCall_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMappingSetToInstance(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToAccess().getInstancesRosettaMappingSetToInstanceParserRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetTo__InstancesAssignment_1_1"
    // $ANTLR start "rule__RosettaMappingSetToInstance__SetAssignment_1"
    // InternalRosetta.g:36044:1: rule__RosettaMappingSetToInstance__SetAssignment_1 : ( ruleRosettaMapPrimaryExpression ) ;
    public final void rule__RosettaMappingSetToInstance__SetAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36048:1: ( ( ruleRosettaMapPrimaryExpression ) )
            // InternalRosetta.g:36049:2: ( ruleRosettaMapPrimaryExpression )
            {
            // InternalRosetta.g:36049:2: ( ruleRosettaMapPrimaryExpression )
            // InternalRosetta.g:36050:3: ruleRosettaMapPrimaryExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToInstanceAccess().getSetRosettaMapPrimaryExpressionParserRuleCall_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMapPrimaryExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToInstanceAccess().getSetRosettaMapPrimaryExpressionParserRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__SetAssignment_1"
    // $ANTLR start "rule__RosettaMappingSetToInstance__WhenAssignment_2_1"
    // InternalRosetta.g:36059:1: rule__RosettaMappingSetToInstance__WhenAssignment_2_1 : ( ruleRosettaMappingPathTests ) ;
    public final void rule__RosettaMappingSetToInstance__WhenAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36063:1: ( ( ruleRosettaMappingPathTests ) )
            // InternalRosetta.g:36064:2: ( ruleRosettaMappingPathTests )
            {
            // InternalRosetta.g:36064:2: ( ruleRosettaMappingPathTests )
            // InternalRosetta.g:36065:3: ruleRosettaMappingPathTests
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingSetToInstanceAccess().getWhenRosettaMappingPathTestsParserRuleCall_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMappingPathTests(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingSetToInstanceAccess().getWhenRosettaMappingPathTestsParserRuleCall_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingSetToInstance__WhenAssignment_2_1"
    // $ANTLR start "rule__RosettaMappingPathTests__TestsAssignment_0"
    // InternalRosetta.g:36074:1: rule__RosettaMappingPathTests__TestsAssignment_0 : ( ruleRosettaMapTest ) ;
    public final void rule__RosettaMappingPathTests__TestsAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36078:1: ( ( ruleRosettaMapTest ) )
            // InternalRosetta.g:36079:2: ( ruleRosettaMapTest )
            {
            // InternalRosetta.g:36079:2: ( ruleRosettaMapTest )
            // InternalRosetta.g:36080:3: ruleRosettaMapTest
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingPathTestsAccess().getTestsRosettaMapTestParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMapTest(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingPathTestsAccess().getTestsRosettaMapTestParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingPathTests__TestsAssignment_0"
    // $ANTLR start "rule__RosettaMappingPathTests__TestsAssignment_1_1"
    // InternalRosetta.g:36089:1: rule__RosettaMappingPathTests__TestsAssignment_1_1 : ( ruleRosettaMapTest ) ;
    public final void rule__RosettaMappingPathTests__TestsAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36093:1: ( ( ruleRosettaMapTest ) )
            // InternalRosetta.g:36094:2: ( ruleRosettaMapTest )
            {
            // InternalRosetta.g:36094:2: ( ruleRosettaMapTest )
            // InternalRosetta.g:36095:3: ruleRosettaMapTest
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMappingPathTestsAccess().getTestsRosettaMapTestParserRuleCall_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMapTest(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMappingPathTestsAccess().getTestsRosettaMapTestParserRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMappingPathTests__TestsAssignment_1_1"
    // $ANTLR start "rule__RosettaMapPath__PathAssignment_2"
    // InternalRosetta.g:36104:1: rule__RosettaMapPath__PathAssignment_2 : ( ruleRosettaMapPathValue ) ;
    public final void rule__RosettaMapPath__PathAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36108:1: ( ( ruleRosettaMapPathValue ) )
            // InternalRosetta.g:36109:2: ( ruleRosettaMapPathValue )
            {
            // InternalRosetta.g:36109:2: ( ruleRosettaMapPathValue )
            // InternalRosetta.g:36110:3: ruleRosettaMapPathValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapPathAccess().getPathRosettaMapPathValueParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMapPathValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapPathAccess().getPathRosettaMapPathValueParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapPath__PathAssignment_2"
    // $ANTLR start "rule__RosettaMapRosettaPath__PathAssignment_2"
    // InternalRosetta.g:36119:1: rule__RosettaMapRosettaPath__PathAssignment_2 : ( ruleRosettaAttributeReference ) ;
    public final void rule__RosettaMapRosettaPath__PathAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36123:1: ( ( ruleRosettaAttributeReference ) )
            // InternalRosetta.g:36124:2: ( ruleRosettaAttributeReference )
            {
            // InternalRosetta.g:36124:2: ( ruleRosettaAttributeReference )
            // InternalRosetta.g:36125:3: ruleRosettaAttributeReference
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapRosettaPathAccess().getPathRosettaAttributeReferenceParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaAttributeReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapRosettaPathAccess().getPathRosettaAttributeReferenceParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapRosettaPath__PathAssignment_2"
    // $ANTLR start "rule__RosettaDataReference__DataAssignment_1"
    // InternalRosetta.g:36134:1: rule__RosettaDataReference__DataAssignment_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaDataReference__DataAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36138:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:36139:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:36139:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:36140:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDataReferenceAccess().getDataDataCrossReference_1_0()); }
            // InternalRosetta.g:36141:3: ( ruleQualifiedName )
            // InternalRosetta.g:36142:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDataReferenceAccess().getDataDataQualifiedNameParserRuleCall_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDataReferenceAccess().getDataDataQualifiedNameParserRuleCall_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDataReferenceAccess().getDataDataCrossReference_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDataReference__DataAssignment_1"
    // $ANTLR start "rule__RosettaAttributeReference__AttributeAssignment_1_2"
    // InternalRosetta.g:36153:1: rule__RosettaAttributeReference__AttributeAssignment_1_2 : ( ( ruleValidID ) ) ;
    public final void rule__RosettaAttributeReference__AttributeAssignment_1_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36157:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:36158:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:36158:2: ( ( ruleValidID ) )
            // InternalRosetta.g:36159:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaAttributeReferenceAccess().getAttributeAttributeCrossReference_1_2_0()); }
            // InternalRosetta.g:36160:3: ( ruleValidID )
            // InternalRosetta.g:36161:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaAttributeReferenceAccess().getAttributeAttributeValidIDParserRuleCall_1_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaAttributeReferenceAccess().getAttributeAttributeValidIDParserRuleCall_1_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaAttributeReferenceAccess().getAttributeAttributeCrossReference_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaAttributeReference__AttributeAssignment_1_2"
    // $ANTLR start "rule__RosettaMapTestExpression__OperatorAssignment_1_2_1"
    // InternalRosetta.g:36172:1: rule__RosettaMapTestExpression__OperatorAssignment_1_2_1 : ( ( rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0 ) ) ;
    public final void rule__RosettaMapTestExpression__OperatorAssignment_1_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36176:1: ( ( ( rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0 ) ) )
            // InternalRosetta.g:36177:2: ( ( rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0 ) )
            {
            // InternalRosetta.g:36177:2: ( ( rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0 ) )
            // InternalRosetta.g:36178:3: ( rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getOperatorAlternatives_1_2_1_0()); }
            // InternalRosetta.g:36179:3: ( rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0 )
            // InternalRosetta.g:36179:4: rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaMapTestExpression__OperatorAlternatives_1_2_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getOperatorAlternatives_1_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__OperatorAssignment_1_2_1"
    // $ANTLR start "rule__RosettaMapTestExpression__RightAssignment_1_2_2"
    // InternalRosetta.g:36187:1: rule__RosettaMapTestExpression__RightAssignment_1_2_2 : ( ruleRosettaMapPrimaryExpression ) ;
    public final void rule__RosettaMapTestExpression__RightAssignment_1_2_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36191:1: ( ( ruleRosettaMapPrimaryExpression ) )
            // InternalRosetta.g:36192:2: ( ruleRosettaMapPrimaryExpression )
            {
            // InternalRosetta.g:36192:2: ( ruleRosettaMapPrimaryExpression )
            // InternalRosetta.g:36193:3: ruleRosettaMapPrimaryExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestExpressionAccess().getRightRosettaMapPrimaryExpressionParserRuleCall_1_2_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMapPrimaryExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestExpressionAccess().getRightRosettaMapPrimaryExpressionParserRuleCall_1_2_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestExpression__RightAssignment_1_2_2"
    // $ANTLR start "rule__RosettaMapPathValue__PathAssignment"
    // InternalRosetta.g:36202:1: rule__RosettaMapPathValue__PathAssignment : ( RULE_STRING ) ;
    public final void rule__RosettaMapPathValue__PathAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36206:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:36207:2: ( RULE_STRING )
            {
            // InternalRosetta.g:36207:2: ( RULE_STRING )
            // InternalRosetta.g:36208:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapPathValueAccess().getPathSTRINGTerminalRuleCall_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapPathValueAccess().getPathSTRINGTerminalRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapPathValue__PathAssignment"
    // $ANTLR start "rule__RosettaMapTestFunc__FuncAssignment_1"
    // InternalRosetta.g:36217:1: rule__RosettaMapTestFunc__FuncAssignment_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaMapTestFunc__FuncAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36221:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:36222:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:36222:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:36223:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestFuncAccess().getFuncRosettaCallableWithArgsCrossReference_1_0()); }
            // InternalRosetta.g:36224:3: ( ruleQualifiedName )
            // InternalRosetta.g:36225:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestFuncAccess().getFuncRosettaCallableWithArgsQualifiedNameParserRuleCall_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestFuncAccess().getFuncRosettaCallableWithArgsQualifiedNameParserRuleCall_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestFuncAccess().getFuncRosettaCallableWithArgsCrossReference_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__FuncAssignment_1"
    // $ANTLR start "rule__RosettaMapTestFunc__PredicatePathAssignment_2_1"
    // InternalRosetta.g:36236:1: rule__RosettaMapTestFunc__PredicatePathAssignment_2_1 : ( ruleRosettaMapPathValue ) ;
    public final void rule__RosettaMapTestFunc__PredicatePathAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36240:1: ( ( ruleRosettaMapPathValue ) )
            // InternalRosetta.g:36241:2: ( ruleRosettaMapPathValue )
            {
            // InternalRosetta.g:36241:2: ( ruleRosettaMapPathValue )
            // InternalRosetta.g:36242:3: ruleRosettaMapPathValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaMapTestFuncAccess().getPredicatePathRosettaMapPathValueParserRuleCall_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMapPathValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaMapTestFuncAccess().getPredicatePathRosettaMapPathValueParserRuleCall_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaMapTestFunc__PredicatePathAssignment_2_1"
    // $ANTLR start "rule__RosettaDocReference__DocReferenceAssignment_2"
    // InternalRosetta.g:36251:1: rule__RosettaDocReference__DocReferenceAssignment_2 : ( ruleRegulatoryDocumentReference ) ;
    public final void rule__RosettaDocReference__DocReferenceAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36255:1: ( ( ruleRegulatoryDocumentReference ) )
            // InternalRosetta.g:36256:2: ( ruleRegulatoryDocumentReference )
            {
            // InternalRosetta.g:36256:2: ( ruleRegulatoryDocumentReference )
            // InternalRosetta.g:36257:3: ruleRegulatoryDocumentReference
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getDocReferenceRegulatoryDocumentReferenceParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRegulatoryDocumentReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getDocReferenceRegulatoryDocumentReferenceParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__DocReferenceAssignment_2"
    // $ANTLR start "rule__RosettaDocReference__RationalesAssignment_3"
    // InternalRosetta.g:36266:1: rule__RosettaDocReference__RationalesAssignment_3 : ( ruleDocumentRationale ) ;
    public final void rule__RosettaDocReference__RationalesAssignment_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36270:1: ( ( ruleDocumentRationale ) )
            // InternalRosetta.g:36271:2: ( ruleDocumentRationale )
            {
            // InternalRosetta.g:36271:2: ( ruleDocumentRationale )
            // InternalRosetta.g:36272:3: ruleDocumentRationale
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getRationalesDocumentRationaleParserRuleCall_3_0()); }
            pushFollow(FOLLOW_2);
            ruleDocumentRationale(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getRationalesDocumentRationaleParserRuleCall_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__RationalesAssignment_3"
    // $ANTLR start "rule__RosettaDocReference__ExtraneousSegmentsAssignment_4"
    // InternalRosetta.g:36281:1: rule__RosettaDocReference__ExtraneousSegmentsAssignment_4 : ( ruleRosettaSegmentRef ) ;
    public final void rule__RosettaDocReference__ExtraneousSegmentsAssignment_4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36285:1: ( ( ruleRosettaSegmentRef ) )
            // InternalRosetta.g:36286:2: ( ruleRosettaSegmentRef )
            {
            // InternalRosetta.g:36286:2: ( ruleRosettaSegmentRef )
            // InternalRosetta.g:36287:3: ruleRosettaSegmentRef
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getExtraneousSegmentsRosettaSegmentRefParserRuleCall_4_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaSegmentRef(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getExtraneousSegmentsRosettaSegmentRefParserRuleCall_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__ExtraneousSegmentsAssignment_4"
    // $ANTLR start "rule__RosettaDocReference__StructuredProvisionAssignment_5_1"
    // InternalRosetta.g:36296:1: rule__RosettaDocReference__StructuredProvisionAssignment_5_1 : ( RULE_STRING ) ;
    public final void rule__RosettaDocReference__StructuredProvisionAssignment_5_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36300:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:36301:2: ( RULE_STRING )
            {
            // InternalRosetta.g:36301:2: ( RULE_STRING )
            // InternalRosetta.g:36302:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getStructuredProvisionSTRINGTerminalRuleCall_5_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getStructuredProvisionSTRINGTerminalRuleCall_5_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__StructuredProvisionAssignment_5_1"
    // $ANTLR start "rule__RosettaDocReference__ProvisionAssignment_6_1"
    // InternalRosetta.g:36311:1: rule__RosettaDocReference__ProvisionAssignment_6_1 : ( RULE_STRING ) ;
    public final void rule__RosettaDocReference__ProvisionAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36315:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:36316:2: ( RULE_STRING )
            {
            // InternalRosetta.g:36316:2: ( RULE_STRING )
            // InternalRosetta.g:36317:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getProvisionSTRINGTerminalRuleCall_6_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getProvisionSTRINGTerminalRuleCall_6_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__ProvisionAssignment_6_1"
    // $ANTLR start "rule__RosettaDocReference__ReportedFieldAssignment_7"
    // InternalRosetta.g:36326:1: rule__RosettaDocReference__ReportedFieldAssignment_7 : ( ( 'reportedField' ) ) ;
    public final void rule__RosettaDocReference__ReportedFieldAssignment_7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36330:1: ( ( ( 'reportedField' ) ) )
            // InternalRosetta.g:36331:2: ( ( 'reportedField' ) )
            {
            // InternalRosetta.g:36331:2: ( ( 'reportedField' ) )
            // InternalRosetta.g:36332:3: ( 'reportedField' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getReportedFieldReportedFieldKeyword_7_0()); }
            // InternalRosetta.g:36333:3: ( 'reportedField' )
            // InternalRosetta.g:36334:4: 'reportedField'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaDocReferenceAccess().getReportedFieldReportedFieldKeyword_7_0()); }
            match(input,135,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getReportedFieldReportedFieldKeyword_7_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaDocReferenceAccess().getReportedFieldReportedFieldKeyword_7_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaDocReference__ReportedFieldAssignment_7"
    // $ANTLR start "rule__DocumentRationale__RationaleAssignment_0_1"
    // InternalRosetta.g:36345:1: rule__DocumentRationale__RationaleAssignment_0_1 : ( RULE_STRING ) ;
    public final void rule__DocumentRationale__RationaleAssignment_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36349:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:36350:2: ( RULE_STRING )
            {
            // InternalRosetta.g:36350:2: ( RULE_STRING )
            // InternalRosetta.g:36351:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationaleSTRINGTerminalRuleCall_0_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationaleSTRINGTerminalRuleCall_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__RationaleAssignment_0_1"
    // $ANTLR start "rule__DocumentRationale__RationaleAuthorAssignment_0_2_1"
    // InternalRosetta.g:36360:1: rule__DocumentRationale__RationaleAuthorAssignment_0_2_1 : ( RULE_STRING ) ;
    public final void rule__DocumentRationale__RationaleAuthorAssignment_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36364:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:36365:2: ( RULE_STRING )
            {
            // InternalRosetta.g:36365:2: ( RULE_STRING )
            // InternalRosetta.g:36366:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationaleAuthorSTRINGTerminalRuleCall_0_2_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationaleAuthorSTRINGTerminalRuleCall_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__RationaleAuthorAssignment_0_2_1"
    // $ANTLR start "rule__DocumentRationale__RationaleAuthorAssignment_1_1"
    // InternalRosetta.g:36375:1: rule__DocumentRationale__RationaleAuthorAssignment_1_1 : ( RULE_STRING ) ;
    public final void rule__DocumentRationale__RationaleAuthorAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36379:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:36380:2: ( RULE_STRING )
            {
            // InternalRosetta.g:36380:2: ( RULE_STRING )
            // InternalRosetta.g:36381:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationaleAuthorSTRINGTerminalRuleCall_1_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationaleAuthorSTRINGTerminalRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__RationaleAuthorAssignment_1_1"
    // $ANTLR start "rule__DocumentRationale__RationaleAssignment_1_2_1"
    // InternalRosetta.g:36390:1: rule__DocumentRationale__RationaleAssignment_1_2_1 : ( RULE_STRING ) ;
    public final void rule__DocumentRationale__RationaleAssignment_1_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36394:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:36395:2: ( RULE_STRING )
            {
            // InternalRosetta.g:36395:2: ( RULE_STRING )
            // InternalRosetta.g:36396:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getDocumentRationaleAccess().getRationaleSTRINGTerminalRuleCall_1_2_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getDocumentRationaleAccess().getRationaleSTRINGTerminalRuleCall_1_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__DocumentRationale__RationaleAssignment_1_2_1"
    // $ANTLR start "rule__RosettaBody__BodyTypeAssignment_1"
    // InternalRosetta.g:36405:1: rule__RosettaBody__BodyTypeAssignment_1 : ( RULE_ID ) ;
    public final void rule__RosettaBody__BodyTypeAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36409:1: ( ( RULE_ID ) )
            // InternalRosetta.g:36410:2: ( RULE_ID )
            {
            // InternalRosetta.g:36410:2: ( RULE_ID )
            // InternalRosetta.g:36411:3: RULE_ID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBodyAccess().getBodyTypeIDTerminalRuleCall_1_0()); }
            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBodyAccess().getBodyTypeIDTerminalRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBody__BodyTypeAssignment_1"
    // $ANTLR start "rule__RosettaCorpus__CorpusTypeAssignment_1"
    // InternalRosetta.g:36420:1: rule__RosettaCorpus__CorpusTypeAssignment_1 : ( RULE_ID ) ;
    public final void rule__RosettaCorpus__CorpusTypeAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36424:1: ( ( RULE_ID ) )
            // InternalRosetta.g:36425:2: ( RULE_ID )
            {
            // InternalRosetta.g:36425:2: ( RULE_ID )
            // InternalRosetta.g:36426:3: RULE_ID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusAccess().getCorpusTypeIDTerminalRuleCall_1_0()); }
            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusAccess().getCorpusTypeIDTerminalRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__CorpusTypeAssignment_1"
    // $ANTLR start "rule__RosettaCorpus__BodyAssignment_2"
    // InternalRosetta.g:36435:1: rule__RosettaCorpus__BodyAssignment_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaCorpus__BodyAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36439:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:36440:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:36440:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:36441:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusAccess().getBodyRosettaBodyCrossReference_2_0()); }
            // InternalRosetta.g:36442:3: ( ruleQualifiedName )
            // InternalRosetta.g:36443:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusAccess().getBodyRosettaBodyQualifiedNameParserRuleCall_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusAccess().getBodyRosettaBodyQualifiedNameParserRuleCall_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusAccess().getBodyRosettaBodyCrossReference_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__BodyAssignment_2"
    // $ANTLR start "rule__RosettaCorpus__DisplayNameAssignment_3"
    // InternalRosetta.g:36454:1: rule__RosettaCorpus__DisplayNameAssignment_3 : ( RULE_STRING ) ;
    public final void rule__RosettaCorpus__DisplayNameAssignment_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36458:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:36459:2: ( RULE_STRING )
            {
            // InternalRosetta.g:36459:2: ( RULE_STRING )
            // InternalRosetta.g:36460:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCorpusAccess().getDisplayNameSTRINGTerminalRuleCall_3_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCorpusAccess().getDisplayNameSTRINGTerminalRuleCall_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCorpus__DisplayNameAssignment_3"
    // $ANTLR start "rule__RosettaSegment__NameAssignment_1"
    // InternalRosetta.g:36469:1: rule__RosettaSegment__NameAssignment_1 : ( ( rule__RosettaSegment__NameAlternatives_1_0 ) ) ;
    public final void rule__RosettaSegment__NameAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36473:1: ( ( ( rule__RosettaSegment__NameAlternatives_1_0 ) ) )
            // InternalRosetta.g:36474:2: ( ( rule__RosettaSegment__NameAlternatives_1_0 ) )
            {
            // InternalRosetta.g:36474:2: ( ( rule__RosettaSegment__NameAlternatives_1_0 ) )
            // InternalRosetta.g:36475:3: ( rule__RosettaSegment__NameAlternatives_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentAccess().getNameAlternatives_1_0()); }
            // InternalRosetta.g:36476:3: ( rule__RosettaSegment__NameAlternatives_1_0 )
            // InternalRosetta.g:36476:4: rule__RosettaSegment__NameAlternatives_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaSegment__NameAlternatives_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentAccess().getNameAlternatives_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegment__NameAssignment_1"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1"
    // InternalRosetta.g:36484:1: rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36488:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:36489:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:36489:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:36490:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getSymbolRosettaSymbolCrossReference_0_1_0()); }
            // InternalRosetta.g:36491:3: ( ruleQualifiedName )
            // InternalRosetta.g:36492:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getSymbolRosettaSymbolQualifiedNameParserRuleCall_0_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getSymbolRosettaSymbolQualifiedNameParserRuleCall_0_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getSymbolRosettaSymbolCrossReference_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__SymbolAssignment_0_1"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0"
    // InternalRosetta.g:36503:1: rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0 : ( ( '(' ) ) ;
    public final void rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36507:1: ( ( ( '(' ) ) )
            // InternalRosetta.g:36508:2: ( ( '(' ) )
            {
            // InternalRosetta.g:36508:2: ( ( '(' ) )
            // InternalRosetta.g:36509:3: ( '(' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getExplicitArgumentsLeftParenthesisKeyword_0_2_0_0()); }
            // InternalRosetta.g:36510:3: ( '(' )
            // InternalRosetta.g:36511:4: '('
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getExplicitArgumentsLeftParenthesisKeyword_0_2_0_0()); }
            match(input,73,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getExplicitArgumentsLeftParenthesisKeyword_0_2_0_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getExplicitArgumentsLeftParenthesisKeyword_0_2_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__ExplicitArgumentsAssignment_0_2_0"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0"
    // InternalRosetta.g:36522:1: rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0 : ( ruleRosettaCalcExpression ) ;
    public final void rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36526:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:36527:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:36527:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:36528:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRawArgsRosettaCalcExpressionParserRuleCall_0_2_1_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRawArgsRosettaCalcExpressionParserRuleCall_0_2_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_0"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1"
    // InternalRosetta.g:36537:1: rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1 : ( ruleRosettaCalcExpression ) ;
    public final void rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36541:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:36542:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:36542:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:36543:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRawArgsRosettaCalcExpressionParserRuleCall_0_2_1_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getRawArgsRosettaCalcExpressionParserRuleCall_0_2_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__RawArgsAssignment_0_2_1_1_1"
    // $ANTLR start "rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1"
    // InternalRosetta.g:36552:1: rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1 : ( ( rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0 ) ) ;
    public final void rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36556:1: ( ( ( rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0 ) ) )
            // InternalRosetta.g:36557:2: ( ( rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0 ) )
            {
            // InternalRosetta.g:36557:2: ( ( rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0 ) )
            // InternalRosetta.g:36558:3: ( rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getNameAlternatives_1_1_0()); }
            // InternalRosetta.g:36559:3: ( rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0 )
            // InternalRosetta.g:36559:4: rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaReferenceOrFunctionCall__NameAlternatives_1_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReferenceOrFunctionCallAccess().getNameAlternatives_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReferenceOrFunctionCall__NameAssignment_1_1"
    // $ANTLR start "rule__RosettaBooleanLiteral__ValueAssignment_0"
    // InternalRosetta.g:36567:1: rule__RosettaBooleanLiteral__ValueAssignment_0 : ( ( 'True' ) ) ;
    public final void rule__RosettaBooleanLiteral__ValueAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36571:1: ( ( ( 'True' ) ) )
            // InternalRosetta.g:36572:2: ( ( 'True' ) )
            {
            // InternalRosetta.g:36572:2: ( ( 'True' ) )
            // InternalRosetta.g:36573:3: ( 'True' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBooleanLiteralAccess().getValueTrueKeyword_0_0()); }
            // InternalRosetta.g:36574:3: ( 'True' )
            // InternalRosetta.g:36575:4: 'True'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaBooleanLiteralAccess().getValueTrueKeyword_0_0()); }
            match(input,136,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBooleanLiteralAccess().getValueTrueKeyword_0_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaBooleanLiteralAccess().getValueTrueKeyword_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaBooleanLiteral__ValueAssignment_0"
    // $ANTLR start "rule__RosettaStringLiteral__ValueAssignment"
    // InternalRosetta.g:36586:1: rule__RosettaStringLiteral__ValueAssignment : ( RULE_STRING ) ;
    public final void rule__RosettaStringLiteral__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36590:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:36591:2: ( RULE_STRING )
            {
            // InternalRosetta.g:36591:2: ( RULE_STRING )
            // InternalRosetta.g:36592:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaStringLiteral__ValueAssignment"
    // $ANTLR start "rule__RosettaNumberLiteral__ValueAssignment"
    // InternalRosetta.g:36601:1: rule__RosettaNumberLiteral__ValueAssignment : ( ruleBigDecimal ) ;
    public final void rule__RosettaNumberLiteral__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36605:1: ( ( ruleBigDecimal ) )
            // InternalRosetta.g:36606:2: ( ruleBigDecimal )
            {
            // InternalRosetta.g:36606:2: ( ruleBigDecimal )
            // InternalRosetta.g:36607:3: ruleBigDecimal
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaNumberLiteralAccess().getValueBigDecimalParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleBigDecimal(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaNumberLiteralAccess().getValueBigDecimalParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaNumberLiteral__ValueAssignment"
    // $ANTLR start "rule__RosettaIntLiteral__ValueAssignment"
    // InternalRosetta.g:36616:1: rule__RosettaIntLiteral__ValueAssignment : ( ruleInteger ) ;
    public final void rule__RosettaIntLiteral__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36620:1: ( ( ruleInteger ) )
            // InternalRosetta.g:36621:2: ( ruleInteger )
            {
            // InternalRosetta.g:36621:2: ( ruleInteger )
            // InternalRosetta.g:36622:3: ruleInteger
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaIntLiteralAccess().getValueIntegerParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleInteger(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaIntLiteralAccess().getValueIntegerParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaIntLiteral__ValueAssignment"
    // $ANTLR start "rule__RosettaQualifiableConfiguration__QTypeAssignment_0"
    // InternalRosetta.g:36631:1: rule__RosettaQualifiableConfiguration__QTypeAssignment_0 : ( ruleRosettaQualifiableType ) ;
    public final void rule__RosettaQualifiableConfiguration__QTypeAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36635:1: ( ( ruleRosettaQualifiableType ) )
            // InternalRosetta.g:36636:2: ( ruleRosettaQualifiableType )
            {
            // InternalRosetta.g:36636:2: ( ruleRosettaQualifiableType )
            // InternalRosetta.g:36637:3: ruleRosettaQualifiableType
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiableConfigurationAccess().getQTypeRosettaQualifiableTypeEnumRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaQualifiableType(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiableConfigurationAccess().getQTypeRosettaQualifiableTypeEnumRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiableConfiguration__QTypeAssignment_0"
    // $ANTLR start "rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2"
    // InternalRosetta.g:36646:1: rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36650:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:36651:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:36651:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:36652:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiableConfigurationAccess().getRosettaClassDataCrossReference_2_0()); }
            // InternalRosetta.g:36653:3: ( ruleQualifiedName )
            // InternalRosetta.g:36654:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaQualifiableConfigurationAccess().getRosettaClassDataQualifiedNameParserRuleCall_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiableConfigurationAccess().getRosettaClassDataQualifiedNameParserRuleCall_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaQualifiableConfigurationAccess().getRosettaClassDataCrossReference_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaQualifiableConfiguration__RosettaClassAssignment_2"
    // $ANTLR start "rule__ClosureParameter__NameAssignment"
    // InternalRosetta.g:36665:1: rule__ClosureParameter__NameAssignment : ( RULE_ID ) ;
    public final void rule__ClosureParameter__NameAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36669:1: ( ( RULE_ID ) )
            // InternalRosetta.g:36670:2: ( RULE_ID )
            {
            // InternalRosetta.g:36670:2: ( RULE_ID )
            // InternalRosetta.g:36671:3: RULE_ID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getClosureParameterAccess().getNameIDTerminalRuleCall_0()); }
            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getClosureParameterAccess().getNameIDTerminalRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ClosureParameter__NameAssignment"
    // $ANTLR start "rule__InlineFunction__ParametersAssignment_0_0_0_0"
    // InternalRosetta.g:36680:1: rule__InlineFunction__ParametersAssignment_0_0_0_0 : ( ruleClosureParameter ) ;
    public final void rule__InlineFunction__ParametersAssignment_0_0_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36684:1: ( ( ruleClosureParameter ) )
            // InternalRosetta.g:36685:2: ( ruleClosureParameter )
            {
            // InternalRosetta.g:36685:2: ( ruleClosureParameter )
            // InternalRosetta.g:36686:3: ruleClosureParameter
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getParametersClosureParameterParserRuleCall_0_0_0_0_0()); }
            pushFollow(FOLLOW_2);
            ruleClosureParameter(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getParametersClosureParameterParserRuleCall_0_0_0_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__ParametersAssignment_0_0_0_0"
    // $ANTLR start "rule__InlineFunction__ParametersAssignment_0_0_0_1_1"
    // InternalRosetta.g:36695:1: rule__InlineFunction__ParametersAssignment_0_0_0_1_1 : ( ruleClosureParameter ) ;
    public final void rule__InlineFunction__ParametersAssignment_0_0_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36699:1: ( ( ruleClosureParameter ) )
            // InternalRosetta.g:36700:2: ( ruleClosureParameter )
            {
            // InternalRosetta.g:36700:2: ( ruleClosureParameter )
            // InternalRosetta.g:36701:3: ruleClosureParameter
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getParametersClosureParameterParserRuleCall_0_0_0_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleClosureParameter(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getParametersClosureParameterParserRuleCall_0_0_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__ParametersAssignment_0_0_0_1_1"
    // $ANTLR start "rule__InlineFunction__BodyAssignment_1"
    // InternalRosetta.g:36710:1: rule__InlineFunction__BodyAssignment_1 : ( ruleRosettaCalcExpression ) ;
    public final void rule__InlineFunction__BodyAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36714:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:36715:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:36715:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:36716:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getInlineFunctionAccess().getBodyRosettaCalcExpressionParserRuleCall_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getInlineFunctionAccess().getBodyRosettaCalcExpressionParserRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__InlineFunction__BodyAssignment_1"
    // $ANTLR start "rule__ImplicitInlineFunction__BodyAssignment"
    // InternalRosetta.g:36725:1: rule__ImplicitInlineFunction__BodyAssignment : ( ruleRosettaCalcOr ) ;
    public final void rule__ImplicitInlineFunction__BodyAssignment() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36729:1: ( ( ruleRosettaCalcOr ) )
            // InternalRosetta.g:36730:2: ( ruleRosettaCalcOr )
            {
            // InternalRosetta.g:36730:2: ( ruleRosettaCalcOr )
            // InternalRosetta.g:36731:3: ruleRosettaCalcOr
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getImplicitInlineFunctionAccess().getBodyRosettaCalcOrParserRuleCall_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcOr(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getImplicitInlineFunctionAccess().getBodyRosettaCalcOrParserRuleCall_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ImplicitInlineFunction__BodyAssignment"
    // $ANTLR start "rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1"
    // InternalRosetta.g:36740:1: rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1 : ( ( 'as-key' ) ) ;
    public final void rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36744:1: ( ( ( 'as-key' ) ) )
            // InternalRosetta.g:36745:2: ( ( 'as-key' ) )
            {
            // InternalRosetta.g:36745:2: ( ( 'as-key' ) )
            // InternalRosetta.g:36746:3: ( 'as-key' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getOperatorAsKeyKeyword_1_0_1_0()); }
            // InternalRosetta.g:36747:3: ( 'as-key' )
            // InternalRosetta.g:36748:4: 'as-key'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getOperatorAsKeyKeyword_1_0_1_0()); }
            match(input,137,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getOperatorAsKeyKeyword_1_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcExpressionWithAsKeyAccess().getOperatorAsKeyKeyword_1_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcExpressionWithAsKey__OperatorAssignment_1_0_1"
    // $ANTLR start "rule__ThenOperation__OperatorAssignment_1_0_0_1"
    // InternalRosetta.g:36759:1: rule__ThenOperation__OperatorAssignment_1_0_0_1 : ( ( 'then' ) ) ;
    public final void rule__ThenOperation__OperatorAssignment_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36763:1: ( ( ( 'then' ) ) )
            // InternalRosetta.g:36764:2: ( ( 'then' ) )
            {
            // InternalRosetta.g:36764:2: ( ( 'then' ) )
            // InternalRosetta.g:36765:3: ( 'then' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getOperatorThenKeyword_1_0_0_1_0()); }
            // InternalRosetta.g:36766:3: ( 'then' )
            // InternalRosetta.g:36767:4: 'then'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getOperatorThenKeyword_1_0_0_1_0()); }
            match(input,117,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getOperatorThenKeyword_1_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getOperatorThenKeyword_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__OperatorAssignment_1_0_0_1"
    // $ANTLR start "rule__ThenOperation__FunctionAssignment_1_1_0"
    // InternalRosetta.g:36778:1: rule__ThenOperation__FunctionAssignment_1_1_0 : ( ruleInlineFunction ) ;
    public final void rule__ThenOperation__FunctionAssignment_1_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36782:1: ( ( ruleInlineFunction ) )
            // InternalRosetta.g:36783:2: ( ruleInlineFunction )
            {
            // InternalRosetta.g:36783:2: ( ruleInlineFunction )
            // InternalRosetta.g:36784:3: ruleInlineFunction
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getFunctionInlineFunctionParserRuleCall_1_1_0_0()); }
            pushFollow(FOLLOW_2);
            ruleInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getFunctionInlineFunctionParserRuleCall_1_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__FunctionAssignment_1_1_0"
    // $ANTLR start "rule__ThenOperation__FunctionAssignment_1_1_1"
    // InternalRosetta.g:36793:1: rule__ThenOperation__FunctionAssignment_1_1_1 : ( ruleImplicitInlineFunction ) ;
    public final void rule__ThenOperation__FunctionAssignment_1_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36797:1: ( ( ruleImplicitInlineFunction ) )
            // InternalRosetta.g:36798:2: ( ruleImplicitInlineFunction )
            {
            // InternalRosetta.g:36798:2: ( ruleImplicitInlineFunction )
            // InternalRosetta.g:36799:3: ruleImplicitInlineFunction
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getThenOperationAccess().getFunctionImplicitInlineFunctionParserRuleCall_1_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleImplicitInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getThenOperationAccess().getFunctionImplicitInlineFunctionParserRuleCall_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ThenOperation__FunctionAssignment_1_1_1"
    // $ANTLR start "rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1"
    // InternalRosetta.g:36808:1: rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1 : ( ( 'or' ) ) ;
    public final void rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36812:1: ( ( ( 'or' ) ) )
            // InternalRosetta.g:36813:2: ( ( 'or' ) )
            {
            // InternalRosetta.g:36813:2: ( ( 'or' ) )
            // InternalRosetta.g:36814:3: ( 'or' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_0_1_0_0_1_0()); }
            // InternalRosetta.g:36815:3: ( 'or' )
            // InternalRosetta.g:36816:4: 'or'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_0_1_0_0_1_0()); }
            match(input,138,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_0_1_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_0_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__OperatorAssignment_0_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcOr__RightAssignment_0_1_1"
    // InternalRosetta.g:36827:1: rule__RosettaCalcOr__RightAssignment_0_1_1 : ( ruleRosettaCalcAnd ) ;
    public final void rule__RosettaCalcOr__RightAssignment_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36831:1: ( ( ruleRosettaCalcAnd ) )
            // InternalRosetta.g:36832:2: ( ruleRosettaCalcAnd )
            {
            // InternalRosetta.g:36832:2: ( ruleRosettaCalcAnd )
            // InternalRosetta.g:36833:3: ruleRosettaCalcAnd
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getRightRosettaCalcAndParserRuleCall_0_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcAnd(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getRightRosettaCalcAndParserRuleCall_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__RightAssignment_0_1_1"
    // $ANTLR start "rule__RosettaCalcOr__OperatorAssignment_1_0_1"
    // InternalRosetta.g:36842:1: rule__RosettaCalcOr__OperatorAssignment_1_0_1 : ( ( 'or' ) ) ;
    public final void rule__RosettaCalcOr__OperatorAssignment_1_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36846:1: ( ( ( 'or' ) ) )
            // InternalRosetta.g:36847:2: ( ( 'or' ) )
            {
            // InternalRosetta.g:36847:2: ( ( 'or' ) )
            // InternalRosetta.g:36848:3: ( 'or' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_1_0_1_0()); }
            // InternalRosetta.g:36849:3: ( 'or' )
            // InternalRosetta.g:36850:4: 'or'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_1_0_1_0()); }
            match(input,138,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_1_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_1_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__OperatorAssignment_1_0_1"
    // $ANTLR start "rule__RosettaCalcOr__RightAssignment_1_0_2"
    // InternalRosetta.g:36861:1: rule__RosettaCalcOr__RightAssignment_1_0_2 : ( ruleRosettaCalcAnd ) ;
    public final void rule__RosettaCalcOr__RightAssignment_1_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36865:1: ( ( ruleRosettaCalcAnd ) )
            // InternalRosetta.g:36866:2: ( ruleRosettaCalcAnd )
            {
            // InternalRosetta.g:36866:2: ( ruleRosettaCalcAnd )
            // InternalRosetta.g:36867:3: ruleRosettaCalcAnd
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getRightRosettaCalcAndParserRuleCall_1_0_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcAnd(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getRightRosettaCalcAndParserRuleCall_1_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__RightAssignment_1_0_2"
    // $ANTLR start "rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1"
    // InternalRosetta.g:36876:1: rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1 : ( ( 'or' ) ) ;
    public final void rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36880:1: ( ( ( 'or' ) ) )
            // InternalRosetta.g:36881:2: ( ( 'or' ) )
            {
            // InternalRosetta.g:36881:2: ( ( 'or' ) )
            // InternalRosetta.g:36882:3: ( 'or' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_1_1_0_0_1_0()); }
            // InternalRosetta.g:36883:3: ( 'or' )
            // InternalRosetta.g:36884:4: 'or'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_1_1_0_0_1_0()); }
            match(input,138,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_1_1_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getOperatorOrKeyword_1_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__OperatorAssignment_1_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcOr__RightAssignment_1_1_1"
    // InternalRosetta.g:36895:1: rule__RosettaCalcOr__RightAssignment_1_1_1 : ( ruleRosettaCalcAnd ) ;
    public final void rule__RosettaCalcOr__RightAssignment_1_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36899:1: ( ( ruleRosettaCalcAnd ) )
            // InternalRosetta.g:36900:2: ( ruleRosettaCalcAnd )
            {
            // InternalRosetta.g:36900:2: ( ruleRosettaCalcAnd )
            // InternalRosetta.g:36901:3: ruleRosettaCalcAnd
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOrAccess().getRightRosettaCalcAndParserRuleCall_1_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcAnd(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOrAccess().getRightRosettaCalcAndParserRuleCall_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOr__RightAssignment_1_1_1"
    // $ANTLR start "rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1"
    // InternalRosetta.g:36910:1: rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1 : ( ( 'and' ) ) ;
    public final void rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36914:1: ( ( ( 'and' ) ) )
            // InternalRosetta.g:36915:2: ( ( 'and' ) )
            {
            // InternalRosetta.g:36915:2: ( ( 'and' ) )
            // InternalRosetta.g:36916:3: ( 'and' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_0_1_0_0_1_0()); }
            // InternalRosetta.g:36917:3: ( 'and' )
            // InternalRosetta.g:36918:4: 'and'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_0_1_0_0_1_0()); }
            match(input,103,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_0_1_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_0_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__OperatorAssignment_0_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcAnd__RightAssignment_0_1_1"
    // InternalRosetta.g:36929:1: rule__RosettaCalcAnd__RightAssignment_0_1_1 : ( ruleRosettaCalcEquality ) ;
    public final void rule__RosettaCalcAnd__RightAssignment_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36933:1: ( ( ruleRosettaCalcEquality ) )
            // InternalRosetta.g:36934:2: ( ruleRosettaCalcEquality )
            {
            // InternalRosetta.g:36934:2: ( ruleRosettaCalcEquality )
            // InternalRosetta.g:36935:3: ruleRosettaCalcEquality
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getRightRosettaCalcEqualityParserRuleCall_0_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcEquality(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getRightRosettaCalcEqualityParserRuleCall_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__RightAssignment_0_1_1"
    // $ANTLR start "rule__RosettaCalcAnd__OperatorAssignment_1_0_1"
    // InternalRosetta.g:36944:1: rule__RosettaCalcAnd__OperatorAssignment_1_0_1 : ( ( 'and' ) ) ;
    public final void rule__RosettaCalcAnd__OperatorAssignment_1_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36948:1: ( ( ( 'and' ) ) )
            // InternalRosetta.g:36949:2: ( ( 'and' ) )
            {
            // InternalRosetta.g:36949:2: ( ( 'and' ) )
            // InternalRosetta.g:36950:3: ( 'and' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_1_0_1_0()); }
            // InternalRosetta.g:36951:3: ( 'and' )
            // InternalRosetta.g:36952:4: 'and'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_1_0_1_0()); }
            match(input,103,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_1_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_1_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__OperatorAssignment_1_0_1"
    // $ANTLR start "rule__RosettaCalcAnd__RightAssignment_1_0_2"
    // InternalRosetta.g:36963:1: rule__RosettaCalcAnd__RightAssignment_1_0_2 : ( ruleRosettaCalcEquality ) ;
    public final void rule__RosettaCalcAnd__RightAssignment_1_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36967:1: ( ( ruleRosettaCalcEquality ) )
            // InternalRosetta.g:36968:2: ( ruleRosettaCalcEquality )
            {
            // InternalRosetta.g:36968:2: ( ruleRosettaCalcEquality )
            // InternalRosetta.g:36969:3: ruleRosettaCalcEquality
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getRightRosettaCalcEqualityParserRuleCall_1_0_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcEquality(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getRightRosettaCalcEqualityParserRuleCall_1_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__RightAssignment_1_0_2"
    // $ANTLR start "rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1"
    // InternalRosetta.g:36978:1: rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1 : ( ( 'and' ) ) ;
    public final void rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:36982:1: ( ( ( 'and' ) ) )
            // InternalRosetta.g:36983:2: ( ( 'and' ) )
            {
            // InternalRosetta.g:36983:2: ( ( 'and' ) )
            // InternalRosetta.g:36984:3: ( 'and' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_1_1_0_0_1_0()); }
            // InternalRosetta.g:36985:3: ( 'and' )
            // InternalRosetta.g:36986:4: 'and'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_1_1_0_0_1_0()); }
            match(input,103,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_1_1_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getOperatorAndKeyword_1_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__OperatorAssignment_1_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcAnd__RightAssignment_1_1_1"
    // InternalRosetta.g:36997:1: rule__RosettaCalcAnd__RightAssignment_1_1_1 : ( ruleRosettaCalcEquality ) ;
    public final void rule__RosettaCalcAnd__RightAssignment_1_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37001:1: ( ( ruleRosettaCalcEquality ) )
            // InternalRosetta.g:37002:2: ( ruleRosettaCalcEquality )
            {
            // InternalRosetta.g:37002:2: ( ruleRosettaCalcEquality )
            // InternalRosetta.g:37003:3: ruleRosettaCalcEquality
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAndAccess().getRightRosettaCalcEqualityParserRuleCall_1_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcEquality(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAndAccess().getRightRosettaCalcEqualityParserRuleCall_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAnd__RightAssignment_1_1_1"
    // $ANTLR start "rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1"
    // InternalRosetta.g:37012:1: rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1 : ( ruleCardinalityModifier ) ;
    public final void rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37016:1: ( ( ruleCardinalityModifier ) )
            // InternalRosetta.g:37017:2: ( ruleCardinalityModifier )
            {
            // InternalRosetta.g:37017:2: ( ruleCardinalityModifier )
            // InternalRosetta.g:37018:3: ruleCardinalityModifier
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getCardModCardinalityModifierEnumRuleCall_0_1_0_0_1_0()); }
            pushFollow(FOLLOW_2);
            ruleCardinalityModifier(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getCardModCardinalityModifierEnumRuleCall_0_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__CardModAssignment_0_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2"
    // InternalRosetta.g:37027:1: rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2 : ( ( rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0 ) ) ;
    public final void rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37031:1: ( ( ( rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0 ) ) )
            // InternalRosetta.g:37032:2: ( ( rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0 ) )
            {
            // InternalRosetta.g:37032:2: ( ( rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0 ) )
            // InternalRosetta.g:37033:3: ( rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAlternatives_0_1_0_0_2_0()); }
            // InternalRosetta.g:37034:3: ( rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0 )
            // InternalRosetta.g:37034:4: rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__OperatorAlternatives_0_1_0_0_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAlternatives_0_1_0_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__OperatorAssignment_0_1_0_0_2"
    // $ANTLR start "rule__RosettaCalcEquality__RightAssignment_0_1_1"
    // InternalRosetta.g:37042:1: rule__RosettaCalcEquality__RightAssignment_0_1_1 : ( ruleRosettaCalcComparison ) ;
    public final void rule__RosettaCalcEquality__RightAssignment_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37046:1: ( ( ruleRosettaCalcComparison ) )
            // InternalRosetta.g:37047:2: ( ruleRosettaCalcComparison )
            {
            // InternalRosetta.g:37047:2: ( ruleRosettaCalcComparison )
            // InternalRosetta.g:37048:3: ruleRosettaCalcComparison
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getRightRosettaCalcComparisonParserRuleCall_0_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcComparison(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getRightRosettaCalcComparisonParserRuleCall_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__RightAssignment_0_1_1"
    // $ANTLR start "rule__RosettaCalcEquality__CardModAssignment_1_0_1"
    // InternalRosetta.g:37057:1: rule__RosettaCalcEquality__CardModAssignment_1_0_1 : ( ruleCardinalityModifier ) ;
    public final void rule__RosettaCalcEquality__CardModAssignment_1_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37061:1: ( ( ruleCardinalityModifier ) )
            // InternalRosetta.g:37062:2: ( ruleCardinalityModifier )
            {
            // InternalRosetta.g:37062:2: ( ruleCardinalityModifier )
            // InternalRosetta.g:37063:3: ruleCardinalityModifier
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getCardModCardinalityModifierEnumRuleCall_1_0_1_0()); }
            pushFollow(FOLLOW_2);
            ruleCardinalityModifier(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getCardModCardinalityModifierEnumRuleCall_1_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__CardModAssignment_1_0_1"
    // $ANTLR start "rule__RosettaCalcEquality__OperatorAssignment_1_0_2"
    // InternalRosetta.g:37072:1: rule__RosettaCalcEquality__OperatorAssignment_1_0_2 : ( ( rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0 ) ) ;
    public final void rule__RosettaCalcEquality__OperatorAssignment_1_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37076:1: ( ( ( rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0 ) ) )
            // InternalRosetta.g:37077:2: ( ( rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0 ) )
            {
            // InternalRosetta.g:37077:2: ( ( rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0 ) )
            // InternalRosetta.g:37078:3: ( rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAlternatives_1_0_2_0()); }
            // InternalRosetta.g:37079:3: ( rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0 )
            // InternalRosetta.g:37079:4: rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__OperatorAlternatives_1_0_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAlternatives_1_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__OperatorAssignment_1_0_2"
    // $ANTLR start "rule__RosettaCalcEquality__RightAssignment_1_0_3"
    // InternalRosetta.g:37087:1: rule__RosettaCalcEquality__RightAssignment_1_0_3 : ( ruleRosettaCalcComparison ) ;
    public final void rule__RosettaCalcEquality__RightAssignment_1_0_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37091:1: ( ( ruleRosettaCalcComparison ) )
            // InternalRosetta.g:37092:2: ( ruleRosettaCalcComparison )
            {
            // InternalRosetta.g:37092:2: ( ruleRosettaCalcComparison )
            // InternalRosetta.g:37093:3: ruleRosettaCalcComparison
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getRightRosettaCalcComparisonParserRuleCall_1_0_3_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcComparison(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getRightRosettaCalcComparisonParserRuleCall_1_0_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__RightAssignment_1_0_3"
    // $ANTLR start "rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1"
    // InternalRosetta.g:37102:1: rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1 : ( ruleCardinalityModifier ) ;
    public final void rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37106:1: ( ( ruleCardinalityModifier ) )
            // InternalRosetta.g:37107:2: ( ruleCardinalityModifier )
            {
            // InternalRosetta.g:37107:2: ( ruleCardinalityModifier )
            // InternalRosetta.g:37108:3: ruleCardinalityModifier
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getCardModCardinalityModifierEnumRuleCall_1_1_0_0_1_0()); }
            pushFollow(FOLLOW_2);
            ruleCardinalityModifier(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getCardModCardinalityModifierEnumRuleCall_1_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__CardModAssignment_1_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2"
    // InternalRosetta.g:37117:1: rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2 : ( ( rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0 ) ) ;
    public final void rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37121:1: ( ( ( rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0 ) ) )
            // InternalRosetta.g:37122:2: ( ( rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0 ) )
            {
            // InternalRosetta.g:37122:2: ( ( rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0 ) )
            // InternalRosetta.g:37123:3: ( rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAlternatives_1_1_0_0_2_0()); }
            // InternalRosetta.g:37124:3: ( rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0 )
            // InternalRosetta.g:37124:4: rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcEquality__OperatorAlternatives_1_1_0_0_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getOperatorAlternatives_1_1_0_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__OperatorAssignment_1_1_0_0_2"
    // $ANTLR start "rule__RosettaCalcEquality__RightAssignment_1_1_1"
    // InternalRosetta.g:37132:1: rule__RosettaCalcEquality__RightAssignment_1_1_1 : ( ruleRosettaCalcComparison ) ;
    public final void rule__RosettaCalcEquality__RightAssignment_1_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37136:1: ( ( ruleRosettaCalcComparison ) )
            // InternalRosetta.g:37137:2: ( ruleRosettaCalcComparison )
            {
            // InternalRosetta.g:37137:2: ( ruleRosettaCalcComparison )
            // InternalRosetta.g:37138:3: ruleRosettaCalcComparison
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcEqualityAccess().getRightRosettaCalcComparisonParserRuleCall_1_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcComparison(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcEqualityAccess().getRightRosettaCalcComparisonParserRuleCall_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcEquality__RightAssignment_1_1_1"
    // $ANTLR start "rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1"
    // InternalRosetta.g:37147:1: rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1 : ( ruleCardinalityModifier ) ;
    public final void rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37151:1: ( ( ruleCardinalityModifier ) )
            // InternalRosetta.g:37152:2: ( ruleCardinalityModifier )
            {
            // InternalRosetta.g:37152:2: ( ruleCardinalityModifier )
            // InternalRosetta.g:37153:3: ruleCardinalityModifier
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getCardModCardinalityModifierEnumRuleCall_0_1_0_0_1_0()); }
            pushFollow(FOLLOW_2);
            ruleCardinalityModifier(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getCardModCardinalityModifierEnumRuleCall_0_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__CardModAssignment_0_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2"
    // InternalRosetta.g:37162:1: rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2 : ( ( rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0 ) ) ;
    public final void rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37166:1: ( ( ( rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0 ) ) )
            // InternalRosetta.g:37167:2: ( ( rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0 ) )
            {
            // InternalRosetta.g:37167:2: ( ( rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0 ) )
            // InternalRosetta.g:37168:3: ( rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAlternatives_0_1_0_0_2_0()); }
            // InternalRosetta.g:37169:3: ( rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0 )
            // InternalRosetta.g:37169:4: rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__OperatorAlternatives_0_1_0_0_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAlternatives_0_1_0_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__OperatorAssignment_0_1_0_0_2"
    // $ANTLR start "rule__RosettaCalcComparison__RightAssignment_0_1_1"
    // InternalRosetta.g:37177:1: rule__RosettaCalcComparison__RightAssignment_0_1_1 : ( ruleRosettaCalcAdditive ) ;
    public final void rule__RosettaCalcComparison__RightAssignment_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37181:1: ( ( ruleRosettaCalcAdditive ) )
            // InternalRosetta.g:37182:2: ( ruleRosettaCalcAdditive )
            {
            // InternalRosetta.g:37182:2: ( ruleRosettaCalcAdditive )
            // InternalRosetta.g:37183:3: ruleRosettaCalcAdditive
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getRightRosettaCalcAdditiveParserRuleCall_0_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcAdditive(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getRightRosettaCalcAdditiveParserRuleCall_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__RightAssignment_0_1_1"
    // $ANTLR start "rule__RosettaCalcComparison__CardModAssignment_1_0_1"
    // InternalRosetta.g:37192:1: rule__RosettaCalcComparison__CardModAssignment_1_0_1 : ( ruleCardinalityModifier ) ;
    public final void rule__RosettaCalcComparison__CardModAssignment_1_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37196:1: ( ( ruleCardinalityModifier ) )
            // InternalRosetta.g:37197:2: ( ruleCardinalityModifier )
            {
            // InternalRosetta.g:37197:2: ( ruleCardinalityModifier )
            // InternalRosetta.g:37198:3: ruleCardinalityModifier
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getCardModCardinalityModifierEnumRuleCall_1_0_1_0()); }
            pushFollow(FOLLOW_2);
            ruleCardinalityModifier(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getCardModCardinalityModifierEnumRuleCall_1_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__CardModAssignment_1_0_1"
    // $ANTLR start "rule__RosettaCalcComparison__OperatorAssignment_1_0_2"
    // InternalRosetta.g:37207:1: rule__RosettaCalcComparison__OperatorAssignment_1_0_2 : ( ( rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0 ) ) ;
    public final void rule__RosettaCalcComparison__OperatorAssignment_1_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37211:1: ( ( ( rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0 ) ) )
            // InternalRosetta.g:37212:2: ( ( rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0 ) )
            {
            // InternalRosetta.g:37212:2: ( ( rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0 ) )
            // InternalRosetta.g:37213:3: ( rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAlternatives_1_0_2_0()); }
            // InternalRosetta.g:37214:3: ( rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0 )
            // InternalRosetta.g:37214:4: rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__OperatorAlternatives_1_0_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAlternatives_1_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__OperatorAssignment_1_0_2"
    // $ANTLR start "rule__RosettaCalcComparison__RightAssignment_1_0_3"
    // InternalRosetta.g:37222:1: rule__RosettaCalcComparison__RightAssignment_1_0_3 : ( ruleRosettaCalcAdditive ) ;
    public final void rule__RosettaCalcComparison__RightAssignment_1_0_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37226:1: ( ( ruleRosettaCalcAdditive ) )
            // InternalRosetta.g:37227:2: ( ruleRosettaCalcAdditive )
            {
            // InternalRosetta.g:37227:2: ( ruleRosettaCalcAdditive )
            // InternalRosetta.g:37228:3: ruleRosettaCalcAdditive
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getRightRosettaCalcAdditiveParserRuleCall_1_0_3_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcAdditive(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getRightRosettaCalcAdditiveParserRuleCall_1_0_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__RightAssignment_1_0_3"
    // $ANTLR start "rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1"
    // InternalRosetta.g:37237:1: rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1 : ( ruleCardinalityModifier ) ;
    public final void rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37241:1: ( ( ruleCardinalityModifier ) )
            // InternalRosetta.g:37242:2: ( ruleCardinalityModifier )
            {
            // InternalRosetta.g:37242:2: ( ruleCardinalityModifier )
            // InternalRosetta.g:37243:3: ruleCardinalityModifier
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getCardModCardinalityModifierEnumRuleCall_1_1_0_0_1_0()); }
            pushFollow(FOLLOW_2);
            ruleCardinalityModifier(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getCardModCardinalityModifierEnumRuleCall_1_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__CardModAssignment_1_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2"
    // InternalRosetta.g:37252:1: rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2 : ( ( rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0 ) ) ;
    public final void rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37256:1: ( ( ( rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0 ) ) )
            // InternalRosetta.g:37257:2: ( ( rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0 ) )
            {
            // InternalRosetta.g:37257:2: ( ( rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0 ) )
            // InternalRosetta.g:37258:3: ( rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAlternatives_1_1_0_0_2_0()); }
            // InternalRosetta.g:37259:3: ( rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0 )
            // InternalRosetta.g:37259:4: rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcComparison__OperatorAlternatives_1_1_0_0_2_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getOperatorAlternatives_1_1_0_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__OperatorAssignment_1_1_0_0_2"
    // $ANTLR start "rule__RosettaCalcComparison__RightAssignment_1_1_1"
    // InternalRosetta.g:37267:1: rule__RosettaCalcComparison__RightAssignment_1_1_1 : ( ruleRosettaCalcAdditive ) ;
    public final void rule__RosettaCalcComparison__RightAssignment_1_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37271:1: ( ( ruleRosettaCalcAdditive ) )
            // InternalRosetta.g:37272:2: ( ruleRosettaCalcAdditive )
            {
            // InternalRosetta.g:37272:2: ( ruleRosettaCalcAdditive )
            // InternalRosetta.g:37273:3: ruleRosettaCalcAdditive
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcComparisonAccess().getRightRosettaCalcAdditiveParserRuleCall_1_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcAdditive(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcComparisonAccess().getRightRosettaCalcAdditiveParserRuleCall_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcComparison__RightAssignment_1_1_1"
    // $ANTLR start "rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1"
    // InternalRosetta.g:37282:1: rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1 : ( ( rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0 ) ) ;
    public final void rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37286:1: ( ( ( rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0 ) ) )
            // InternalRosetta.g:37287:2: ( ( rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0 ) )
            {
            // InternalRosetta.g:37287:2: ( ( rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0 ) )
            // InternalRosetta.g:37288:3: ( rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAdditiveAccess().getOperatorAlternatives_1_0_0_1_0()); }
            // InternalRosetta.g:37289:3: ( rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0 )
            // InternalRosetta.g:37289:4: rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcAdditive__OperatorAlternatives_1_0_0_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAdditiveAccess().getOperatorAlternatives_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__OperatorAssignment_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcAdditive__RightAssignment_1_1"
    // InternalRosetta.g:37297:1: rule__RosettaCalcAdditive__RightAssignment_1_1 : ( ruleRosettaCalcMultiplicative ) ;
    public final void rule__RosettaCalcAdditive__RightAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37301:1: ( ( ruleRosettaCalcMultiplicative ) )
            // InternalRosetta.g:37302:2: ( ruleRosettaCalcMultiplicative )
            {
            // InternalRosetta.g:37302:2: ( ruleRosettaCalcMultiplicative )
            // InternalRosetta.g:37303:3: ruleRosettaCalcMultiplicative
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcAdditiveAccess().getRightRosettaCalcMultiplicativeParserRuleCall_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcMultiplicative(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcAdditiveAccess().getRightRosettaCalcMultiplicativeParserRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcAdditive__RightAssignment_1_1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1"
    // InternalRosetta.g:37312:1: rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1 : ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0 ) ) ;
    public final void rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37316:1: ( ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0 ) ) )
            // InternalRosetta.g:37317:2: ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0 ) )
            {
            // InternalRosetta.g:37317:2: ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0 ) )
            // InternalRosetta.g:37318:3: ( rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAlternatives_0_1_0_0_1_0()); }
            // InternalRosetta.g:37319:3: ( rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0 )
            // InternalRosetta.g:37319:4: rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__OperatorAlternatives_0_1_0_0_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAlternatives_0_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__OperatorAssignment_0_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__RightAssignment_0_1_1"
    // InternalRosetta.g:37327:1: rule__RosettaCalcMultiplicative__RightAssignment_0_1_1 : ( ruleRosettaCalcBinary ) ;
    public final void rule__RosettaCalcMultiplicative__RightAssignment_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37331:1: ( ( ruleRosettaCalcBinary ) )
            // InternalRosetta.g:37332:2: ( ruleRosettaCalcBinary )
            {
            // InternalRosetta.g:37332:2: ( ruleRosettaCalcBinary )
            // InternalRosetta.g:37333:3: ruleRosettaCalcBinary
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightRosettaCalcBinaryParserRuleCall_0_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcBinary(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightRosettaCalcBinaryParserRuleCall_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__RightAssignment_0_1_1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1"
    // InternalRosetta.g:37342:1: rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1 : ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0 ) ) ;
    public final void rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37346:1: ( ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0 ) ) )
            // InternalRosetta.g:37347:2: ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0 ) )
            {
            // InternalRosetta.g:37347:2: ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0 ) )
            // InternalRosetta.g:37348:3: ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAlternatives_1_0_1_0()); }
            // InternalRosetta.g:37349:3: ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0 )
            // InternalRosetta.g:37349:4: rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__OperatorAlternatives_1_0_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAlternatives_1_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__OperatorAssignment_1_0_1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__RightAssignment_1_0_2"
    // InternalRosetta.g:37357:1: rule__RosettaCalcMultiplicative__RightAssignment_1_0_2 : ( ruleRosettaCalcBinary ) ;
    public final void rule__RosettaCalcMultiplicative__RightAssignment_1_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37361:1: ( ( ruleRosettaCalcBinary ) )
            // InternalRosetta.g:37362:2: ( ruleRosettaCalcBinary )
            {
            // InternalRosetta.g:37362:2: ( ruleRosettaCalcBinary )
            // InternalRosetta.g:37363:3: ruleRosettaCalcBinary
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightRosettaCalcBinaryParserRuleCall_1_0_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcBinary(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightRosettaCalcBinaryParserRuleCall_1_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__RightAssignment_1_0_2"
    // $ANTLR start "rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1"
    // InternalRosetta.g:37372:1: rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1 : ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0 ) ) ;
    public final void rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37376:1: ( ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0 ) ) )
            // InternalRosetta.g:37377:2: ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0 ) )
            {
            // InternalRosetta.g:37377:2: ( ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0 ) )
            // InternalRosetta.g:37378:3: ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAlternatives_1_1_0_0_1_0()); }
            // InternalRosetta.g:37379:3: ( rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0 )
            // InternalRosetta.g:37379:4: rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaCalcMultiplicative__OperatorAlternatives_1_1_0_0_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getOperatorAlternatives_1_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__OperatorAssignment_1_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcMultiplicative__RightAssignment_1_1_1"
    // InternalRosetta.g:37387:1: rule__RosettaCalcMultiplicative__RightAssignment_1_1_1 : ( ruleRosettaCalcBinary ) ;
    public final void rule__RosettaCalcMultiplicative__RightAssignment_1_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37391:1: ( ( ruleRosettaCalcBinary ) )
            // InternalRosetta.g:37392:2: ( ruleRosettaCalcBinary )
            {
            // InternalRosetta.g:37392:2: ( ruleRosettaCalcBinary )
            // InternalRosetta.g:37393:3: ruleRosettaCalcBinary
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightRosettaCalcBinaryParserRuleCall_1_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcBinary(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcMultiplicativeAccess().getRightRosettaCalcBinaryParserRuleCall_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcMultiplicative__RightAssignment_1_1_1"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1"
    // InternalRosetta.g:37402:1: rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1 : ( ( 'contains' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37406:1: ( ( ( 'contains' ) ) )
            // InternalRosetta.g:37407:2: ( ( 'contains' ) )
            {
            // InternalRosetta.g:37407:2: ( ( 'contains' ) )
            // InternalRosetta.g:37408:3: ( 'contains' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_0_1_0_0_1_0()); }
            // InternalRosetta.g:37409:3: ( 'contains' )
            // InternalRosetta.g:37410:4: 'contains'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_0_1_0_0_1_0()); }
            match(input,139,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_0_1_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_0_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_0_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2"
    // InternalRosetta.g:37421:1: rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37425:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37426:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37426:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37427:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_0_1_0_0_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_0_1_0_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_0_1_0_0_2"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1"
    // InternalRosetta.g:37436:1: rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1 : ( ( 'disjoint' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37440:1: ( ( ( 'disjoint' ) ) )
            // InternalRosetta.g:37441:2: ( ( 'disjoint' ) )
            {
            // InternalRosetta.g:37441:2: ( ( 'disjoint' ) )
            // InternalRosetta.g:37442:3: ( 'disjoint' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_0_1_0_1_1_0()); }
            // InternalRosetta.g:37443:3: ( 'disjoint' )
            // InternalRosetta.g:37444:4: 'disjoint'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_0_1_0_1_1_0()); }
            match(input,140,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_0_1_0_1_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_0_1_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_0_1_0_1_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2"
    // InternalRosetta.g:37455:1: rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37459:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37460:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37460:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37461:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_0_1_0_1_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_0_1_0_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_0_1_0_1_2"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1"
    // InternalRosetta.g:37470:1: rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1 : ( ( 'default' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37474:1: ( ( ( 'default' ) ) )
            // InternalRosetta.g:37475:2: ( ( 'default' ) )
            {
            // InternalRosetta.g:37475:2: ( ( 'default' ) )
            // InternalRosetta.g:37476:3: ( 'default' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_0_1_0_2_1_0()); }
            // InternalRosetta.g:37477:3: ( 'default' )
            // InternalRosetta.g:37478:4: 'default'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_0_1_0_2_1_0()); }
            match(input,119,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_0_1_0_2_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_0_1_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_0_1_0_2_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2"
    // InternalRosetta.g:37489:1: rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37493:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37494:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37494:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37495:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_0_1_0_2_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_0_1_0_2_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_0_1_0_2_2"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1"
    // InternalRosetta.g:37504:1: rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1 : ( ( 'join' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37508:1: ( ( ( 'join' ) ) )
            // InternalRosetta.g:37509:2: ( ( 'join' ) )
            {
            // InternalRosetta.g:37509:2: ( ( 'join' ) )
            // InternalRosetta.g:37510:3: ( 'join' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_0_1_0_3_1_0()); }
            // InternalRosetta.g:37511:3: ( 'join' )
            // InternalRosetta.g:37512:4: 'join'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_0_1_0_3_1_0()); }
            match(input,141,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_0_1_0_3_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_0_1_0_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_0_1_0_3_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2"
    // InternalRosetta.g:37523:1: rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37527:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37528:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37528:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37529:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_0_1_0_3_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_0_1_0_3_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1"
    // InternalRosetta.g:37538:1: rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1 : ( ( 'contains' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37542:1: ( ( ( 'contains' ) ) )
            // InternalRosetta.g:37543:2: ( ( 'contains' ) )
            {
            // InternalRosetta.g:37543:2: ( ( 'contains' ) )
            // InternalRosetta.g:37544:3: ( 'contains' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_1_0_0_0_1_0()); }
            // InternalRosetta.g:37545:3: ( 'contains' )
            // InternalRosetta.g:37546:4: 'contains'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_1_0_0_0_1_0()); }
            match(input,139,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_1_0_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_1_0_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_1_0_0_0_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2"
    // InternalRosetta.g:37557:1: rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37561:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37562:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37562:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37563:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_0_0_0_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_0_0_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_1_0_0_0_2"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1"
    // InternalRosetta.g:37572:1: rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1 : ( ( 'disjoint' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37576:1: ( ( ( 'disjoint' ) ) )
            // InternalRosetta.g:37577:2: ( ( 'disjoint' ) )
            {
            // InternalRosetta.g:37577:2: ( ( 'disjoint' ) )
            // InternalRosetta.g:37578:3: ( 'disjoint' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_1_0_0_1_1_0()); }
            // InternalRosetta.g:37579:3: ( 'disjoint' )
            // InternalRosetta.g:37580:4: 'disjoint'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_1_0_0_1_1_0()); }
            match(input,140,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_1_0_0_1_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_1_0_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_1_0_0_1_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2"
    // InternalRosetta.g:37591:1: rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37595:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37596:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37596:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37597:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_0_0_1_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_0_0_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_1_0_0_1_2"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1"
    // InternalRosetta.g:37606:1: rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1 : ( ( 'default' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37610:1: ( ( ( 'default' ) ) )
            // InternalRosetta.g:37611:2: ( ( 'default' ) )
            {
            // InternalRosetta.g:37611:2: ( ( 'default' ) )
            // InternalRosetta.g:37612:3: ( 'default' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_1_0_0_2_1_0()); }
            // InternalRosetta.g:37613:3: ( 'default' )
            // InternalRosetta.g:37614:4: 'default'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_1_0_0_2_1_0()); }
            match(input,119,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_1_0_0_2_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_1_0_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_1_0_0_2_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2"
    // InternalRosetta.g:37625:1: rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37629:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37630:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37630:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37631:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_0_0_2_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_0_0_2_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_1_0_0_2_2"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1"
    // InternalRosetta.g:37640:1: rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1 : ( ( 'join' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37644:1: ( ( ( 'join' ) ) )
            // InternalRosetta.g:37645:2: ( ( 'join' ) )
            {
            // InternalRosetta.g:37645:2: ( ( 'join' ) )
            // InternalRosetta.g:37646:3: ( 'join' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_1_0_0_3_1_0()); }
            // InternalRosetta.g:37647:3: ( 'join' )
            // InternalRosetta.g:37648:4: 'join'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_1_0_0_3_1_0()); }
            match(input,141,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_1_0_0_3_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_1_0_0_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_1_0_0_3_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2"
    // InternalRosetta.g:37659:1: rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37663:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37664:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37664:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37665:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_0_0_3_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_0_0_3_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1"
    // InternalRosetta.g:37674:1: rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1 : ( ( 'contains' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37678:1: ( ( ( 'contains' ) ) )
            // InternalRosetta.g:37679:2: ( ( 'contains' ) )
            {
            // InternalRosetta.g:37679:2: ( ( 'contains' ) )
            // InternalRosetta.g:37680:3: ( 'contains' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_1_1_0_0_1_0()); }
            // InternalRosetta.g:37681:3: ( 'contains' )
            // InternalRosetta.g:37682:4: 'contains'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_1_1_0_0_1_0()); }
            match(input,139,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_1_1_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorContainsKeyword_1_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_1_1_0_0_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2"
    // InternalRosetta.g:37693:1: rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37697:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37698:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37698:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37699:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_1_0_0_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_1_0_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_1_1_0_0_2"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1"
    // InternalRosetta.g:37708:1: rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1 : ( ( 'disjoint' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37712:1: ( ( ( 'disjoint' ) ) )
            // InternalRosetta.g:37713:2: ( ( 'disjoint' ) )
            {
            // InternalRosetta.g:37713:2: ( ( 'disjoint' ) )
            // InternalRosetta.g:37714:3: ( 'disjoint' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_1_1_0_1_1_0()); }
            // InternalRosetta.g:37715:3: ( 'disjoint' )
            // InternalRosetta.g:37716:4: 'disjoint'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_1_1_0_1_1_0()); }
            match(input,140,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_1_1_0_1_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDisjointKeyword_1_1_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_1_1_0_1_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2"
    // InternalRosetta.g:37727:1: rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37731:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37732:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37732:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37733:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_1_0_1_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_1_0_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_1_1_0_1_2"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1"
    // InternalRosetta.g:37742:1: rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1 : ( ( 'default' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37746:1: ( ( ( 'default' ) ) )
            // InternalRosetta.g:37747:2: ( ( 'default' ) )
            {
            // InternalRosetta.g:37747:2: ( ( 'default' ) )
            // InternalRosetta.g:37748:3: ( 'default' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_1_1_0_2_1_0()); }
            // InternalRosetta.g:37749:3: ( 'default' )
            // InternalRosetta.g:37750:4: 'default'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_1_1_0_2_1_0()); }
            match(input,119,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_1_1_0_2_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorDefaultKeyword_1_1_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_1_1_0_2_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2"
    // InternalRosetta.g:37761:1: rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37765:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37766:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37766:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37767:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_1_0_2_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_1_0_2_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_1_1_0_2_2"
    // $ANTLR start "rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1"
    // InternalRosetta.g:37776:1: rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1 : ( ( 'join' ) ) ;
    public final void rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37780:1: ( ( ( 'join' ) ) )
            // InternalRosetta.g:37781:2: ( ( 'join' ) )
            {
            // InternalRosetta.g:37781:2: ( ( 'join' ) )
            // InternalRosetta.g:37782:3: ( 'join' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_1_1_0_3_1_0()); }
            // InternalRosetta.g:37783:3: ( 'join' )
            // InternalRosetta.g:37784:4: 'join'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_1_1_0_3_1_0()); }
            match(input,141,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_1_1_0_3_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getOperatorJoinKeyword_1_1_0_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__OperatorAssignment_1_1_0_3_1"
    // $ANTLR start "rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2"
    // InternalRosetta.g:37795:1: rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2 : ( ruleUnaryOperation ) ;
    public final void rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37799:1: ( ( ruleUnaryOperation ) )
            // InternalRosetta.g:37800:2: ( ruleUnaryOperation )
            {
            // InternalRosetta.g:37800:2: ( ruleUnaryOperation )
            // InternalRosetta.g:37801:3: ruleUnaryOperation
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_1_0_3_2_0()); }
            pushFollow(FOLLOW_2);
            ruleUnaryOperation(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcBinaryAccess().getRightUnaryOperationParserRuleCall_1_1_0_3_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2"
    // $ANTLR start "rule__SwitchCase__GuardAssignment_0"
    // InternalRosetta.g:37810:1: rule__SwitchCase__GuardAssignment_0 : ( ruleSwitchCaseGuard ) ;
    public final void rule__SwitchCase__GuardAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37814:1: ( ( ruleSwitchCaseGuard ) )
            // InternalRosetta.g:37815:2: ( ruleSwitchCaseGuard )
            {
            // InternalRosetta.g:37815:2: ( ruleSwitchCaseGuard )
            // InternalRosetta.g:37816:3: ruleSwitchCaseGuard
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseAccess().getGuardSwitchCaseGuardParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleSwitchCaseGuard(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSwitchCaseAccess().getGuardSwitchCaseGuardParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__SwitchCase__GuardAssignment_0"
    // $ANTLR start "rule__SwitchCase__ExpressionAssignment_2"
    // InternalRosetta.g:37825:1: rule__SwitchCase__ExpressionAssignment_2 : ( ruleRosettaCalcExpression ) ;
    public final void rule__SwitchCase__ExpressionAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37829:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:37830:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:37830:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:37831:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseAccess().getExpressionRosettaCalcExpressionParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSwitchCaseAccess().getExpressionRosettaCalcExpressionParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__SwitchCase__ExpressionAssignment_2"
    // $ANTLR start "rule__SwitchCaseGuard__LiteralGuardAssignment_0"
    // InternalRosetta.g:37840:1: rule__SwitchCaseGuard__LiteralGuardAssignment_0 : ( ruleRosettaLiteral ) ;
    public final void rule__SwitchCaseGuard__LiteralGuardAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37844:1: ( ( ruleRosettaLiteral ) )
            // InternalRosetta.g:37845:2: ( ruleRosettaLiteral )
            {
            // InternalRosetta.g:37845:2: ( ruleRosettaLiteral )
            // InternalRosetta.g:37846:3: ruleRosettaLiteral
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseGuardAccess().getLiteralGuardRosettaLiteralParserRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaLiteral(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSwitchCaseGuardAccess().getLiteralGuardRosettaLiteralParserRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__SwitchCaseGuard__LiteralGuardAssignment_0"
    // $ANTLR start "rule__SwitchCaseGuard__SymbolGuardAssignment_1"
    // InternalRosetta.g:37855:1: rule__SwitchCaseGuard__SymbolGuardAssignment_1 : ( ( ruleValidID ) ) ;
    public final void rule__SwitchCaseGuard__SymbolGuardAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37859:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:37860:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:37860:2: ( ( ruleValidID ) )
            // InternalRosetta.g:37861:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseGuardAccess().getSymbolGuardRosettaSymbolCrossReference_1_0()); }
            // InternalRosetta.g:37862:3: ( ruleValidID )
            // InternalRosetta.g:37863:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getSwitchCaseGuardAccess().getSymbolGuardRosettaSymbolValidIDParserRuleCall_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getSwitchCaseGuardAccess().getSymbolGuardRosettaSymbolValidIDParserRuleCall_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getSwitchCaseGuardAccess().getSymbolGuardRosettaSymbolCrossReference_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__SwitchCaseGuard__SymbolGuardAssignment_1"
    // $ANTLR start "rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2"
    // InternalRosetta.g:37874:1: rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2 : ( ( ruleValidID ) ) ;
    public final void rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37878:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:37879:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:37879:2: ( ( ruleValidID ) )
            // InternalRosetta.g:37880:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureRosettaFeatureCrossReference_0_1_0_0_0_2_0()); }
            // InternalRosetta.g:37881:3: ( ruleValidID )
            // InternalRosetta.g:37882:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureRosettaFeatureValidIDParserRuleCall_0_1_0_0_0_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureRosettaFeatureValidIDParserRuleCall_0_1_0_0_0_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureRosettaFeatureCrossReference_0_1_0_0_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2"
    // $ANTLR start "rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2"
    // InternalRosetta.g:37893:1: rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2 : ( ( ruleValidID ) ) ;
    public final void rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37897:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:37898:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:37898:2: ( ( ruleValidID ) )
            // InternalRosetta.g:37899:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureAttributeCrossReference_0_1_0_0_1_2_0()); }
            // InternalRosetta.g:37900:3: ( ruleValidID )
            // InternalRosetta.g:37901:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureAttributeValidIDParserRuleCall_0_1_0_0_1_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureAttributeValidIDParserRuleCall_0_1_0_0_1_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureAttributeCrossReference_0_1_0_0_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2"
    // $ANTLR start "rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1"
    // InternalRosetta.g:37912:1: rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1 : ( ruleExistsModifier ) ;
    public final void rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37916:1: ( ( ruleExistsModifier ) )
            // InternalRosetta.g:37917:2: ( ruleExistsModifier )
            {
            // InternalRosetta.g:37917:2: ( ruleExistsModifier )
            // InternalRosetta.g:37918:3: ruleExistsModifier
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getModifierExistsModifierEnumRuleCall_0_1_0_0_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleExistsModifier(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getModifierExistsModifierEnumRuleCall_0_1_0_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__ModifierAssignment_0_1_0_0_2_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2"
    // InternalRosetta.g:37927:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2 : ( ( 'exists' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37931:1: ( ( ( 'exists' ) ) )
            // InternalRosetta.g:37932:2: ( ( 'exists' ) )
            {
            // InternalRosetta.g:37932:2: ( ( 'exists' ) )
            // InternalRosetta.g:37933:3: ( 'exists' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_0_1_0_0_2_2_0()); }
            // InternalRosetta.g:37934:3: ( 'exists' )
            // InternalRosetta.g:37935:4: 'exists'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_0_1_0_0_2_2_0()); }
            match(input,105,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_0_1_0_0_2_2_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_0_1_0_0_2_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_2_2"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2"
    // InternalRosetta.g:37946:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2 : ( ( 'absent' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37950:1: ( ( ( 'absent' ) ) )
            // InternalRosetta.g:37951:2: ( ( 'absent' ) )
            {
            // InternalRosetta.g:37951:2: ( ( 'absent' ) )
            // InternalRosetta.g:37952:3: ( 'absent' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_0_1_0_0_3_2_0()); }
            // InternalRosetta.g:37953:3: ( 'absent' )
            // InternalRosetta.g:37954:4: 'absent'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_0_1_0_0_3_2_0()); }
            match(input,107,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_0_1_0_0_3_2_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_0_1_0_0_3_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_3_2"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1"
    // InternalRosetta.g:37965:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1 : ( ( 'only-element' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37969:1: ( ( ( 'only-element' ) ) )
            // InternalRosetta.g:37970:2: ( ( 'only-element' ) )
            {
            // InternalRosetta.g:37970:2: ( ( 'only-element' ) )
            // InternalRosetta.g:37971:3: ( 'only-element' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_0_1_0_0_4_1_0()); }
            // InternalRosetta.g:37972:3: ( 'only-element' )
            // InternalRosetta.g:37973:4: 'only-element'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_0_1_0_0_4_1_0()); }
            match(input,142,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_0_1_0_0_4_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_0_1_0_0_4_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_4_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1"
    // InternalRosetta.g:37984:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1 : ( ( 'count' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:37988:1: ( ( ( 'count' ) ) )
            // InternalRosetta.g:37989:2: ( ( 'count' ) )
            {
            // InternalRosetta.g:37989:2: ( ( 'count' ) )
            // InternalRosetta.g:37990:3: ( 'count' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_0_1_0_0_5_1_0()); }
            // InternalRosetta.g:37991:3: ( 'count' )
            // InternalRosetta.g:37992:4: 'count'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_0_1_0_0_5_1_0()); }
            match(input,143,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_0_1_0_0_5_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_0_1_0_0_5_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_5_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1"
    // InternalRosetta.g:38003:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1 : ( ( 'flatten' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38007:1: ( ( ( 'flatten' ) ) )
            // InternalRosetta.g:38008:2: ( ( 'flatten' ) )
            {
            // InternalRosetta.g:38008:2: ( ( 'flatten' ) )
            // InternalRosetta.g:38009:3: ( 'flatten' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_0_1_0_0_6_1_0()); }
            // InternalRosetta.g:38010:3: ( 'flatten' )
            // InternalRosetta.g:38011:4: 'flatten'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_0_1_0_0_6_1_0()); }
            match(input,144,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_0_1_0_0_6_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_0_1_0_0_6_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_6_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1"
    // InternalRosetta.g:38022:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1 : ( ( 'distinct' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38026:1: ( ( ( 'distinct' ) ) )
            // InternalRosetta.g:38027:2: ( ( 'distinct' ) )
            {
            // InternalRosetta.g:38027:2: ( ( 'distinct' ) )
            // InternalRosetta.g:38028:3: ( 'distinct' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_0_1_0_0_7_1_0()); }
            // InternalRosetta.g:38029:3: ( 'distinct' )
            // InternalRosetta.g:38030:4: 'distinct'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_0_1_0_0_7_1_0()); }
            match(input,145,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_0_1_0_0_7_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_0_1_0_0_7_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_7_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1"
    // InternalRosetta.g:38041:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1 : ( ( 'reverse' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38045:1: ( ( ( 'reverse' ) ) )
            // InternalRosetta.g:38046:2: ( ( 'reverse' ) )
            {
            // InternalRosetta.g:38046:2: ( ( 'reverse' ) )
            // InternalRosetta.g:38047:3: ( 'reverse' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_0_1_0_0_8_1_0()); }
            // InternalRosetta.g:38048:3: ( 'reverse' )
            // InternalRosetta.g:38049:4: 'reverse'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_0_1_0_0_8_1_0()); }
            match(input,146,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_0_1_0_0_8_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_0_1_0_0_8_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_8_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1"
    // InternalRosetta.g:38060:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1 : ( ( 'first' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38064:1: ( ( ( 'first' ) ) )
            // InternalRosetta.g:38065:2: ( ( 'first' ) )
            {
            // InternalRosetta.g:38065:2: ( ( 'first' ) )
            // InternalRosetta.g:38066:3: ( 'first' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_0_1_0_0_9_1_0()); }
            // InternalRosetta.g:38067:3: ( 'first' )
            // InternalRosetta.g:38068:4: 'first'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_0_1_0_0_9_1_0()); }
            match(input,147,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_0_1_0_0_9_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_0_1_0_0_9_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_9_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1"
    // InternalRosetta.g:38079:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1 : ( ( 'last' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38083:1: ( ( ( 'last' ) ) )
            // InternalRosetta.g:38084:2: ( ( 'last' ) )
            {
            // InternalRosetta.g:38084:2: ( ( 'last' ) )
            // InternalRosetta.g:38085:3: ( 'last' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_0_1_0_0_10_1_0()); }
            // InternalRosetta.g:38086:3: ( 'last' )
            // InternalRosetta.g:38087:4: 'last'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_0_1_0_0_10_1_0()); }
            match(input,148,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_0_1_0_0_10_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_0_1_0_0_10_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_10_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1"
    // InternalRosetta.g:38098:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1 : ( ( 'sum' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38102:1: ( ( ( 'sum' ) ) )
            // InternalRosetta.g:38103:2: ( ( 'sum' ) )
            {
            // InternalRosetta.g:38103:2: ( ( 'sum' ) )
            // InternalRosetta.g:38104:3: ( 'sum' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_0_1_0_0_11_1_0()); }
            // InternalRosetta.g:38105:3: ( 'sum' )
            // InternalRosetta.g:38106:4: 'sum'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_0_1_0_0_11_1_0()); }
            match(input,149,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_0_1_0_0_11_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_0_1_0_0_11_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_11_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1"
    // InternalRosetta.g:38117:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1 : ( ( 'one-of' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38121:1: ( ( ( 'one-of' ) ) )
            // InternalRosetta.g:38122:2: ( ( 'one-of' ) )
            {
            // InternalRosetta.g:38122:2: ( ( 'one-of' ) )
            // InternalRosetta.g:38123:3: ( 'one-of' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_0_1_0_0_12_1_0()); }
            // InternalRosetta.g:38124:3: ( 'one-of' )
            // InternalRosetta.g:38125:4: 'one-of'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_0_1_0_0_12_1_0()); }
            match(input,150,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_0_1_0_0_12_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_0_1_0_0_12_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_12_1"
    // $ANTLR start "rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1"
    // InternalRosetta.g:38136:1: rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1 : ( ruleNecessity ) ;
    public final void rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38140:1: ( ( ruleNecessity ) )
            // InternalRosetta.g:38141:2: ( ruleNecessity )
            {
            // InternalRosetta.g:38141:2: ( ruleNecessity )
            // InternalRosetta.g:38142:3: ruleNecessity
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getNecessityNecessityEnumRuleCall_0_1_0_0_13_1_0()); }
            pushFollow(FOLLOW_2);
            ruleNecessity(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getNecessityNecessityEnumRuleCall_0_1_0_0_13_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__NecessityAssignment_0_1_0_0_13_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2"
    // InternalRosetta.g:38151:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2 : ( ( 'choice' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38155:1: ( ( ( 'choice' ) ) )
            // InternalRosetta.g:38156:2: ( ( 'choice' ) )
            {
            // InternalRosetta.g:38156:2: ( ( 'choice' ) )
            // InternalRosetta.g:38157:3: ( 'choice' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_0_1_0_0_13_2_0()); }
            // InternalRosetta.g:38158:3: ( 'choice' )
            // InternalRosetta.g:38159:4: 'choice'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_0_1_0_0_13_2_0()); }
            match(input,70,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_0_1_0_0_13_2_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_0_1_0_0_13_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_13_2"
    // $ANTLR start "rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3"
    // InternalRosetta.g:38170:1: rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3 : ( ( ruleValidID ) ) ;
    public final void rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38174:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:38175:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:38175:2: ( ( ruleValidID ) )
            // InternalRosetta.g:38176:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_0_1_0_0_13_3_0()); }
            // InternalRosetta.g:38177:3: ( ruleValidID )
            // InternalRosetta.g:38178:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_0_1_0_0_13_3_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_0_1_0_0_13_3_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_0_1_0_0_13_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_3"
    // $ANTLR start "rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1"
    // InternalRosetta.g:38189:1: rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1 : ( ( ruleValidID ) ) ;
    public final void rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38193:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:38194:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:38194:2: ( ( ruleValidID ) )
            // InternalRosetta.g:38195:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_0_1_0_0_13_4_0_1_0()); }
            // InternalRosetta.g:38196:3: ( ruleValidID )
            // InternalRosetta.g:38197:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_0_1_0_0_13_4_0_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_0_1_0_0_13_4_0_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_0_1_0_0_13_4_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__AttributesAssignment_0_1_0_0_13_4_0_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1"
    // InternalRosetta.g:38208:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1 : ( ( 'to-string' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38212:1: ( ( ( 'to-string' ) ) )
            // InternalRosetta.g:38213:2: ( ( 'to-string' ) )
            {
            // InternalRosetta.g:38213:2: ( ( 'to-string' ) )
            // InternalRosetta.g:38214:3: ( 'to-string' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_0_1_0_0_14_1_0()); }
            // InternalRosetta.g:38215:3: ( 'to-string' )
            // InternalRosetta.g:38216:4: 'to-string'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_0_1_0_0_14_1_0()); }
            match(input,151,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_0_1_0_0_14_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_0_1_0_0_14_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_14_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1"
    // InternalRosetta.g:38227:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1 : ( ( 'to-number' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38231:1: ( ( ( 'to-number' ) ) )
            // InternalRosetta.g:38232:2: ( ( 'to-number' ) )
            {
            // InternalRosetta.g:38232:2: ( ( 'to-number' ) )
            // InternalRosetta.g:38233:3: ( 'to-number' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_0_1_0_0_15_1_0()); }
            // InternalRosetta.g:38234:3: ( 'to-number' )
            // InternalRosetta.g:38235:4: 'to-number'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_0_1_0_0_15_1_0()); }
            match(input,152,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_0_1_0_0_15_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_0_1_0_0_15_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_15_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1"
    // InternalRosetta.g:38246:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1 : ( ( 'to-int' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38250:1: ( ( ( 'to-int' ) ) )
            // InternalRosetta.g:38251:2: ( ( 'to-int' ) )
            {
            // InternalRosetta.g:38251:2: ( ( 'to-int' ) )
            // InternalRosetta.g:38252:3: ( 'to-int' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_0_1_0_0_16_1_0()); }
            // InternalRosetta.g:38253:3: ( 'to-int' )
            // InternalRosetta.g:38254:4: 'to-int'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_0_1_0_0_16_1_0()); }
            match(input,153,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_0_1_0_0_16_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_0_1_0_0_16_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_16_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1"
    // InternalRosetta.g:38265:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1 : ( ( 'to-time' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38269:1: ( ( ( 'to-time' ) ) )
            // InternalRosetta.g:38270:2: ( ( 'to-time' ) )
            {
            // InternalRosetta.g:38270:2: ( ( 'to-time' ) )
            // InternalRosetta.g:38271:3: ( 'to-time' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_0_1_0_0_17_1_0()); }
            // InternalRosetta.g:38272:3: ( 'to-time' )
            // InternalRosetta.g:38273:4: 'to-time'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_0_1_0_0_17_1_0()); }
            match(input,154,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_0_1_0_0_17_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_0_1_0_0_17_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_17_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1"
    // InternalRosetta.g:38284:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1 : ( ( 'to-enum' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38288:1: ( ( ( 'to-enum' ) ) )
            // InternalRosetta.g:38289:2: ( ( 'to-enum' ) )
            {
            // InternalRosetta.g:38289:2: ( ( 'to-enum' ) )
            // InternalRosetta.g:38290:3: ( 'to-enum' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_0_1_0_0_18_1_0()); }
            // InternalRosetta.g:38291:3: ( 'to-enum' )
            // InternalRosetta.g:38292:4: 'to-enum'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_0_1_0_0_18_1_0()); }
            match(input,155,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_0_1_0_0_18_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_0_1_0_0_18_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_18_1"
    // $ANTLR start "rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2"
    // InternalRosetta.g:38303:1: rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38307:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:38308:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:38308:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:38309:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationCrossReference_0_1_0_0_18_2_0()); }
            // InternalRosetta.g:38310:3: ( ruleQualifiedName )
            // InternalRosetta.g:38311:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationQualifiedNameParserRuleCall_0_1_0_0_18_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationQualifiedNameParserRuleCall_0_1_0_0_18_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationCrossReference_0_1_0_0_18_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__EnumerationAssignment_0_1_0_0_18_2"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1"
    // InternalRosetta.g:38322:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1 : ( ( 'to-date' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38326:1: ( ( ( 'to-date' ) ) )
            // InternalRosetta.g:38327:2: ( ( 'to-date' ) )
            {
            // InternalRosetta.g:38327:2: ( ( 'to-date' ) )
            // InternalRosetta.g:38328:3: ( 'to-date' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_0_1_0_0_19_1_0()); }
            // InternalRosetta.g:38329:3: ( 'to-date' )
            // InternalRosetta.g:38330:4: 'to-date'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_0_1_0_0_19_1_0()); }
            match(input,156,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_0_1_0_0_19_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_0_1_0_0_19_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_19_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1"
    // InternalRosetta.g:38341:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1 : ( ( 'to-date-time' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38345:1: ( ( ( 'to-date-time' ) ) )
            // InternalRosetta.g:38346:2: ( ( 'to-date-time' ) )
            {
            // InternalRosetta.g:38346:2: ( ( 'to-date-time' ) )
            // InternalRosetta.g:38347:3: ( 'to-date-time' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_0_1_0_0_20_1_0()); }
            // InternalRosetta.g:38348:3: ( 'to-date-time' )
            // InternalRosetta.g:38349:4: 'to-date-time'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_0_1_0_0_20_1_0()); }
            match(input,157,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_0_1_0_0_20_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_0_1_0_0_20_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_20_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1"
    // InternalRosetta.g:38360:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1 : ( ( 'to-zoned-date-time' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38364:1: ( ( ( 'to-zoned-date-time' ) ) )
            // InternalRosetta.g:38365:2: ( ( 'to-zoned-date-time' ) )
            {
            // InternalRosetta.g:38365:2: ( ( 'to-zoned-date-time' ) )
            // InternalRosetta.g:38366:3: ( 'to-zoned-date-time' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_0_1_0_0_21_1_0()); }
            // InternalRosetta.g:38367:3: ( 'to-zoned-date-time' )
            // InternalRosetta.g:38368:4: 'to-zoned-date-time'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_0_1_0_0_21_1_0()); }
            match(input,158,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_0_1_0_0_21_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_0_1_0_0_21_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_21_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1"
    // InternalRosetta.g:38379:1: rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1 : ( ( 'switch' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38383:1: ( ( ( 'switch' ) ) )
            // InternalRosetta.g:38384:2: ( ( 'switch' ) )
            {
            // InternalRosetta.g:38384:2: ( ( 'switch' ) )
            // InternalRosetta.g:38385:3: ( 'switch' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_0_1_0_0_22_1_0()); }
            // InternalRosetta.g:38386:3: ( 'switch' )
            // InternalRosetta.g:38387:4: 'switch'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_0_1_0_0_22_1_0()); }
            match(input,159,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_0_1_0_0_22_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_0_1_0_0_22_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_0_0_22_1"
    // $ANTLR start "rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0"
    // InternalRosetta.g:38398:1: rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0 : ( ruleSwitchCase ) ;
    public final void rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38402:1: ( ( ruleSwitchCase ) )
            // InternalRosetta.g:38403:2: ( ruleSwitchCase )
            {
            // InternalRosetta.g:38403:2: ( ruleSwitchCase )
            // InternalRosetta.g:38404:3: ruleSwitchCase
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_0_1_0_0_22_2_0_0_0()); }
            pushFollow(FOLLOW_2);
            ruleSwitchCase(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_0_1_0_0_22_2_0_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_0"
    // $ANTLR start "rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1"
    // InternalRosetta.g:38413:1: rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1 : ( ruleSwitchCase ) ;
    public final void rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38417:1: ( ( ruleSwitchCase ) )
            // InternalRosetta.g:38418:2: ( ruleSwitchCase )
            {
            // InternalRosetta.g:38418:2: ( ruleSwitchCase )
            // InternalRosetta.g:38419:3: ruleSwitchCase
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_0_1_0_0_22_2_0_1_0_1_0()); }
            pushFollow(FOLLOW_2);
            ruleSwitchCase(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_0_1_0_0_22_2_0_1_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__CasesAssignment_0_1_0_0_22_2_0_1_0_1"
    // $ANTLR start "rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2"
    // InternalRosetta.g:38428:1: rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2 : ( ruleRosettaCalcExpression ) ;
    public final void rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38432:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:38433:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:38433:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:38434:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_0_1_0_0_22_2_0_2_0_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_0_1_0_0_22_2_0_2_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_0_2_0_2"
    // $ANTLR start "rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1"
    // InternalRosetta.g:38443:1: rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1 : ( ruleRosettaCalcExpression ) ;
    public final void rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38447:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:38448:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:38448:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:38449:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_0_1_0_0_22_2_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_0_1_0_0_22_2_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__DefaultAssignment_0_1_0_0_22_2_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1"
    // InternalRosetta.g:38458:1: rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1 : ( ( 'sort' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38462:1: ( ( ( 'sort' ) ) )
            // InternalRosetta.g:38463:2: ( ( 'sort' ) )
            {
            // InternalRosetta.g:38463:2: ( ( 'sort' ) )
            // InternalRosetta.g:38464:3: ( 'sort' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_0_1_1_0_0_0_1_0()); }
            // InternalRosetta.g:38465:3: ( 'sort' )
            // InternalRosetta.g:38466:4: 'sort'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_0_1_1_0_0_0_1_0()); }
            match(input,160,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_0_1_1_0_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_0_1_1_0_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_0_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1"
    // InternalRosetta.g:38477:1: rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1 : ( ( 'min' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38481:1: ( ( ( 'min' ) ) )
            // InternalRosetta.g:38482:2: ( ( 'min' ) )
            {
            // InternalRosetta.g:38482:2: ( ( 'min' ) )
            // InternalRosetta.g:38483:3: ( 'min' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_0_1_1_0_0_1_1_0()); }
            // InternalRosetta.g:38484:3: ( 'min' )
            // InternalRosetta.g:38485:4: 'min'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_0_1_1_0_0_1_1_0()); }
            match(input,12,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_0_1_1_0_0_1_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_0_1_1_0_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1"
    // InternalRosetta.g:38496:1: rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1 : ( ( 'max' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38500:1: ( ( ( 'max' ) ) )
            // InternalRosetta.g:38501:2: ( ( 'max' ) )
            {
            // InternalRosetta.g:38501:2: ( ( 'max' ) )
            // InternalRosetta.g:38502:3: ( 'max' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_0_1_1_0_0_2_1_0()); }
            // InternalRosetta.g:38503:3: ( 'max' )
            // InternalRosetta.g:38504:4: 'max'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_0_1_1_0_0_2_1_0()); }
            match(input,13,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_0_1_1_0_0_2_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_0_1_1_0_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_1_0_0_2_1"
    // $ANTLR start "rule__UnaryOperation__FunctionAssignment_0_1_1_1"
    // InternalRosetta.g:38515:1: rule__UnaryOperation__FunctionAssignment_0_1_1_1 : ( ruleInlineFunction ) ;
    public final void rule__UnaryOperation__FunctionAssignment_0_1_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38519:1: ( ( ruleInlineFunction ) )
            // InternalRosetta.g:38520:2: ( ruleInlineFunction )
            {
            // InternalRosetta.g:38520:2: ( ruleInlineFunction )
            // InternalRosetta.g:38521:3: ruleInlineFunction
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_0_1_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_0_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FunctionAssignment_0_1_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1"
    // InternalRosetta.g:38530:1: rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1 : ( ( 'reduce' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38534:1: ( ( ( 'reduce' ) ) )
            // InternalRosetta.g:38535:2: ( ( 'reduce' ) )
            {
            // InternalRosetta.g:38535:2: ( ( 'reduce' ) )
            // InternalRosetta.g:38536:3: ( 'reduce' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_0_1_2_0_0_0_1_0()); }
            // InternalRosetta.g:38537:3: ( 'reduce' )
            // InternalRosetta.g:38538:4: 'reduce'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_0_1_2_0_0_0_1_0()); }
            match(input,161,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_0_1_2_0_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_0_1_2_0_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_0_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1"
    // InternalRosetta.g:38549:1: rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1 : ( ( 'filter' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38553:1: ( ( ( 'filter' ) ) )
            // InternalRosetta.g:38554:2: ( ( 'filter' ) )
            {
            // InternalRosetta.g:38554:2: ( ( 'filter' ) )
            // InternalRosetta.g:38555:3: ( 'filter' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_0_1_2_0_0_1_1_0()); }
            // InternalRosetta.g:38556:3: ( 'filter' )
            // InternalRosetta.g:38557:4: 'filter'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_0_1_2_0_0_1_1_0()); }
            match(input,162,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_0_1_2_0_0_1_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_0_1_2_0_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1"
    // InternalRosetta.g:38568:1: rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1 : ( ( rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0 ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38572:1: ( ( ( rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0 ) ) )
            // InternalRosetta.g:38573:2: ( ( rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0 ) )
            {
            // InternalRosetta.g:38573:2: ( ( rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0 ) )
            // InternalRosetta.g:38574:3: ( rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAlternatives_0_1_2_0_0_2_1_0()); }
            // InternalRosetta.g:38575:3: ( rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0 )
            // InternalRosetta.g:38575:4: rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAlternatives_0_1_2_0_0_2_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAlternatives_0_1_2_0_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_0_1_2_0_0_2_1"
    // $ANTLR start "rule__UnaryOperation__FunctionAssignment_0_1_2_1_0"
    // InternalRosetta.g:38583:1: rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 : ( ruleInlineFunction ) ;
    public final void rule__UnaryOperation__FunctionAssignment_0_1_2_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38587:1: ( ( ruleInlineFunction ) )
            // InternalRosetta.g:38588:2: ( ruleInlineFunction )
            {
            // InternalRosetta.g:38588:2: ( ruleInlineFunction )
            // InternalRosetta.g:38589:3: ruleInlineFunction
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_0_1_2_1_0_0()); }
            pushFollow(FOLLOW_2);
            ruleInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_0_1_2_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FunctionAssignment_0_1_2_1_0"
    // $ANTLR start "rule__UnaryOperation__FunctionAssignment_0_1_2_1_1"
    // InternalRosetta.g:38598:1: rule__UnaryOperation__FunctionAssignment_0_1_2_1_1 : ( ruleImplicitInlineFunction ) ;
    public final void rule__UnaryOperation__FunctionAssignment_0_1_2_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38602:1: ( ( ruleImplicitInlineFunction ) )
            // InternalRosetta.g:38603:2: ( ruleImplicitInlineFunction )
            {
            // InternalRosetta.g:38603:2: ( ruleImplicitInlineFunction )
            // InternalRosetta.g:38604:3: ruleImplicitInlineFunction
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionImplicitInlineFunctionParserRuleCall_0_1_2_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleImplicitInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionImplicitInlineFunctionParserRuleCall_0_1_2_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FunctionAssignment_0_1_2_1_1"
    // $ANTLR start "rule__UnaryOperation__ModifierAssignment_1_0_0_0_1"
    // InternalRosetta.g:38613:1: rule__UnaryOperation__ModifierAssignment_1_0_0_0_1 : ( ruleExistsModifier ) ;
    public final void rule__UnaryOperation__ModifierAssignment_1_0_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38617:1: ( ( ruleExistsModifier ) )
            // InternalRosetta.g:38618:2: ( ruleExistsModifier )
            {
            // InternalRosetta.g:38618:2: ( ruleExistsModifier )
            // InternalRosetta.g:38619:3: ruleExistsModifier
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getModifierExistsModifierEnumRuleCall_1_0_0_0_1_0()); }
            pushFollow(FOLLOW_2);
            ruleExistsModifier(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getModifierExistsModifierEnumRuleCall_1_0_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__ModifierAssignment_1_0_0_0_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_0_2"
    // InternalRosetta.g:38628:1: rule__UnaryOperation__OperatorAssignment_1_0_0_0_2 : ( ( 'exists' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38632:1: ( ( ( 'exists' ) ) )
            // InternalRosetta.g:38633:2: ( ( 'exists' ) )
            {
            // InternalRosetta.g:38633:2: ( ( 'exists' ) )
            // InternalRosetta.g:38634:3: ( 'exists' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_1_0_0_0_2_0()); }
            // InternalRosetta.g:38635:3: ( 'exists' )
            // InternalRosetta.g:38636:4: 'exists'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_1_0_0_0_2_0()); }
            match(input,105,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_1_0_0_0_2_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_1_0_0_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_0_2"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_1_2"
    // InternalRosetta.g:38647:1: rule__UnaryOperation__OperatorAssignment_1_0_0_1_2 : ( ( 'absent' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_1_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38651:1: ( ( ( 'absent' ) ) )
            // InternalRosetta.g:38652:2: ( ( 'absent' ) )
            {
            // InternalRosetta.g:38652:2: ( ( 'absent' ) )
            // InternalRosetta.g:38653:3: ( 'absent' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_1_0_0_1_2_0()); }
            // InternalRosetta.g:38654:3: ( 'absent' )
            // InternalRosetta.g:38655:4: 'absent'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_1_0_0_1_2_0()); }
            match(input,107,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_1_0_0_1_2_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_1_0_0_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_1_2"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_2_1"
    // InternalRosetta.g:38666:1: rule__UnaryOperation__OperatorAssignment_1_0_0_2_1 : ( ( 'only-element' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38670:1: ( ( ( 'only-element' ) ) )
            // InternalRosetta.g:38671:2: ( ( 'only-element' ) )
            {
            // InternalRosetta.g:38671:2: ( ( 'only-element' ) )
            // InternalRosetta.g:38672:3: ( 'only-element' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_1_0_0_2_1_0()); }
            // InternalRosetta.g:38673:3: ( 'only-element' )
            // InternalRosetta.g:38674:4: 'only-element'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_1_0_0_2_1_0()); }
            match(input,142,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_1_0_0_2_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_1_0_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_2_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_3_1"
    // InternalRosetta.g:38685:1: rule__UnaryOperation__OperatorAssignment_1_0_0_3_1 : ( ( 'count' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38689:1: ( ( ( 'count' ) ) )
            // InternalRosetta.g:38690:2: ( ( 'count' ) )
            {
            // InternalRosetta.g:38690:2: ( ( 'count' ) )
            // InternalRosetta.g:38691:3: ( 'count' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_1_0_0_3_1_0()); }
            // InternalRosetta.g:38692:3: ( 'count' )
            // InternalRosetta.g:38693:4: 'count'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_1_0_0_3_1_0()); }
            match(input,143,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_1_0_0_3_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_1_0_0_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_3_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_4_1"
    // InternalRosetta.g:38704:1: rule__UnaryOperation__OperatorAssignment_1_0_0_4_1 : ( ( 'flatten' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_4_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38708:1: ( ( ( 'flatten' ) ) )
            // InternalRosetta.g:38709:2: ( ( 'flatten' ) )
            {
            // InternalRosetta.g:38709:2: ( ( 'flatten' ) )
            // InternalRosetta.g:38710:3: ( 'flatten' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_1_0_0_4_1_0()); }
            // InternalRosetta.g:38711:3: ( 'flatten' )
            // InternalRosetta.g:38712:4: 'flatten'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_1_0_0_4_1_0()); }
            match(input,144,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_1_0_0_4_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_1_0_0_4_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_4_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_5_1"
    // InternalRosetta.g:38723:1: rule__UnaryOperation__OperatorAssignment_1_0_0_5_1 : ( ( 'distinct' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_5_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38727:1: ( ( ( 'distinct' ) ) )
            // InternalRosetta.g:38728:2: ( ( 'distinct' ) )
            {
            // InternalRosetta.g:38728:2: ( ( 'distinct' ) )
            // InternalRosetta.g:38729:3: ( 'distinct' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_1_0_0_5_1_0()); }
            // InternalRosetta.g:38730:3: ( 'distinct' )
            // InternalRosetta.g:38731:4: 'distinct'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_1_0_0_5_1_0()); }
            match(input,145,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_1_0_0_5_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_1_0_0_5_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_5_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_6_1"
    // InternalRosetta.g:38742:1: rule__UnaryOperation__OperatorAssignment_1_0_0_6_1 : ( ( 'reverse' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_6_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38746:1: ( ( ( 'reverse' ) ) )
            // InternalRosetta.g:38747:2: ( ( 'reverse' ) )
            {
            // InternalRosetta.g:38747:2: ( ( 'reverse' ) )
            // InternalRosetta.g:38748:3: ( 'reverse' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_1_0_0_6_1_0()); }
            // InternalRosetta.g:38749:3: ( 'reverse' )
            // InternalRosetta.g:38750:4: 'reverse'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_1_0_0_6_1_0()); }
            match(input,146,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_1_0_0_6_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_1_0_0_6_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_6_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_7_1"
    // InternalRosetta.g:38761:1: rule__UnaryOperation__OperatorAssignment_1_0_0_7_1 : ( ( 'first' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_7_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38765:1: ( ( ( 'first' ) ) )
            // InternalRosetta.g:38766:2: ( ( 'first' ) )
            {
            // InternalRosetta.g:38766:2: ( ( 'first' ) )
            // InternalRosetta.g:38767:3: ( 'first' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_1_0_0_7_1_0()); }
            // InternalRosetta.g:38768:3: ( 'first' )
            // InternalRosetta.g:38769:4: 'first'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_1_0_0_7_1_0()); }
            match(input,147,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_1_0_0_7_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_1_0_0_7_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_7_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_8_1"
    // InternalRosetta.g:38780:1: rule__UnaryOperation__OperatorAssignment_1_0_0_8_1 : ( ( 'last' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_8_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38784:1: ( ( ( 'last' ) ) )
            // InternalRosetta.g:38785:2: ( ( 'last' ) )
            {
            // InternalRosetta.g:38785:2: ( ( 'last' ) )
            // InternalRosetta.g:38786:3: ( 'last' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_1_0_0_8_1_0()); }
            // InternalRosetta.g:38787:3: ( 'last' )
            // InternalRosetta.g:38788:4: 'last'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_1_0_0_8_1_0()); }
            match(input,148,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_1_0_0_8_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_1_0_0_8_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_8_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_9_1"
    // InternalRosetta.g:38799:1: rule__UnaryOperation__OperatorAssignment_1_0_0_9_1 : ( ( 'sum' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_9_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38803:1: ( ( ( 'sum' ) ) )
            // InternalRosetta.g:38804:2: ( ( 'sum' ) )
            {
            // InternalRosetta.g:38804:2: ( ( 'sum' ) )
            // InternalRosetta.g:38805:3: ( 'sum' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_1_0_0_9_1_0()); }
            // InternalRosetta.g:38806:3: ( 'sum' )
            // InternalRosetta.g:38807:4: 'sum'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_1_0_0_9_1_0()); }
            match(input,149,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_1_0_0_9_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_1_0_0_9_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_9_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_10_1"
    // InternalRosetta.g:38818:1: rule__UnaryOperation__OperatorAssignment_1_0_0_10_1 : ( ( 'one-of' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_10_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38822:1: ( ( ( 'one-of' ) ) )
            // InternalRosetta.g:38823:2: ( ( 'one-of' ) )
            {
            // InternalRosetta.g:38823:2: ( ( 'one-of' ) )
            // InternalRosetta.g:38824:3: ( 'one-of' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_1_0_0_10_1_0()); }
            // InternalRosetta.g:38825:3: ( 'one-of' )
            // InternalRosetta.g:38826:4: 'one-of'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_1_0_0_10_1_0()); }
            match(input,150,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_1_0_0_10_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_1_0_0_10_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_10_1"
    // $ANTLR start "rule__UnaryOperation__NecessityAssignment_1_0_0_11_1"
    // InternalRosetta.g:38837:1: rule__UnaryOperation__NecessityAssignment_1_0_0_11_1 : ( ruleNecessity ) ;
    public final void rule__UnaryOperation__NecessityAssignment_1_0_0_11_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38841:1: ( ( ruleNecessity ) )
            // InternalRosetta.g:38842:2: ( ruleNecessity )
            {
            // InternalRosetta.g:38842:2: ( ruleNecessity )
            // InternalRosetta.g:38843:3: ruleNecessity
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getNecessityNecessityEnumRuleCall_1_0_0_11_1_0()); }
            pushFollow(FOLLOW_2);
            ruleNecessity(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getNecessityNecessityEnumRuleCall_1_0_0_11_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__NecessityAssignment_1_0_0_11_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_11_2"
    // InternalRosetta.g:38852:1: rule__UnaryOperation__OperatorAssignment_1_0_0_11_2 : ( ( 'choice' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_11_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38856:1: ( ( ( 'choice' ) ) )
            // InternalRosetta.g:38857:2: ( ( 'choice' ) )
            {
            // InternalRosetta.g:38857:2: ( ( 'choice' ) )
            // InternalRosetta.g:38858:3: ( 'choice' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_1_0_0_11_2_0()); }
            // InternalRosetta.g:38859:3: ( 'choice' )
            // InternalRosetta.g:38860:4: 'choice'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_1_0_0_11_2_0()); }
            match(input,70,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_1_0_0_11_2_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_1_0_0_11_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_11_2"
    // $ANTLR start "rule__UnaryOperation__AttributesAssignment_1_0_0_11_3"
    // InternalRosetta.g:38871:1: rule__UnaryOperation__AttributesAssignment_1_0_0_11_3 : ( ( ruleValidID ) ) ;
    public final void rule__UnaryOperation__AttributesAssignment_1_0_0_11_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38875:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:38876:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:38876:2: ( ( ruleValidID ) )
            // InternalRosetta.g:38877:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_1_0_0_11_3_0()); }
            // InternalRosetta.g:38878:3: ( ruleValidID )
            // InternalRosetta.g:38879:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_1_0_0_11_3_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_1_0_0_11_3_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_1_0_0_11_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__AttributesAssignment_1_0_0_11_3"
    // $ANTLR start "rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1"
    // InternalRosetta.g:38890:1: rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1 : ( ( ruleValidID ) ) ;
    public final void rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38894:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:38895:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:38895:2: ( ( ruleValidID ) )
            // InternalRosetta.g:38896:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_1_0_0_11_4_0_1_0()); }
            // InternalRosetta.g:38897:3: ( ruleValidID )
            // InternalRosetta.g:38898:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_1_0_0_11_4_0_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_1_0_0_11_4_0_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_1_0_0_11_4_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__AttributesAssignment_1_0_0_11_4_0_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_12_1"
    // InternalRosetta.g:38909:1: rule__UnaryOperation__OperatorAssignment_1_0_0_12_1 : ( ( 'to-string' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_12_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38913:1: ( ( ( 'to-string' ) ) )
            // InternalRosetta.g:38914:2: ( ( 'to-string' ) )
            {
            // InternalRosetta.g:38914:2: ( ( 'to-string' ) )
            // InternalRosetta.g:38915:3: ( 'to-string' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_1_0_0_12_1_0()); }
            // InternalRosetta.g:38916:3: ( 'to-string' )
            // InternalRosetta.g:38917:4: 'to-string'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_1_0_0_12_1_0()); }
            match(input,151,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_1_0_0_12_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_1_0_0_12_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_12_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_13_1"
    // InternalRosetta.g:38928:1: rule__UnaryOperation__OperatorAssignment_1_0_0_13_1 : ( ( 'to-number' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_13_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38932:1: ( ( ( 'to-number' ) ) )
            // InternalRosetta.g:38933:2: ( ( 'to-number' ) )
            {
            // InternalRosetta.g:38933:2: ( ( 'to-number' ) )
            // InternalRosetta.g:38934:3: ( 'to-number' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_1_0_0_13_1_0()); }
            // InternalRosetta.g:38935:3: ( 'to-number' )
            // InternalRosetta.g:38936:4: 'to-number'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_1_0_0_13_1_0()); }
            match(input,152,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_1_0_0_13_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_1_0_0_13_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_13_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_14_1"
    // InternalRosetta.g:38947:1: rule__UnaryOperation__OperatorAssignment_1_0_0_14_1 : ( ( 'to-int' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_14_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38951:1: ( ( ( 'to-int' ) ) )
            // InternalRosetta.g:38952:2: ( ( 'to-int' ) )
            {
            // InternalRosetta.g:38952:2: ( ( 'to-int' ) )
            // InternalRosetta.g:38953:3: ( 'to-int' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_1_0_0_14_1_0()); }
            // InternalRosetta.g:38954:3: ( 'to-int' )
            // InternalRosetta.g:38955:4: 'to-int'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_1_0_0_14_1_0()); }
            match(input,153,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_1_0_0_14_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_1_0_0_14_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_14_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_15_1"
    // InternalRosetta.g:38966:1: rule__UnaryOperation__OperatorAssignment_1_0_0_15_1 : ( ( 'to-time' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_15_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38970:1: ( ( ( 'to-time' ) ) )
            // InternalRosetta.g:38971:2: ( ( 'to-time' ) )
            {
            // InternalRosetta.g:38971:2: ( ( 'to-time' ) )
            // InternalRosetta.g:38972:3: ( 'to-time' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_1_0_0_15_1_0()); }
            // InternalRosetta.g:38973:3: ( 'to-time' )
            // InternalRosetta.g:38974:4: 'to-time'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_1_0_0_15_1_0()); }
            match(input,154,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_1_0_0_15_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_1_0_0_15_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_15_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_16_1"
    // InternalRosetta.g:38985:1: rule__UnaryOperation__OperatorAssignment_1_0_0_16_1 : ( ( 'to-enum' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_16_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:38989:1: ( ( ( 'to-enum' ) ) )
            // InternalRosetta.g:38990:2: ( ( 'to-enum' ) )
            {
            // InternalRosetta.g:38990:2: ( ( 'to-enum' ) )
            // InternalRosetta.g:38991:3: ( 'to-enum' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_1_0_0_16_1_0()); }
            // InternalRosetta.g:38992:3: ( 'to-enum' )
            // InternalRosetta.g:38993:4: 'to-enum'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_1_0_0_16_1_0()); }
            match(input,155,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_1_0_0_16_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_1_0_0_16_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_16_1"
    // $ANTLR start "rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2"
    // InternalRosetta.g:39004:1: rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39008:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:39009:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:39009:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:39010:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationCrossReference_1_0_0_16_2_0()); }
            // InternalRosetta.g:39011:3: ( ruleQualifiedName )
            // InternalRosetta.g:39012:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationQualifiedNameParserRuleCall_1_0_0_16_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationQualifiedNameParserRuleCall_1_0_0_16_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationCrossReference_1_0_0_16_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__EnumerationAssignment_1_0_0_16_2"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_17_1"
    // InternalRosetta.g:39023:1: rule__UnaryOperation__OperatorAssignment_1_0_0_17_1 : ( ( 'to-date' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_17_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39027:1: ( ( ( 'to-date' ) ) )
            // InternalRosetta.g:39028:2: ( ( 'to-date' ) )
            {
            // InternalRosetta.g:39028:2: ( ( 'to-date' ) )
            // InternalRosetta.g:39029:3: ( 'to-date' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_1_0_0_17_1_0()); }
            // InternalRosetta.g:39030:3: ( 'to-date' )
            // InternalRosetta.g:39031:4: 'to-date'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_1_0_0_17_1_0()); }
            match(input,156,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_1_0_0_17_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_1_0_0_17_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_17_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_18_1"
    // InternalRosetta.g:39042:1: rule__UnaryOperation__OperatorAssignment_1_0_0_18_1 : ( ( 'to-date-time' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_18_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39046:1: ( ( ( 'to-date-time' ) ) )
            // InternalRosetta.g:39047:2: ( ( 'to-date-time' ) )
            {
            // InternalRosetta.g:39047:2: ( ( 'to-date-time' ) )
            // InternalRosetta.g:39048:3: ( 'to-date-time' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_1_0_0_18_1_0()); }
            // InternalRosetta.g:39049:3: ( 'to-date-time' )
            // InternalRosetta.g:39050:4: 'to-date-time'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_1_0_0_18_1_0()); }
            match(input,157,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_1_0_0_18_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_1_0_0_18_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_18_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_19_1"
    // InternalRosetta.g:39061:1: rule__UnaryOperation__OperatorAssignment_1_0_0_19_1 : ( ( 'to-zoned-date-time' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_19_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39065:1: ( ( ( 'to-zoned-date-time' ) ) )
            // InternalRosetta.g:39066:2: ( ( 'to-zoned-date-time' ) )
            {
            // InternalRosetta.g:39066:2: ( ( 'to-zoned-date-time' ) )
            // InternalRosetta.g:39067:3: ( 'to-zoned-date-time' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_1_0_0_19_1_0()); }
            // InternalRosetta.g:39068:3: ( 'to-zoned-date-time' )
            // InternalRosetta.g:39069:4: 'to-zoned-date-time'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_1_0_0_19_1_0()); }
            match(input,158,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_1_0_0_19_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_1_0_0_19_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_19_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_0_20_1"
    // InternalRosetta.g:39080:1: rule__UnaryOperation__OperatorAssignment_1_0_0_20_1 : ( ( 'switch' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_0_20_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39084:1: ( ( ( 'switch' ) ) )
            // InternalRosetta.g:39085:2: ( ( 'switch' ) )
            {
            // InternalRosetta.g:39085:2: ( ( 'switch' ) )
            // InternalRosetta.g:39086:3: ( 'switch' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_1_0_0_20_1_0()); }
            // InternalRosetta.g:39087:3: ( 'switch' )
            // InternalRosetta.g:39088:4: 'switch'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_1_0_0_20_1_0()); }
            match(input,159,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_1_0_0_20_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_1_0_0_20_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_0_20_1"
    // $ANTLR start "rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0"
    // InternalRosetta.g:39099:1: rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0 : ( ruleSwitchCase ) ;
    public final void rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39103:1: ( ( ruleSwitchCase ) )
            // InternalRosetta.g:39104:2: ( ruleSwitchCase )
            {
            // InternalRosetta.g:39104:2: ( ruleSwitchCase )
            // InternalRosetta.g:39105:3: ruleSwitchCase
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_1_0_0_20_2_0_0_0()); }
            pushFollow(FOLLOW_2);
            ruleSwitchCase(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_1_0_0_20_2_0_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_0"
    // $ANTLR start "rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1"
    // InternalRosetta.g:39114:1: rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1 : ( ruleSwitchCase ) ;
    public final void rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39118:1: ( ( ruleSwitchCase ) )
            // InternalRosetta.g:39119:2: ( ruleSwitchCase )
            {
            // InternalRosetta.g:39119:2: ( ruleSwitchCase )
            // InternalRosetta.g:39120:3: ruleSwitchCase
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_1_0_0_20_2_0_1_0_1_0()); }
            pushFollow(FOLLOW_2);
            ruleSwitchCase(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_1_0_0_20_2_0_1_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__CasesAssignment_1_0_0_20_2_0_1_0_1"
    // $ANTLR start "rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2"
    // InternalRosetta.g:39129:1: rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2 : ( ruleRosettaCalcExpression ) ;
    public final void rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39133:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:39134:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:39134:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:39135:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_1_0_0_20_2_0_2_0_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_1_0_0_20_2_0_2_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_0_2_0_2"
    // $ANTLR start "rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1"
    // InternalRosetta.g:39144:1: rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1 : ( ruleRosettaCalcExpression ) ;
    public final void rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39148:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:39149:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:39149:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:39150:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_1_0_0_20_2_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_1_0_0_20_2_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__DefaultAssignment_1_0_0_20_2_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1"
    // InternalRosetta.g:39159:1: rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1 : ( ( 'sort' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39163:1: ( ( ( 'sort' ) ) )
            // InternalRosetta.g:39164:2: ( ( 'sort' ) )
            {
            // InternalRosetta.g:39164:2: ( ( 'sort' ) )
            // InternalRosetta.g:39165:3: ( 'sort' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_1_0_1_0_0_1_0()); }
            // InternalRosetta.g:39166:3: ( 'sort' )
            // InternalRosetta.g:39167:4: 'sort'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_1_0_1_0_0_1_0()); }
            match(input,160,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_1_0_1_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_1_0_1_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_1_0_0_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1"
    // InternalRosetta.g:39178:1: rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1 : ( ( 'min' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39182:1: ( ( ( 'min' ) ) )
            // InternalRosetta.g:39183:2: ( ( 'min' ) )
            {
            // InternalRosetta.g:39183:2: ( ( 'min' ) )
            // InternalRosetta.g:39184:3: ( 'min' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_1_0_1_0_1_1_0()); }
            // InternalRosetta.g:39185:3: ( 'min' )
            // InternalRosetta.g:39186:4: 'min'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_1_0_1_0_1_1_0()); }
            match(input,12,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_1_0_1_0_1_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_1_0_1_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_1_0_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1"
    // InternalRosetta.g:39197:1: rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1 : ( ( 'max' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39201:1: ( ( ( 'max' ) ) )
            // InternalRosetta.g:39202:2: ( ( 'max' ) )
            {
            // InternalRosetta.g:39202:2: ( ( 'max' ) )
            // InternalRosetta.g:39203:3: ( 'max' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_1_0_1_0_2_1_0()); }
            // InternalRosetta.g:39204:3: ( 'max' )
            // InternalRosetta.g:39205:4: 'max'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_1_0_1_0_2_1_0()); }
            match(input,13,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_1_0_1_0_2_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_1_0_1_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_1_0_2_1"
    // $ANTLR start "rule__UnaryOperation__FunctionAssignment_1_0_1_1"
    // InternalRosetta.g:39216:1: rule__UnaryOperation__FunctionAssignment_1_0_1_1 : ( ruleInlineFunction ) ;
    public final void rule__UnaryOperation__FunctionAssignment_1_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39220:1: ( ( ruleInlineFunction ) )
            // InternalRosetta.g:39221:2: ( ruleInlineFunction )
            {
            // InternalRosetta.g:39221:2: ( ruleInlineFunction )
            // InternalRosetta.g:39222:3: ruleInlineFunction
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_1_0_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_1_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FunctionAssignment_1_0_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1"
    // InternalRosetta.g:39231:1: rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1 : ( ( 'reduce' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39235:1: ( ( ( 'reduce' ) ) )
            // InternalRosetta.g:39236:2: ( ( 'reduce' ) )
            {
            // InternalRosetta.g:39236:2: ( ( 'reduce' ) )
            // InternalRosetta.g:39237:3: ( 'reduce' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_1_0_2_0_0_1_0()); }
            // InternalRosetta.g:39238:3: ( 'reduce' )
            // InternalRosetta.g:39239:4: 'reduce'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_1_0_2_0_0_1_0()); }
            match(input,161,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_1_0_2_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_1_0_2_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_2_0_0_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1"
    // InternalRosetta.g:39250:1: rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1 : ( ( 'filter' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39254:1: ( ( ( 'filter' ) ) )
            // InternalRosetta.g:39255:2: ( ( 'filter' ) )
            {
            // InternalRosetta.g:39255:2: ( ( 'filter' ) )
            // InternalRosetta.g:39256:3: ( 'filter' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_1_0_2_0_1_1_0()); }
            // InternalRosetta.g:39257:3: ( 'filter' )
            // InternalRosetta.g:39258:4: 'filter'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_1_0_2_0_1_1_0()); }
            match(input,162,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_1_0_2_0_1_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_1_0_2_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_2_0_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1"
    // InternalRosetta.g:39269:1: rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1 : ( ( rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0 ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39273:1: ( ( ( rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0 ) ) )
            // InternalRosetta.g:39274:2: ( ( rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0 ) )
            {
            // InternalRosetta.g:39274:2: ( ( rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0 ) )
            // InternalRosetta.g:39275:3: ( rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAlternatives_1_0_2_0_2_1_0()); }
            // InternalRosetta.g:39276:3: ( rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0 )
            // InternalRosetta.g:39276:4: rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAlternatives_1_0_2_0_2_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAlternatives_1_0_2_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_0_2_0_2_1"
    // $ANTLR start "rule__UnaryOperation__FunctionAssignment_1_0_2_1_0"
    // InternalRosetta.g:39284:1: rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 : ( ruleInlineFunction ) ;
    public final void rule__UnaryOperation__FunctionAssignment_1_0_2_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39288:1: ( ( ruleInlineFunction ) )
            // InternalRosetta.g:39289:2: ( ruleInlineFunction )
            {
            // InternalRosetta.g:39289:2: ( ruleInlineFunction )
            // InternalRosetta.g:39290:3: ruleInlineFunction
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_1_0_2_1_0_0()); }
            pushFollow(FOLLOW_2);
            ruleInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_1_0_2_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FunctionAssignment_1_0_2_1_0"
    // $ANTLR start "rule__UnaryOperation__FunctionAssignment_1_0_2_1_1"
    // InternalRosetta.g:39299:1: rule__UnaryOperation__FunctionAssignment_1_0_2_1_1 : ( ruleImplicitInlineFunction ) ;
    public final void rule__UnaryOperation__FunctionAssignment_1_0_2_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39303:1: ( ( ruleImplicitInlineFunction ) )
            // InternalRosetta.g:39304:2: ( ruleImplicitInlineFunction )
            {
            // InternalRosetta.g:39304:2: ( ruleImplicitInlineFunction )
            // InternalRosetta.g:39305:3: ruleImplicitInlineFunction
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionImplicitInlineFunctionParserRuleCall_1_0_2_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleImplicitInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionImplicitInlineFunctionParserRuleCall_1_0_2_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FunctionAssignment_1_0_2_1_1"
    // $ANTLR start "rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2"
    // InternalRosetta.g:39314:1: rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2 : ( ( ruleValidID ) ) ;
    public final void rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39318:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:39319:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:39319:2: ( ( ruleValidID ) )
            // InternalRosetta.g:39320:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureRosettaFeatureCrossReference_1_1_0_0_0_2_0()); }
            // InternalRosetta.g:39321:3: ( ruleValidID )
            // InternalRosetta.g:39322:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureRosettaFeatureValidIDParserRuleCall_1_1_0_0_0_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureRosettaFeatureValidIDParserRuleCall_1_1_0_0_0_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureRosettaFeatureCrossReference_1_1_0_0_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2"
    // $ANTLR start "rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2"
    // InternalRosetta.g:39333:1: rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2 : ( ( ruleValidID ) ) ;
    public final void rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39337:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:39338:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:39338:2: ( ( ruleValidID ) )
            // InternalRosetta.g:39339:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureAttributeCrossReference_1_1_0_0_1_2_0()); }
            // InternalRosetta.g:39340:3: ( ruleValidID )
            // InternalRosetta.g:39341:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFeatureAttributeValidIDParserRuleCall_1_1_0_0_1_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureAttributeValidIDParserRuleCall_1_1_0_0_1_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFeatureAttributeCrossReference_1_1_0_0_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2"
    // $ANTLR start "rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1"
    // InternalRosetta.g:39352:1: rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1 : ( ruleExistsModifier ) ;
    public final void rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39356:1: ( ( ruleExistsModifier ) )
            // InternalRosetta.g:39357:2: ( ruleExistsModifier )
            {
            // InternalRosetta.g:39357:2: ( ruleExistsModifier )
            // InternalRosetta.g:39358:3: ruleExistsModifier
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getModifierExistsModifierEnumRuleCall_1_1_0_0_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleExistsModifier(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getModifierExistsModifierEnumRuleCall_1_1_0_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__ModifierAssignment_1_1_0_0_2_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2"
    // InternalRosetta.g:39367:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2 : ( ( 'exists' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39371:1: ( ( ( 'exists' ) ) )
            // InternalRosetta.g:39372:2: ( ( 'exists' ) )
            {
            // InternalRosetta.g:39372:2: ( ( 'exists' ) )
            // InternalRosetta.g:39373:3: ( 'exists' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_1_1_0_0_2_2_0()); }
            // InternalRosetta.g:39374:3: ( 'exists' )
            // InternalRosetta.g:39375:4: 'exists'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_1_1_0_0_2_2_0()); }
            match(input,105,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_1_1_0_0_2_2_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorExistsKeyword_1_1_0_0_2_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_2_2"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2"
    // InternalRosetta.g:39386:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2 : ( ( 'absent' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39390:1: ( ( ( 'absent' ) ) )
            // InternalRosetta.g:39391:2: ( ( 'absent' ) )
            {
            // InternalRosetta.g:39391:2: ( ( 'absent' ) )
            // InternalRosetta.g:39392:3: ( 'absent' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_1_1_0_0_3_2_0()); }
            // InternalRosetta.g:39393:3: ( 'absent' )
            // InternalRosetta.g:39394:4: 'absent'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_1_1_0_0_3_2_0()); }
            match(input,107,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_1_1_0_0_3_2_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAbsentKeyword_1_1_0_0_3_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_3_2"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1"
    // InternalRosetta.g:39405:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1 : ( ( 'only-element' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39409:1: ( ( ( 'only-element' ) ) )
            // InternalRosetta.g:39410:2: ( ( 'only-element' ) )
            {
            // InternalRosetta.g:39410:2: ( ( 'only-element' ) )
            // InternalRosetta.g:39411:3: ( 'only-element' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_1_1_0_0_4_1_0()); }
            // InternalRosetta.g:39412:3: ( 'only-element' )
            // InternalRosetta.g:39413:4: 'only-element'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_1_1_0_0_4_1_0()); }
            match(input,142,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_1_1_0_0_4_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOnlyElementKeyword_1_1_0_0_4_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_4_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1"
    // InternalRosetta.g:39424:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1 : ( ( 'count' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39428:1: ( ( ( 'count' ) ) )
            // InternalRosetta.g:39429:2: ( ( 'count' ) )
            {
            // InternalRosetta.g:39429:2: ( ( 'count' ) )
            // InternalRosetta.g:39430:3: ( 'count' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_1_1_0_0_5_1_0()); }
            // InternalRosetta.g:39431:3: ( 'count' )
            // InternalRosetta.g:39432:4: 'count'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_1_1_0_0_5_1_0()); }
            match(input,143,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_1_1_0_0_5_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorCountKeyword_1_1_0_0_5_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_5_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1"
    // InternalRosetta.g:39443:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1 : ( ( 'flatten' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39447:1: ( ( ( 'flatten' ) ) )
            // InternalRosetta.g:39448:2: ( ( 'flatten' ) )
            {
            // InternalRosetta.g:39448:2: ( ( 'flatten' ) )
            // InternalRosetta.g:39449:3: ( 'flatten' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_1_1_0_0_6_1_0()); }
            // InternalRosetta.g:39450:3: ( 'flatten' )
            // InternalRosetta.g:39451:4: 'flatten'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_1_1_0_0_6_1_0()); }
            match(input,144,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_1_1_0_0_6_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFlattenKeyword_1_1_0_0_6_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_6_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1"
    // InternalRosetta.g:39462:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1 : ( ( 'distinct' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39466:1: ( ( ( 'distinct' ) ) )
            // InternalRosetta.g:39467:2: ( ( 'distinct' ) )
            {
            // InternalRosetta.g:39467:2: ( ( 'distinct' ) )
            // InternalRosetta.g:39468:3: ( 'distinct' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_1_1_0_0_7_1_0()); }
            // InternalRosetta.g:39469:3: ( 'distinct' )
            // InternalRosetta.g:39470:4: 'distinct'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_1_1_0_0_7_1_0()); }
            match(input,145,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_1_1_0_0_7_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorDistinctKeyword_1_1_0_0_7_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_7_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1"
    // InternalRosetta.g:39481:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1 : ( ( 'reverse' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39485:1: ( ( ( 'reverse' ) ) )
            // InternalRosetta.g:39486:2: ( ( 'reverse' ) )
            {
            // InternalRosetta.g:39486:2: ( ( 'reverse' ) )
            // InternalRosetta.g:39487:3: ( 'reverse' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_1_1_0_0_8_1_0()); }
            // InternalRosetta.g:39488:3: ( 'reverse' )
            // InternalRosetta.g:39489:4: 'reverse'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_1_1_0_0_8_1_0()); }
            match(input,146,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_1_1_0_0_8_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReverseKeyword_1_1_0_0_8_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_8_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1"
    // InternalRosetta.g:39500:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1 : ( ( 'first' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39504:1: ( ( ( 'first' ) ) )
            // InternalRosetta.g:39505:2: ( ( 'first' ) )
            {
            // InternalRosetta.g:39505:2: ( ( 'first' ) )
            // InternalRosetta.g:39506:3: ( 'first' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_1_1_0_0_9_1_0()); }
            // InternalRosetta.g:39507:3: ( 'first' )
            // InternalRosetta.g:39508:4: 'first'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_1_1_0_0_9_1_0()); }
            match(input,147,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_1_1_0_0_9_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFirstKeyword_1_1_0_0_9_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_9_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1"
    // InternalRosetta.g:39519:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1 : ( ( 'last' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39523:1: ( ( ( 'last' ) ) )
            // InternalRosetta.g:39524:2: ( ( 'last' ) )
            {
            // InternalRosetta.g:39524:2: ( ( 'last' ) )
            // InternalRosetta.g:39525:3: ( 'last' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_1_1_0_0_10_1_0()); }
            // InternalRosetta.g:39526:3: ( 'last' )
            // InternalRosetta.g:39527:4: 'last'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_1_1_0_0_10_1_0()); }
            match(input,148,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_1_1_0_0_10_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorLastKeyword_1_1_0_0_10_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_10_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1"
    // InternalRosetta.g:39538:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1 : ( ( 'sum' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39542:1: ( ( ( 'sum' ) ) )
            // InternalRosetta.g:39543:2: ( ( 'sum' ) )
            {
            // InternalRosetta.g:39543:2: ( ( 'sum' ) )
            // InternalRosetta.g:39544:3: ( 'sum' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_1_1_0_0_11_1_0()); }
            // InternalRosetta.g:39545:3: ( 'sum' )
            // InternalRosetta.g:39546:4: 'sum'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_1_1_0_0_11_1_0()); }
            match(input,149,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_1_1_0_0_11_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSumKeyword_1_1_0_0_11_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_11_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1"
    // InternalRosetta.g:39557:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1 : ( ( 'one-of' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39561:1: ( ( ( 'one-of' ) ) )
            // InternalRosetta.g:39562:2: ( ( 'one-of' ) )
            {
            // InternalRosetta.g:39562:2: ( ( 'one-of' ) )
            // InternalRosetta.g:39563:3: ( 'one-of' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_1_1_0_0_12_1_0()); }
            // InternalRosetta.g:39564:3: ( 'one-of' )
            // InternalRosetta.g:39565:4: 'one-of'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_1_1_0_0_12_1_0()); }
            match(input,150,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_1_1_0_0_12_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorOneOfKeyword_1_1_0_0_12_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_12_1"
    // $ANTLR start "rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1"
    // InternalRosetta.g:39576:1: rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1 : ( ruleNecessity ) ;
    public final void rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39580:1: ( ( ruleNecessity ) )
            // InternalRosetta.g:39581:2: ( ruleNecessity )
            {
            // InternalRosetta.g:39581:2: ( ruleNecessity )
            // InternalRosetta.g:39582:3: ruleNecessity
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getNecessityNecessityEnumRuleCall_1_1_0_0_13_1_0()); }
            pushFollow(FOLLOW_2);
            ruleNecessity(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getNecessityNecessityEnumRuleCall_1_1_0_0_13_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__NecessityAssignment_1_1_0_0_13_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2"
    // InternalRosetta.g:39591:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2 : ( ( 'choice' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39595:1: ( ( ( 'choice' ) ) )
            // InternalRosetta.g:39596:2: ( ( 'choice' ) )
            {
            // InternalRosetta.g:39596:2: ( ( 'choice' ) )
            // InternalRosetta.g:39597:3: ( 'choice' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_1_1_0_0_13_2_0()); }
            // InternalRosetta.g:39598:3: ( 'choice' )
            // InternalRosetta.g:39599:4: 'choice'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_1_1_0_0_13_2_0()); }
            match(input,70,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_1_1_0_0_13_2_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorChoiceKeyword_1_1_0_0_13_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_13_2"
    // $ANTLR start "rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3"
    // InternalRosetta.g:39610:1: rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3 : ( ( ruleValidID ) ) ;
    public final void rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39614:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:39615:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:39615:2: ( ( ruleValidID ) )
            // InternalRosetta.g:39616:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_1_1_0_0_13_3_0()); }
            // InternalRosetta.g:39617:3: ( ruleValidID )
            // InternalRosetta.g:39618:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_1_1_0_0_13_3_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_1_1_0_0_13_3_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_1_1_0_0_13_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_3"
    // $ANTLR start "rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1"
    // InternalRosetta.g:39629:1: rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1 : ( ( ruleValidID ) ) ;
    public final void rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39633:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:39634:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:39634:2: ( ( ruleValidID ) )
            // InternalRosetta.g:39635:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_1_1_0_0_13_4_0_1_0()); }
            // InternalRosetta.g:39636:3: ( ruleValidID )
            // InternalRosetta.g:39637:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_1_1_0_0_13_4_0_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeValidIDParserRuleCall_1_1_0_0_13_4_0_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getAttributesAttributeCrossReference_1_1_0_0_13_4_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__AttributesAssignment_1_1_0_0_13_4_0_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1"
    // InternalRosetta.g:39648:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1 : ( ( 'to-string' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39652:1: ( ( ( 'to-string' ) ) )
            // InternalRosetta.g:39653:2: ( ( 'to-string' ) )
            {
            // InternalRosetta.g:39653:2: ( ( 'to-string' ) )
            // InternalRosetta.g:39654:3: ( 'to-string' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_1_1_0_0_14_1_0()); }
            // InternalRosetta.g:39655:3: ( 'to-string' )
            // InternalRosetta.g:39656:4: 'to-string'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_1_1_0_0_14_1_0()); }
            match(input,151,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_1_1_0_0_14_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToStringKeyword_1_1_0_0_14_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_14_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1"
    // InternalRosetta.g:39667:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1 : ( ( 'to-number' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39671:1: ( ( ( 'to-number' ) ) )
            // InternalRosetta.g:39672:2: ( ( 'to-number' ) )
            {
            // InternalRosetta.g:39672:2: ( ( 'to-number' ) )
            // InternalRosetta.g:39673:3: ( 'to-number' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_1_1_0_0_15_1_0()); }
            // InternalRosetta.g:39674:3: ( 'to-number' )
            // InternalRosetta.g:39675:4: 'to-number'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_1_1_0_0_15_1_0()); }
            match(input,152,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_1_1_0_0_15_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToNumberKeyword_1_1_0_0_15_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_15_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1"
    // InternalRosetta.g:39686:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1 : ( ( 'to-int' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39690:1: ( ( ( 'to-int' ) ) )
            // InternalRosetta.g:39691:2: ( ( 'to-int' ) )
            {
            // InternalRosetta.g:39691:2: ( ( 'to-int' ) )
            // InternalRosetta.g:39692:3: ( 'to-int' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_1_1_0_0_16_1_0()); }
            // InternalRosetta.g:39693:3: ( 'to-int' )
            // InternalRosetta.g:39694:4: 'to-int'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_1_1_0_0_16_1_0()); }
            match(input,153,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_1_1_0_0_16_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToIntKeyword_1_1_0_0_16_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_16_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1"
    // InternalRosetta.g:39705:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1 : ( ( 'to-time' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39709:1: ( ( ( 'to-time' ) ) )
            // InternalRosetta.g:39710:2: ( ( 'to-time' ) )
            {
            // InternalRosetta.g:39710:2: ( ( 'to-time' ) )
            // InternalRosetta.g:39711:3: ( 'to-time' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_1_1_0_0_17_1_0()); }
            // InternalRosetta.g:39712:3: ( 'to-time' )
            // InternalRosetta.g:39713:4: 'to-time'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_1_1_0_0_17_1_0()); }
            match(input,154,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_1_1_0_0_17_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToTimeKeyword_1_1_0_0_17_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_17_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1"
    // InternalRosetta.g:39724:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1 : ( ( 'to-enum' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39728:1: ( ( ( 'to-enum' ) ) )
            // InternalRosetta.g:39729:2: ( ( 'to-enum' ) )
            {
            // InternalRosetta.g:39729:2: ( ( 'to-enum' ) )
            // InternalRosetta.g:39730:3: ( 'to-enum' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_1_1_0_0_18_1_0()); }
            // InternalRosetta.g:39731:3: ( 'to-enum' )
            // InternalRosetta.g:39732:4: 'to-enum'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_1_1_0_0_18_1_0()); }
            match(input,155,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_1_1_0_0_18_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToEnumKeyword_1_1_0_0_18_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_18_1"
    // $ANTLR start "rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2"
    // InternalRosetta.g:39743:1: rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39747:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:39748:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:39748:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:39749:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationCrossReference_1_1_0_0_18_2_0()); }
            // InternalRosetta.g:39750:3: ( ruleQualifiedName )
            // InternalRosetta.g:39751:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationQualifiedNameParserRuleCall_1_1_0_0_18_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationQualifiedNameParserRuleCall_1_1_0_0_18_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getEnumerationRosettaEnumerationCrossReference_1_1_0_0_18_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__EnumerationAssignment_1_1_0_0_18_2"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1"
    // InternalRosetta.g:39762:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1 : ( ( 'to-date' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39766:1: ( ( ( 'to-date' ) ) )
            // InternalRosetta.g:39767:2: ( ( 'to-date' ) )
            {
            // InternalRosetta.g:39767:2: ( ( 'to-date' ) )
            // InternalRosetta.g:39768:3: ( 'to-date' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_1_1_0_0_19_1_0()); }
            // InternalRosetta.g:39769:3: ( 'to-date' )
            // InternalRosetta.g:39770:4: 'to-date'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_1_1_0_0_19_1_0()); }
            match(input,156,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_1_1_0_0_19_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateKeyword_1_1_0_0_19_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_19_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1"
    // InternalRosetta.g:39781:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1 : ( ( 'to-date-time' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39785:1: ( ( ( 'to-date-time' ) ) )
            // InternalRosetta.g:39786:2: ( ( 'to-date-time' ) )
            {
            // InternalRosetta.g:39786:2: ( ( 'to-date-time' ) )
            // InternalRosetta.g:39787:3: ( 'to-date-time' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_1_1_0_0_20_1_0()); }
            // InternalRosetta.g:39788:3: ( 'to-date-time' )
            // InternalRosetta.g:39789:4: 'to-date-time'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_1_1_0_0_20_1_0()); }
            match(input,157,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_1_1_0_0_20_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToDateTimeKeyword_1_1_0_0_20_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_20_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1"
    // InternalRosetta.g:39800:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1 : ( ( 'to-zoned-date-time' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39804:1: ( ( ( 'to-zoned-date-time' ) ) )
            // InternalRosetta.g:39805:2: ( ( 'to-zoned-date-time' ) )
            {
            // InternalRosetta.g:39805:2: ( ( 'to-zoned-date-time' ) )
            // InternalRosetta.g:39806:3: ( 'to-zoned-date-time' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_1_1_0_0_21_1_0()); }
            // InternalRosetta.g:39807:3: ( 'to-zoned-date-time' )
            // InternalRosetta.g:39808:4: 'to-zoned-date-time'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_1_1_0_0_21_1_0()); }
            match(input,158,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_1_1_0_0_21_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorToZonedDateTimeKeyword_1_1_0_0_21_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_21_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1"
    // InternalRosetta.g:39819:1: rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1 : ( ( 'switch' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39823:1: ( ( ( 'switch' ) ) )
            // InternalRosetta.g:39824:2: ( ( 'switch' ) )
            {
            // InternalRosetta.g:39824:2: ( ( 'switch' ) )
            // InternalRosetta.g:39825:3: ( 'switch' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_1_1_0_0_22_1_0()); }
            // InternalRosetta.g:39826:3: ( 'switch' )
            // InternalRosetta.g:39827:4: 'switch'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_1_1_0_0_22_1_0()); }
            match(input,159,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_1_1_0_0_22_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSwitchKeyword_1_1_0_0_22_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_0_0_22_1"
    // $ANTLR start "rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0"
    // InternalRosetta.g:39838:1: rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0 : ( ruleSwitchCase ) ;
    public final void rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39842:1: ( ( ruleSwitchCase ) )
            // InternalRosetta.g:39843:2: ( ruleSwitchCase )
            {
            // InternalRosetta.g:39843:2: ( ruleSwitchCase )
            // InternalRosetta.g:39844:3: ruleSwitchCase
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_1_1_0_0_22_2_0_0_0()); }
            pushFollow(FOLLOW_2);
            ruleSwitchCase(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_1_1_0_0_22_2_0_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_0"
    // $ANTLR start "rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1"
    // InternalRosetta.g:39853:1: rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1 : ( ruleSwitchCase ) ;
    public final void rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39857:1: ( ( ruleSwitchCase ) )
            // InternalRosetta.g:39858:2: ( ruleSwitchCase )
            {
            // InternalRosetta.g:39858:2: ( ruleSwitchCase )
            // InternalRosetta.g:39859:3: ruleSwitchCase
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_1_1_0_0_22_2_0_1_0_1_0()); }
            pushFollow(FOLLOW_2);
            ruleSwitchCase(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getCasesSwitchCaseParserRuleCall_1_1_0_0_22_2_0_1_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__CasesAssignment_1_1_0_0_22_2_0_1_0_1"
    // $ANTLR start "rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2"
    // InternalRosetta.g:39868:1: rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2 : ( ruleRosettaCalcExpression ) ;
    public final void rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39872:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:39873:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:39873:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:39874:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_1_1_0_0_22_2_0_2_0_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_1_1_0_0_22_2_0_2_0_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_0_2_0_2"
    // $ANTLR start "rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1"
    // InternalRosetta.g:39883:1: rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1 : ( ruleRosettaCalcExpression ) ;
    public final void rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39887:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:39888:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:39888:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:39889:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_1_1_0_0_22_2_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getDefaultRosettaCalcExpressionParserRuleCall_1_1_0_0_22_2_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__DefaultAssignment_1_1_0_0_22_2_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1"
    // InternalRosetta.g:39898:1: rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1 : ( ( 'sort' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39902:1: ( ( ( 'sort' ) ) )
            // InternalRosetta.g:39903:2: ( ( 'sort' ) )
            {
            // InternalRosetta.g:39903:2: ( ( 'sort' ) )
            // InternalRosetta.g:39904:3: ( 'sort' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_1_1_1_0_0_0_1_0()); }
            // InternalRosetta.g:39905:3: ( 'sort' )
            // InternalRosetta.g:39906:4: 'sort'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_1_1_1_0_0_0_1_0()); }
            match(input,160,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_1_1_1_0_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorSortKeyword_1_1_1_0_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_0_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1"
    // InternalRosetta.g:39917:1: rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1 : ( ( 'min' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39921:1: ( ( ( 'min' ) ) )
            // InternalRosetta.g:39922:2: ( ( 'min' ) )
            {
            // InternalRosetta.g:39922:2: ( ( 'min' ) )
            // InternalRosetta.g:39923:3: ( 'min' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_1_1_1_0_0_1_1_0()); }
            // InternalRosetta.g:39924:3: ( 'min' )
            // InternalRosetta.g:39925:4: 'min'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_1_1_1_0_0_1_1_0()); }
            match(input,12,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_1_1_1_0_0_1_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMinKeyword_1_1_1_0_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1"
    // InternalRosetta.g:39936:1: rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1 : ( ( 'max' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39940:1: ( ( ( 'max' ) ) )
            // InternalRosetta.g:39941:2: ( ( 'max' ) )
            {
            // InternalRosetta.g:39941:2: ( ( 'max' ) )
            // InternalRosetta.g:39942:3: ( 'max' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_1_1_1_0_0_2_1_0()); }
            // InternalRosetta.g:39943:3: ( 'max' )
            // InternalRosetta.g:39944:4: 'max'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_1_1_1_0_0_2_1_0()); }
            match(input,13,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_1_1_1_0_0_2_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorMaxKeyword_1_1_1_0_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_1_0_0_2_1"
    // $ANTLR start "rule__UnaryOperation__FunctionAssignment_1_1_1_1"
    // InternalRosetta.g:39955:1: rule__UnaryOperation__FunctionAssignment_1_1_1_1 : ( ruleInlineFunction ) ;
    public final void rule__UnaryOperation__FunctionAssignment_1_1_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39959:1: ( ( ruleInlineFunction ) )
            // InternalRosetta.g:39960:2: ( ruleInlineFunction )
            {
            // InternalRosetta.g:39960:2: ( ruleInlineFunction )
            // InternalRosetta.g:39961:3: ruleInlineFunction
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_1_1_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_1_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FunctionAssignment_1_1_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1"
    // InternalRosetta.g:39970:1: rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1 : ( ( 'reduce' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39974:1: ( ( ( 'reduce' ) ) )
            // InternalRosetta.g:39975:2: ( ( 'reduce' ) )
            {
            // InternalRosetta.g:39975:2: ( ( 'reduce' ) )
            // InternalRosetta.g:39976:3: ( 'reduce' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_1_1_2_0_0_0_1_0()); }
            // InternalRosetta.g:39977:3: ( 'reduce' )
            // InternalRosetta.g:39978:4: 'reduce'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_1_1_2_0_0_0_1_0()); }
            match(input,161,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_1_1_2_0_0_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorReduceKeyword_1_1_2_0_0_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_0_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1"
    // InternalRosetta.g:39989:1: rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1 : ( ( 'filter' ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:39993:1: ( ( ( 'filter' ) ) )
            // InternalRosetta.g:39994:2: ( ( 'filter' ) )
            {
            // InternalRosetta.g:39994:2: ( ( 'filter' ) )
            // InternalRosetta.g:39995:3: ( 'filter' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_1_1_2_0_0_1_1_0()); }
            // InternalRosetta.g:39996:3: ( 'filter' )
            // InternalRosetta.g:39997:4: 'filter'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_1_1_2_0_0_1_1_0()); }
            match(input,162,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_1_1_2_0_0_1_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorFilterKeyword_1_1_2_0_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_1_1"
    // $ANTLR start "rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1"
    // InternalRosetta.g:40008:1: rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1 : ( ( rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0 ) ) ;
    public final void rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40012:1: ( ( ( rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0 ) ) )
            // InternalRosetta.g:40013:2: ( ( rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0 ) )
            {
            // InternalRosetta.g:40013:2: ( ( rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0 ) )
            // InternalRosetta.g:40014:3: ( rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getOperatorAlternatives_1_1_2_0_0_2_1_0()); }
            // InternalRosetta.g:40015:3: ( rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0 )
            // InternalRosetta.g:40015:4: rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0
            {
            pushFollow(FOLLOW_2);
            rule__UnaryOperation__OperatorAlternatives_1_1_2_0_0_2_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getOperatorAlternatives_1_1_2_0_0_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__OperatorAssignment_1_1_2_0_0_2_1"
    // $ANTLR start "rule__UnaryOperation__FunctionAssignment_1_1_2_1_0"
    // InternalRosetta.g:40023:1: rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 : ( ruleInlineFunction ) ;
    public final void rule__UnaryOperation__FunctionAssignment_1_1_2_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40027:1: ( ( ruleInlineFunction ) )
            // InternalRosetta.g:40028:2: ( ruleInlineFunction )
            {
            // InternalRosetta.g:40028:2: ( ruleInlineFunction )
            // InternalRosetta.g:40029:3: ruleInlineFunction
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_1_1_2_1_0_0()); }
            pushFollow(FOLLOW_2);
            ruleInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionInlineFunctionParserRuleCall_1_1_2_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FunctionAssignment_1_1_2_1_0"
    // $ANTLR start "rule__UnaryOperation__FunctionAssignment_1_1_2_1_1"
    // InternalRosetta.g:40038:1: rule__UnaryOperation__FunctionAssignment_1_1_2_1_1 : ( ruleImplicitInlineFunction ) ;
    public final void rule__UnaryOperation__FunctionAssignment_1_1_2_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40042:1: ( ( ruleImplicitInlineFunction ) )
            // InternalRosetta.g:40043:2: ( ruleImplicitInlineFunction )
            {
            // InternalRosetta.g:40043:2: ( ruleImplicitInlineFunction )
            // InternalRosetta.g:40044:3: ruleImplicitInlineFunction
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getUnaryOperationAccess().getFunctionImplicitInlineFunctionParserRuleCall_1_1_2_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleImplicitInlineFunction(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getUnaryOperationAccess().getFunctionImplicitInlineFunctionParserRuleCall_1_1_2_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__UnaryOperation__FunctionAssignment_1_1_2_1_1"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__TypeCallAssignment_1"
    // InternalRosetta.g:40053:1: rule__RosettaCalcConstructorExpression__TypeCallAssignment_1 : ( ruleTypeCall ) ;
    public final void rule__RosettaCalcConstructorExpression__TypeCallAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40057:1: ( ( ruleTypeCall ) )
            // InternalRosetta.g:40058:2: ( ruleTypeCall )
            {
            // InternalRosetta.g:40058:2: ( ruleTypeCall )
            // InternalRosetta.g:40059:3: ruleTypeCall
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getTypeCallTypeCallParserRuleCall_1_0()); }
            pushFollow(FOLLOW_2);
            ruleTypeCall(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getTypeCallTypeCallParserRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__TypeCallAssignment_1"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0"
    // InternalRosetta.g:40068:1: rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0 : ( ruleConstructorKeyValuePair ) ;
    public final void rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40072:1: ( ( ruleConstructorKeyValuePair ) )
            // InternalRosetta.g:40073:2: ( ruleConstructorKeyValuePair )
            {
            // InternalRosetta.g:40073:2: ( ruleConstructorKeyValuePair )
            // InternalRosetta.g:40074:3: ruleConstructorKeyValuePair
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getValuesConstructorKeyValuePairParserRuleCall_3_0_0_0()); }
            pushFollow(FOLLOW_2);
            ruleConstructorKeyValuePair(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getValuesConstructorKeyValuePairParserRuleCall_3_0_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_0"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1"
    // InternalRosetta.g:40083:1: rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1 : ( ruleConstructorKeyValuePair ) ;
    public final void rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40087:1: ( ( ruleConstructorKeyValuePair ) )
            // InternalRosetta.g:40088:2: ( ruleConstructorKeyValuePair )
            {
            // InternalRosetta.g:40088:2: ( ruleConstructorKeyValuePair )
            // InternalRosetta.g:40089:3: ruleConstructorKeyValuePair
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getValuesConstructorKeyValuePairParserRuleCall_3_0_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleConstructorKeyValuePair(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getValuesConstructorKeyValuePairParserRuleCall_3_0_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__ValuesAssignment_3_0_1_1"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1"
    // InternalRosetta.g:40098:1: rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1 : ( ( '...' ) ) ;
    public final void rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40102:1: ( ( ( '...' ) ) )
            // InternalRosetta.g:40103:2: ( ( '...' ) )
            {
            // InternalRosetta.g:40103:2: ( ( '...' ) )
            // InternalRosetta.g:40104:3: ( '...' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyFullStopFullStopFullStopKeyword_3_0_2_1_1_0()); }
            // InternalRosetta.g:40105:3: ( '...' )
            // InternalRosetta.g:40106:4: '...'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyFullStopFullStopFullStopKeyword_3_0_2_1_1_0()); }
            match(input,163,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyFullStopFullStopFullStopKeyword_3_0_2_1_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyFullStopFullStopFullStopKeyword_3_0_2_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_0_2_1_1"
    // $ANTLR start "rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1"
    // InternalRosetta.g:40117:1: rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1 : ( ( '...' ) ) ;
    public final void rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40121:1: ( ( ( '...' ) ) )
            // InternalRosetta.g:40122:2: ( ( '...' ) )
            {
            // InternalRosetta.g:40122:2: ( ( '...' ) )
            // InternalRosetta.g:40123:3: ( '...' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyFullStopFullStopFullStopKeyword_3_1_0()); }
            // InternalRosetta.g:40124:3: ( '...' )
            // InternalRosetta.g:40125:4: '...'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyFullStopFullStopFullStopKeyword_3_1_0()); }
            match(input,163,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyFullStopFullStopFullStopKeyword_3_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConstructorExpressionAccess().getImplicitEmptyFullStopFullStopFullStopKeyword_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConstructorExpression__ImplicitEmptyAssignment_3_1"
    // $ANTLR start "rule__ConstructorKeyValuePair__KeyAssignment_0"
    // InternalRosetta.g:40136:1: rule__ConstructorKeyValuePair__KeyAssignment_0 : ( ( ruleValidID ) ) ;
    public final void rule__ConstructorKeyValuePair__KeyAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40140:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:40141:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:40141:2: ( ( ruleValidID ) )
            // InternalRosetta.g:40142:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConstructorKeyValuePairAccess().getKeyRosettaFeatureCrossReference_0_0()); }
            // InternalRosetta.g:40143:3: ( ruleValidID )
            // InternalRosetta.g:40144:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConstructorKeyValuePairAccess().getKeyRosettaFeatureValidIDParserRuleCall_0_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getConstructorKeyValuePairAccess().getKeyRosettaFeatureValidIDParserRuleCall_0_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getConstructorKeyValuePairAccess().getKeyRosettaFeatureCrossReference_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ConstructorKeyValuePair__KeyAssignment_0"
    // $ANTLR start "rule__ConstructorKeyValuePair__ValueAssignment_2"
    // InternalRosetta.g:40155:1: rule__ConstructorKeyValuePair__ValueAssignment_2 : ( ruleRosettaCalcExpressionWithAsKey ) ;
    public final void rule__ConstructorKeyValuePair__ValueAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40159:1: ( ( ruleRosettaCalcExpressionWithAsKey ) )
            // InternalRosetta.g:40160:2: ( ruleRosettaCalcExpressionWithAsKey )
            {
            // InternalRosetta.g:40160:2: ( ruleRosettaCalcExpressionWithAsKey )
            // InternalRosetta.g:40161:3: ruleRosettaCalcExpressionWithAsKey
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getConstructorKeyValuePairAccess().getValueRosettaCalcExpressionWithAsKeyParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpressionWithAsKey(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getConstructorKeyValuePairAccess().getValueRosettaCalcExpressionWithAsKeyParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ConstructorKeyValuePair__ValueAssignment_2"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__IfAssignment_2"
    // InternalRosetta.g:40170:1: rule__RosettaCalcConditionalExpression__IfAssignment_2 : ( ruleRosettaCalcOr ) ;
    public final void rule__RosettaCalcConditionalExpression__IfAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40174:1: ( ( ruleRosettaCalcOr ) )
            // InternalRosetta.g:40175:2: ( ruleRosettaCalcOr )
            {
            // InternalRosetta.g:40175:2: ( ruleRosettaCalcOr )
            // InternalRosetta.g:40176:3: ruleRosettaCalcOr
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getIfRosettaCalcOrParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcOr(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getIfRosettaCalcOrParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__IfAssignment_2"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__IfthenAssignment_4"
    // InternalRosetta.g:40185:1: rule__RosettaCalcConditionalExpression__IfthenAssignment_4 : ( ruleRosettaCalcOr ) ;
    public final void rule__RosettaCalcConditionalExpression__IfthenAssignment_4() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40189:1: ( ( ruleRosettaCalcOr ) )
            // InternalRosetta.g:40190:2: ( ruleRosettaCalcOr )
            {
            // InternalRosetta.g:40190:2: ( ruleRosettaCalcOr )
            // InternalRosetta.g:40191:3: ruleRosettaCalcOr
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getIfthenRosettaCalcOrParserRuleCall_4_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcOr(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getIfthenRosettaCalcOrParserRuleCall_4_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__IfthenAssignment_4"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__FullAssignment_5_0"
    // InternalRosetta.g:40200:1: rule__RosettaCalcConditionalExpression__FullAssignment_5_0 : ( ( 'else' ) ) ;
    public final void rule__RosettaCalcConditionalExpression__FullAssignment_5_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40204:1: ( ( ( 'else' ) ) )
            // InternalRosetta.g:40205:2: ( ( 'else' ) )
            {
            // InternalRosetta.g:40205:2: ( ( 'else' ) )
            // InternalRosetta.g:40206:3: ( 'else' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getFullElseKeyword_5_0_0()); }
            // InternalRosetta.g:40207:3: ( 'else' )
            // InternalRosetta.g:40208:4: 'else'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getFullElseKeyword_5_0_0()); }
            match(input,164,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getFullElseKeyword_5_0_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getFullElseKeyword_5_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__FullAssignment_5_0"
    // $ANTLR start "rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1"
    // InternalRosetta.g:40219:1: rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1 : ( ruleRosettaCalcOr ) ;
    public final void rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40223:1: ( ( ruleRosettaCalcOr ) )
            // InternalRosetta.g:40224:2: ( ruleRosettaCalcOr )
            {
            // InternalRosetta.g:40224:2: ( ruleRosettaCalcOr )
            // InternalRosetta.g:40225:3: ruleRosettaCalcOr
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcConditionalExpressionAccess().getElsethenRosettaCalcOrParserRuleCall_5_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcOr(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcConditionalExpressionAccess().getElsethenRosettaCalcOrParserRuleCall_5_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcConditionalExpression__ElsethenAssignment_5_1"
    // $ANTLR start "rule__RosettaCalcOnlyExists__ArgsAssignment_1_0"
    // InternalRosetta.g:40234:1: rule__RosettaCalcOnlyExists__ArgsAssignment_1_0 : ( ruleRosettaOnlyExistsElement ) ;
    public final void rule__RosettaCalcOnlyExists__ArgsAssignment_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40238:1: ( ( ruleRosettaOnlyExistsElement ) )
            // InternalRosetta.g:40239:2: ( ruleRosettaOnlyExistsElement )
            {
            // InternalRosetta.g:40239:2: ( ruleRosettaOnlyExistsElement )
            // InternalRosetta.g:40240:3: ruleRosettaOnlyExistsElement
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsRosettaOnlyExistsElementParserRuleCall_1_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaOnlyExistsElement(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsRosettaOnlyExistsElementParserRuleCall_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__ArgsAssignment_1_0"
    // $ANTLR start "rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1"
    // InternalRosetta.g:40249:1: rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1 : ( ruleRosettaOnlyExistsElement ) ;
    public final void rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40253:1: ( ( ruleRosettaOnlyExistsElement ) )
            // InternalRosetta.g:40254:2: ( ruleRosettaOnlyExistsElement )
            {
            // InternalRosetta.g:40254:2: ( ruleRosettaOnlyExistsElement )
            // InternalRosetta.g:40255:3: ruleRosettaOnlyExistsElement
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsRosettaOnlyExistsElementParserRuleCall_1_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaOnlyExistsElement(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsRosettaOnlyExistsElementParserRuleCall_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_1"
    // $ANTLR start "rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1"
    // InternalRosetta.g:40264:1: rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1 : ( ruleRosettaOnlyExistsElement ) ;
    public final void rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40268:1: ( ( ruleRosettaOnlyExistsElement ) )
            // InternalRosetta.g:40269:2: ( ruleRosettaOnlyExistsElement )
            {
            // InternalRosetta.g:40269:2: ( ruleRosettaOnlyExistsElement )
            // InternalRosetta.g:40270:3: ruleRosettaOnlyExistsElement
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsRosettaOnlyExistsElementParserRuleCall_1_1_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaOnlyExistsElement(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaCalcOnlyExistsAccess().getArgsRosettaOnlyExistsElementParserRuleCall_1_1_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaCalcOnlyExists__ArgsAssignment_1_1_2_1"
    // $ANTLR start "rule__RosettaOnlyExistsElement__FeatureAssignment_1_2"
    // InternalRosetta.g:40279:1: rule__RosettaOnlyExistsElement__FeatureAssignment_1_2 : ( ( ruleValidID ) ) ;
    public final void rule__RosettaOnlyExistsElement__FeatureAssignment_1_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40283:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:40284:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:40284:2: ( ( ruleValidID ) )
            // InternalRosetta.g:40285:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementAccess().getFeatureRosettaFeatureCrossReference_1_2_0()); }
            // InternalRosetta.g:40286:3: ( ruleValidID )
            // InternalRosetta.g:40287:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementAccess().getFeatureRosettaFeatureValidIDParserRuleCall_1_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementAccess().getFeatureRosettaFeatureValidIDParserRuleCall_1_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementAccess().getFeatureRosettaFeatureCrossReference_1_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElement__FeatureAssignment_1_2"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1"
    // InternalRosetta.g:40298:1: rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40302:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40303:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40303:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40304:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getSymbolRosettaSymbolCrossReference_0_1_0()); }
            // InternalRosetta.g:40305:3: ( ruleQualifiedName )
            // InternalRosetta.g:40306:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getSymbolRosettaSymbolQualifiedNameParserRuleCall_0_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getSymbolRosettaSymbolQualifiedNameParserRuleCall_0_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getSymbolRosettaSymbolCrossReference_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__SymbolAssignment_0_1"
    // $ANTLR start "rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1"
    // InternalRosetta.g:40317:1: rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1 : ( ( rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0 ) ) ;
    public final void rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40321:1: ( ( ( rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0 ) ) )
            // InternalRosetta.g:40322:2: ( ( rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0 ) )
            {
            // InternalRosetta.g:40322:2: ( ( rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0 ) )
            // InternalRosetta.g:40323:3: ( rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0 )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaOnlyExistsElementRootAccess().getNameAlternatives_1_1_0()); }
            // InternalRosetta.g:40324:3: ( rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0 )
            // InternalRosetta.g:40324:4: rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0
            {
            pushFollow(FOLLOW_2);
            rule__RosettaOnlyExistsElementRoot__NameAlternatives_1_1_0(); state._fsp--; if (state.failed) return ;
            }
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaOnlyExistsElementRootAccess().getNameAlternatives_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaOnlyExistsElementRoot__NameAssignment_1_1"
    // $ANTLR start "rule__ExternalAnnotationSource__ExternalClassesAssignment_1"
    // InternalRosetta.g:40332:1: rule__ExternalAnnotationSource__ExternalClassesAssignment_1 : ( ruleRosettaExternalClass ) ;
    public final void rule__ExternalAnnotationSource__ExternalClassesAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40336:1: ( ( ruleRosettaExternalClass ) )
            // InternalRosetta.g:40337:2: ( ruleRosettaExternalClass )
            {
            // InternalRosetta.g:40337:2: ( ruleRosettaExternalClass )
            // InternalRosetta.g:40338:3: ruleRosettaExternalClass
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getExternalAnnotationSourceAccess().getExternalClassesRosettaExternalClassParserRuleCall_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaExternalClass(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getExternalAnnotationSourceAccess().getExternalClassesRosettaExternalClassParserRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__ExternalClassesAssignment_1"
    // $ANTLR start "rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1"
    // InternalRosetta.g:40347:1: rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1 : ( ruleRosettaExternalEnum ) ;
    public final void rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40351:1: ( ( ruleRosettaExternalEnum ) )
            // InternalRosetta.g:40352:2: ( ruleRosettaExternalEnum )
            {
            // InternalRosetta.g:40352:2: ( ruleRosettaExternalEnum )
            // InternalRosetta.g:40353:3: ruleRosettaExternalEnum
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getExternalAnnotationSourceAccess().getExternalEnumsRosettaExternalEnumParserRuleCall_2_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaExternalEnum(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getExternalAnnotationSourceAccess().getExternalEnumsRosettaExternalEnumParserRuleCall_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__ExternalAnnotationSource__ExternalEnumsAssignment_2_1"
    // $ANTLR start "rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1"
    // InternalRosetta.g:40362:1: rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40366:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40367:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40367:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40368:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesRosettaSynonymSourceCrossReference_3_1_0()); }
            // InternalRosetta.g:40369:3: ( ruleQualifiedName )
            // InternalRosetta.g:40370:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_3_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_3_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesRosettaSynonymSourceCrossReference_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_1"
    // $ANTLR start "rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1"
    // InternalRosetta.g:40381:1: rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40385:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40386:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40386:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40387:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesRosettaSynonymSourceCrossReference_3_2_1_0()); }
            // InternalRosetta.g:40388:3: ( ruleQualifiedName )
            // InternalRosetta.g:40389:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_3_2_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesRosettaSynonymSourceQualifiedNameParserRuleCall_3_2_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymSourceAccess().getSuperSourcesRosettaSynonymSourceCrossReference_3_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonymSource__SuperSourcesAssignment_3_2_1"
    // $ANTLR start "rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1"
    // InternalRosetta.g:40400:1: rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40404:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40405:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40405:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40406:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesRosettaExternalRuleSourceCrossReference_3_1_0()); }
            // InternalRosetta.g:40407:3: ( ruleQualifiedName )
            // InternalRosetta.g:40408:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesRosettaExternalRuleSourceQualifiedNameParserRuleCall_3_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesRosettaExternalRuleSourceQualifiedNameParserRuleCall_3_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesRosettaExternalRuleSourceCrossReference_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_1"
    // $ANTLR start "rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1"
    // InternalRosetta.g:40419:1: rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40423:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40424:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40424:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40425:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesRosettaExternalRuleSourceCrossReference_3_2_1_0()); }
            // InternalRosetta.g:40426:3: ( ruleQualifiedName )
            // InternalRosetta.g:40427:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesRosettaExternalRuleSourceQualifiedNameParserRuleCall_3_2_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesRosettaExternalRuleSourceQualifiedNameParserRuleCall_3_2_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRuleSourceAccess().getSuperSourcesRosettaExternalRuleSourceCrossReference_3_2_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRuleSource__SuperSourcesAssignment_3_2_1"
    // $ANTLR start "rule__RosettaExternalClass__DataAssignment_0"
    // InternalRosetta.g:40438:1: rule__RosettaExternalClass__DataAssignment_0 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaExternalClass__DataAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40442:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40443:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40443:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40444:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassAccess().getDataDataCrossReference_0_0()); }
            // InternalRosetta.g:40445:3: ( ruleQualifiedName )
            // InternalRosetta.g:40446:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassAccess().getDataDataQualifiedNameParserRuleCall_0_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassAccess().getDataDataQualifiedNameParserRuleCall_0_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassAccess().getDataDataCrossReference_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClass__DataAssignment_0"
    // $ANTLR start "rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2"
    // InternalRosetta.g:40457:1: rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2 : ( ruleRosettaExternalClassSynonym ) ;
    public final void rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40461:1: ( ( ruleRosettaExternalClassSynonym ) )
            // InternalRosetta.g:40462:2: ( ruleRosettaExternalClassSynonym )
            {
            // InternalRosetta.g:40462:2: ( ruleRosettaExternalClassSynonym )
            // InternalRosetta.g:40463:3: ruleRosettaExternalClassSynonym
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassAccess().getExternalClassSynonymsRosettaExternalClassSynonymParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaExternalClassSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassAccess().getExternalClassSynonymsRosettaExternalClassSynonymParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClass__ExternalClassSynonymsAssignment_2"
    // $ANTLR start "rule__RosettaExternalClass__RegularAttributesAssignment_3"
    // InternalRosetta.g:40472:1: rule__RosettaExternalClass__RegularAttributesAssignment_3 : ( ruleRosettaExternalRegularAttribute ) ;
    public final void rule__RosettaExternalClass__RegularAttributesAssignment_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40476:1: ( ( ruleRosettaExternalRegularAttribute ) )
            // InternalRosetta.g:40477:2: ( ruleRosettaExternalRegularAttribute )
            {
            // InternalRosetta.g:40477:2: ( ruleRosettaExternalRegularAttribute )
            // InternalRosetta.g:40478:3: ruleRosettaExternalRegularAttribute
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassAccess().getRegularAttributesRosettaExternalRegularAttributeParserRuleCall_3_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaExternalRegularAttribute(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassAccess().getRegularAttributesRosettaExternalRegularAttributeParserRuleCall_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClass__RegularAttributesAssignment_3"
    // $ANTLR start "rule__RosettaExternalEnum__EnumerationAssignment_0"
    // InternalRosetta.g:40487:1: rule__RosettaExternalEnum__EnumerationAssignment_0 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaExternalEnum__EnumerationAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40491:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40492:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40492:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40493:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumAccess().getEnumerationRosettaEnumerationCrossReference_0_0()); }
            // InternalRosetta.g:40494:3: ( ruleQualifiedName )
            // InternalRosetta.g:40495:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumAccess().getEnumerationRosettaEnumerationQualifiedNameParserRuleCall_0_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumAccess().getEnumerationRosettaEnumerationQualifiedNameParserRuleCall_0_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumAccess().getEnumerationRosettaEnumerationCrossReference_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnum__EnumerationAssignment_0"
    // $ANTLR start "rule__RosettaExternalEnum__RegularValuesAssignment_2"
    // InternalRosetta.g:40506:1: rule__RosettaExternalEnum__RegularValuesAssignment_2 : ( ruleRosettaExternalEnumValue ) ;
    public final void rule__RosettaExternalEnum__RegularValuesAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40510:1: ( ( ruleRosettaExternalEnumValue ) )
            // InternalRosetta.g:40511:2: ( ruleRosettaExternalEnumValue )
            {
            // InternalRosetta.g:40511:2: ( ruleRosettaExternalEnumValue )
            // InternalRosetta.g:40512:3: ruleRosettaExternalEnumValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumAccess().getRegularValuesRosettaExternalEnumValueParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaExternalEnumValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumAccess().getRegularValuesRosettaExternalEnumValueParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnum__RegularValuesAssignment_2"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__OperatorAssignment_0"
    // InternalRosetta.g:40521:1: rule__RosettaExternalRegularAttribute__OperatorAssignment_0 : ( ruleExternalValueOperator ) ;
    public final void rule__RosettaExternalRegularAttribute__OperatorAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40525:1: ( ( ruleExternalValueOperator ) )
            // InternalRosetta.g:40526:2: ( ruleExternalValueOperator )
            {
            // InternalRosetta.g:40526:2: ( ruleExternalValueOperator )
            // InternalRosetta.g:40527:3: ruleExternalValueOperator
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRegularAttributeAccess().getOperatorExternalValueOperatorEnumRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleExternalValueOperator(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRegularAttributeAccess().getOperatorExternalValueOperatorEnumRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__OperatorAssignment_0"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1"
    // InternalRosetta.g:40536:1: rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1 : ( ( ruleValidID ) ) ;
    public final void rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40540:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:40541:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:40541:2: ( ( ruleValidID ) )
            // InternalRosetta.g:40542:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRegularAttributeAccess().getAttributeRefRosettaFeatureCrossReference_1_0()); }
            // InternalRosetta.g:40543:3: ( ruleValidID )
            // InternalRosetta.g:40544:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRegularAttributeAccess().getAttributeRefRosettaFeatureValidIDParserRuleCall_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRegularAttributeAccess().getAttributeRefRosettaFeatureValidIDParserRuleCall_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRegularAttributeAccess().getAttributeRefRosettaFeatureCrossReference_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__AttributeRefAssignment_1"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2"
    // InternalRosetta.g:40555:1: rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2 : ( ruleRosettaExternalSynonym ) ;
    public final void rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40559:1: ( ( ruleRosettaExternalSynonym ) )
            // InternalRosetta.g:40560:2: ( ruleRosettaExternalSynonym )
            {
            // InternalRosetta.g:40560:2: ( ruleRosettaExternalSynonym )
            // InternalRosetta.g:40561:3: ruleRosettaExternalSynonym
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRegularAttributeAccess().getExternalSynonymsRosettaExternalSynonymParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaExternalSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRegularAttributeAccess().getExternalSynonymsRosettaExternalSynonymParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__ExternalSynonymsAssignment_2"
    // $ANTLR start "rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3"
    // InternalRosetta.g:40570:1: rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3 : ( ruleRosettaRuleReference ) ;
    public final void rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40574:1: ( ( ruleRosettaRuleReference ) )
            // InternalRosetta.g:40575:2: ( ruleRosettaRuleReference )
            {
            // InternalRosetta.g:40575:2: ( ruleRosettaRuleReference )
            // InternalRosetta.g:40576:3: ruleRosettaRuleReference
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalRegularAttributeAccess().getExternalRuleReferenceRosettaRuleReferenceParserRuleCall_3_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaRuleReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalRegularAttributeAccess().getExternalRuleReferenceRosettaRuleReferenceParserRuleCall_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalRegularAttribute__ExternalRuleReferenceAssignment_3"
    // $ANTLR start "rule__RosettaExternalEnumValue__OperatorAssignment_0"
    // InternalRosetta.g:40585:1: rule__RosettaExternalEnumValue__OperatorAssignment_0 : ( ruleExternalValueOperator ) ;
    public final void rule__RosettaExternalEnumValue__OperatorAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40589:1: ( ( ruleExternalValueOperator ) )
            // InternalRosetta.g:40590:2: ( ruleExternalValueOperator )
            {
            // InternalRosetta.g:40590:2: ( ruleExternalValueOperator )
            // InternalRosetta.g:40591:3: ruleExternalValueOperator
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumValueAccess().getOperatorExternalValueOperatorEnumRuleCall_0_0()); }
            pushFollow(FOLLOW_2);
            ruleExternalValueOperator(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumValueAccess().getOperatorExternalValueOperatorEnumRuleCall_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumValue__OperatorAssignment_0"
    // $ANTLR start "rule__RosettaExternalEnumValue__EnumRefAssignment_1"
    // InternalRosetta.g:40600:1: rule__RosettaExternalEnumValue__EnumRefAssignment_1 : ( ( ruleValidID ) ) ;
    public final void rule__RosettaExternalEnumValue__EnumRefAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40604:1: ( ( ( ruleValidID ) ) )
            // InternalRosetta.g:40605:2: ( ( ruleValidID ) )
            {
            // InternalRosetta.g:40605:2: ( ( ruleValidID ) )
            // InternalRosetta.g:40606:3: ( ruleValidID )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumValueAccess().getEnumRefRosettaEnumValueCrossReference_1_0()); }
            // InternalRosetta.g:40607:3: ( ruleValidID )
            // InternalRosetta.g:40608:4: ruleValidID
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumValueAccess().getEnumRefRosettaEnumValueValidIDParserRuleCall_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleValidID(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumValueAccess().getEnumRefRosettaEnumValueValidIDParserRuleCall_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumValueAccess().getEnumRefRosettaEnumValueCrossReference_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumValue__EnumRefAssignment_1"
    // $ANTLR start "rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2"
    // InternalRosetta.g:40619:1: rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2 : ( ruleRosettaExternalEnumSynonym ) ;
    public final void rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40623:1: ( ( ruleRosettaExternalEnumSynonym ) )
            // InternalRosetta.g:40624:2: ( ruleRosettaExternalEnumSynonym )
            {
            // InternalRosetta.g:40624:2: ( ruleRosettaExternalEnumSynonym )
            // InternalRosetta.g:40625:3: ruleRosettaExternalEnumSynonym
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumValueAccess().getExternalEnumSynonymsRosettaExternalEnumSynonymParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaExternalEnumSynonym(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumValueAccess().getExternalEnumSynonymsRosettaExternalEnumSynonymParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumValue__ExternalEnumSynonymsAssignment_2"
    // $ANTLR start "rule__RosettaExternalClassSynonym__ValueAssignment_1_1"
    // InternalRosetta.g:40634:1: rule__RosettaExternalClassSynonym__ValueAssignment_1_1 : ( ruleRosettaClassSynonymValue ) ;
    public final void rule__RosettaExternalClassSynonym__ValueAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40638:1: ( ( ruleRosettaClassSynonymValue ) )
            // InternalRosetta.g:40639:2: ( ruleRosettaClassSynonymValue )
            {
            // InternalRosetta.g:40639:2: ( ruleRosettaClassSynonymValue )
            // InternalRosetta.g:40640:3: ruleRosettaClassSynonymValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassSynonymAccess().getValueRosettaClassSynonymValueParserRuleCall_1_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaClassSynonymValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassSynonymAccess().getValueRosettaClassSynonymValueParserRuleCall_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__ValueAssignment_1_1"
    // $ANTLR start "rule__RosettaExternalClassSynonym__MetaValueAssignment_3"
    // InternalRosetta.g:40649:1: rule__RosettaExternalClassSynonym__MetaValueAssignment_3 : ( ruleRosettaMetaSynonymValue ) ;
    public final void rule__RosettaExternalClassSynonym__MetaValueAssignment_3() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40653:1: ( ( ruleRosettaMetaSynonymValue ) )
            // InternalRosetta.g:40654:2: ( ruleRosettaMetaSynonymValue )
            {
            // InternalRosetta.g:40654:2: ( ruleRosettaMetaSynonymValue )
            // InternalRosetta.g:40655:3: ruleRosettaMetaSynonymValue
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalClassSynonymAccess().getMetaValueRosettaMetaSynonymValueParserRuleCall_3_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaMetaSynonymValue(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalClassSynonymAccess().getMetaValueRosettaMetaSynonymValueParserRuleCall_3_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalClassSynonym__MetaValueAssignment_3"
    // $ANTLR start "rule__RosettaExternalSynonym__BodyAssignment_1"
    // InternalRosetta.g:40664:1: rule__RosettaExternalSynonym__BodyAssignment_1 : ( ruleRosettaSynonymBody ) ;
    public final void rule__RosettaExternalSynonym__BodyAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40668:1: ( ( ruleRosettaSynonymBody ) )
            // InternalRosetta.g:40669:2: ( ruleRosettaSynonymBody )
            {
            // InternalRosetta.g:40669:2: ( ruleRosettaSynonymBody )
            // InternalRosetta.g:40670:3: ruleRosettaSynonymBody
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalSynonymAccess().getBodyRosettaSynonymBodyParserRuleCall_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaSynonymBody(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalSynonymAccess().getBodyRosettaSynonymBodyParserRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalSynonym__BodyAssignment_1"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2"
    // InternalRosetta.g:40679:1: rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2 : ( RULE_STRING ) ;
    public final void rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40683:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:40684:2: ( RULE_STRING )
            {
            // InternalRosetta.g:40684:2: ( RULE_STRING )
            // InternalRosetta.g:40685:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getSynonymValueSTRINGTerminalRuleCall_2_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getSynonymValueSTRINGTerminalRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__SynonymValueAssignment_2"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1"
    // InternalRosetta.g:40694:1: rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1 : ( RULE_STRING ) ;
    public final void rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40698:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:40699:2: ( RULE_STRING )
            {
            // InternalRosetta.g:40699:2: ( RULE_STRING )
            // InternalRosetta.g:40700:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getDefinitionSTRINGTerminalRuleCall_3_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getDefinitionSTRINGTerminalRuleCall_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__DefinitionAssignment_3_1"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1"
    // InternalRosetta.g:40709:1: rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1 : ( RULE_STRING ) ;
    public final void rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40713:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:40714:2: ( RULE_STRING )
            {
            // InternalRosetta.g:40714:2: ( RULE_STRING )
            // InternalRosetta.g:40715:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getPatternMatchSTRINGTerminalRuleCall_4_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getPatternMatchSTRINGTerminalRuleCall_4_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__PatternMatchAssignment_4_1"
    // $ANTLR start "rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2"
    // InternalRosetta.g:40724:1: rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2 : ( RULE_STRING ) ;
    public final void rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40728:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:40729:2: ( RULE_STRING )
            {
            // InternalRosetta.g:40729:2: ( RULE_STRING )
            // InternalRosetta.g:40730:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaExternalEnumSynonymAccess().getPatternReplaceSTRINGTerminalRuleCall_4_2_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaExternalEnumSynonymAccess().getPatternReplaceSTRINGTerminalRuleCall_4_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaExternalEnumSynonym__PatternReplaceAssignment_4_2"
    // $ANTLR start "rule__RegulatoryDocumentReference__BodyAssignment_0"
    // InternalRosetta.g:40739:1: rule__RegulatoryDocumentReference__BodyAssignment_0 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RegulatoryDocumentReference__BodyAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40743:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40744:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40744:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40745:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRegulatoryDocumentReferenceAccess().getBodyRosettaBodyCrossReference_0_0()); }
            // InternalRosetta.g:40746:3: ( ruleQualifiedName )
            // InternalRosetta.g:40747:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRegulatoryDocumentReferenceAccess().getBodyRosettaBodyQualifiedNameParserRuleCall_0_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRegulatoryDocumentReferenceAccess().getBodyRosettaBodyQualifiedNameParserRuleCall_0_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRegulatoryDocumentReferenceAccess().getBodyRosettaBodyCrossReference_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RegulatoryDocumentReference__BodyAssignment_0"
    // $ANTLR start "rule__RegulatoryDocumentReference__CorpusListAssignment_1"
    // InternalRosetta.g:40758:1: rule__RegulatoryDocumentReference__CorpusListAssignment_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RegulatoryDocumentReference__CorpusListAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40762:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40763:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40763:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40764:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRegulatoryDocumentReferenceAccess().getCorpusListRosettaCorpusCrossReference_1_0()); }
            // InternalRosetta.g:40765:3: ( ruleQualifiedName )
            // InternalRosetta.g:40766:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRegulatoryDocumentReferenceAccess().getCorpusListRosettaCorpusQualifiedNameParserRuleCall_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRegulatoryDocumentReferenceAccess().getCorpusListRosettaCorpusQualifiedNameParserRuleCall_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRegulatoryDocumentReferenceAccess().getCorpusListRosettaCorpusCrossReference_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RegulatoryDocumentReference__CorpusListAssignment_1"
    // $ANTLR start "rule__RegulatoryDocumentReference__SegmentsAssignment_2"
    // InternalRosetta.g:40777:1: rule__RegulatoryDocumentReference__SegmentsAssignment_2 : ( ruleRosettaSegmentRef ) ;
    public final void rule__RegulatoryDocumentReference__SegmentsAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40781:1: ( ( ruleRosettaSegmentRef ) )
            // InternalRosetta.g:40782:2: ( ruleRosettaSegmentRef )
            {
            // InternalRosetta.g:40782:2: ( ruleRosettaSegmentRef )
            // InternalRosetta.g:40783:3: ruleRosettaSegmentRef
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRegulatoryDocumentReferenceAccess().getSegmentsRosettaSegmentRefParserRuleCall_2_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaSegmentRef(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRegulatoryDocumentReferenceAccess().getSegmentsRosettaSegmentRefParserRuleCall_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RegulatoryDocumentReference__SegmentsAssignment_2"
    // $ANTLR start "rule__RosettaSegmentRef__SegmentAssignment_0"
    // InternalRosetta.g:40792:1: rule__RosettaSegmentRef__SegmentAssignment_0 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaSegmentRef__SegmentAssignment_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40796:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40797:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40797:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40798:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentRefAccess().getSegmentRosettaSegmentCrossReference_0_0()); }
            // InternalRosetta.g:40799:3: ( ruleQualifiedName )
            // InternalRosetta.g:40800:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentRefAccess().getSegmentRosettaSegmentQualifiedNameParserRuleCall_0_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentRefAccess().getSegmentRosettaSegmentQualifiedNameParserRuleCall_0_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentRefAccess().getSegmentRosettaSegmentCrossReference_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegmentRef__SegmentAssignment_0"
    // $ANTLR start "rule__RosettaSegmentRef__SegmentRefAssignment_1"
    // InternalRosetta.g:40811:1: rule__RosettaSegmentRef__SegmentRefAssignment_1 : ( RULE_STRING ) ;
    public final void rule__RosettaSegmentRef__SegmentRefAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40815:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:40816:2: ( RULE_STRING )
            {
            // InternalRosetta.g:40816:2: ( RULE_STRING )
            // InternalRosetta.g:40817:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaSegmentRefAccess().getSegmentRefSTRINGTerminalRuleCall_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaSegmentRefAccess().getSegmentRefSTRINGTerminalRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaSegmentRef__SegmentRefAssignment_1"
    // $ANTLR start "rule__RosettaReport__RegulatoryBodyAssignment_1"
    // InternalRosetta.g:40826:1: rule__RosettaReport__RegulatoryBodyAssignment_1 : ( ruleRegulatoryDocumentReference ) ;
    public final void rule__RosettaReport__RegulatoryBodyAssignment_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40830:1: ( ( ruleRegulatoryDocumentReference ) )
            // InternalRosetta.g:40831:2: ( ruleRegulatoryDocumentReference )
            {
            // InternalRosetta.g:40831:2: ( ruleRegulatoryDocumentReference )
            // InternalRosetta.g:40832:3: ruleRegulatoryDocumentReference
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getRegulatoryBodyRegulatoryDocumentReferenceParserRuleCall_1_0()); }
            pushFollow(FOLLOW_2);
            ruleRegulatoryDocumentReference(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getRegulatoryBodyRegulatoryDocumentReferenceParserRuleCall_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__RegulatoryBodyAssignment_1"
    // $ANTLR start "rule__RosettaReport__InputTypeAssignment_5"
    // InternalRosetta.g:40841:1: rule__RosettaReport__InputTypeAssignment_5 : ( ruleTypeCall ) ;
    public final void rule__RosettaReport__InputTypeAssignment_5() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40845:1: ( ( ruleTypeCall ) )
            // InternalRosetta.g:40846:2: ( ruleTypeCall )
            {
            // InternalRosetta.g:40846:2: ( ruleTypeCall )
            // InternalRosetta.g:40847:3: ruleTypeCall
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getInputTypeTypeCallParserRuleCall_5_0()); }
            pushFollow(FOLLOW_2);
            ruleTypeCall(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getInputTypeTypeCallParserRuleCall_5_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__InputTypeAssignment_5"
    // $ANTLR start "rule__RosettaReport__EligibilityRulesAssignment_7"
    // InternalRosetta.g:40856:1: rule__RosettaReport__EligibilityRulesAssignment_7 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaReport__EligibilityRulesAssignment_7() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40860:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40861:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40861:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40862:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getEligibilityRulesRosettaRuleCrossReference_7_0()); }
            // InternalRosetta.g:40863:3: ( ruleQualifiedName )
            // InternalRosetta.g:40864:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getEligibilityRulesRosettaRuleQualifiedNameParserRuleCall_7_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getEligibilityRulesRosettaRuleQualifiedNameParserRuleCall_7_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getEligibilityRulesRosettaRuleCrossReference_7_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__EligibilityRulesAssignment_7"
    // $ANTLR start "rule__RosettaReport__EligibilityRulesAssignment_8_1"
    // InternalRosetta.g:40875:1: rule__RosettaReport__EligibilityRulesAssignment_8_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaReport__EligibilityRulesAssignment_8_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40879:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40880:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40880:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40881:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getEligibilityRulesRosettaRuleCrossReference_8_1_0()); }
            // InternalRosetta.g:40882:3: ( ruleQualifiedName )
            // InternalRosetta.g:40883:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getEligibilityRulesRosettaRuleQualifiedNameParserRuleCall_8_1_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getEligibilityRulesRosettaRuleQualifiedNameParserRuleCall_8_1_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getEligibilityRulesRosettaRuleCrossReference_8_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__EligibilityRulesAssignment_8_1"
    // $ANTLR start "rule__RosettaReport__ReportingStandardAssignment_9_2"
    // InternalRosetta.g:40894:1: rule__RosettaReport__ReportingStandardAssignment_9_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaReport__ReportingStandardAssignment_9_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40898:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40899:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40899:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40900:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getReportingStandardRosettaCorpusCrossReference_9_2_0()); }
            // InternalRosetta.g:40901:3: ( ruleQualifiedName )
            // InternalRosetta.g:40902:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getReportingStandardRosettaCorpusQualifiedNameParserRuleCall_9_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getReportingStandardRosettaCorpusQualifiedNameParserRuleCall_9_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getReportingStandardRosettaCorpusCrossReference_9_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__ReportingStandardAssignment_9_2"
    // $ANTLR start "rule__RosettaReport__ReportTypeAssignment_12"
    // InternalRosetta.g:40913:1: rule__RosettaReport__ReportTypeAssignment_12 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaReport__ReportTypeAssignment_12() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40917:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40918:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40918:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40919:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getReportTypeDataCrossReference_12_0()); }
            // InternalRosetta.g:40920:3: ( ruleQualifiedName )
            // InternalRosetta.g:40921:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getReportTypeDataQualifiedNameParserRuleCall_12_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getReportTypeDataQualifiedNameParserRuleCall_12_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getReportTypeDataCrossReference_12_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__ReportTypeAssignment_12"
    // $ANTLR start "rule__RosettaReport__RuleSourceAssignment_13_2"
    // InternalRosetta.g:40932:1: rule__RosettaReport__RuleSourceAssignment_13_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaReport__RuleSourceAssignment_13_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40936:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40937:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40937:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40938:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getRuleSourceRosettaExternalRuleSourceCrossReference_13_2_0()); }
            // InternalRosetta.g:40939:3: ( ruleQualifiedName )
            // InternalRosetta.g:40940:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaReportAccess().getRuleSourceRosettaExternalRuleSourceQualifiedNameParserRuleCall_13_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getRuleSourceRosettaExternalRuleSourceQualifiedNameParserRuleCall_13_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaReportAccess().getRuleSourceRosettaExternalRuleSourceCrossReference_13_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaReport__RuleSourceAssignment_13_2"
    // $ANTLR start "rule__RosettaRuleReference__ReportingRuleAssignment_2"
    // InternalRosetta.g:40951:1: rule__RosettaRuleReference__ReportingRuleAssignment_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__RosettaRuleReference__ReportingRuleAssignment_2() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40955:1: ( ( ( ruleQualifiedName ) ) )
            // InternalRosetta.g:40956:2: ( ( ruleQualifiedName ) )
            {
            // InternalRosetta.g:40956:2: ( ( ruleQualifiedName ) )
            // InternalRosetta.g:40957:3: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleReferenceAccess().getReportingRuleRosettaRuleCrossReference_2_0()); }
            // InternalRosetta.g:40958:3: ( ruleQualifiedName )
            // InternalRosetta.g:40959:4: ruleQualifiedName
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleReferenceAccess().getReportingRuleRosettaRuleQualifiedNameParserRuleCall_2_0_1()); }
            pushFollow(FOLLOW_2);
            ruleQualifiedName(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleReferenceAccess().getReportingRuleRosettaRuleQualifiedNameParserRuleCall_2_0_1()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleReferenceAccess().getReportingRuleRosettaRuleCrossReference_2_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRuleReference__ReportingRuleAssignment_2"
    // $ANTLR start "rule__RosettaRule__EligibilityAssignment_0_1"
    // InternalRosetta.g:40970:1: rule__RosettaRule__EligibilityAssignment_0_1 : ( ( 'eligibility' ) ) ;
    public final void rule__RosettaRule__EligibilityAssignment_0_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40974:1: ( ( ( 'eligibility' ) ) )
            // InternalRosetta.g:40975:2: ( ( 'eligibility' ) )
            {
            // InternalRosetta.g:40975:2: ( ( 'eligibility' ) )
            // InternalRosetta.g:40976:3: ( 'eligibility' )
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getEligibilityEligibilityKeyword_0_1_0()); }
            // InternalRosetta.g:40977:3: ( 'eligibility' )
            // InternalRosetta.g:40978:4: 'eligibility'
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getEligibilityEligibilityKeyword_0_1_0()); }
            match(input,165,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getEligibilityEligibilityKeyword_0_1_0()); }}
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getEligibilityEligibilityKeyword_0_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__EligibilityAssignment_0_1"
    // $ANTLR start "rule__RosettaRule__InputAssignment_3_1"
    // InternalRosetta.g:40989:1: rule__RosettaRule__InputAssignment_3_1 : ( ruleTypeCall ) ;
    public final void rule__RosettaRule__InputAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:40993:1: ( ( ruleTypeCall ) )
            // InternalRosetta.g:40994:2: ( ruleTypeCall )
            {
            // InternalRosetta.g:40994:2: ( ruleTypeCall )
            // InternalRosetta.g:40995:3: ruleTypeCall
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getInputTypeCallParserRuleCall_3_1_0()); }
            pushFollow(FOLLOW_2);
            ruleTypeCall(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getInputTypeCallParserRuleCall_3_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__InputAssignment_3_1"
    // $ANTLR start "rule__RosettaRule__ExpressionAssignment_6_1_0"
    // InternalRosetta.g:41004:1: rule__RosettaRule__ExpressionAssignment_6_1_0 : ( ruleRosettaCalcExpression ) ;
    public final void rule__RosettaRule__ExpressionAssignment_6_1_0() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:41008:1: ( ( ruleRosettaCalcExpression ) )
            // InternalRosetta.g:41009:2: ( ruleRosettaCalcExpression )
            {
            // InternalRosetta.g:41009:2: ( ruleRosettaCalcExpression )
            // InternalRosetta.g:41010:3: ruleRosettaCalcExpression
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getExpressionRosettaCalcExpressionParserRuleCall_6_1_0_0()); }
            pushFollow(FOLLOW_2);
            ruleRosettaCalcExpression(); state._fsp--; if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getExpressionRosettaCalcExpressionParserRuleCall_6_1_0_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__ExpressionAssignment_6_1_0"
    // $ANTLR start "rule__RosettaRule__IdentifierAssignment_6_1_1_1"
    // InternalRosetta.g:41019:1: rule__RosettaRule__IdentifierAssignment_6_1_1_1 : ( RULE_STRING ) ;
    public final void rule__RosettaRule__IdentifierAssignment_6_1_1_1() throws RecognitionException { int stackSize = keepStackSize();
        try {
            // InternalRosetta.g:41023:1: ( ( RULE_STRING ) )
            // InternalRosetta.g:41024:2: ( RULE_STRING )
            {
            // InternalRosetta.g:41024:2: ( RULE_STRING )
            // InternalRosetta.g:41025:3: RULE_STRING
            {
            if ( state.backtracking==0 ) { before(grammarAccess.getRosettaRuleAccess().getIdentifierSTRINGTerminalRuleCall_6_1_1_1_0()); }
            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) { after(grammarAccess.getRosettaRuleAccess().getIdentifierSTRINGTerminalRuleCall_6_1_1_1_0()); }}}
        } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { restoreStackSize(stackSize); }
    }
    // $ANTLR end "rule__RosettaRule__IdentifierAssignment_6_1_1_1"
    // $ANTLR start synpred79_InternalRosetta
    public final void synpred79_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:4199:2: ( ( ( rule__ThenOperation__FunctionAssignment_1_1_0 ) ) )
        // InternalRosetta.g:4199:2: ( ( rule__ThenOperation__FunctionAssignment_1_1_0 ) )
        {
        // InternalRosetta.g:4199:2: ( ( rule__ThenOperation__FunctionAssignment_1_1_0 ) )
        // InternalRosetta.g:4200:3: ( rule__ThenOperation__FunctionAssignment_1_1_0 )
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getThenOperationAccess().getFunctionAssignment_1_1_0()); 
        }
        // InternalRosetta.g:4201:3: ( rule__ThenOperation__FunctionAssignment_1_1_0 )
        // InternalRosetta.g:4201:4: rule__ThenOperation__FunctionAssignment_1_1_0
        {
        pushFollow(FOLLOW_2);
        rule__ThenOperation__FunctionAssignment_1_1_0(); state._fsp--; if (state.failed) return ;
        }
        }
        }
    }
    // $ANTLR end synpred79_InternalRosetta
    // $ANTLR start synpred143_InternalRosetta
    public final void synpred143_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:5003:2: ( ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 ) ) )
        // InternalRosetta.g:5003:2: ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 ) )
        {
        // InternalRosetta.g:5003:2: ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 ) )
        // InternalRosetta.g:5004:3: ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 )
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_0_1_2_1_0()); 
        }
        // InternalRosetta.g:5005:3: ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 )
        // InternalRosetta.g:5005:4: rule__UnaryOperation__FunctionAssignment_0_1_2_1_0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__FunctionAssignment_0_1_2_1_0(); state._fsp--; if (state.failed) return ;
        }
        }
        }
    }
    // $ANTLR end synpred143_InternalRosetta
    // $ANTLR start synpred172_InternalRosetta
    public final void synpred172_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:5282:2: ( ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 ) ) )
        // InternalRosetta.g:5282:2: ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 ) )
        {
        // InternalRosetta.g:5282:2: ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 ) )
        // InternalRosetta.g:5283:3: ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 )
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_0_2_1_0()); 
        }
        // InternalRosetta.g:5284:3: ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 )
        // InternalRosetta.g:5284:4: rule__UnaryOperation__FunctionAssignment_1_0_2_1_0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__FunctionAssignment_1_0_2_1_0(); state._fsp--; if (state.failed) return ;
        }
        }
        }
    }
    // $ANTLR end synpred172_InternalRosetta
    // $ANTLR start synpred203_InternalRosetta
    public final void synpred203_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:5573:2: ( ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 ) ) )
        // InternalRosetta.g:5573:2: ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 ) )
        {
        // InternalRosetta.g:5573:2: ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 ) )
        // InternalRosetta.g:5574:3: ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 )
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getUnaryOperationAccess().getFunctionAssignment_1_1_2_1_0()); 
        }
        // InternalRosetta.g:5575:3: ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 )
        // InternalRosetta.g:5575:4: rule__UnaryOperation__FunctionAssignment_1_1_2_1_0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__FunctionAssignment_1_1_2_1_0(); state._fsp--; if (state.failed) return ;
        }
        }
        }
    }
    // $ANTLR end synpred203_InternalRosetta
    // $ANTLR start synpred204_InternalRosetta
    public final void synpred204_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:5594:2: ( ( ruleRosettaCalcConstructorExpression ) )
        // InternalRosetta.g:5594:2: ( ruleRosettaCalcConstructorExpression )
        {
        // InternalRosetta.g:5594:2: ( ruleRosettaCalcConstructorExpression )
        // InternalRosetta.g:5595:3: ruleRosettaCalcConstructorExpression
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaCalcConstructorExpressionParserRuleCall_0()); 
        }
        pushFollow(FOLLOW_2);
        ruleRosettaCalcConstructorExpression(); state._fsp--; if (state.failed) return ;
        }
        }
    }
    // $ANTLR end synpred204_InternalRosetta
    // $ANTLR start synpred206_InternalRosetta
    public final void synpred206_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:5606:2: ( ( ruleRosettaCalcOnlyExists ) )
        // InternalRosetta.g:5606:2: ( ruleRosettaCalcOnlyExists )
        {
        // InternalRosetta.g:5606:2: ( ruleRosettaCalcOnlyExists )
        // InternalRosetta.g:5607:3: ruleRosettaCalcOnlyExists
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaCalcOnlyExistsParserRuleCall_2()); 
        }
        pushFollow(FOLLOW_2);
        ruleRosettaCalcOnlyExists(); state._fsp--; if (state.failed) return ;
        }
        }
    }
    // $ANTLR end synpred206_InternalRosetta
    // $ANTLR start synpred207_InternalRosetta
    public final void synpred207_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:5612:2: ( ( ruleRosettaReferenceOrFunctionCall ) )
        // InternalRosetta.g:5612:2: ( ruleRosettaReferenceOrFunctionCall )
        {
        // InternalRosetta.g:5612:2: ( ruleRosettaReferenceOrFunctionCall )
        // InternalRosetta.g:5613:3: ruleRosettaReferenceOrFunctionCall
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getRosettaCalcPrimaryAccess().getRosettaReferenceOrFunctionCallParserRuleCall_3()); 
        }
        pushFollow(FOLLOW_2);
        ruleRosettaReferenceOrFunctionCall(); state._fsp--; if (state.failed) return ;
        }
        }
    }
    // $ANTLR end synpred207_InternalRosetta
    // $ANTLR start synpred270_InternalRosetta
    public final void synpred270_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:8837:3: ( ruleRosettaDefinable )
        // InternalRosetta.g:8837:3: ruleRosettaDefinable
        {
        pushFollow(FOLLOW_2);
        ruleRosettaDefinable(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred270_InternalRosetta
    // $ANTLR start synpred272_InternalRosetta
    public final void synpred272_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:8972:3: ( ruleRosettaDefinable )
        // InternalRosetta.g:8972:3: ruleRosettaDefinable
        {
        pushFollow(FOLLOW_2);
        ruleRosettaDefinable(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred272_InternalRosetta
    // $ANTLR start synpred273_InternalRosetta
    public final void synpred273_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:8999:3: ( rule__Condition__Group_4__0 )
        // InternalRosetta.g:8999:3: rule__Condition__Group_4__0
        {
        pushFollow(FOLLOW_2);
        rule__Condition__Group_4__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred273_InternalRosetta
    // $ANTLR start synpred275_InternalRosetta
    public final void synpred275_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:9161:3: ( ruleRosettaDefinable )
        // InternalRosetta.g:9161:3: ruleRosettaDefinable
        {
        pushFollow(FOLLOW_2);
        ruleRosettaDefinable(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred275_InternalRosetta
    // $ANTLR start synpred277_InternalRosetta
    public final void synpred277_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:9323:3: ( ruleRosettaDefinable )
        // InternalRosetta.g:9323:3: ruleRosettaDefinable
        {
        pushFollow(FOLLOW_2);
        ruleRosettaDefinable(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred277_InternalRosetta
    // $ANTLR start synpred337_InternalRosetta
    public final void synpred337_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:16970:3: ( rule__DocumentRationale__Group_0_2__0 )
        // InternalRosetta.g:16970:3: rule__DocumentRationale__Group_0_2__0
        {
        pushFollow(FOLLOW_2);
        rule__DocumentRationale__Group_0_2__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred337_InternalRosetta
    // $ANTLR start synpred338_InternalRosetta
    public final void synpred338_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:17105:3: ( rule__DocumentRationale__Group_1_2__0 )
        // InternalRosetta.g:17105:3: rule__DocumentRationale__Group_1_2__0
        {
        pushFollow(FOLLOW_2);
        rule__DocumentRationale__Group_1_2__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred338_InternalRosetta
    // $ANTLR start synpred352_InternalRosetta
    public final void synpred352_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:18833:3: ( rule__ThenOperation__Group_1__0 )
        // InternalRosetta.g:18833:3: rule__ThenOperation__Group_1__0
        {
        pushFollow(FOLLOW_2);
        rule__ThenOperation__Group_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred352_InternalRosetta
    // $ANTLR start synpred353_InternalRosetta
    public final void synpred353_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:18887:3: ( rule__ThenOperation__Alternatives_1_1 )
        // InternalRosetta.g:18887:3: rule__ThenOperation__Alternatives_1_1
        {
        pushFollow(FOLLOW_2);
        rule__ThenOperation__Alternatives_1_1(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred353_InternalRosetta
    // $ANTLR start synpred354_InternalRosetta
    public final void synpred354_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:19022:3: ( rule__RosettaCalcOr__Group_0_1__0 )
        // InternalRosetta.g:19022:3: rule__RosettaCalcOr__Group_0_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcOr__Group_0_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred354_InternalRosetta
    // $ANTLR start synpred355_InternalRosetta
    public final void synpred355_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:19211:3: ( rule__RosettaCalcOr__Group_1_1__0 )
        // InternalRosetta.g:19211:3: rule__RosettaCalcOr__Group_1_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcOr__Group_1_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred355_InternalRosetta
    // $ANTLR start synpred356_InternalRosetta
    public final void synpred356_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:19481:3: ( rule__RosettaCalcAnd__Group_0_1__0 )
        // InternalRosetta.g:19481:3: rule__RosettaCalcAnd__Group_0_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcAnd__Group_0_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred356_InternalRosetta
    // $ANTLR start synpred357_InternalRosetta
    public final void synpred357_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:19670:3: ( rule__RosettaCalcAnd__Group_1_1__0 )
        // InternalRosetta.g:19670:3: rule__RosettaCalcAnd__Group_1_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcAnd__Group_1_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred357_InternalRosetta
    // $ANTLR start synpred358_InternalRosetta
    public final void synpred358_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:19940:3: ( rule__RosettaCalcEquality__Group_0_1__0 )
        // InternalRosetta.g:19940:3: rule__RosettaCalcEquality__Group_0_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcEquality__Group_0_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred358_InternalRosetta
    // $ANTLR start synpred360_InternalRosetta
    public final void synpred360_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:20156:3: ( rule__RosettaCalcEquality__Group_1_1__0 )
        // InternalRosetta.g:20156:3: rule__RosettaCalcEquality__Group_1_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcEquality__Group_1_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred360_InternalRosetta
    // $ANTLR start synpred363_InternalRosetta
    public final void synpred363_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:20480:3: ( rule__RosettaCalcComparison__Group_0_1__0 )
        // InternalRosetta.g:20480:3: rule__RosettaCalcComparison__Group_0_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcComparison__Group_0_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred363_InternalRosetta
    // $ANTLR start synpred365_InternalRosetta
    public final void synpred365_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:20696:3: ( rule__RosettaCalcComparison__Group_1_1__0 )
        // InternalRosetta.g:20696:3: rule__RosettaCalcComparison__Group_1_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcComparison__Group_1_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred365_InternalRosetta
    // $ANTLR start synpred368_InternalRosetta
    public final void synpred368_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:21020:3: ( rule__RosettaCalcAdditive__Group_1__0 )
        // InternalRosetta.g:21020:3: rule__RosettaCalcAdditive__Group_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcAdditive__Group_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred368_InternalRosetta
    // $ANTLR start synpred369_InternalRosetta
    public final void synpred369_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:21209:3: ( rule__RosettaCalcMultiplicative__Group_0_1__0 )
        // InternalRosetta.g:21209:3: rule__RosettaCalcMultiplicative__Group_0_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcMultiplicative__Group_0_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred369_InternalRosetta
    // $ANTLR start synpred370_InternalRosetta
    public final void synpred370_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:21398:3: ( rule__RosettaCalcMultiplicative__Group_1_1__0 )
        // InternalRosetta.g:21398:3: rule__RosettaCalcMultiplicative__Group_1_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcMultiplicative__Group_1_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred370_InternalRosetta
    // $ANTLR start synpred371_InternalRosetta
    public final void synpred371_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:21668:3: ( rule__RosettaCalcBinary__Group_0_1__0 )
        // InternalRosetta.g:21668:3: rule__RosettaCalcBinary__Group_0_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcBinary__Group_0_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred371_InternalRosetta
    // $ANTLR start synpred372_InternalRosetta
    public final void synpred372_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:22019:3: ( rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2 )
        // InternalRosetta.g:22019:3: rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred372_InternalRosetta
    // $ANTLR start synpred373_InternalRosetta
    public final void synpred373_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:22073:3: ( rule__RosettaCalcBinary__Group_1_1__0 )
        // InternalRosetta.g:22073:3: rule__RosettaCalcBinary__Group_1_1__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcBinary__Group_1_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred373_InternalRosetta
    // $ANTLR start synpred374_InternalRosetta
    public final void synpred374_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:22424:3: ( rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2 )
        // InternalRosetta.g:22424:3: rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred374_InternalRosetta
    // $ANTLR start synpred375_InternalRosetta
    public final void synpred375_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:22775:3: ( rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2 )
        // InternalRosetta.g:22775:3: rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred375_InternalRosetta
    // $ANTLR start synpred376_InternalRosetta
    public final void synpred376_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:22910:3: ( rule__UnaryOperation__Alternatives_0_1 )
        // InternalRosetta.g:22910:3: rule__UnaryOperation__Alternatives_0_1
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Alternatives_0_1(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred376_InternalRosetta
    // $ANTLR start synpred377_InternalRosetta
    public final void synpred377_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:23018:3: ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2 )
        // InternalRosetta.g:23018:3: rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__FeatureAssignment_0_1_0_0_0_2(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred377_InternalRosetta
    // $ANTLR start synpred378_InternalRosetta
    public final void synpred378_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:23099:3: ( rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2 )
        // InternalRosetta.g:23099:3: rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__FeatureAssignment_0_1_0_0_1_2(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred378_InternalRosetta
    // $ANTLR start synpred380_InternalRosetta
    public final void synpred380_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:23882:3: ( rule__UnaryOperation__Group_0_1_0_0_13_4__0 )
        // InternalRosetta.g:23882:3: rule__UnaryOperation__Group_0_1_0_0_13_4__0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Group_0_1_0_0_13_4__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred380_InternalRosetta
    // $ANTLR start synpred381_InternalRosetta
    public final void synpred381_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:24558:3: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0 )
        // InternalRosetta.g:24558:3: rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Group_0_1_0_0_22_2_0_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred381_InternalRosetta
    // $ANTLR start synpred382_InternalRosetta
    public final void synpred382_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:24584:3: ( rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0 )
        // InternalRosetta.g:24584:3: rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Group_0_1_0_0_22_2_0_2__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred382_InternalRosetta
    // $ANTLR start synpred384_InternalRosetta
    public final void synpred384_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:25124:3: ( rule__UnaryOperation__Alternatives_0_1_2_1 )
        // InternalRosetta.g:25124:3: rule__UnaryOperation__Alternatives_0_1_2_1
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Alternatives_0_1_2_1(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred384_InternalRosetta
    // $ANTLR start synpred385_InternalRosetta
    public final void synpred385_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:25367:3: ( rule__UnaryOperation__Alternatives_1_1 )
        // InternalRosetta.g:25367:3: rule__UnaryOperation__Alternatives_1_1
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Alternatives_1_1(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred385_InternalRosetta
    // $ANTLR start synpred387_InternalRosetta
    public final void synpred387_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:26150:3: ( rule__UnaryOperation__Group_1_0_0_11_4__0 )
        // InternalRosetta.g:26150:3: rule__UnaryOperation__Group_1_0_0_11_4__0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Group_1_0_0_11_4__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred387_InternalRosetta
    // $ANTLR start synpred388_InternalRosetta
    public final void synpred388_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:26826:3: ( rule__UnaryOperation__Group_1_0_0_20_2_0_1__0 )
        // InternalRosetta.g:26826:3: rule__UnaryOperation__Group_1_0_0_20_2_0_1__0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Group_1_0_0_20_2_0_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred388_InternalRosetta
    // $ANTLR start synpred389_InternalRosetta
    public final void synpred389_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:26852:3: ( rule__UnaryOperation__Group_1_0_0_20_2_0_2__0 )
        // InternalRosetta.g:26852:3: rule__UnaryOperation__Group_1_0_0_20_2_0_2__0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Group_1_0_0_20_2_0_2__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred389_InternalRosetta
    // $ANTLR start synpred391_InternalRosetta
    public final void synpred391_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:27365:3: ( rule__UnaryOperation__Alternatives_1_0_2_1 )
        // InternalRosetta.g:27365:3: rule__UnaryOperation__Alternatives_1_0_2_1
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Alternatives_1_0_2_1(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred391_InternalRosetta
    // $ANTLR start synpred392_InternalRosetta
    public final void synpred392_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:27635:3: ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2 )
        // InternalRosetta.g:27635:3: rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__FeatureAssignment_1_1_0_0_0_2(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred392_InternalRosetta
    // $ANTLR start synpred393_InternalRosetta
    public final void synpred393_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:27716:3: ( rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2 )
        // InternalRosetta.g:27716:3: rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__FeatureAssignment_1_1_0_0_1_2(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred393_InternalRosetta
    // $ANTLR start synpred395_InternalRosetta
    public final void synpred395_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:28499:3: ( rule__UnaryOperation__Group_1_1_0_0_13_4__0 )
        // InternalRosetta.g:28499:3: rule__UnaryOperation__Group_1_1_0_0_13_4__0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Group_1_1_0_0_13_4__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred395_InternalRosetta
    // $ANTLR start synpred396_InternalRosetta
    public final void synpred396_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:29175:3: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0 )
        // InternalRosetta.g:29175:3: rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Group_1_1_0_0_22_2_0_1__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred396_InternalRosetta
    // $ANTLR start synpred397_InternalRosetta
    public final void synpred397_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:29201:3: ( rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0 )
        // InternalRosetta.g:29201:3: rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Group_1_1_0_0_22_2_0_2__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred397_InternalRosetta
    // $ANTLR start synpred399_InternalRosetta
    public final void synpred399_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:29741:3: ( rule__UnaryOperation__Alternatives_1_1_2_1 )
        // InternalRosetta.g:29741:3: rule__UnaryOperation__Alternatives_1_1_2_1
        {
        pushFollow(FOLLOW_2);
        rule__UnaryOperation__Alternatives_1_1_2_1(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred399_InternalRosetta
    // $ANTLR start synpred403_InternalRosetta
    public final void synpred403_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:30578:3: ( rule__RosettaCalcConditionalExpression__Group_5__0 )
        // InternalRosetta.g:30578:3: rule__RosettaCalcConditionalExpression__Group_5__0
        {
        pushFollow(FOLLOW_2);
        rule__RosettaCalcConditionalExpression__Group_5__0(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred403_InternalRosetta
    // $ANTLR start synpred423_InternalRosetta
    public final void synpred423_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:32880:3: ( rule__RegulatoryDocumentReference__SegmentsAssignment_2 )
        // InternalRosetta.g:32880:3: rule__RegulatoryDocumentReference__SegmentsAssignment_2
        {
        pushFollow(FOLLOW_2);
        rule__RegulatoryDocumentReference__SegmentsAssignment_2(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred423_InternalRosetta
    // $ANTLR start synpred428_InternalRosetta
    public final void synpred428_InternalRosetta_fragment() throws RecognitionException {   
        // InternalRosetta.g:33799:3: ( ruleRosettaDefinable )
        // InternalRosetta.g:33799:3: ruleRosettaDefinable
        {
        pushFollow(FOLLOW_2);
        ruleRosettaDefinable(); state._fsp--; if (state.failed) return ;
        }
    }
    // $ANTLR end synpred428_InternalRosetta
    // Delegated rules
    public final boolean synpred273_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred273_InternalRosetta_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 synpred387_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred387_InternalRosetta_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 synpred207_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred207_InternalRosetta_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 synpred79_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred79_InternalRosetta_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 synpred270_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred270_InternalRosetta_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 synpred363_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred363_InternalRosetta_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 synpred204_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred204_InternalRosetta_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 synpred360_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred360_InternalRosetta_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 synpred377_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred377_InternalRosetta_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 synpred391_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred391_InternalRosetta_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 synpred397_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred397_InternalRosetta_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 synpred370_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred370_InternalRosetta_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 synpred423_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred423_InternalRosetta_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 synpred373_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred373_InternalRosetta_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 synpred376_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred376_InternalRosetta_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 synpred172_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred172_InternalRosetta_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 synpred395_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred395_InternalRosetta_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 synpred380_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred380_InternalRosetta_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 synpred392_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred392_InternalRosetta_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 synpred371_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred371_InternalRosetta_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 synpred388_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred388_InternalRosetta_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 synpred338_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred338_InternalRosetta_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 synpred374_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred374_InternalRosetta_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 synpred403_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred403_InternalRosetta_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 synpred365_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred365_InternalRosetta_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 synpred353_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred353_InternalRosetta_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 synpred356_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred356_InternalRosetta_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 synpred337_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred337_InternalRosetta_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 synpred399_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred399_InternalRosetta_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 synpred143_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred143_InternalRosetta_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 synpred368_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred368_InternalRosetta_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 synpred372_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred372_InternalRosetta_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 synpred375_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred375_InternalRosetta_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 synpred358_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred358_InternalRosetta_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 synpred389_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred389_InternalRosetta_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 synpred354_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred354_InternalRosetta_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 synpred355_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred355_InternalRosetta_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 synpred385_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred385_InternalRosetta_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 synpred382_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred382_InternalRosetta_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 synpred203_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred203_InternalRosetta_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 synpred277_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred277_InternalRosetta_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 synpred206_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred206_InternalRosetta_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 synpred352_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred352_InternalRosetta_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 synpred272_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred272_InternalRosetta_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 synpred357_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred357_InternalRosetta_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 synpred369_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred369_InternalRosetta_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 synpred428_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred428_InternalRosetta_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 synpred275_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred275_InternalRosetta_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 synpred393_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred393_InternalRosetta_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 synpred378_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred378_InternalRosetta_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 synpred396_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred396_InternalRosetta_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 synpred381_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred381_InternalRosetta_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 synpred384_InternalRosetta() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred384_InternalRosetta_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 DFA12 dfa12 = new DFA12(this);
    protected DFA37 dfa37 = new DFA37(this);
    protected DFA65 dfa65 = new DFA65(this);
    protected DFA72 dfa72 = new DFA72(this);
    protected DFA79 dfa79 = new DFA79(this);
    protected DFA80 dfa80 = new DFA80(this);
    protected DFA111 dfa111 = new DFA111(this);
    protected DFA134 dfa134 = new DFA134(this);
    protected DFA135 dfa135 = new DFA135(this);
    protected DFA137 dfa137 = new DFA137(this);
    protected DFA138 dfa138 = new DFA138(this);
    protected DFA140 dfa140 = new DFA140(this);
    protected DFA142 dfa142 = new DFA142(this);
    protected DFA174 dfa174 = new DFA174(this);
    protected DFA218 dfa218 = new DFA218(this);
    protected DFA237 dfa237 = new DFA237(this);
    protected DFA239 dfa239 = new DFA239(this);
    protected DFA240 dfa240 = new DFA240(this);
    protected DFA241 dfa241 = new DFA241(this);
    protected DFA245 dfa245 = new DFA245(this);
    protected DFA249 dfa249 = new DFA249(this);
    protected DFA250 dfa250 = new DFA250(this);
    protected DFA252 dfa252 = new DFA252(this);
    protected DFA256 dfa256 = new DFA256(this);
    protected DFA260 dfa260 = new DFA260(this);
    protected DFA264 dfa264 = new DFA264(this);
    protected DFA287 dfa287 = new DFA287(this);
    protected DFA288 dfa288 = new DFA288(this);
    protected DFA293 dfa293 = new DFA293(this);
    static final String dfa_1s = "\35\uffff";
    static final String dfa_2s = "\25\uffff\6\34\2\uffff";
    static final String dfa_3s = "\1\60\7\uffff\1\17\13\uffff\1\5\6\60\2\uffff";
    static final String dfa_4s = "\1\u00a5\7\uffff\1\17\13\uffff\1\22\6\u00a5\2\uffff";
    static final String dfa_5s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\uffff\1\11\1\12\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\7\uffff\1\13\1\10";
    static final String dfa_6s = "\35\uffff}>";
    static final String[] dfa_7s = {
            "\1\11\17\uffff\1\20\3\uffff\1\21\1\uffff\1\22\1\1\1\23\7\uffff\1\5\1\10\1\6\2\uffff\1\7\1\uffff\1\16\1\17\1\15\1\12\24\uffff\1\2\1\3\1\4\11\uffff\1\13\1\14\50\uffff\1\11",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\24",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\25\10\uffff\1\26\1\27\1\30\1\31\1\32",
            "\1\34\17\uffff\1\34\3\uffff\1\34\1\33\3\34\7\uffff\3\34\1\33\1\uffff\1\34\1\uffff\4\34\24\uffff\3\34\11\uffff\2\34\50\uffff\1\34",
            "\1\34\17\uffff\1\34\3\uffff\1\34\1\33\3\34\7\uffff\3\34\1\33\1\uffff\1\34\1\uffff\4\34\24\uffff\3\34\11\uffff\2\34\50\uffff\1\34",
            "\1\34\17\uffff\1\34\3\uffff\1\34\1\33\3\34\7\uffff\3\34\1\33\1\uffff\1\34\1\uffff\4\34\24\uffff\3\34\11\uffff\2\34\50\uffff\1\34",
            "\1\34\17\uffff\1\34\3\uffff\1\34\1\33\3\34\7\uffff\3\34\1\33\1\uffff\1\34\1\uffff\4\34\24\uffff\3\34\11\uffff\2\34\50\uffff\1\34",
            "\1\34\17\uffff\1\34\3\uffff\1\34\1\33\3\34\7\uffff\3\34\1\33\1\uffff\1\34\1\uffff\4\34\24\uffff\3\34\11\uffff\2\34\50\uffff\1\34",
            "\1\34\17\uffff\1\34\3\uffff\1\34\1\33\3\34\7\uffff\3\34\1\33\1\uffff\1\34\1\uffff\4\34\24\uffff\3\34\11\uffff\2\34\50\uffff\1\34",
            "",
            ""
    };
    static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
    static final short[] dfa_2 = DFA.unpackEncodedString(dfa_2s);
    static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
    static final char[] dfa_4 = DFA.unpackEncodedStringToUnsignedChars(dfa_4s);
    static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
    static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s);
    static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s);
    class DFA12 extends DFA {
        public DFA12(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 12;
            this.eot = dfa_1;
            this.eof = dfa_2;
            this.min = dfa_3;
            this.max = dfa_4;
            this.accept = dfa_5;
            this.special = dfa_6;
            this.transition = dfa_7;
        }
        public String getDescription() {
            return "3441:1: rule__RosettaRootElement__Alternatives : ( ( ruleEnumeration ) | ( ruleRosettaBody ) | ( ruleRosettaCorpus ) | ( ruleRosettaSegment ) | ( ruleRosettaBasicType ) | ( ruleRosettaRecordType ) | ( ruleRosettaLibraryFunction ) | ( ruleRosettaSynonymSource ) | ( ruleRosettaRule ) | ( ruleRosettaMetaType ) | ( ruleRosettaExternalSynonymSource ) | ( ruleRosettaExternalRuleSource ) | ( ruleRosettaReport ) | ( ruleRosettaTypeAlias ) | ( ruleRosettaQualifiedType ) | ( ruleRosettaCalculationType ) | ( ruleAnnotation ) | ( ruleData ) | ( ruleChoice ) | ( ruleFunction ) );";
        }
    }
    static final String dfa_8s = "\104\uffff";
    static final String dfa_9s = "\1\4\2\0\101\uffff";
    static final String dfa_10s = "\1\u00a2\2\0\101\uffff";
    static final String dfa_11s = "\3\uffff\1\2\77\uffff\1\1";
    static final String dfa_12s = "\1\uffff\1\0\1\1\101\uffff}>";
    static final String[] dfa_13s = {
            "\1\3\1\1\1\3\5\uffff\11\3\5\uffff\4\3\2\uffff\10\3\11\uffff\2\3\4\uffff\4\3\2\uffff\1\3\3\uffff\1\2\7\uffff\1\3\5\uffff\1\3\27\uffff\1\3\1\uffff\2\3\7\uffff\1\3\4\uffff\2\3\17\uffff\1\3\1\uffff\31\3",
            "\1\uffff",
            "\1\uffff",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };
    static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s);
    static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s);
    static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s);
    static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s);
    static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
    static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s);
    class DFA37 extends DFA {
        public DFA37(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 37;
            this.eot = dfa_8;
            this.eof = dfa_8;
            this.min = dfa_9;
            this.max = dfa_10;
            this.accept = dfa_11;
            this.special = dfa_12;
            this.transition = dfa_13;
        }
        public String getDescription() {
            return "4194:1: rule__ThenOperation__Alternatives_1_1 : ( ( ( rule__ThenOperation__FunctionAssignment_1_1_0 ) ) | ( ( rule__ThenOperation__FunctionAssignment_1_1_1 ) ) );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA37_1 = input.LA(1);
                        int index37_1 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred79_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 3;}
                        input.seek(index37_1);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA37_2 = input.LA(1);
                        int index37_2 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred79_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 3;}
                        input.seek(index37_2);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 37, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA65 extends DFA {
        public DFA65(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 65;
            this.eot = dfa_8;
            this.eof = dfa_8;
            this.min = dfa_9;
            this.max = dfa_10;
            this.accept = dfa_11;
            this.special = dfa_12;
            this.transition = dfa_13;
        }
        public String getDescription() {
            return "4998:1: rule__UnaryOperation__Alternatives_0_1_2_1 : ( ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_0 ) ) | ( ( rule__UnaryOperation__FunctionAssignment_0_1_2_1_1 ) ) );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA65_1 = input.LA(1);
                        int index65_1 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred143_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 3;}
                        input.seek(index65_1);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA65_2 = input.LA(1);
                        int index65_2 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred143_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 3;}
                        input.seek(index65_2);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 65, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA72 extends DFA {
        public DFA72(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 72;
            this.eot = dfa_8;
            this.eof = dfa_8;
            this.min = dfa_9;
            this.max = dfa_10;
            this.accept = dfa_11;
            this.special = dfa_12;
            this.transition = dfa_13;
        }
        public String getDescription() {
            return "5277:1: rule__UnaryOperation__Alternatives_1_0_2_1 : ( ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_0 ) ) | ( ( rule__UnaryOperation__FunctionAssignment_1_0_2_1_1 ) ) );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA72_1 = input.LA(1);
                        int index72_1 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred172_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 3;}
                        input.seek(index72_1);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA72_2 = input.LA(1);
                        int index72_2 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred172_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 3;}
                        input.seek(index72_2);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 72, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA79 extends DFA {
        public DFA79(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 79;
            this.eot = dfa_8;
            this.eof = dfa_8;
            this.min = dfa_9;
            this.max = dfa_10;
            this.accept = dfa_11;
            this.special = dfa_12;
            this.transition = dfa_13;
        }
        public String getDescription() {
            return "5568:1: rule__UnaryOperation__Alternatives_1_1_2_1 : ( ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_0 ) ) | ( ( rule__UnaryOperation__FunctionAssignment_1_1_2_1_1 ) ) );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA79_1 = input.LA(1);
                        int index79_1 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred203_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 3;}
                        input.seek(index79_1);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA79_2 = input.LA(1);
                        int index79_2 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred203_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 3;}
                        input.seek(index79_2);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 79, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String dfa_14s = "\30\uffff";
    static final String dfa_15s = "\1\4\6\0\1\uffff\3\0\15\uffff";
    static final String dfa_16s = "\1\u0088\6\0\1\uffff\3\0\15\uffff";
    static final String dfa_17s = "\7\uffff\1\2\3\uffff\1\5\6\uffff\1\6\1\7\1\1\1\3\1\4\1\10";
    static final String dfa_18s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\uffff\1\6\1\7\1\10\15\uffff}>";
    static final String[] dfa_19s = {
            "\1\13\1\1\1\13\7\uffff\1\2\1\3\1\4\1\5\1\6\7\uffff\1\10\1\11\2\13\37\uffff\1\13\3\uffff\1\23\7\uffff\1\12\5\uffff\1\22\42\uffff\1\13\5\uffff\1\7\17\uffff\1\13",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };
    static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s);
    static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s);
    static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s);
    static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s);
    static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s);
    static final short[][] dfa_19 = unpackEncodedStringArray(dfa_19s);
    class DFA80 extends DFA {
        public DFA80(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 80;
            this.eot = dfa_14;
            this.eof = dfa_14;
            this.min = dfa_15;
            this.max = dfa_16;
            this.accept = dfa_17;
            this.special = dfa_18;
            this.transition = dfa_19;
        }
        public String getDescription() {
            return "5589:1: rule__RosettaCalcPrimary__Alternatives : ( ( ruleRosettaCalcConstructorExpression ) | ( ruleRosettaCalcConditionalExpression ) | ( ruleRosettaCalcOnlyExists ) | ( ruleRosettaReferenceOrFunctionCall ) | ( ruleRosettaLiteral ) | ( ruleEmptyLiteral ) | ( ruleListLiteral ) | ( ( rule__RosettaCalcPrimary__Group_7__0 ) ) );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA80_1 = input.LA(1);
                        int index80_1 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred204_InternalRosetta()) ) {s = 20;}
                        else if ( (synpred206_InternalRosetta()) ) {s = 21;}
                        else if ( (synpred207_InternalRosetta()) ) {s = 22;}
                        input.seek(index80_1);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA80_2 = input.LA(1);
                        int index80_2 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred204_InternalRosetta()) ) {s = 20;}
                        else if ( (synpred206_InternalRosetta()) ) {s = 21;}
                        else if ( (synpred207_InternalRosetta()) ) {s = 22;}
                        input.seek(index80_2);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA80_3 = input.LA(1);
                        int index80_3 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred204_InternalRosetta()) ) {s = 20;}
                        else if ( (synpred206_InternalRosetta()) ) {s = 21;}
                        else if ( (synpred207_InternalRosetta()) ) {s = 22;}
                        input.seek(index80_3);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA80_4 = input.LA(1);
                        int index80_4 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred204_InternalRosetta()) ) {s = 20;}
                        else if ( (synpred206_InternalRosetta()) ) {s = 21;}
                        else if ( (synpred207_InternalRosetta()) ) {s = 22;}
                        input.seek(index80_4);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA80_5 = input.LA(1);
                        int index80_5 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred204_InternalRosetta()) ) {s = 20;}
                        else if ( (synpred206_InternalRosetta()) ) {s = 21;}
                        else if ( (synpred207_InternalRosetta()) ) {s = 22;}
                        input.seek(index80_5);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA80_6 = input.LA(1);
                        int index80_6 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred204_InternalRosetta()) ) {s = 20;}
                        else if ( (synpred206_InternalRosetta()) ) {s = 21;}
                        else if ( (synpred207_InternalRosetta()) ) {s = 22;}
                        input.seek(index80_6);
                        if ( s>=0 ) return s;
                        break;
                    case 6 : 
                        int LA80_8 = input.LA(1);
                        int index80_8 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred206_InternalRosetta()) ) {s = 21;}
                        else if ( (synpred207_InternalRosetta()) ) {s = 22;}
                        input.seek(index80_8);
                        if ( s>=0 ) return s;
                        break;
                    case 7 : 
                        int LA80_9 = input.LA(1);
                        int index80_9 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred206_InternalRosetta()) ) {s = 21;}
                        else if ( (synpred207_InternalRosetta()) ) {s = 22;}
                        input.seek(index80_9);
                        if ( s>=0 ) return s;
                        break;
                    case 8 : 
                        int LA80_10 = input.LA(1);
                        int index80_10 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred206_InternalRosetta()) ) {s = 21;}
                        else if ( (true) ) {s = 23;}
                        input.seek(index80_10);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 80, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String dfa_20s = "\12\uffff";
    static final String dfa_21s = "\1\2\11\uffff";
    static final String dfa_22s = "\2\5\2\uffff\6\74";
    static final String dfa_23s = "\1\u00a5\1\74\2\uffff\6\111";
    static final String dfa_24s = "\2\uffff\1\2\1\1\6\uffff";
    static final String dfa_25s = "\12\uffff}>";
    static final String[] dfa_26s = {
            "\1\3\10\uffff\1\1\4\3\35\uffff\1\2\17\uffff\1\2\3\uffff\1\2\1\uffff\3\2\7\uffff\3\2\2\uffff\1\2\1\uffff\4\2\24\uffff\3\2\11\uffff\2\2\50\uffff\1\2",
            "\1\4\10\uffff\1\5\1\6\1\7\1\10\1\11\51\uffff\1\2",
            "",
            "",
            "\1\2\1\3\13\uffff\1\3",
            "\1\2\1\3\13\uffff\1\3",
            "\1\2\1\3\13\uffff\1\3",
            "\1\2\1\3\13\uffff\1\3",
            "\1\2\1\3\13\uffff\1\3",
            "\1\2\1\3\13\uffff\1\3"
    };
    static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s);
    static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s);
    static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s);
    static final char[] dfa_23 = DFA.unpackEncodedStringToUnsignedChars(dfa_23s);
    static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s);
    static final short[] dfa_25 = DFA.unpackEncodedString(dfa_25s);
    static final short[][] dfa_26 = unpackEncodedStringArray(dfa_26s);
    class DFA111 extends DFA {
        public DFA111(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 111;
            this.eot = dfa_20;
            this.eof = dfa_21;
            this.min = dfa_22;
            this.max = dfa_23;
            this.accept = dfa_24;
            this.special = dfa_25;
            this.transition = dfa_26;
        }
        public String getDescription() {
            return "()* loopback of 7318:2: ( rule__Data__AttributesAssignment_6 )*";
        }
    }
    static final String dfa_27s = "\1\1\11\uffff";
    static final String dfa_28s = "\1\5\1\uffff\1\5\1\uffff\6\74";
    static final String dfa_29s = "\1\u00a5\1\uffff\1\74\1\uffff\6\111";
    static final String dfa_30s = "\1\uffff\1\2\1\uffff\1\1\6\uffff";
    static final String[] dfa_31s = {
            "\1\3\5\uffff\1\1\2\uffff\1\2\4\3\35\uffff\1\1\17\uffff\1\1\3\uffff\1\1\1\uffff\3\1\3\uffff\2\1\2\uffff\3\1\2\uffff\1\1\1\uffff\4\1\24\uffff\3\1\11\uffff\2\1\7\uffff\2\1\37\uffff\1\1",
            "",
            "\1\4\10\uffff\1\5\1\6\1\7\1\10\1\11\51\uffff\1\1",
            "",
            "\1\1\1\3\13\uffff\1\3",
            "\1\1\1\3\13\uffff\1\3",
            "\1\1\1\3\13\uffff\1\3",
            "\1\1\1\3\13\uffff\1\3",
            "\1\1\1\3\13\uffff\1\3",
            "\1\1\1\3\13\uffff\1\3"
    };
    static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s);
    static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s);
    static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s);
    static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s);
    static final short[][] dfa_31 = unpackEncodedStringArray(dfa_31s);
    class DFA134 extends DFA {
        public DFA134(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 134;
            this.eot = dfa_20;
            this.eof = dfa_27;
            this.min = dfa_28;
            this.max = dfa_29;
            this.accept = dfa_30;
            this.special = dfa_25;
            this.transition = dfa_31;
        }
        public String getDescription() {
            return "()* loopback of 8646:3: ( rule__Function__InputsAssignment_5_2 )*";
        }
    }
    static final String dfa_32s = "\1\4\1\0\102\uffff";
    static final String dfa_33s = "\1\u00a2\1\0\102\uffff";
    static final String dfa_34s = "\2\uffff\1\2\100\uffff\1\1";
    static final String dfa_35s = "\1\uffff\1\0\102\uffff}>";
    static final String[] dfa_36s = {
            "\3\2\5\uffff\11\2\5\uffff\4\2\2\uffff\3\2\1\1\4\2\11\uffff\2\2\4\uffff\4\2\2\uffff\1\2\3\uffff\1\2\7\uffff\1\2\5\uffff\1\2\27\uffff\1\2\1\uffff\2\2\7\uffff\1\2\4\uffff\2\2\17\uffff\1\2\1\uffff\31\2",
            "\1\uffff",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };
    static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s);
    static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s);
    static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s);
    static final short[] dfa_35 = DFA.unpackEncodedString(dfa_35s);
    static final short[][] dfa_36 = unpackEncodedStringArray(dfa_36s);
    class DFA135 extends DFA {
        public DFA135(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 135;
            this.eot = dfa_8;
            this.eof = dfa_8;
            this.min = dfa_32;
            this.max = dfa_33;
            this.accept = dfa_34;
            this.special = dfa_35;
            this.transition = dfa_36;
        }
        public String getDescription() {
            return "8837:2: ( ruleRosettaDefinable )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA135_1 = input.LA(1);
                        int index135_1 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred270_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 2;}
                        input.seek(index135_1);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 135, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA137 extends DFA {
        public DFA137(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 137;
            this.eot = dfa_8;
            this.eof = dfa_8;
            this.min = dfa_32;
            this.max = dfa_33;
            this.accept = dfa_34;
            this.special = dfa_35;
            this.transition = dfa_36;
        }
        public String getDescription() {
            return "8972:2: ( ruleRosettaDefinable )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA137_1 = input.LA(1);
                        int index137_1 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred272_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 2;}
                        input.seek(index137_1);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 137, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String dfa_37s = "\1\4\22\uffff\1\0\60\uffff";
    static final String dfa_38s = "\1\u00a2\22\uffff\1\0\60\uffff";
    static final String dfa_39s = "\1\uffff\1\2\101\uffff\1\1";
    static final String dfa_40s = "\23\uffff\1\0\60\uffff}>";
    static final String[] dfa_41s = {
            "\3\1\5\uffff\11\1\5\uffff\4\1\2\uffff\10\1\11\uffff\2\1\4\uffff\4\1\2\uffff\1\1\3\uffff\1\23\7\uffff\1\1\5\uffff\1\1\27\uffff\1\1\1\uffff\2\1\7\uffff\1\1\4\uffff\2\1\17\uffff\1\1\1\uffff\31\1",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\uffff",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };
    static final char[] dfa_37 = DFA.unpackEncodedStringToUnsignedChars(dfa_37s);
    static final char[] dfa_38 = DFA.unpackEncodedStringToUnsignedChars(dfa_38s);
    static final short[] dfa_39 = DFA.unpackEncodedString(dfa_39s);
    static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s);
    static final short[][] dfa_41 = unpackEncodedStringArray(dfa_41s);
    class DFA138 extends DFA {
        public DFA138(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 138;
            this.eot = dfa_8;
            this.eof = dfa_8;
            this.min = dfa_37;
            this.max = dfa_38;
            this.accept = dfa_39;
            this.special = dfa_40;
            this.transition = dfa_41;
        }
        public String getDescription() {
            return "()* loopback of 8999:2: ( rule__Condition__Group_4__0 )*";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA138_19 = input.LA(1);
                        int index138_19 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred273_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index138_19);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 138, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA140 extends DFA {
        public DFA140(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 140;
            this.eot = dfa_8;
            this.eof = dfa_8;
            this.min = dfa_32;
            this.max = dfa_33;
            this.accept = dfa_34;
            this.special = dfa_35;
            this.transition = dfa_36;
        }
        public String getDescription() {
            return "9161:2: ( ruleRosettaDefinable )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA140_1 = input.LA(1);
                        int index140_1 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred275_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 2;}
                        input.seek(index140_1);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 140, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA142 extends DFA {
        public DFA142(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 142;
            this.eot = dfa_8;
            this.eof = dfa_8;
            this.min = dfa_32;
            this.max = dfa_33;
            this.accept = dfa_34;
            this.special = dfa_35;
            this.transition = dfa_36;
        }
        public String getDescription() {
            return "9323:2: ( ruleRosettaDefinable )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA142_1 = input.LA(1);
                        int index142_1 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred277_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 2;}
                        input.seek(index142_1);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 142, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String dfa_42s = "\13\uffff";
    static final String dfa_43s = "\1\uffff\1\7\6\uffff\3\7";
    static final String dfa_44s = "\1\4\1\13\2\6\1\4\1\6\2\uffff\3\13";
    static final String dfa_45s = "\1\4\1\u0086\2\6\1\4\1\6\2\uffff\3\u0086";
    static final String dfa_46s = "\6\uffff\1\1\1\2\3\uffff";
    static final String dfa_47s = "\13\uffff}>";
    static final String[] dfa_48s = {
            "\1\1",
            "\1\7\6\uffff\1\7\25\uffff\1\6\12\uffff\1\2\1\3\16\uffff\1\7\31\uffff\1\7\1\4\2\uffff\2\7\1\5\23\uffff\1\7\16\uffff\1\7",
            "\1\10",
            "\1\10",
            "\1\11",
            "\1\12",
            "",
            "",
            "\1\7\6\uffff\1\7\25\uffff\1\6\32\uffff\1\7\31\uffff\1\7\1\4\2\uffff\2\7\1\5\23\uffff\1\7\16\uffff\1\7",
            "\1\7\6\uffff\1\7\25\uffff\1\6\32\uffff\1\7\31\uffff\1\7\3\uffff\2\7\1\5\23\uffff\1\7\16\uffff\1\7",
            "\1\7\6\uffff\1\7\25\uffff\1\6\32\uffff\1\7\31\uffff\1\7\3\uffff\2\7\24\uffff\1\7\16\uffff\1\7"
    };
    static final short[] dfa_42 = DFA.unpackEncodedString(dfa_42s);
    static final short[] dfa_43 = DFA.unpackEncodedString(dfa_43s);
    static final char[] dfa_44 = DFA.unpackEncodedStringToUnsignedChars(dfa_44s);
    static final char[] dfa_45 = DFA.unpackEncodedStringToUnsignedChars(dfa_45s);
    static final short[] dfa_46 = DFA.unpackEncodedString(dfa_46s);
    static final short[] dfa_47 = DFA.unpackEncodedString(dfa_47s);
    static final short[][] dfa_48 = unpackEncodedStringArray(dfa_48s);
    class DFA174 extends DFA {
        public DFA174(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 174;
            this.eot = dfa_42;
            this.eof = dfa_43;
            this.min = dfa_44;
            this.max = dfa_45;
            this.accept = dfa_46;
            this.special = dfa_47;
            this.transition = dfa_48;
        }
        public String getDescription() {
            return "()* loopback of 13103:2: ( rule__RosettaSynonymBody__Group_0_0_1__0 )*";
        }
    }
    static final String dfa_49s = "\146\uffff";
    static final String dfa_50s = "\1\103\145\uffff";
    static final String dfa_51s = "\1\4\2\uffff\1\0\13\uffff\2\0\3\uffff\57\0\43\uffff";
    static final String dfa_52s = "\1\u00a5\2\uffff\1\0\13\uffff\2\0\3\uffff\57\0\43\uffff";
    static final String dfa_53s = "\1\uffff\1\1\101\uffff\1\2\42\uffff";
    static final String dfa_54s = "\3\uffff\1\0\13\uffff\1\1\1\2\3\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\43\uffff}>";
    static final String[] dfa_55s = {
            "\3\1\4\uffff\1\103\1\55\1\56\1\3\4\1\1\77\1\100\5\uffff\2\1\1\17\1\20\2\uffff\1\73\1\74\1\75\1\76\1\67\1\70\1\61\1\62\1\103\7\uffff\1\103\1\41\1\42\4\uffff\1\71\1\72\1\24\1\25\2\uffff\1\1\1\uffff\2\103\1\1\1\uffff\2\103\1\uffff\3\103\1\1\1\103\2\uffff\2\103\1\1\3\103\1\uffff\2\103\1\uffff\4\103\14\uffff\1\101\1\uffff\1\26\1\27\4\uffff\3\103\1\1\2\uffff\2\103\1\65\1\1\2\uffff\2\103\7\uffff\2\103\2\uffff\1\1\1\103\1\102\1\63\1\64\1\66\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\57\1\60\1\uffff\2\103",
            "",
            "",
            "\1\uffff",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\uffff",
            "\1\uffff",
            "",
            "",
            "",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };
    static final short[] dfa_49 = DFA.unpackEncodedString(dfa_49s);
    static final short[] dfa_50 = DFA.unpackEncodedString(dfa_50s);
    static final char[] dfa_51 = DFA.unpackEncodedStringToUnsignedChars(dfa_51s);
    static final char[] dfa_52 = DFA.unpackEncodedStringToUnsignedChars(dfa_52s);
    static final short[] dfa_53 = DFA.unpackEncodedString(dfa_53s);
    static final short[] dfa_54 = DFA.unpackEncodedString(dfa_54s);
    static final short[][] dfa_55 = unpackEncodedStringArray(dfa_55s);
    class DFA218 extends DFA {
        public DFA218(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 218;
            this.eot = dfa_49;
            this.eof = dfa_50;
            this.min = dfa_51;
            this.max = dfa_52;
            this.accept = dfa_53;
            this.special = dfa_54;
            this.transition = dfa_55;
        }
        public String getDescription() {
            return "18887:2: ( rule__ThenOperation__Alternatives_1_1 )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA218_3 = input.LA(1);
                        int index218_3 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_3);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA218_15 = input.LA(1);
                        int index218_15 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_15);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA218_16 = input.LA(1);
                        int index218_16 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_16);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA218_20 = input.LA(1);
                        int index218_20 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_20);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA218_21 = input.LA(1);
                        int index218_21 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_21);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA218_22 = input.LA(1);
                        int index218_22 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_22);
                        if ( s>=0 ) return s;
                        break;
                    case 6 : 
                        int LA218_23 = input.LA(1);
                        int index218_23 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_23);
                        if ( s>=0 ) return s;
                        break;
                    case 7 : 
                        int LA218_24 = input.LA(1);
                        int index218_24 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_24);
                        if ( s>=0 ) return s;
                        break;
                    case 8 : 
                        int LA218_25 = input.LA(1);
                        int index218_25 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_25);
                        if ( s>=0 ) return s;
                        break;
                    case 9 : 
                        int LA218_26 = input.LA(1);
                        int index218_26 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_26);
                        if ( s>=0 ) return s;
                        break;
                    case 10 : 
                        int LA218_27 = input.LA(1);
                        int index218_27 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_27);
                        if ( s>=0 ) return s;
                        break;
                    case 11 : 
                        int LA218_28 = input.LA(1);
                        int index218_28 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_28);
                        if ( s>=0 ) return s;
                        break;
                    case 12 : 
                        int LA218_29 = input.LA(1);
                        int index218_29 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_29);
                        if ( s>=0 ) return s;
                        break;
                    case 13 : 
                        int LA218_30 = input.LA(1);
                        int index218_30 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_30);
                        if ( s>=0 ) return s;
                        break;
                    case 14 : 
                        int LA218_31 = input.LA(1);
                        int index218_31 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_31);
                        if ( s>=0 ) return s;
                        break;
                    case 15 : 
                        int LA218_32 = input.LA(1);
                        int index218_32 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_32);
                        if ( s>=0 ) return s;
                        break;
                    case 16 : 
                        int LA218_33 = input.LA(1);
                        int index218_33 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_33);
                        if ( s>=0 ) return s;
                        break;
                    case 17 : 
                        int LA218_34 = input.LA(1);
                        int index218_34 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_34);
                        if ( s>=0 ) return s;
                        break;
                    case 18 : 
                        int LA218_35 = input.LA(1);
                        int index218_35 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_35);
                        if ( s>=0 ) return s;
                        break;
                    case 19 : 
                        int LA218_36 = input.LA(1);
                        int index218_36 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_36);
                        if ( s>=0 ) return s;
                        break;
                    case 20 : 
                        int LA218_37 = input.LA(1);
                        int index218_37 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_37);
                        if ( s>=0 ) return s;
                        break;
                    case 21 : 
                        int LA218_38 = input.LA(1);
                        int index218_38 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_38);
                        if ( s>=0 ) return s;
                        break;
                    case 22 : 
                        int LA218_39 = input.LA(1);
                        int index218_39 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_39);
                        if ( s>=0 ) return s;
                        break;
                    case 23 : 
                        int LA218_40 = input.LA(1);
                        int index218_40 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_40);
                        if ( s>=0 ) return s;
                        break;
                    case 24 : 
                        int LA218_41 = input.LA(1);
                        int index218_41 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_41);
                        if ( s>=0 ) return s;
                        break;
                    case 25 : 
                        int LA218_42 = input.LA(1);
                        int index218_42 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_42);
                        if ( s>=0 ) return s;
                        break;
                    case 26 : 
                        int LA218_43 = input.LA(1);
                        int index218_43 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_43);
                        if ( s>=0 ) return s;
                        break;
                    case 27 : 
                        int LA218_44 = input.LA(1);
                        int index218_44 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_44);
                        if ( s>=0 ) return s;
                        break;
                    case 28 : 
                        int LA218_45 = input.LA(1);
                        int index218_45 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_45);
                        if ( s>=0 ) return s;
                        break;
                    case 29 : 
                        int LA218_46 = input.LA(1);
                        int index218_46 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_46);
                        if ( s>=0 ) return s;
                        break;
                    case 30 : 
                        int LA218_47 = input.LA(1);
                        int index218_47 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_47);
                        if ( s>=0 ) return s;
                        break;
                    case 31 : 
                        int LA218_48 = input.LA(1);
                        int index218_48 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_48);
                        if ( s>=0 ) return s;
                        break;
                    case 32 : 
                        int LA218_49 = input.LA(1);
                        int index218_49 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_49);
                        if ( s>=0 ) return s;
                        break;
                    case 33 : 
                        int LA218_50 = input.LA(1);
                        int index218_50 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_50);
                        if ( s>=0 ) return s;
                        break;
                    case 34 : 
                        int LA218_51 = input.LA(1);
                        int index218_51 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_51);
                        if ( s>=0 ) return s;
                        break;
                    case 35 : 
                        int LA218_52 = input.LA(1);
                        int index218_52 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_52);
                        if ( s>=0 ) return s;
                        break;
                    case 36 : 
                        int LA218_53 = input.LA(1);
                        int index218_53 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_53);
                        if ( s>=0 ) return s;
                        break;
                    case 37 : 
                        int LA218_54 = input.LA(1);
                        int index218_54 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_54);
                        if ( s>=0 ) return s;
                        break;
                    case 38 : 
                        int LA218_55 = input.LA(1);
                        int index218_55 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_55);
                        if ( s>=0 ) return s;
                        break;
                    case 39 : 
                        int LA218_56 = input.LA(1);
                        int index218_56 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_56);
                        if ( s>=0 ) return s;
                        break;
                    case 40 : 
                        int LA218_57 = input.LA(1);
                        int index218_57 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_57);
                        if ( s>=0 ) return s;
                        break;
                    case 41 : 
                        int LA218_58 = input.LA(1);
                        int index218_58 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_58);
                        if ( s>=0 ) return s;
                        break;
                    case 42 : 
                        int LA218_59 = input.LA(1);
                        int index218_59 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_59);
                        if ( s>=0 ) return s;
                        break;
                    case 43 : 
                        int LA218_60 = input.LA(1);
                        int index218_60 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_60);
                        if ( s>=0 ) return s;
                        break;
                    case 44 : 
                        int LA218_61 = input.LA(1);
                        int index218_61 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_61);
                        if ( s>=0 ) return s;
                        break;
                    case 45 : 
                        int LA218_62 = input.LA(1);
                        int index218_62 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_62);
                        if ( s>=0 ) return s;
                        break;
                    case 46 : 
                        int LA218_63 = input.LA(1);
                        int index218_63 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_63);
                        if ( s>=0 ) return s;
                        break;
                    case 47 : 
                        int LA218_64 = input.LA(1);
                        int index218_64 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_64);
                        if ( s>=0 ) return s;
                        break;
                    case 48 : 
                        int LA218_65 = input.LA(1);
                        int index218_65 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_65);
                        if ( s>=0 ) return s;
                        break;
                    case 49 : 
                        int LA218_66 = input.LA(1);
                        int index218_66 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred353_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index218_66);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 218, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String dfa_56s = "\1\63\145\uffff";
    static final String dfa_57s = "\1\4\1\uffff\1\0\13\uffff\2\0\4\uffff\37\0\63\uffff";
    static final String dfa_58s = "\1\u00a5\1\uffff\1\0\13\uffff\2\0\4\uffff\37\0\63\uffff";
    static final String dfa_59s = "\1\uffff\1\1\61\uffff\1\2\62\uffff";
    static final String dfa_60s = "\2\uffff\1\0\13\uffff\1\1\1\2\4\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\63\uffff}>";
    static final String[] dfa_61s = {
            "\3\1\4\uffff\1\63\1\55\1\56\1\2\4\1\2\63\5\uffff\2\1\1\16\1\17\2\uffff\6\63\1\61\1\62\1\63\7\uffff\1\63\1\41\1\42\4\uffff\2\63\1\24\1\25\2\uffff\1\1\1\uffff\2\63\1\1\1\uffff\2\63\1\uffff\3\63\1\1\1\63\2\uffff\2\63\1\1\3\63\1\uffff\2\63\1\uffff\4\63\14\uffff\1\63\1\uffff\1\26\1\27\4\uffff\3\63\1\1\2\uffff\3\63\1\1\2\uffff\2\63\7\uffff\2\63\2\uffff\1\1\5\63\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\57\1\60\1\uffff\2\63",
            "",
            "\1\uffff",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\uffff",
            "\1\uffff",
            "",
            "",
            "",
            "",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };
    static final short[] dfa_56 = DFA.unpackEncodedString(dfa_56s);
    static final char[] dfa_57 = DFA.unpackEncodedStringToUnsignedChars(dfa_57s);
    static final char[] dfa_58 = DFA.unpackEncodedStringToUnsignedChars(dfa_58s);
    static final short[] dfa_59 = DFA.unpackEncodedString(dfa_59s);
    static final short[] dfa_60 = DFA.unpackEncodedString(dfa_60s);
    static final short[][] dfa_61 = unpackEncodedStringArray(dfa_61s);
    class DFA237 extends DFA {
        public DFA237(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 237;
            this.eot = dfa_49;
            this.eof = dfa_56;
            this.min = dfa_57;
            this.max = dfa_58;
            this.accept = dfa_59;
            this.special = dfa_60;
            this.transition = dfa_61;
        }
        public String getDescription() {
            return "22019:2: ( rule__RosettaCalcBinary__RightAssignment_0_1_0_3_2 )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA237_2 = input.LA(1);
                        int index237_2 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_2);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA237_14 = input.LA(1);
                        int index237_14 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_14);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA237_15 = input.LA(1);
                        int index237_15 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_15);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA237_20 = input.LA(1);
                        int index237_20 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_20);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA237_21 = input.LA(1);
                        int index237_21 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_21);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA237_22 = input.LA(1);
                        int index237_22 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_22);
                        if ( s>=0 ) return s;
                        break;
                    case 6 : 
                        int LA237_23 = input.LA(1);
                        int index237_23 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_23);
                        if ( s>=0 ) return s;
                        break;
                    case 7 : 
                        int LA237_24 = input.LA(1);
                        int index237_24 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_24);
                        if ( s>=0 ) return s;
                        break;
                    case 8 : 
                        int LA237_25 = input.LA(1);
                        int index237_25 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_25);
                        if ( s>=0 ) return s;
                        break;
                    case 9 : 
                        int LA237_26 = input.LA(1);
                        int index237_26 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_26);
                        if ( s>=0 ) return s;
                        break;
                    case 10 : 
                        int LA237_27 = input.LA(1);
                        int index237_27 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_27);
                        if ( s>=0 ) return s;
                        break;
                    case 11 : 
                        int LA237_28 = input.LA(1);
                        int index237_28 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_28);
                        if ( s>=0 ) return s;
                        break;
                    case 12 : 
                        int LA237_29 = input.LA(1);
                        int index237_29 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_29);
                        if ( s>=0 ) return s;
                        break;
                    case 13 : 
                        int LA237_30 = input.LA(1);
                        int index237_30 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_30);
                        if ( s>=0 ) return s;
                        break;
                    case 14 : 
                        int LA237_31 = input.LA(1);
                        int index237_31 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_31);
                        if ( s>=0 ) return s;
                        break;
                    case 15 : 
                        int LA237_32 = input.LA(1);
                        int index237_32 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_32);
                        if ( s>=0 ) return s;
                        break;
                    case 16 : 
                        int LA237_33 = input.LA(1);
                        int index237_33 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_33);
                        if ( s>=0 ) return s;
                        break;
                    case 17 : 
                        int LA237_34 = input.LA(1);
                        int index237_34 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_34);
                        if ( s>=0 ) return s;
                        break;
                    case 18 : 
                        int LA237_35 = input.LA(1);
                        int index237_35 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_35);
                        if ( s>=0 ) return s;
                        break;
                    case 19 : 
                        int LA237_36 = input.LA(1);
                        int index237_36 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_36);
                        if ( s>=0 ) return s;
                        break;
                    case 20 : 
                        int LA237_37 = input.LA(1);
                        int index237_37 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_37);
                        if ( s>=0 ) return s;
                        break;
                    case 21 : 
                        int LA237_38 = input.LA(1);
                        int index237_38 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_38);
                        if ( s>=0 ) return s;
                        break;
                    case 22 : 
                        int LA237_39 = input.LA(1);
                        int index237_39 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_39);
                        if ( s>=0 ) return s;
                        break;
                    case 23 : 
                        int LA237_40 = input.LA(1);
                        int index237_40 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_40);
                        if ( s>=0 ) return s;
                        break;
                    case 24 : 
                        int LA237_41 = input.LA(1);
                        int index237_41 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_41);
                        if ( s>=0 ) return s;
                        break;
                    case 25 : 
                        int LA237_42 = input.LA(1);
                        int index237_42 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_42);
                        if ( s>=0 ) return s;
                        break;
                    case 26 : 
                        int LA237_43 = input.LA(1);
                        int index237_43 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_43);
                        if ( s>=0 ) return s;
                        break;
                    case 27 : 
                        int LA237_44 = input.LA(1);
                        int index237_44 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_44);
                        if ( s>=0 ) return s;
                        break;
                    case 28 : 
                        int LA237_45 = input.LA(1);
                        int index237_45 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_45);
                        if ( s>=0 ) return s;
                        break;
                    case 29 : 
                        int LA237_46 = input.LA(1);
                        int index237_46 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_46);
                        if ( s>=0 ) return s;
                        break;
                    case 30 : 
                        int LA237_47 = input.LA(1);
                        int index237_47 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_47);
                        if ( s>=0 ) return s;
                        break;
                    case 31 : 
                        int LA237_48 = input.LA(1);
                        int index237_48 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_48);
                        if ( s>=0 ) return s;
                        break;
                    case 32 : 
                        int LA237_49 = input.LA(1);
                        int index237_49 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_49);
                        if ( s>=0 ) return s;
                        break;
                    case 33 : 
                        int LA237_50 = input.LA(1);
                        int index237_50 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred372_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index237_50);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 237, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA239 extends DFA {
        public DFA239(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 239;
            this.eot = dfa_49;
            this.eof = dfa_56;
            this.min = dfa_57;
            this.max = dfa_58;
            this.accept = dfa_59;
            this.special = dfa_60;
            this.transition = dfa_61;
        }
        public String getDescription() {
            return "22424:2: ( rule__RosettaCalcBinary__RightAssignment_1_0_0_3_2 )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA239_2 = input.LA(1);
                        int index239_2 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_2);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA239_14 = input.LA(1);
                        int index239_14 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_14);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA239_15 = input.LA(1);
                        int index239_15 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_15);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA239_20 = input.LA(1);
                        int index239_20 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_20);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA239_21 = input.LA(1);
                        int index239_21 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_21);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA239_22 = input.LA(1);
                        int index239_22 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_22);
                        if ( s>=0 ) return s;
                        break;
                    case 6 : 
                        int LA239_23 = input.LA(1);
                        int index239_23 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_23);
                        if ( s>=0 ) return s;
                        break;
                    case 7 : 
                        int LA239_24 = input.LA(1);
                        int index239_24 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_24);
                        if ( s>=0 ) return s;
                        break;
                    case 8 : 
                        int LA239_25 = input.LA(1);
                        int index239_25 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_25);
                        if ( s>=0 ) return s;
                        break;
                    case 9 : 
                        int LA239_26 = input.LA(1);
                        int index239_26 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_26);
                        if ( s>=0 ) return s;
                        break;
                    case 10 : 
                        int LA239_27 = input.LA(1);
                        int index239_27 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_27);
                        if ( s>=0 ) return s;
                        break;
                    case 11 : 
                        int LA239_28 = input.LA(1);
                        int index239_28 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_28);
                        if ( s>=0 ) return s;
                        break;
                    case 12 : 
                        int LA239_29 = input.LA(1);
                        int index239_29 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_29);
                        if ( s>=0 ) return s;
                        break;
                    case 13 : 
                        int LA239_30 = input.LA(1);
                        int index239_30 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_30);
                        if ( s>=0 ) return s;
                        break;
                    case 14 : 
                        int LA239_31 = input.LA(1);
                        int index239_31 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_31);
                        if ( s>=0 ) return s;
                        break;
                    case 15 : 
                        int LA239_32 = input.LA(1);
                        int index239_32 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_32);
                        if ( s>=0 ) return s;
                        break;
                    case 16 : 
                        int LA239_33 = input.LA(1);
                        int index239_33 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_33);
                        if ( s>=0 ) return s;
                        break;
                    case 17 : 
                        int LA239_34 = input.LA(1);
                        int index239_34 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_34);
                        if ( s>=0 ) return s;
                        break;
                    case 18 : 
                        int LA239_35 = input.LA(1);
                        int index239_35 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_35);
                        if ( s>=0 ) return s;
                        break;
                    case 19 : 
                        int LA239_36 = input.LA(1);
                        int index239_36 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_36);
                        if ( s>=0 ) return s;
                        break;
                    case 20 : 
                        int LA239_37 = input.LA(1);
                        int index239_37 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_37);
                        if ( s>=0 ) return s;
                        break;
                    case 21 : 
                        int LA239_38 = input.LA(1);
                        int index239_38 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_38);
                        if ( s>=0 ) return s;
                        break;
                    case 22 : 
                        int LA239_39 = input.LA(1);
                        int index239_39 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_39);
                        if ( s>=0 ) return s;
                        break;
                    case 23 : 
                        int LA239_40 = input.LA(1);
                        int index239_40 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_40);
                        if ( s>=0 ) return s;
                        break;
                    case 24 : 
                        int LA239_41 = input.LA(1);
                        int index239_41 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_41);
                        if ( s>=0 ) return s;
                        break;
                    case 25 : 
                        int LA239_42 = input.LA(1);
                        int index239_42 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_42);
                        if ( s>=0 ) return s;
                        break;
                    case 26 : 
                        int LA239_43 = input.LA(1);
                        int index239_43 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_43);
                        if ( s>=0 ) return s;
                        break;
                    case 27 : 
                        int LA239_44 = input.LA(1);
                        int index239_44 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_44);
                        if ( s>=0 ) return s;
                        break;
                    case 28 : 
                        int LA239_45 = input.LA(1);
                        int index239_45 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_45);
                        if ( s>=0 ) return s;
                        break;
                    case 29 : 
                        int LA239_46 = input.LA(1);
                        int index239_46 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_46);
                        if ( s>=0 ) return s;
                        break;
                    case 30 : 
                        int LA239_47 = input.LA(1);
                        int index239_47 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_47);
                        if ( s>=0 ) return s;
                        break;
                    case 31 : 
                        int LA239_48 = input.LA(1);
                        int index239_48 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_48);
                        if ( s>=0 ) return s;
                        break;
                    case 32 : 
                        int LA239_49 = input.LA(1);
                        int index239_49 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_49);
                        if ( s>=0 ) return s;
                        break;
                    case 33 : 
                        int LA239_50 = input.LA(1);
                        int index239_50 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred374_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index239_50);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 239, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA240 extends DFA {
        public DFA240(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 240;
            this.eot = dfa_49;
            this.eof = dfa_56;
            this.min = dfa_57;
            this.max = dfa_58;
            this.accept = dfa_59;
            this.special = dfa_60;
            this.transition = dfa_61;
        }
        public String getDescription() {
            return "22775:2: ( rule__RosettaCalcBinary__RightAssignment_1_1_0_3_2 )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA240_2 = input.LA(1);
                        int index240_2 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_2);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA240_14 = input.LA(1);
                        int index240_14 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_14);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA240_15 = input.LA(1);
                        int index240_15 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_15);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA240_20 = input.LA(1);
                        int index240_20 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_20);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA240_21 = input.LA(1);
                        int index240_21 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_21);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA240_22 = input.LA(1);
                        int index240_22 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_22);
                        if ( s>=0 ) return s;
                        break;
                    case 6 : 
                        int LA240_23 = input.LA(1);
                        int index240_23 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_23);
                        if ( s>=0 ) return s;
                        break;
                    case 7 : 
                        int LA240_24 = input.LA(1);
                        int index240_24 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_24);
                        if ( s>=0 ) return s;
                        break;
                    case 8 : 
                        int LA240_25 = input.LA(1);
                        int index240_25 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_25);
                        if ( s>=0 ) return s;
                        break;
                    case 9 : 
                        int LA240_26 = input.LA(1);
                        int index240_26 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_26);
                        if ( s>=0 ) return s;
                        break;
                    case 10 : 
                        int LA240_27 = input.LA(1);
                        int index240_27 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_27);
                        if ( s>=0 ) return s;
                        break;
                    case 11 : 
                        int LA240_28 = input.LA(1);
                        int index240_28 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_28);
                        if ( s>=0 ) return s;
                        break;
                    case 12 : 
                        int LA240_29 = input.LA(1);
                        int index240_29 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_29);
                        if ( s>=0 ) return s;
                        break;
                    case 13 : 
                        int LA240_30 = input.LA(1);
                        int index240_30 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_30);
                        if ( s>=0 ) return s;
                        break;
                    case 14 : 
                        int LA240_31 = input.LA(1);
                        int index240_31 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_31);
                        if ( s>=0 ) return s;
                        break;
                    case 15 : 
                        int LA240_32 = input.LA(1);
                        int index240_32 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_32);
                        if ( s>=0 ) return s;
                        break;
                    case 16 : 
                        int LA240_33 = input.LA(1);
                        int index240_33 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_33);
                        if ( s>=0 ) return s;
                        break;
                    case 17 : 
                        int LA240_34 = input.LA(1);
                        int index240_34 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_34);
                        if ( s>=0 ) return s;
                        break;
                    case 18 : 
                        int LA240_35 = input.LA(1);
                        int index240_35 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_35);
                        if ( s>=0 ) return s;
                        break;
                    case 19 : 
                        int LA240_36 = input.LA(1);
                        int index240_36 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_36);
                        if ( s>=0 ) return s;
                        break;
                    case 20 : 
                        int LA240_37 = input.LA(1);
                        int index240_37 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_37);
                        if ( s>=0 ) return s;
                        break;
                    case 21 : 
                        int LA240_38 = input.LA(1);
                        int index240_38 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_38);
                        if ( s>=0 ) return s;
                        break;
                    case 22 : 
                        int LA240_39 = input.LA(1);
                        int index240_39 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_39);
                        if ( s>=0 ) return s;
                        break;
                    case 23 : 
                        int LA240_40 = input.LA(1);
                        int index240_40 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_40);
                        if ( s>=0 ) return s;
                        break;
                    case 24 : 
                        int LA240_41 = input.LA(1);
                        int index240_41 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_41);
                        if ( s>=0 ) return s;
                        break;
                    case 25 : 
                        int LA240_42 = input.LA(1);
                        int index240_42 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_42);
                        if ( s>=0 ) return s;
                        break;
                    case 26 : 
                        int LA240_43 = input.LA(1);
                        int index240_43 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_43);
                        if ( s>=0 ) return s;
                        break;
                    case 27 : 
                        int LA240_44 = input.LA(1);
                        int index240_44 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_44);
                        if ( s>=0 ) return s;
                        break;
                    case 28 : 
                        int LA240_45 = input.LA(1);
                        int index240_45 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_45);
                        if ( s>=0 ) return s;
                        break;
                    case 29 : 
                        int LA240_46 = input.LA(1);
                        int index240_46 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_46);
                        if ( s>=0 ) return s;
                        break;
                    case 30 : 
                        int LA240_47 = input.LA(1);
                        int index240_47 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_47);
                        if ( s>=0 ) return s;
                        break;
                    case 31 : 
                        int LA240_48 = input.LA(1);
                        int index240_48 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_48);
                        if ( s>=0 ) return s;
                        break;
                    case 32 : 
                        int LA240_49 = input.LA(1);
                        int index240_49 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_49);
                        if ( s>=0 ) return s;
                        break;
                    case 33 : 
                        int LA240_50 = input.LA(1);
                        int index240_50 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred375_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 51;}
                        input.seek(index240_50);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 240, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String dfa_62s = "\44\uffff";
    static final String dfa_63s = "\1\1\43\uffff";
    static final String dfa_64s = "\1\13\1\uffff\41\0\1\uffff";
    static final String dfa_65s = "\1\u00a5\1\uffff\41\0\1\uffff";
    static final String dfa_66s = "\1\uffff\1\2\41\uffff\1\1";
    static final String dfa_67s = "\2\uffff\1\12\1\1\1\22\1\30\1\32\1\36\1\21\1\31\1\0\1\13\1\24\1\26\1\34\1\4\1\17\1\6\1\20\1\2\1\11\1\23\1\27\1\10\1\14\1\25\1\40\1\3\1\7\1\35\1\15\1\5\1\16\1\37\1\33\1\uffff}>";
    static final String[] dfa_68s = {
            "\1\1\1\35\1\36\1\1\4\uffff\2\1\7\uffff\2\1\2\uffff\6\1\1\41\1\42\1\1\7\uffff\1\1\1\21\1\22\4\uffff\2\1\1\4\1\5\4\uffff\2\1\2\uffff\2\1\1\uffff\3\1\1\uffff\1\1\2\uffff\1\1\1\2\1\uffff\3\1\1\uffff\2\1\1\uffff\4\1\14\uffff\1\1\1\uffff\1\6\1\7\4\uffff\3\1\3\uffff\1\1\1\3\1\1\3\uffff\2\1\7\uffff\2\1\3\uffff\5\1\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\37\1\40\1\uffff\2\1",
            "",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            ""
    };
    static final short[] dfa_62 = DFA.unpackEncodedString(dfa_62s);
    static final short[] dfa_63 = DFA.unpackEncodedString(dfa_63s);
    static final char[] dfa_64 = DFA.unpackEncodedStringToUnsignedChars(dfa_64s);
    static final char[] dfa_65 = DFA.unpackEncodedStringToUnsignedChars(dfa_65s);
    static final short[] dfa_66 = DFA.unpackEncodedString(dfa_66s);
    static final short[] dfa_67 = DFA.unpackEncodedString(dfa_67s);
    static final short[][] dfa_68 = unpackEncodedStringArray(dfa_68s);
    class DFA241 extends DFA {
        public DFA241(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 241;
            this.eot = dfa_62;
            this.eof = dfa_63;
            this.min = dfa_64;
            this.max = dfa_65;
            this.accept = dfa_66;
            this.special = dfa_67;
            this.transition = dfa_68;
        }
        public String getDescription() {
            return "()* loopback of 22910:2: ( rule__UnaryOperation__Alternatives_0_1 )*";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA241_10 = input.LA(1);
                        int index241_10 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_10);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA241_3 = input.LA(1);
                        int index241_3 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_3);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA241_19 = input.LA(1);
                        int index241_19 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_19);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA241_27 = input.LA(1);
                        int index241_27 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_27);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA241_15 = input.LA(1);
                        int index241_15 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_15);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA241_31 = input.LA(1);
                        int index241_31 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_31);
                        if ( s>=0 ) return s;
                        break;
                    case 6 : 
                        int LA241_17 = input.LA(1);
                        int index241_17 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_17);
                        if ( s>=0 ) return s;
                        break;
                    case 7 : 
                        int LA241_28 = input.LA(1);
                        int index241_28 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_28);
                        if ( s>=0 ) return s;
                        break;
                    case 8 : 
                        int LA241_23 = input.LA(1);
                        int index241_23 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_23);
                        if ( s>=0 ) return s;
                        break;
                    case 9 : 
                        int LA241_20 = input.LA(1);
                        int index241_20 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_20);
                        if ( s>=0 ) return s;
                        break;
                    case 10 : 
                        int LA241_2 = input.LA(1);
                        int index241_2 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_2);
                        if ( s>=0 ) return s;
                        break;
                    case 11 : 
                        int LA241_11 = input.LA(1);
                        int index241_11 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_11);
                        if ( s>=0 ) return s;
                        break;
                    case 12 : 
                        int LA241_24 = input.LA(1);
                        int index241_24 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_24);
                        if ( s>=0 ) return s;
                        break;
                    case 13 : 
                        int LA241_30 = input.LA(1);
                        int index241_30 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_30);
                        if ( s>=0 ) return s;
                        break;
                    case 14 : 
                        int LA241_32 = input.LA(1);
                        int index241_32 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_32);
                        if ( s>=0 ) return s;
                        break;
                    case 15 : 
                        int LA241_16 = input.LA(1);
                        int index241_16 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_16);
                        if ( s>=0 ) return s;
                        break;
                    case 16 : 
                        int LA241_18 = input.LA(1);
                        int index241_18 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_18);
                        if ( s>=0 ) return s;
                        break;
                    case 17 : 
                        int LA241_8 = input.LA(1);
                        int index241_8 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_8);
                        if ( s>=0 ) return s;
                        break;
                    case 18 : 
                        int LA241_4 = input.LA(1);
                        int index241_4 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_4);
                        if ( s>=0 ) return s;
                        break;
                    case 19 : 
                        int LA241_21 = input.LA(1);
                        int index241_21 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_21);
                        if ( s>=0 ) return s;
                        break;
                    case 20 : 
                        int LA241_12 = input.LA(1);
                        int index241_12 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_12);
                        if ( s>=0 ) return s;
                        break;
                    case 21 : 
                        int LA241_25 = input.LA(1);
                        int index241_25 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_25);
                        if ( s>=0 ) return s;
                        break;
                    case 22 : 
                        int LA241_13 = input.LA(1);
                        int index241_13 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_13);
                        if ( s>=0 ) return s;
                        break;
                    case 23 : 
                        int LA241_22 = input.LA(1);
                        int index241_22 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_22);
                        if ( s>=0 ) return s;
                        break;
                    case 24 : 
                        int LA241_5 = input.LA(1);
                        int index241_5 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_5);
                        if ( s>=0 ) return s;
                        break;
                    case 25 : 
                        int LA241_9 = input.LA(1);
                        int index241_9 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_9);
                        if ( s>=0 ) return s;
                        break;
                    case 26 : 
                        int LA241_6 = input.LA(1);
                        int index241_6 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_6);
                        if ( s>=0 ) return s;
                        break;
                    case 27 : 
                        int LA241_34 = input.LA(1);
                        int index241_34 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_34);
                        if ( s>=0 ) return s;
                        break;
                    case 28 : 
                        int LA241_14 = input.LA(1);
                        int index241_14 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_14);
                        if ( s>=0 ) return s;
                        break;
                    case 29 : 
                        int LA241_29 = input.LA(1);
                        int index241_29 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_29);
                        if ( s>=0 ) return s;
                        break;
                    case 30 : 
                        int LA241_7 = input.LA(1);
                        int index241_7 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_7);
                        if ( s>=0 ) return s;
                        break;
                    case 31 : 
                        int LA241_33 = input.LA(1);
                        int index241_33 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_33);
                        if ( s>=0 ) return s;
                        break;
                    case 32 : 
                        int LA241_26 = input.LA(1);
                        int index241_26 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred376_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index241_26);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 241, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String dfa_69s = "\1\1\1\uffff\1\1\7\uffff";
    static final String dfa_70s = "\1\13\1\uffff\1\4\6\0\1\uffff";
    static final String dfa_71s = "\1\u00a5\1\uffff\1\u00a3\6\0\1\uffff";
    static final String dfa_72s = "\1\uffff\1\2\7\uffff\1\1";
    static final String dfa_73s = "\3\uffff\1\5\1\2\1\0\1\3\1\1\1\4\1\uffff}>";
    static final String[] dfa_74s = {
            "\4\1\4\uffff\2\1\7\uffff\2\1\2\uffff\10\1\1\2\7\uffff\3\1\4\uffff\4\1\4\uffff\2\1\2\uffff\2\1\1\uffff\3\1\1\uffff\1\1\2\uffff\2\1\1\uffff\3\1\1\uffff\2\1\1\uffff\4\1\14\uffff\1\1\1\uffff\2\1\4\uffff\3\1\3\uffff\3\1\3\uffff\2\1\7\uffff\2\1\3\uffff\32\1\1\uffff\2\1",
            "",
            "\1\1\1\3\1\1\5\uffff\2\1\1\4\1\5\1\6\1\7\1\10\2\1\5\uffff\4\1\2\uffff\10\1\11\uffff\2\1\4\uffff\4\1\2\uffff\1\1\3\uffff\1\1\7\uffff\1\1\5\uffff\1\1\4\uffff\1\1\22\uffff\1\1\1\uffff\2\1\7\uffff\1\1\4\uffff\2\1\17\uffff\1\1\1\uffff\32\1",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            "\1\uffff",
            ""
    };
    static final short[] dfa_69 = DFA.unpackEncodedString(dfa_69s);
    static final char[] dfa_70 = DFA.unpackEncodedStringToUnsignedChars(dfa_70s);
    static final char[] dfa_71 = DFA.unpackEncodedStringToUnsignedChars(dfa_71s);
    static final short[] dfa_72 = DFA.unpackEncodedString(dfa_72s);
    static final short[] dfa_73 = DFA.unpackEncodedString(dfa_73s);
    static final short[][] dfa_74 = unpackEncodedStringArray(dfa_74s);
    class DFA245 extends DFA {
        public DFA245(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 245;
            this.eot = dfa_20;
            this.eof = dfa_69;
            this.min = dfa_70;
            this.max = dfa_71;
            this.accept = dfa_72;
            this.special = dfa_73;
            this.transition = dfa_74;
        }
        public String getDescription() {
            return "()* loopback of 23882:2: ( rule__UnaryOperation__Group_0_1_0_0_13_4__0 )*";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA245_5 = input.LA(1);
                        int index245_5 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred380_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index245_5);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA245_7 = input.LA(1);
                        int index245_7 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred380_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index245_7);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA245_4 = input.LA(1);
                        int index245_4 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred380_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index245_4);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA245_6 = input.LA(1);
                        int index245_6 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred380_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index245_6);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA245_8 = input.LA(1);
                        int index245_8 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred380_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index245_8);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA245_3 = input.LA(1);
                        int index245_3 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred380_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index245_3);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 245, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA249 extends DFA {
        public DFA249(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 249;
            this.eot = dfa_49;
            this.eof = dfa_50;
            this.min = dfa_51;
            this.max = dfa_52;
            this.accept = dfa_53;
            this.special = dfa_54;
            this.transition = dfa_55;
        }
        public String getDescription() {
            return "25124:2: ( rule__UnaryOperation__Alternatives_0_1_2_1 )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA249_3 = input.LA(1);
                        int index249_3 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_3);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA249_15 = input.LA(1);
                        int index249_15 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_15);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA249_16 = input.LA(1);
                        int index249_16 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_16);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA249_20 = input.LA(1);
                        int index249_20 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_20);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA249_21 = input.LA(1);
                        int index249_21 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_21);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA249_22 = input.LA(1);
                        int index249_22 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_22);
                        if ( s>=0 ) return s;
                        break;
                    case 6 : 
                        int LA249_23 = input.LA(1);
                        int index249_23 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_23);
                        if ( s>=0 ) return s;
                        break;
                    case 7 : 
                        int LA249_24 = input.LA(1);
                        int index249_24 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_24);
                        if ( s>=0 ) return s;
                        break;
                    case 8 : 
                        int LA249_25 = input.LA(1);
                        int index249_25 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_25);
                        if ( s>=0 ) return s;
                        break;
                    case 9 : 
                        int LA249_26 = input.LA(1);
                        int index249_26 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_26);
                        if ( s>=0 ) return s;
                        break;
                    case 10 : 
                        int LA249_27 = input.LA(1);
                        int index249_27 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_27);
                        if ( s>=0 ) return s;
                        break;
                    case 11 : 
                        int LA249_28 = input.LA(1);
                        int index249_28 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_28);
                        if ( s>=0 ) return s;
                        break;
                    case 12 : 
                        int LA249_29 = input.LA(1);
                        int index249_29 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_29);
                        if ( s>=0 ) return s;
                        break;
                    case 13 : 
                        int LA249_30 = input.LA(1);
                        int index249_30 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_30);
                        if ( s>=0 ) return s;
                        break;
                    case 14 : 
                        int LA249_31 = input.LA(1);
                        int index249_31 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_31);
                        if ( s>=0 ) return s;
                        break;
                    case 15 : 
                        int LA249_32 = input.LA(1);
                        int index249_32 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_32);
                        if ( s>=0 ) return s;
                        break;
                    case 16 : 
                        int LA249_33 = input.LA(1);
                        int index249_33 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_33);
                        if ( s>=0 ) return s;
                        break;
                    case 17 : 
                        int LA249_34 = input.LA(1);
                        int index249_34 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_34);
                        if ( s>=0 ) return s;
                        break;
                    case 18 : 
                        int LA249_35 = input.LA(1);
                        int index249_35 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_35);
                        if ( s>=0 ) return s;
                        break;
                    case 19 : 
                        int LA249_36 = input.LA(1);
                        int index249_36 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_36);
                        if ( s>=0 ) return s;
                        break;
                    case 20 : 
                        int LA249_37 = input.LA(1);
                        int index249_37 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_37);
                        if ( s>=0 ) return s;
                        break;
                    case 21 : 
                        int LA249_38 = input.LA(1);
                        int index249_38 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_38);
                        if ( s>=0 ) return s;
                        break;
                    case 22 : 
                        int LA249_39 = input.LA(1);
                        int index249_39 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_39);
                        if ( s>=0 ) return s;
                        break;
                    case 23 : 
                        int LA249_40 = input.LA(1);
                        int index249_40 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_40);
                        if ( s>=0 ) return s;
                        break;
                    case 24 : 
                        int LA249_41 = input.LA(1);
                        int index249_41 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_41);
                        if ( s>=0 ) return s;
                        break;
                    case 25 : 
                        int LA249_42 = input.LA(1);
                        int index249_42 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_42);
                        if ( s>=0 ) return s;
                        break;
                    case 26 : 
                        int LA249_43 = input.LA(1);
                        int index249_43 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_43);
                        if ( s>=0 ) return s;
                        break;
                    case 27 : 
                        int LA249_44 = input.LA(1);
                        int index249_44 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_44);
                        if ( s>=0 ) return s;
                        break;
                    case 28 : 
                        int LA249_45 = input.LA(1);
                        int index249_45 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_45);
                        if ( s>=0 ) return s;
                        break;
                    case 29 : 
                        int LA249_46 = input.LA(1);
                        int index249_46 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_46);
                        if ( s>=0 ) return s;
                        break;
                    case 30 : 
                        int LA249_47 = input.LA(1);
                        int index249_47 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_47);
                        if ( s>=0 ) return s;
                        break;
                    case 31 : 
                        int LA249_48 = input.LA(1);
                        int index249_48 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_48);
                        if ( s>=0 ) return s;
                        break;
                    case 32 : 
                        int LA249_49 = input.LA(1);
                        int index249_49 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_49);
                        if ( s>=0 ) return s;
                        break;
                    case 33 : 
                        int LA249_50 = input.LA(1);
                        int index249_50 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_50);
                        if ( s>=0 ) return s;
                        break;
                    case 34 : 
                        int LA249_51 = input.LA(1);
                        int index249_51 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_51);
                        if ( s>=0 ) return s;
                        break;
                    case 35 : 
                        int LA249_52 = input.LA(1);
                        int index249_52 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_52);
                        if ( s>=0 ) return s;
                        break;
                    case 36 : 
                        int LA249_53 = input.LA(1);
                        int index249_53 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_53);
                        if ( s>=0 ) return s;
                        break;
                    case 37 : 
                        int LA249_54 = input.LA(1);
                        int index249_54 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_54);
                        if ( s>=0 ) return s;
                        break;
                    case 38 : 
                        int LA249_55 = input.LA(1);
                        int index249_55 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_55);
                        if ( s>=0 ) return s;
                        break;
                    case 39 : 
                        int LA249_56 = input.LA(1);
                        int index249_56 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_56);
                        if ( s>=0 ) return s;
                        break;
                    case 40 : 
                        int LA249_57 = input.LA(1);
                        int index249_57 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_57);
                        if ( s>=0 ) return s;
                        break;
                    case 41 : 
                        int LA249_58 = input.LA(1);
                        int index249_58 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_58);
                        if ( s>=0 ) return s;
                        break;
                    case 42 : 
                        int LA249_59 = input.LA(1);
                        int index249_59 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_59);
                        if ( s>=0 ) return s;
                        break;
                    case 43 : 
                        int LA249_60 = input.LA(1);
                        int index249_60 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_60);
                        if ( s>=0 ) return s;
                        break;
                    case 44 : 
                        int LA249_61 = input.LA(1);
                        int index249_61 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_61);
                        if ( s>=0 ) return s;
                        break;
                    case 45 : 
                        int LA249_62 = input.LA(1);
                        int index249_62 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_62);
                        if ( s>=0 ) return s;
                        break;
                    case 46 : 
                        int LA249_63 = input.LA(1);
                        int index249_63 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_63);
                        if ( s>=0 ) return s;
                        break;
                    case 47 : 
                        int LA249_64 = input.LA(1);
                        int index249_64 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_64);
                        if ( s>=0 ) return s;
                        break;
                    case 48 : 
                        int LA249_65 = input.LA(1);
                        int index249_65 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_65);
                        if ( s>=0 ) return s;
                        break;
                    case 49 : 
                        int LA249_66 = input.LA(1);
                        int index249_66 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred384_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index249_66);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 249, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String dfa_75s = "\2\uffff\1\7\1\40\1\24\1\35\1\26\1\6\1\37\1\0\1\10\1\16\1\27\1\2\1\13\1\20\1\32\1\21\1\30\1\11\1\23\1\31\1\1\1\33\1\25\1\34\1\5\1\3\1\4\1\36\1\12\1\14\1\22\1\17\1\15\1\uffff}>";
    static final short[] dfa_75 = DFA.unpackEncodedString(dfa_75s);
    class DFA250 extends DFA {
        public DFA250(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 250;
            this.eot = dfa_62;
            this.eof = dfa_63;
            this.min = dfa_64;
            this.max = dfa_65;
            this.accept = dfa_66;
            this.special = dfa_75;
            this.transition = dfa_68;
        }
        public String getDescription() {
            return "()* loopback of 25367:2: ( rule__UnaryOperation__Alternatives_1_1 )*";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA250_9 = input.LA(1);
                        int index250_9 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_9);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA250_22 = input.LA(1);
                        int index250_22 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_22);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA250_13 = input.LA(1);
                        int index250_13 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_13);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA250_27 = input.LA(1);
                        int index250_27 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_27);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA250_28 = input.LA(1);
                        int index250_28 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_28);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA250_26 = input.LA(1);
                        int index250_26 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_26);
                        if ( s>=0 ) return s;
                        break;
                    case 6 : 
                        int LA250_7 = input.LA(1);
                        int index250_7 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_7);
                        if ( s>=0 ) return s;
                        break;
                    case 7 : 
                        int LA250_2 = input.LA(1);
                        int index250_2 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_2);
                        if ( s>=0 ) return s;
                        break;
                    case 8 : 
                        int LA250_10 = input.LA(1);
                        int index250_10 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_10);
                        if ( s>=0 ) return s;
                        break;
                    case 9 : 
                        int LA250_19 = input.LA(1);
                        int index250_19 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_19);
                        if ( s>=0 ) return s;
                        break;
                    case 10 : 
                        int LA250_30 = input.LA(1);
                        int index250_30 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_30);
                        if ( s>=0 ) return s;
                        break;
                    case 11 : 
                        int LA250_14 = input.LA(1);
                        int index250_14 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_14);
                        if ( s>=0 ) return s;
                        break;
                    case 12 : 
                        int LA250_31 = input.LA(1);
                        int index250_31 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_31);
                        if ( s>=0 ) return s;
                        break;
                    case 13 : 
                        int LA250_34 = input.LA(1);
                        int index250_34 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_34);
                        if ( s>=0 ) return s;
                        break;
                    case 14 : 
                        int LA250_11 = input.LA(1);
                        int index250_11 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_11);
                        if ( s>=0 ) return s;
                        break;
                    case 15 : 
                        int LA250_33 = input.LA(1);
                        int index250_33 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_33);
                        if ( s>=0 ) return s;
                        break;
                    case 16 : 
                        int LA250_15 = input.LA(1);
                        int index250_15 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_15);
                        if ( s>=0 ) return s;
                        break;
                    case 17 : 
                        int LA250_17 = input.LA(1);
                        int index250_17 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_17);
                        if ( s>=0 ) return s;
                        break;
                    case 18 : 
                        int LA250_32 = input.LA(1);
                        int index250_32 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_32);
                        if ( s>=0 ) return s;
                        break;
                    case 19 : 
                        int LA250_20 = input.LA(1);
                        int index250_20 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_20);
                        if ( s>=0 ) return s;
                        break;
                    case 20 : 
                        int LA250_4 = input.LA(1);
                        int index250_4 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_4);
                        if ( s>=0 ) return s;
                        break;
                    case 21 : 
                        int LA250_24 = input.LA(1);
                        int index250_24 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_24);
                        if ( s>=0 ) return s;
                        break;
                    case 22 : 
                        int LA250_6 = input.LA(1);
                        int index250_6 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_6);
                        if ( s>=0 ) return s;
                        break;
                    case 23 : 
                        int LA250_12 = input.LA(1);
                        int index250_12 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_12);
                        if ( s>=0 ) return s;
                        break;
                    case 24 : 
                        int LA250_18 = input.LA(1);
                        int index250_18 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_18);
                        if ( s>=0 ) return s;
                        break;
                    case 25 : 
                        int LA250_21 = input.LA(1);
                        int index250_21 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_21);
                        if ( s>=0 ) return s;
                        break;
                    case 26 : 
                        int LA250_16 = input.LA(1);
                        int index250_16 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_16);
                        if ( s>=0 ) return s;
                        break;
                    case 27 : 
                        int LA250_23 = input.LA(1);
                        int index250_23 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_23);
                        if ( s>=0 ) return s;
                        break;
                    case 28 : 
                        int LA250_25 = input.LA(1);
                        int index250_25 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_25);
                        if ( s>=0 ) return s;
                        break;
                    case 29 : 
                        int LA250_5 = input.LA(1);
                        int index250_5 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_5);
                        if ( s>=0 ) return s;
                        break;
                    case 30 : 
                        int LA250_29 = input.LA(1);
                        int index250_29 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_29);
                        if ( s>=0 ) return s;
                        break;
                    case 31 : 
                        int LA250_8 = input.LA(1);
                        int index250_8 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_8);
                        if ( s>=0 ) return s;
                        break;
                    case 32 : 
                        int LA250_3 = input.LA(1);
                        int index250_3 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred385_InternalRosetta()) ) {s = 35;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index250_3);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 250, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String dfa_76s = "\3\uffff\1\2\1\1\1\5\1\3\1\0\1\4\1\uffff}>";
    static final short[] dfa_76 = DFA.unpackEncodedString(dfa_76s);
    class DFA252 extends DFA {
        public DFA252(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 252;
            this.eot = dfa_20;
            this.eof = dfa_69;
            this.min = dfa_70;
            this.max = dfa_71;
            this.accept = dfa_72;
            this.special = dfa_76;
            this.transition = dfa_74;
        }
        public String getDescription() {
            return "()* loopback of 26150:2: ( rule__UnaryOperation__Group_1_0_0_11_4__0 )*";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA252_7 = input.LA(1);
                        int index252_7 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred387_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index252_7);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA252_4 = input.LA(1);
                        int index252_4 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred387_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index252_4);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA252_3 = input.LA(1);
                        int index252_3 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred387_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index252_3);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA252_6 = input.LA(1);
                        int index252_6 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred387_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index252_6);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA252_8 = input.LA(1);
                        int index252_8 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred387_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index252_8);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA252_5 = input.LA(1);
                        int index252_5 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred387_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index252_5);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 252, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA256 extends DFA {
        public DFA256(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 256;
            this.eot = dfa_49;
            this.eof = dfa_50;
            this.min = dfa_51;
            this.max = dfa_52;
            this.accept = dfa_53;
            this.special = dfa_54;
            this.transition = dfa_55;
        }
        public String getDescription() {
            return "27365:2: ( rule__UnaryOperation__Alternatives_1_0_2_1 )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA256_3 = input.LA(1);
                        int index256_3 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_3);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA256_15 = input.LA(1);
                        int index256_15 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_15);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA256_16 = input.LA(1);
                        int index256_16 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_16);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA256_20 = input.LA(1);
                        int index256_20 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_20);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA256_21 = input.LA(1);
                        int index256_21 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_21);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA256_22 = input.LA(1);
                        int index256_22 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_22);
                        if ( s>=0 ) return s;
                        break;
                    case 6 : 
                        int LA256_23 = input.LA(1);
                        int index256_23 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_23);
                        if ( s>=0 ) return s;
                        break;
                    case 7 : 
                        int LA256_24 = input.LA(1);
                        int index256_24 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_24);
                        if ( s>=0 ) return s;
                        break;
                    case 8 : 
                        int LA256_25 = input.LA(1);
                        int index256_25 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_25);
                        if ( s>=0 ) return s;
                        break;
                    case 9 : 
                        int LA256_26 = input.LA(1);
                        int index256_26 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_26);
                        if ( s>=0 ) return s;
                        break;
                    case 10 : 
                        int LA256_27 = input.LA(1);
                        int index256_27 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_27);
                        if ( s>=0 ) return s;
                        break;
                    case 11 : 
                        int LA256_28 = input.LA(1);
                        int index256_28 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_28);
                        if ( s>=0 ) return s;
                        break;
                    case 12 : 
                        int LA256_29 = input.LA(1);
                        int index256_29 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_29);
                        if ( s>=0 ) return s;
                        break;
                    case 13 : 
                        int LA256_30 = input.LA(1);
                        int index256_30 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_30);
                        if ( s>=0 ) return s;
                        break;
                    case 14 : 
                        int LA256_31 = input.LA(1);
                        int index256_31 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_31);
                        if ( s>=0 ) return s;
                        break;
                    case 15 : 
                        int LA256_32 = input.LA(1);
                        int index256_32 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_32);
                        if ( s>=0 ) return s;
                        break;
                    case 16 : 
                        int LA256_33 = input.LA(1);
                        int index256_33 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_33);
                        if ( s>=0 ) return s;
                        break;
                    case 17 : 
                        int LA256_34 = input.LA(1);
                        int index256_34 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_34);
                        if ( s>=0 ) return s;
                        break;
                    case 18 : 
                        int LA256_35 = input.LA(1);
                        int index256_35 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_35);
                        if ( s>=0 ) return s;
                        break;
                    case 19 : 
                        int LA256_36 = input.LA(1);
                        int index256_36 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_36);
                        if ( s>=0 ) return s;
                        break;
                    case 20 : 
                        int LA256_37 = input.LA(1);
                        int index256_37 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_37);
                        if ( s>=0 ) return s;
                        break;
                    case 21 : 
                        int LA256_38 = input.LA(1);
                        int index256_38 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_38);
                        if ( s>=0 ) return s;
                        break;
                    case 22 : 
                        int LA256_39 = input.LA(1);
                        int index256_39 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_39);
                        if ( s>=0 ) return s;
                        break;
                    case 23 : 
                        int LA256_40 = input.LA(1);
                        int index256_40 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_40);
                        if ( s>=0 ) return s;
                        break;
                    case 24 : 
                        int LA256_41 = input.LA(1);
                        int index256_41 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_41);
                        if ( s>=0 ) return s;
                        break;
                    case 25 : 
                        int LA256_42 = input.LA(1);
                        int index256_42 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_42);
                        if ( s>=0 ) return s;
                        break;
                    case 26 : 
                        int LA256_43 = input.LA(1);
                        int index256_43 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_43);
                        if ( s>=0 ) return s;
                        break;
                    case 27 : 
                        int LA256_44 = input.LA(1);
                        int index256_44 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_44);
                        if ( s>=0 ) return s;
                        break;
                    case 28 : 
                        int LA256_45 = input.LA(1);
                        int index256_45 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_45);
                        if ( s>=0 ) return s;
                        break;
                    case 29 : 
                        int LA256_46 = input.LA(1);
                        int index256_46 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_46);
                        if ( s>=0 ) return s;
                        break;
                    case 30 : 
                        int LA256_47 = input.LA(1);
                        int index256_47 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_47);
                        if ( s>=0 ) return s;
                        break;
                    case 31 : 
                        int LA256_48 = input.LA(1);
                        int index256_48 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_48);
                        if ( s>=0 ) return s;
                        break;
                    case 32 : 
                        int LA256_49 = input.LA(1);
                        int index256_49 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_49);
                        if ( s>=0 ) return s;
                        break;
                    case 33 : 
                        int LA256_50 = input.LA(1);
                        int index256_50 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_50);
                        if ( s>=0 ) return s;
                        break;
                    case 34 : 
                        int LA256_51 = input.LA(1);
                        int index256_51 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_51);
                        if ( s>=0 ) return s;
                        break;
                    case 35 : 
                        int LA256_52 = input.LA(1);
                        int index256_52 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_52);
                        if ( s>=0 ) return s;
                        break;
                    case 36 : 
                        int LA256_53 = input.LA(1);
                        int index256_53 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_53);
                        if ( s>=0 ) return s;
                        break;
                    case 37 : 
                        int LA256_54 = input.LA(1);
                        int index256_54 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_54);
                        if ( s>=0 ) return s;
                        break;
                    case 38 : 
                        int LA256_55 = input.LA(1);
                        int index256_55 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_55);
                        if ( s>=0 ) return s;
                        break;
                    case 39 : 
                        int LA256_56 = input.LA(1);
                        int index256_56 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_56);
                        if ( s>=0 ) return s;
                        break;
                    case 40 : 
                        int LA256_57 = input.LA(1);
                        int index256_57 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_57);
                        if ( s>=0 ) return s;
                        break;
                    case 41 : 
                        int LA256_58 = input.LA(1);
                        int index256_58 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_58);
                        if ( s>=0 ) return s;
                        break;
                    case 42 : 
                        int LA256_59 = input.LA(1);
                        int index256_59 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_59);
                        if ( s>=0 ) return s;
                        break;
                    case 43 : 
                        int LA256_60 = input.LA(1);
                        int index256_60 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_60);
                        if ( s>=0 ) return s;
                        break;
                    case 44 : 
                        int LA256_61 = input.LA(1);
                        int index256_61 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_61);
                        if ( s>=0 ) return s;
                        break;
                    case 45 : 
                        int LA256_62 = input.LA(1);
                        int index256_62 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_62);
                        if ( s>=0 ) return s;
                        break;
                    case 46 : 
                        int LA256_63 = input.LA(1);
                        int index256_63 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_63);
                        if ( s>=0 ) return s;
                        break;
                    case 47 : 
                        int LA256_64 = input.LA(1);
                        int index256_64 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_64);
                        if ( s>=0 ) return s;
                        break;
                    case 48 : 
                        int LA256_65 = input.LA(1);
                        int index256_65 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_65);
                        if ( s>=0 ) return s;
                        break;
                    case 49 : 
                        int LA256_66 = input.LA(1);
                        int index256_66 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred391_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index256_66);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 256, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String dfa_77s = "\3\uffff\1\3\1\2\1\0\1\4\1\1\1\5\1\uffff}>";
    static final short[] dfa_77 = DFA.unpackEncodedString(dfa_77s);
    class DFA260 extends DFA {
        public DFA260(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 260;
            this.eot = dfa_20;
            this.eof = dfa_69;
            this.min = dfa_70;
            this.max = dfa_71;
            this.accept = dfa_72;
            this.special = dfa_77;
            this.transition = dfa_74;
        }
        public String getDescription() {
            return "()* loopback of 28499:2: ( rule__UnaryOperation__Group_1_1_0_0_13_4__0 )*";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA260_5 = input.LA(1);
                        int index260_5 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred395_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index260_5);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA260_7 = input.LA(1);
                        int index260_7 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred395_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index260_7);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA260_4 = input.LA(1);
                        int index260_4 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred395_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index260_4);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA260_3 = input.LA(1);
                        int index260_3 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred395_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index260_3);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA260_6 = input.LA(1);
                        int index260_6 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred395_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index260_6);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA260_8 = input.LA(1);
                        int index260_8 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred395_InternalRosetta()) ) {s = 9;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index260_8);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 260, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA264 extends DFA {
        public DFA264(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 264;
            this.eot = dfa_49;
            this.eof = dfa_50;
            this.min = dfa_51;
            this.max = dfa_52;
            this.accept = dfa_53;
            this.special = dfa_54;
            this.transition = dfa_55;
        }
        public String getDescription() {
            return "29741:2: ( rule__UnaryOperation__Alternatives_1_1_2_1 )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA264_3 = input.LA(1);
                        int index264_3 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_3);
                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA264_15 = input.LA(1);
                        int index264_15 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_15);
                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA264_16 = input.LA(1);
                        int index264_16 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_16);
                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA264_20 = input.LA(1);
                        int index264_20 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_20);
                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA264_21 = input.LA(1);
                        int index264_21 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_21);
                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA264_22 = input.LA(1);
                        int index264_22 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_22);
                        if ( s>=0 ) return s;
                        break;
                    case 6 : 
                        int LA264_23 = input.LA(1);
                        int index264_23 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_23);
                        if ( s>=0 ) return s;
                        break;
                    case 7 : 
                        int LA264_24 = input.LA(1);
                        int index264_24 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_24);
                        if ( s>=0 ) return s;
                        break;
                    case 8 : 
                        int LA264_25 = input.LA(1);
                        int index264_25 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_25);
                        if ( s>=0 ) return s;
                        break;
                    case 9 : 
                        int LA264_26 = input.LA(1);
                        int index264_26 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_26);
                        if ( s>=0 ) return s;
                        break;
                    case 10 : 
                        int LA264_27 = input.LA(1);
                        int index264_27 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_27);
                        if ( s>=0 ) return s;
                        break;
                    case 11 : 
                        int LA264_28 = input.LA(1);
                        int index264_28 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_28);
                        if ( s>=0 ) return s;
                        break;
                    case 12 : 
                        int LA264_29 = input.LA(1);
                        int index264_29 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_29);
                        if ( s>=0 ) return s;
                        break;
                    case 13 : 
                        int LA264_30 = input.LA(1);
                        int index264_30 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_30);
                        if ( s>=0 ) return s;
                        break;
                    case 14 : 
                        int LA264_31 = input.LA(1);
                        int index264_31 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_31);
                        if ( s>=0 ) return s;
                        break;
                    case 15 : 
                        int LA264_32 = input.LA(1);
                        int index264_32 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_32);
                        if ( s>=0 ) return s;
                        break;
                    case 16 : 
                        int LA264_33 = input.LA(1);
                        int index264_33 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_33);
                        if ( s>=0 ) return s;
                        break;
                    case 17 : 
                        int LA264_34 = input.LA(1);
                        int index264_34 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_34);
                        if ( s>=0 ) return s;
                        break;
                    case 18 : 
                        int LA264_35 = input.LA(1);
                        int index264_35 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_35);
                        if ( s>=0 ) return s;
                        break;
                    case 19 : 
                        int LA264_36 = input.LA(1);
                        int index264_36 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_36);
                        if ( s>=0 ) return s;
                        break;
                    case 20 : 
                        int LA264_37 = input.LA(1);
                        int index264_37 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_37);
                        if ( s>=0 ) return s;
                        break;
                    case 21 : 
                        int LA264_38 = input.LA(1);
                        int index264_38 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_38);
                        if ( s>=0 ) return s;
                        break;
                    case 22 : 
                        int LA264_39 = input.LA(1);
                        int index264_39 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_39);
                        if ( s>=0 ) return s;
                        break;
                    case 23 : 
                        int LA264_40 = input.LA(1);
                        int index264_40 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_40);
                        if ( s>=0 ) return s;
                        break;
                    case 24 : 
                        int LA264_41 = input.LA(1);
                        int index264_41 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_41);
                        if ( s>=0 ) return s;
                        break;
                    case 25 : 
                        int LA264_42 = input.LA(1);
                        int index264_42 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_42);
                        if ( s>=0 ) return s;
                        break;
                    case 26 : 
                        int LA264_43 = input.LA(1);
                        int index264_43 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_43);
                        if ( s>=0 ) return s;
                        break;
                    case 27 : 
                        int LA264_44 = input.LA(1);
                        int index264_44 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_44);
                        if ( s>=0 ) return s;
                        break;
                    case 28 : 
                        int LA264_45 = input.LA(1);
                        int index264_45 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_45);
                        if ( s>=0 ) return s;
                        break;
                    case 29 : 
                        int LA264_46 = input.LA(1);
                        int index264_46 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_46);
                        if ( s>=0 ) return s;
                        break;
                    case 30 : 
                        int LA264_47 = input.LA(1);
                        int index264_47 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_47);
                        if ( s>=0 ) return s;
                        break;
                    case 31 : 
                        int LA264_48 = input.LA(1);
                        int index264_48 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_48);
                        if ( s>=0 ) return s;
                        break;
                    case 32 : 
                        int LA264_49 = input.LA(1);
                        int index264_49 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_49);
                        if ( s>=0 ) return s;
                        break;
                    case 33 : 
                        int LA264_50 = input.LA(1);
                        int index264_50 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_50);
                        if ( s>=0 ) return s;
                        break;
                    case 34 : 
                        int LA264_51 = input.LA(1);
                        int index264_51 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_51);
                        if ( s>=0 ) return s;
                        break;
                    case 35 : 
                        int LA264_52 = input.LA(1);
                        int index264_52 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_52);
                        if ( s>=0 ) return s;
                        break;
                    case 36 : 
                        int LA264_53 = input.LA(1);
                        int index264_53 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_53);
                        if ( s>=0 ) return s;
                        break;
                    case 37 : 
                        int LA264_54 = input.LA(1);
                        int index264_54 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_54);
                        if ( s>=0 ) return s;
                        break;
                    case 38 : 
                        int LA264_55 = input.LA(1);
                        int index264_55 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_55);
                        if ( s>=0 ) return s;
                        break;
                    case 39 : 
                        int LA264_56 = input.LA(1);
                        int index264_56 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_56);
                        if ( s>=0 ) return s;
                        break;
                    case 40 : 
                        int LA264_57 = input.LA(1);
                        int index264_57 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_57);
                        if ( s>=0 ) return s;
                        break;
                    case 41 : 
                        int LA264_58 = input.LA(1);
                        int index264_58 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_58);
                        if ( s>=0 ) return s;
                        break;
                    case 42 : 
                        int LA264_59 = input.LA(1);
                        int index264_59 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_59);
                        if ( s>=0 ) return s;
                        break;
                    case 43 : 
                        int LA264_60 = input.LA(1);
                        int index264_60 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_60);
                        if ( s>=0 ) return s;
                        break;
                    case 44 : 
                        int LA264_61 = input.LA(1);
                        int index264_61 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_61);
                        if ( s>=0 ) return s;
                        break;
                    case 45 : 
                        int LA264_62 = input.LA(1);
                        int index264_62 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_62);
                        if ( s>=0 ) return s;
                        break;
                    case 46 : 
                        int LA264_63 = input.LA(1);
                        int index264_63 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_63);
                        if ( s>=0 ) return s;
                        break;
                    case 47 : 
                        int LA264_64 = input.LA(1);
                        int index264_64 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_64);
                        if ( s>=0 ) return s;
                        break;
                    case 48 : 
                        int LA264_65 = input.LA(1);
                        int index264_65 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_65);
                        if ( s>=0 ) return s;
                        break;
                    case 49 : 
                        int LA264_66 = input.LA(1);
                        int index264_66 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred399_InternalRosetta()) ) {s = 1;}
                        else if ( (true) ) {s = 67;}
                        input.seek(index264_66);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 264, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String dfa_78s = "\20\uffff";
    static final String dfa_79s = "\1\7\6\11\3\uffff\6\11";
    static final String dfa_80s = "\1\5\6\4\1\uffff\1\5\1\uffff\6\4";
    static final String dfa_81s = "\7\u0087\1\uffff\1\22\1\uffff\6\u0087";
    static final String dfa_82s = "\7\uffff\1\2\1\uffff\1\1\6\uffff";
    static final String dfa_83s = "\20\uffff}>";
    static final String[] dfa_84s = {
            "\1\1\10\uffff\1\2\1\3\1\4\1\5\1\6\4\uffff\3\7\51\uffff\1\7\52\uffff\1\7\16\uffff\1\7\11\uffff\1\7",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11",
            "",
            "\1\12\10\uffff\1\13\1\14\1\15\1\16\1\17",
            "",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11",
            "\1\7\1\11\10\uffff\5\11\4\uffff\3\11\43\uffff\1\10\5\uffff\1\11\52\uffff\1\11\16\uffff\1\11\11\uffff\1\11"
    };
    static final short[] dfa_78 = DFA.unpackEncodedString(dfa_78s);
    static final short[] dfa_79 = DFA.unpackEncodedString(dfa_79s);
    static final char[] dfa_80 = DFA.unpackEncodedStringToUnsignedChars(dfa_80s);
    static final char[] dfa_81 = DFA.unpackEncodedStringToUnsignedChars(dfa_81s);
    static final short[] dfa_82 = DFA.unpackEncodedString(dfa_82s);
    static final short[] dfa_83 = DFA.unpackEncodedString(dfa_83s);
    static final short[][] dfa_84 = unpackEncodedStringArray(dfa_84s);
    class DFA287 extends DFA {
        public DFA287(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 287;
            this.eot = dfa_78;
            this.eof = dfa_79;
            this.min = dfa_80;
            this.max = dfa_81;
            this.accept = dfa_82;
            this.special = dfa_83;
            this.transition = dfa_84;
        }
        public String getDescription() {
            return "()* loopback of 32853:3: ( rule__RegulatoryDocumentReference__CorpusListAssignment_1 )*";
        }
    }
    static final String dfa_85s = "\21\uffff";
    static final String dfa_86s = "\1\1\20\uffff";
    static final String dfa_87s = "\1\5\1\uffff\6\4\1\5\1\0\6\4\1\uffff";
    static final String dfa_88s = "\1\u0087\1\uffff\6\75\1\22\1\0\6\75\1\uffff";
    static final String dfa_89s = "\1\uffff\1\2\16\uffff\1\1";
    static final String dfa_90s = "\11\uffff\1\0\7\uffff}>";
    static final String[] dfa_91s = {
            "\1\2\10\uffff\1\3\1\4\1\5\1\6\1\7\4\uffff\3\1\51\uffff\1\1\52\uffff\1\1\16\uffff\1\1\11\uffff\1\1",
            "",
            "\1\11\70\uffff\1\10",
            "\1\11\70\uffff\1\10",
            "\1\11\70\uffff\1\10",
            "\1\11\70\uffff\1\10",
            "\1\11\70\uffff\1\10",
            "\1\11\70\uffff\1\10",
            "\1\12\10\uffff\1\13\1\14\1\15\1\16\1\17",
            "\1\uffff",
            "\1\11\70\uffff\1\10",
            "\1\11\70\uffff\1\10",
            "\1\11\70\uffff\1\10",
            "\1\11\70\uffff\1\10",
            "\1\11\70\uffff\1\10",
            "\1\11\70\uffff\1\10",
            ""
    };
    static final short[] dfa_85 = DFA.unpackEncodedString(dfa_85s);
    static final short[] dfa_86 = DFA.unpackEncodedString(dfa_86s);
    static final char[] dfa_87 = DFA.unpackEncodedStringToUnsignedChars(dfa_87s);
    static final char[] dfa_88 = DFA.unpackEncodedStringToUnsignedChars(dfa_88s);
    static final short[] dfa_89 = DFA.unpackEncodedString(dfa_89s);
    static final short[] dfa_90 = DFA.unpackEncodedString(dfa_90s);
    static final short[][] dfa_91 = unpackEncodedStringArray(dfa_91s);
    class DFA288 extends DFA {
        public DFA288(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 288;
            this.eot = dfa_85;
            this.eof = dfa_86;
            this.min = dfa_87;
            this.max = dfa_88;
            this.accept = dfa_89;
            this.special = dfa_90;
            this.transition = dfa_91;
        }
        public String getDescription() {
            return "()* loopback of 32880:2: ( rule__RegulatoryDocumentReference__SegmentsAssignment_2 )*";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA288_9 = input.LA(1);
                        int index288_9 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred423_InternalRosetta()) ) {s = 16;}
                        else if ( (true) ) {s = 1;}
                        input.seek(index288_9);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 288, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    class DFA293 extends DFA {
        public DFA293(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 293;
            this.eot = dfa_8;
            this.eof = dfa_8;
            this.min = dfa_32;
            this.max = dfa_33;
            this.accept = dfa_34;
            this.special = dfa_35;
            this.transition = dfa_36;
        }
        public String getDescription() {
            return "33799:2: ( ruleRosettaDefinable )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA293_1 = input.LA(1);
                        int index293_1 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred428_InternalRosetta()) ) {s = 67;}
                        else if ( (true) ) {s = 2;}
                        input.seek(index293_1);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 293, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x000000000007C030L});
    public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x5061000000020000L,0x1803800007A701D1L,0x0000002000000000L});
    public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x4000000000000002L});
    public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0060000000000002L});
    public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0001000000000002L,0x1803800007A701D1L,0x0000002000000000L});
    public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x2000000000000000L});
    public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x2000000000000002L});
    public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x000000000007C020L});
    public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x8000000000000000L});
    public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000001000000000L});
    public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x1000000000000000L});
    public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x000000080007C020L,0x0000000000000002L});
    public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x000000000007C022L});
    public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
    public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
    public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x000000000007C020L,0x0000000000000008L});
    public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000000012L});
    public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x1000000000000000L,0x0000000000000020L});
    public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L});
    public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000004002L});
    public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000800000000L,0x0000000000000002L});
    public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
    public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000800004800L,0x0000000000003802L,0x0000000000000030L});
    public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L});
    public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000802L,0x0000000000000000L,0x0000000000000020L});
    public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000010L});
    public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
    public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x278600FF3C1FF070L,0x0184068000008202L,0x00000007FFFFFD00L});
    public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x100000000007C020L});
    public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x1000000000000000L,0x0000000000004000L});
    public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
    public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
    public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
    public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x278600FF3C1FF070L,0x018406800000820AL,0x00000007FFFFFD00L});
    public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x000000000007F020L});
    public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000010000000000L,0x0000000000000400L});
    public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x200000003007F070L,0x0004000000000000L,0x0000000000000100L});
    public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000800000000L,0x0000000000000200L});
    public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
    public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x000000080007C020L,0x0000000000100000L});
    public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
    public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x000000000007C020L,0x0000000000000400L});
    public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
    public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x1000000000000000L,0x0000000000000200L});
    public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x000000080007C020L});
    public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000800000000L,0x0000000008000002L});
    public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
    public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
    public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000010000010000L,0x0000000020000008L});
    public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0018000000000000L,0x0000000040000000L});
    public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000010000010800L,0x00000001A0000000L});
    public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000040000L,0x0000000600000000L,0x0000000000000040L});
    public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000000000800L,0x0080000020000000L});
    public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0018000000000000L,0x0000000840000000L});
    public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
    public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
    public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000010000010000L});
    public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000040000L,0x0000002000000008L,0x0000000000000040L});
    public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000000800L,0x0080000000000000L});
    public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000000010L,0x0000110040000000L});
    public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x200000003007C070L,0x0004000000000000L,0x0000000000000100L});
    public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000000000000000L,0x0000004000000000L});
    public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000000000800L});
    public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L});
    public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000002L,0x0000008000000000L});
    public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000000000002L,0x0000000000004000L});
    public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000180000L,0x0000060000000000L});
    public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
    public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
    public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
    public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
    public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000600000L});
    public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x000000000387C020L,0x0000400000000008L,0x0000000000000080L});
    public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000001800002L});
    public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x000000000387C020L});
    public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x278600FF3C1FF070L,0x0184068000008602L,0x00000007FFFFFD00L});
    public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x000000000C07C020L});
    public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L,0x0000000000000100L});
    public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x2000000030000040L});
    public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x00000000C0000020L});
    public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000030000000L});
    public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x2000000030000050L,0x0004000000000000L,0x0000000000000100L});
    public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
    public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L});
    public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
    public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0000000000000000L,0x0020000000000000L});
    public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000002L,0x0020000000000000L});
    public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
    public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000400L});
    public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x278600FF3C1FF070L,0x0184068000008202L,0x00000007FFFFF900L});
    public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x278600FF3C1FF070L,0x0184060000008202L,0x00000007FFFFF900L});
    public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0180000000180000L});
    public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0180000000180002L});
    public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x278600FF3C07F070L,0x0184060000008202L,0x00000007FFFFF900L});
    public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0180000F00000000L});
    public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0180000F00000002L});
    public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x260600F03C07F070L,0x0184060000008202L,0x00000007FFFFF900L});
    public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000030000002L});
    public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000003000000000L});
    public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000003000000002L});
    public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x260600C03C07F070L,0x0184060000008202L,0x00000007FFFFF900L});
    public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000000L,0x0080000000000000L,0x0000000000003800L});
    public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000800L});
    public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x260600C03C07F070L,0x0104060000008202L,0x00000007FFFFC100L});
    public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
    public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0000000000000000L,0x0080000000000000L});
    public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x060600C000003000L,0x0040060000004000L,0x00000007FFFFC000L});
    public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x060600C000003002L,0x0040060000004000L,0x00000007FFFFC000L});
    public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L});
    public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0600000000000000L,0x0000020000000000L});
    public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
    public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000008000L});
    public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
    public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
    public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000040000L});
    public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000080000L});
    public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
    public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000200000L});
    public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000400000L});
    public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x0006000000000000L});
    public static final BitSet FOLLOW_136 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
    public static final BitSet FOLLOW_137 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
    public static final BitSet FOLLOW_138 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000001000000L});
    public static final BitSet FOLLOW_139 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000002000000L});
    public static final BitSet FOLLOW_140 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000004000000L});
    public static final BitSet FOLLOW_141 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
    public static final BitSet FOLLOW_142 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000010000000L});
    public static final BitSet FOLLOW_143 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
    public static final BitSet FOLLOW_144 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
    public static final BitSet FOLLOW_145 = new BitSet(new long[]{0x0606000000000000L,0x0040060000004000L,0x00000000FFFFC000L});
    public static final BitSet FOLLOW_146 = new BitSet(new long[]{0x200000003007C070L,0x0084000000000000L,0x0000000000000100L});
    public static final BitSet FOLLOW_147 = new BitSet(new long[]{0x0000000000000020L,0x0000000000000002L});
    public static final BitSet FOLLOW_148 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000100000000L});
    public static final BitSet FOLLOW_149 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_150 = new BitSet(new long[]{0x0000000000003000L,0x0000000000000000L,0x0000000100000000L});
    public static final BitSet FOLLOW_151 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000200000000L});
    public static final BitSet FOLLOW_152 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000400000000L});
    public static final BitSet FOLLOW_153 = new BitSet(new long[]{0x0606000000000000L,0x0000060000000000L,0x00000000FFFFC000L});
    public static final BitSet FOLLOW_154 = new BitSet(new long[]{0x000000000007C020L,0x0000000000100000L,0x0000000800000000L});
    public static final BitSet FOLLOW_155 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000800000000L});
    public static final BitSet FOLLOW_156 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L});
    public static final BitSet FOLLOW_157 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
    public static final BitSet FOLLOW_158 = new BitSet(new long[]{0x000000000C07C020L,0x0000000000000200L});
    public static final BitSet FOLLOW_159 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L});
    public static final BitSet FOLLOW_160 = new BitSet(new long[]{0x000000000007C020L,0x0400000000100000L});
    public static final BitSet FOLLOW_161 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080020L});
    public static final BitSet FOLLOW_162 = new BitSet(new long[]{0x0000000030000000L,0x0000000000000002L});
    public static final BitSet FOLLOW_163 = new BitSet(new long[]{0x0000000000010000L,0x0000000020000000L});
    public static final BitSet FOLLOW_164 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_165 = new BitSet(new long[]{0x0000000000040000L,0x0000002000000008L});
    public static final BitSet FOLLOW_166 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
    public static final BitSet FOLLOW_167 = new BitSet(new long[]{0x0000FE0000000000L});
    public static final BitSet FOLLOW_168 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
    public static final BitSet FOLLOW_169 = new BitSet(new long[]{0x0000000000000000L,0x8000008000000000L,0x0000000000000001L});
    public static final BitSet FOLLOW_170 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
    public static final BitSet FOLLOW_171 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
    public static final BitSet FOLLOW_172 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
    public static final BitSet FOLLOW_173 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
    public static final BitSet FOLLOW_174 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
    public static final BitSet FOLLOW_175 = new BitSet(new long[]{0x1000000000000000L,0x4000000000000000L});
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy