blob: 2da699bb670806f7c74c91d79f53837bcdc18d77 [file] [log] [blame]
package org.eclipse.ocl.xtext.oclinecore.parser.antlr.internal;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import org.eclipse.ocl.xtext.oclinecore.services.OCLinEcoreGrammarAccess;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
/*******************************************************************************
* Copyright (c) 2011, 2022 Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* E.D.Willink - initial API and implementation
*******************************************************************************/
@SuppressWarnings("all")
public class InternalOCLinEcoreParser extends org.eclipse.ocl.xtext.base.utilities.CompatibilityAbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_SINGLE_QUOTED_STRING", "RULE_ML_SINGLE_QUOTED_STRING", "RULE_UNQUOTED_STRING", "RULE_SIMPLE_ID", "RULE_ESCAPED_ID", "RULE_ESCAPED_CHARACTER", "RULE_LETTER_CHARACTER", "RULE_DOUBLE_QUOTED_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'module'", "'-'", "'abstract'", "'attribute'", "'body'", "'callable'", "'class'", "'composes'", "'datatype'", "'definition'", "'derivation'", "'derived'", "'enum'", "'extends'", "'id'", "'import'", "'initial'", "'interface'", "'key'", "'library'", "'operation'", "'ordered'", "'package'", "'postcondition'", "'precondition'", "'primitive'", "'property'", "'readonly'", "'reference'", "'resolve'", "'static'", "'throws'", "'transient'", "'unique'", "'unsettable'", "'volatile'", "'invariant'", "'('", "')'", "':'", "';'", "'annotation'", "','", "'{'", "'}'", "'='", "'!derived'", "'!id'", "'!ordered'", "'!readonly'", "'!transient'", "'!unique'", "'!unsettable'", "'!volatile'", "'serializable'", "'!serializable'", "'documentation'", "'literal'", "'::*'", "'opposite'", "'#'", "'!composes'", "'!resolve'", "'sysml'", "'<'", "'>'", "'not'", "'not2'", "'*'", "'/'", "'+'", "'>='", "'<='", "'<>'", "'and'", "'and2'", "'implies'", "'implies2'", "'or'", "'or2'", "'xor'", "'xor2'", "'.'", "'->'", "'?.'", "'?->'", "'Map'", "'Tuple'", "'::'", "'Boolean'", "'Integer'", "'Real'", "'String'", "'UnlimitedNatural'", "'OclAny'", "'OclInvalid'", "'OclVoid'", "'Set'", "'Bag'", "'Sequence'", "'Collection'", "'OrderedSet'", "'..'", "'++'", "'Lambda'", "'with'", "'<-'", "'true'", "'false'", "'invalid'", "'null'", "'@'", "'pre'", "'['", "']'", "'in'", "'|'", "'if'", "'then'", "'else'", "'endif'", "'elseif'", "'let'", "'self'", "'|?'", "'|1'", "'?'", "'&&'"
};
public static final int T__144=144;
public static final int T__143=143;
public static final int T__50=50;
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 T__131=131;
public static final int T__130=130;
public static final int RULE_INT=4;
public static final int T__66=66;
public static final int RULE_ML_COMMENT=13;
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__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__30=30;
public static final int T__31=31;
public static final int T__32=32;
public static final int RULE_SINGLE_QUOTED_STRING=5;
public static final int T__48=48;
public static final int T__49=49;
public static final int RULE_DOUBLE_QUOTED_STRING=12;
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 RULE_ESCAPED_ID=9;
public static final int T__40=40;
public static final int T__41=41;
public static final int T__42=42;
public static final int T__43=43;
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 RULE_LETTER_CHARACTER=11;
public static final int T__19=19;
public static final int T__17=17;
public static final int T__18=18;
public static final int T__99=99;
public static final int RULE_ESCAPED_CHARACTER=10;
public static final int T__95=95;
public static final int RULE_ML_SINGLE_QUOTED_STRING=6;
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_UNQUOTED_STRING=7;
public static final int RULE_SL_COMMENT=14;
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 RULE_SIMPLE_ID=8;
public static final int T__83=83;
public static final int T__112=112;
public static final int RULE_WS=15;
public static final int RULE_ANY_OTHER=16;
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 InternalOCLinEcoreParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalOCLinEcoreParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalOCLinEcoreParser.tokenNames; }
public String getGrammarFileName() { return "InternalOCLinEcore.g"; }
/*
This grammar contains a lot of empty actions to work around a bug in ANTLR.
Otherwise the ANTLR tool will create synpreds that cannot be compiled in some rare cases.
*/
private OCLinEcoreGrammarAccess grammarAccess;
public InternalOCLinEcoreParser(TokenStream input, OCLinEcoreGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "TopLevelCS";
}
@Override
protected OCLinEcoreGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleTopLevelCS"
// InternalOCLinEcore.g:80:1: entryRuleTopLevelCS returns [EObject current=null] : iv_ruleTopLevelCS= ruleTopLevelCS EOF ;
public final EObject entryRuleTopLevelCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTopLevelCS = null;
try {
// InternalOCLinEcore.g:81:2: (iv_ruleTopLevelCS= ruleTopLevelCS EOF )
// InternalOCLinEcore.g:82:2: iv_ruleTopLevelCS= ruleTopLevelCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTopLevelCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTopLevelCS=ruleTopLevelCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTopLevelCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTopLevelCS"
// $ANTLR start "ruleTopLevelCS"
// InternalOCLinEcore.g:89:1: ruleTopLevelCS returns [EObject current=null] : ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedImports_3_0= ruleImportCS ) )* ( (lv_ownedPackages_4_0= rulePackageCS ) )* ) ;
public final EObject ruleTopLevelCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedImports_3_0 = null;
EObject lv_ownedPackages_4_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:92:28: ( ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedImports_3_0= ruleImportCS ) )* ( (lv_ownedPackages_4_0= rulePackageCS ) )* ) )
// InternalOCLinEcore.g:93:1: ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedImports_3_0= ruleImportCS ) )* ( (lv_ownedPackages_4_0= rulePackageCS ) )* )
{
// InternalOCLinEcore.g:93:1: ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedImports_3_0= ruleImportCS ) )* ( (lv_ownedPackages_4_0= rulePackageCS ) )* )
// InternalOCLinEcore.g:93:2: () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedImports_3_0= ruleImportCS ) )* ( (lv_ownedPackages_4_0= rulePackageCS ) )*
{
// InternalOCLinEcore.g:93:2: ()
// InternalOCLinEcore.g:94:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getTopLevelCSAccess().getTopLevelCSAction_0(),
current);
}
}
// InternalOCLinEcore.g:102:2: (otherlv_1= 'module' ruleUnrestrictedName )?
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==17) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// InternalOCLinEcore.g:102:4: otherlv_1= 'module' ruleUnrestrictedName
{
otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTopLevelCSAccess().getModuleKeyword_1_0());
}
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTopLevelCSAccess().getUnrestrictedNameParserRuleCall_1_1());
}
pushFollow(FollowSets000.FOLLOW_4);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
// InternalOCLinEcore.g:117:3: ( (lv_ownedImports_3_0= ruleImportCS ) )*
loop2:
do {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==32||LA2_0==36) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// InternalOCLinEcore.g:118:1: (lv_ownedImports_3_0= ruleImportCS )
{
// InternalOCLinEcore.g:118:1: (lv_ownedImports_3_0= ruleImportCS )
// InternalOCLinEcore.g:119:3: lv_ownedImports_3_0= ruleImportCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTopLevelCSAccess().getOwnedImportsImportCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_4);
lv_ownedImports_3_0=ruleImportCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTopLevelCSRule());
}
add(
current,
"ownedImports",
lv_ownedImports_3_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.ImportCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop2;
}
} while (true);
// InternalOCLinEcore.g:135:3: ( (lv_ownedPackages_4_0= rulePackageCS ) )*
loop3:
do {
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==39) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// InternalOCLinEcore.g:136:1: (lv_ownedPackages_4_0= rulePackageCS )
{
// InternalOCLinEcore.g:136:1: (lv_ownedPackages_4_0= rulePackageCS )
// InternalOCLinEcore.g:137:3: lv_ownedPackages_4_0= rulePackageCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTopLevelCSAccess().getOwnedPackagesPackageCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_5);
lv_ownedPackages_4_0=rulePackageCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTopLevelCSRule());
}
add(
current,
"ownedPackages",
lv_ownedPackages_4_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.PackageCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop3;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTopLevelCS"
// $ANTLR start "entryRuleSIGNED"
// InternalOCLinEcore.g:163:1: entryRuleSIGNED returns [String current=null] : iv_ruleSIGNED= ruleSIGNED EOF ;
public final String entryRuleSIGNED() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleSIGNED = null;
try {
// InternalOCLinEcore.g:164:2: (iv_ruleSIGNED= ruleSIGNED EOF )
// InternalOCLinEcore.g:165:2: iv_ruleSIGNED= ruleSIGNED EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSIGNEDRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSIGNED=ruleSIGNED();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSIGNED.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSIGNED"
// $ANTLR start "ruleSIGNED"
// InternalOCLinEcore.g:172:1: ruleSIGNED returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ;
public final AntlrDatatypeRuleToken ruleSIGNED() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
Token this_INT_1=null;
enterRule();
try {
// InternalOCLinEcore.g:175:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) )
// InternalOCLinEcore.g:176:1: ( (kw= '-' )? this_INT_1= RULE_INT )
{
// InternalOCLinEcore.g:176:1: ( (kw= '-' )? this_INT_1= RULE_INT )
// InternalOCLinEcore.g:176:2: (kw= '-' )? this_INT_1= RULE_INT
{
// InternalOCLinEcore.g:176:2: (kw= '-' )?
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==18) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// InternalOCLinEcore.g:177:2: kw= '-'
{
kw=(Token)match(input,18,FollowSets000.FOLLOW_6); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getSIGNEDAccess().getHyphenMinusKeyword_0());
}
}
break;
}
this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_1);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_1, grammarAccess.getSIGNEDAccess().getINTTerminalRuleCall_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSIGNED"
// $ANTLR start "entryRuleEnumerationLiteralName"
// InternalOCLinEcore.g:197:1: entryRuleEnumerationLiteralName returns [String current=null] : iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF ;
public final String entryRuleEnumerationLiteralName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEnumerationLiteralName = null;
try {
// InternalOCLinEcore.g:198:2: (iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF )
// InternalOCLinEcore.g:199:2: iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEnumerationLiteralName=ruleEnumerationLiteralName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEnumerationLiteralName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEnumerationLiteralName"
// $ANTLR start "ruleEnumerationLiteralName"
// InternalOCLinEcore.g:206:1: ruleEnumerationLiteralName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) ;
public final AntlrDatatypeRuleToken ruleEnumerationLiteralName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_EssentialOCLUnrestrictedName_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:209:28: ( (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) )
// InternalOCLinEcore.g:210:1: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' )
{
// InternalOCLinEcore.g:210:1: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' )
int alt5=36;
switch ( input.LA(1) ) {
case RULE_SIMPLE_ID:
case RULE_ESCAPED_ID:
{
alt5=1;
}
break;
case 19:
{
alt5=2;
}
break;
case 20:
{
alt5=3;
}
break;
case 21:
{
alt5=4;
}
break;
case 22:
{
alt5=5;
}
break;
case 23:
{
alt5=6;
}
break;
case 24:
{
alt5=7;
}
break;
case 25:
{
alt5=8;
}
break;
case 26:
{
alt5=9;
}
break;
case 27:
{
alt5=10;
}
break;
case 28:
{
alt5=11;
}
break;
case 29:
{
alt5=12;
}
break;
case 30:
{
alt5=13;
}
break;
case 31:
{
alt5=14;
}
break;
case 32:
{
alt5=15;
}
break;
case 33:
{
alt5=16;
}
break;
case 34:
{
alt5=17;
}
break;
case 35:
{
alt5=18;
}
break;
case 36:
{
alt5=19;
}
break;
case 17:
{
alt5=20;
}
break;
case 37:
{
alt5=21;
}
break;
case 38:
{
alt5=22;
}
break;
case 39:
{
alt5=23;
}
break;
case 40:
{
alt5=24;
}
break;
case 41:
{
alt5=25;
}
break;
case 42:
{
alt5=26;
}
break;
case 43:
{
alt5=27;
}
break;
case 44:
{
alt5=28;
}
break;
case 45:
{
alt5=29;
}
break;
case 46:
{
alt5=30;
}
break;
case 47:
{
alt5=31;
}
break;
case 48:
{
alt5=32;
}
break;
case 49:
{
alt5=33;
}
break;
case 50:
{
alt5=34;
}
break;
case 51:
{
alt5=35;
}
break;
case 52:
{
alt5=36;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 5, 0, input);
throw nvae;
}
switch (alt5) {
case 1 :
// InternalOCLinEcore.g:211:5: this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralNameAccess().getEssentialOCLUnrestrictedNameParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EssentialOCLUnrestrictedName_0=ruleEssentialOCLUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_EssentialOCLUnrestrictedName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:223:2: kw= 'abstract'
{
kw=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getAbstractKeyword_1());
}
}
break;
case 3 :
// InternalOCLinEcore.g:230:2: kw= 'attribute'
{
kw=(Token)match(input,20,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getAttributeKeyword_2());
}
}
break;
case 4 :
// InternalOCLinEcore.g:237:2: kw= 'body'
{
kw=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getBodyKeyword_3());
}
}
break;
case 5 :
// InternalOCLinEcore.g:244:2: kw= 'callable'
{
kw=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getCallableKeyword_4());
}
}
break;
case 6 :
// InternalOCLinEcore.g:251:2: kw= 'class'
{
kw=(Token)match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getClassKeyword_5());
}
}
break;
case 7 :
// InternalOCLinEcore.g:258:2: kw= 'composes'
{
kw=(Token)match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getComposesKeyword_6());
}
}
break;
case 8 :
// InternalOCLinEcore.g:265:2: kw= 'datatype'
{
kw=(Token)match(input,25,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getDatatypeKeyword_7());
}
}
break;
case 9 :
// InternalOCLinEcore.g:272:2: kw= 'definition'
{
kw=(Token)match(input,26,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getDefinitionKeyword_8());
}
}
break;
case 10 :
// InternalOCLinEcore.g:279:2: kw= 'derivation'
{
kw=(Token)match(input,27,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getDerivationKeyword_9());
}
}
break;
case 11 :
// InternalOCLinEcore.g:286:2: kw= 'derived'
{
kw=(Token)match(input,28,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getDerivedKeyword_10());
}
}
break;
case 12 :
// InternalOCLinEcore.g:293:2: kw= 'enum'
{
kw=(Token)match(input,29,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getEnumKeyword_11());
}
}
break;
case 13 :
// InternalOCLinEcore.g:300:2: kw= 'extends'
{
kw=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getExtendsKeyword_12());
}
}
break;
case 14 :
// InternalOCLinEcore.g:307:2: kw= 'id'
{
kw=(Token)match(input,31,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getIdKeyword_13());
}
}
break;
case 15 :
// InternalOCLinEcore.g:314:2: kw= 'import'
{
kw=(Token)match(input,32,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getImportKeyword_14());
}
}
break;
case 16 :
// InternalOCLinEcore.g:321:2: kw= 'initial'
{
kw=(Token)match(input,33,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getInitialKeyword_15());
}
}
break;
case 17 :
// InternalOCLinEcore.g:328:2: kw= 'interface'
{
kw=(Token)match(input,34,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getInterfaceKeyword_16());
}
}
break;
case 18 :
// InternalOCLinEcore.g:335:2: kw= 'key'
{
kw=(Token)match(input,35,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getKeyKeyword_17());
}
}
break;
case 19 :
// InternalOCLinEcore.g:342:2: kw= 'library'
{
kw=(Token)match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getLibraryKeyword_18());
}
}
break;
case 20 :
// InternalOCLinEcore.g:349:2: kw= 'module'
{
kw=(Token)match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getModuleKeyword_19());
}
}
break;
case 21 :
// InternalOCLinEcore.g:356:2: kw= 'operation'
{
kw=(Token)match(input,37,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getOperationKeyword_20());
}
}
break;
case 22 :
// InternalOCLinEcore.g:363:2: kw= 'ordered'
{
kw=(Token)match(input,38,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getOrderedKeyword_21());
}
}
break;
case 23 :
// InternalOCLinEcore.g:370:2: kw= 'package'
{
kw=(Token)match(input,39,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getPackageKeyword_22());
}
}
break;
case 24 :
// InternalOCLinEcore.g:377:2: kw= 'postcondition'
{
kw=(Token)match(input,40,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getPostconditionKeyword_23());
}
}
break;
case 25 :
// InternalOCLinEcore.g:384:2: kw= 'precondition'
{
kw=(Token)match(input,41,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getPreconditionKeyword_24());
}
}
break;
case 26 :
// InternalOCLinEcore.g:391:2: kw= 'primitive'
{
kw=(Token)match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getPrimitiveKeyword_25());
}
}
break;
case 27 :
// InternalOCLinEcore.g:398:2: kw= 'property'
{
kw=(Token)match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getPropertyKeyword_26());
}
}
break;
case 28 :
// InternalOCLinEcore.g:405:2: kw= 'readonly'
{
kw=(Token)match(input,44,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getReadonlyKeyword_27());
}
}
break;
case 29 :
// InternalOCLinEcore.g:412:2: kw= 'reference'
{
kw=(Token)match(input,45,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getReferenceKeyword_28());
}
}
break;
case 30 :
// InternalOCLinEcore.g:419:2: kw= 'resolve'
{
kw=(Token)match(input,46,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getResolveKeyword_29());
}
}
break;
case 31 :
// InternalOCLinEcore.g:426:2: kw= 'static'
{
kw=(Token)match(input,47,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getStaticKeyword_30());
}
}
break;
case 32 :
// InternalOCLinEcore.g:433:2: kw= 'throws'
{
kw=(Token)match(input,48,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getThrowsKeyword_31());
}
}
break;
case 33 :
// InternalOCLinEcore.g:440:2: kw= 'transient'
{
kw=(Token)match(input,49,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getTransientKeyword_32());
}
}
break;
case 34 :
// InternalOCLinEcore.g:447:2: kw= 'unique'
{
kw=(Token)match(input,50,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getUniqueKeyword_33());
}
}
break;
case 35 :
// InternalOCLinEcore.g:454:2: kw= 'unsettable'
{
kw=(Token)match(input,51,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getUnsettableKeyword_34());
}
}
break;
case 36 :
// InternalOCLinEcore.g:461:2: kw= 'volatile'
{
kw=(Token)match(input,52,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getVolatileKeyword_35());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEnumerationLiteralName"
// $ANTLR start "entryRuleInvariantConstraintCS"
// InternalOCLinEcore.g:474:1: entryRuleInvariantConstraintCS returns [EObject current=null] : iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF ;
public final EObject entryRuleInvariantConstraintCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleInvariantConstraintCS = null;
try {
// InternalOCLinEcore.g:475:2: (iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF )
// InternalOCLinEcore.g:476:2: iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInvariantConstraintCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleInvariantConstraintCS=ruleInvariantConstraintCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleInvariantConstraintCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInvariantConstraintCS"
// $ANTLR start "ruleInvariantConstraintCS"
// InternalOCLinEcore.g:483:1: ruleInvariantConstraintCS returns [EObject current=null] : ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) ) ;
public final EObject ruleInvariantConstraintCS() throws RecognitionException {
EObject current = null;
Token lv_isCallable_0_0=null;
Token lv_stereotype_1_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_9=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedMessageSpecification_4_0 = null;
EObject lv_ownedSpecification_7_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:486:28: ( ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) ) )
// InternalOCLinEcore.g:487:1: ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) )
{
// InternalOCLinEcore.g:487:1: ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) )
// InternalOCLinEcore.g:487:2: ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' )
{
// InternalOCLinEcore.g:487:2: ( (lv_isCallable_0_0= 'callable' ) )?
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==22) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// InternalOCLinEcore.g:488:1: (lv_isCallable_0_0= 'callable' )
{
// InternalOCLinEcore.g:488:1: (lv_isCallable_0_0= 'callable' )
// InternalOCLinEcore.g:489:3: lv_isCallable_0_0= 'callable'
{
lv_isCallable_0_0=(Token)match(input,22,FollowSets000.FOLLOW_7); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isCallable_0_0, grammarAccess.getInvariantConstraintCSAccess().getIsCallableCallableKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getInvariantConstraintCSRule());
}
setWithLastConsumed(current, "isCallable", true, "callable");
}
}
}
break;
}
// InternalOCLinEcore.g:502:3: ( (lv_stereotype_1_0= 'invariant' ) )
// InternalOCLinEcore.g:503:1: (lv_stereotype_1_0= 'invariant' )
{
// InternalOCLinEcore.g:503:1: (lv_stereotype_1_0= 'invariant' )
// InternalOCLinEcore.g:504:3: lv_stereotype_1_0= 'invariant'
{
lv_stereotype_1_0=(Token)match(input,53,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_stereotype_1_0, grammarAccess.getInvariantConstraintCSAccess().getStereotypeInvariantKeyword_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getInvariantConstraintCSRule());
}
setWithLastConsumed(current, "stereotype", lv_stereotype_1_0, "invariant");
}
}
}
// InternalOCLinEcore.g:517:2: ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )?
int alt8=2;
int LA8_0 = input.LA(1);
if ( ((LA8_0>=RULE_SIMPLE_ID && LA8_0<=RULE_ESCAPED_ID)||LA8_0==17||(LA8_0>=19 && LA8_0<=53)||LA8_0==58||LA8_0==71||(LA8_0>=73 && LA8_0<=74)||LA8_0==76||LA8_0==80) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// InternalOCLinEcore.g:517:3: ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )?
{
// InternalOCLinEcore.g:517:3: ( (lv_name_2_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:518:1: (lv_name_2_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:518:1: (lv_name_2_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:519:3: lv_name_2_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInvariantConstraintCSAccess().getNameUnrestrictedNameParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_9);
lv_name_2_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInvariantConstraintCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:535:2: (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )?
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==54) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// InternalOCLinEcore.g:535:4: otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')'
{
otherlv_3=(Token)match(input,54,FollowSets000.FOLLOW_10); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getInvariantConstraintCSAccess().getLeftParenthesisKeyword_2_1_0());
}
// InternalOCLinEcore.g:539:1: ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) )
// InternalOCLinEcore.g:540:1: (lv_ownedMessageSpecification_4_0= ruleSpecificationCS )
{
// InternalOCLinEcore.g:540:1: (lv_ownedMessageSpecification_4_0= ruleSpecificationCS )
// InternalOCLinEcore.g:541:3: lv_ownedMessageSpecification_4_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInvariantConstraintCSAccess().getOwnedMessageSpecificationSpecificationCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_ownedMessageSpecification_4_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInvariantConstraintCSRule());
}
set(
current,
"ownedMessageSpecification",
lv_ownedMessageSpecification_4_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_5=(Token)match(input,55,FollowSets000.FOLLOW_12); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getInvariantConstraintCSAccess().getRightParenthesisKeyword_2_1_2());
}
}
break;
}
}
break;
}
// InternalOCLinEcore.g:561:5: ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' )
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==56) ) {
alt10=1;
}
else if ( (LA10_0==57) ) {
alt10=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 10, 0, input);
throw nvae;
}
switch (alt10) {
case 1 :
// InternalOCLinEcore.g:561:6: (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' )
{
// InternalOCLinEcore.g:561:6: (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' )
// InternalOCLinEcore.g:561:8: otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';'
{
otherlv_6=(Token)match(input,56,FollowSets000.FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getInvariantConstraintCSAccess().getColonKeyword_3_0_0());
}
// InternalOCLinEcore.g:565:1: ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )?
int alt9=2;
int LA9_0 = input.LA(1);
if ( ((LA9_0>=RULE_INT && LA9_0<=RULE_SINGLE_QUOTED_STRING)||(LA9_0>=RULE_UNQUOTED_STRING && LA9_0<=RULE_ESCAPED_ID)||(LA9_0>=17 && LA9_0<=54)||LA9_0==58||LA9_0==71||(LA9_0>=73 && LA9_0<=74)||LA9_0==76||LA9_0==80||(LA9_0>=83 && LA9_0<=85)||(LA9_0>=103 && LA9_0<=104)||(LA9_0>=106 && LA9_0<=118)||LA9_0==121||(LA9_0>=124 && LA9_0<=127)||LA9_0==134||(LA9_0>=139 && LA9_0<=140)) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// InternalOCLinEcore.g:566:1: (lv_ownedSpecification_7_0= ruleSpecificationCS )
{
// InternalOCLinEcore.g:566:1: (lv_ownedSpecification_7_0= ruleSpecificationCS )
// InternalOCLinEcore.g:567:3: lv_ownedSpecification_7_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInvariantConstraintCSAccess().getOwnedSpecificationSpecificationCSParserRuleCall_3_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedSpecification_7_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInvariantConstraintCSRule());
}
set(
current,
"ownedSpecification",
lv_ownedSpecification_7_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_8=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getInvariantConstraintCSAccess().getSemicolonKeyword_3_0_2());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:588:7: otherlv_9= ';'
{
otherlv_9=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getInvariantConstraintCSAccess().getSemicolonKeyword_3_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInvariantConstraintCS"
// $ANTLR start "entryRulePostconditionConstraintCS"
// InternalOCLinEcore.g:600:1: entryRulePostconditionConstraintCS returns [EObject current=null] : iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF ;
public final EObject entryRulePostconditionConstraintCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePostconditionConstraintCS = null;
try {
// InternalOCLinEcore.g:601:2: (iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF )
// InternalOCLinEcore.g:602:2: iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPostconditionConstraintCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePostconditionConstraintCS=rulePostconditionConstraintCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePostconditionConstraintCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePostconditionConstraintCS"
// $ANTLR start "rulePostconditionConstraintCS"
// InternalOCLinEcore.g:609:1: rulePostconditionConstraintCS returns [EObject current=null] : ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) ;
public final EObject rulePostconditionConstraintCS() throws RecognitionException {
EObject current = null;
Token lv_stereotype_0_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_5=null;
Token otherlv_7=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_ownedMessageSpecification_3_0 = null;
EObject lv_ownedSpecification_6_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:612:28: ( ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) )
// InternalOCLinEcore.g:613:1: ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
{
// InternalOCLinEcore.g:613:1: ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
// InternalOCLinEcore.g:613:2: ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';'
{
// InternalOCLinEcore.g:613:2: ( (lv_stereotype_0_0= 'postcondition' ) )
// InternalOCLinEcore.g:614:1: (lv_stereotype_0_0= 'postcondition' )
{
// InternalOCLinEcore.g:614:1: (lv_stereotype_0_0= 'postcondition' )
// InternalOCLinEcore.g:615:3: lv_stereotype_0_0= 'postcondition'
{
lv_stereotype_0_0=(Token)match(input,40,FollowSets000.FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_stereotype_0_0, grammarAccess.getPostconditionConstraintCSAccess().getStereotypePostconditionKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getPostconditionConstraintCSRule());
}
setWithLastConsumed(current, "stereotype", lv_stereotype_0_0, "postcondition");
}
}
}
// InternalOCLinEcore.g:628:2: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )?
int alt12=2;
int LA12_0 = input.LA(1);
if ( ((LA12_0>=RULE_SIMPLE_ID && LA12_0<=RULE_ESCAPED_ID)||LA12_0==17||(LA12_0>=19 && LA12_0<=53)||LA12_0==58||LA12_0==71||(LA12_0>=73 && LA12_0<=74)||LA12_0==76||LA12_0==80) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// InternalOCLinEcore.g:628:3: ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
{
// InternalOCLinEcore.g:628:3: ( (lv_name_1_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:629:1: (lv_name_1_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:629:1: (lv_name_1_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:630:3: lv_name_1_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPostconditionConstraintCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_16);
lv_name_1_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPostconditionConstraintCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:646:2: (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==54) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// InternalOCLinEcore.g:646:4: otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')'
{
otherlv_2=(Token)match(input,54,FollowSets000.FOLLOW_10); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getPostconditionConstraintCSAccess().getLeftParenthesisKeyword_1_1_0());
}
// InternalOCLinEcore.g:650:1: ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) )
// InternalOCLinEcore.g:651:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
{
// InternalOCLinEcore.g:651:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
// InternalOCLinEcore.g:652:3: lv_ownedMessageSpecification_3_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPostconditionConstraintCSAccess().getOwnedMessageSpecificationSpecificationCSParserRuleCall_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_ownedMessageSpecification_3_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPostconditionConstraintCSRule());
}
set(
current,
"ownedMessageSpecification",
lv_ownedMessageSpecification_3_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,55,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getPostconditionConstraintCSAccess().getRightParenthesisKeyword_1_1_2());
}
}
break;
}
}
break;
}
otherlv_5=(Token)match(input,56,FollowSets000.FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getPostconditionConstraintCSAccess().getColonKeyword_2());
}
// InternalOCLinEcore.g:676:1: ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )?
int alt13=2;
int LA13_0 = input.LA(1);
if ( ((LA13_0>=RULE_INT && LA13_0<=RULE_SINGLE_QUOTED_STRING)||(LA13_0>=RULE_UNQUOTED_STRING && LA13_0<=RULE_ESCAPED_ID)||(LA13_0>=17 && LA13_0<=54)||LA13_0==58||LA13_0==71||(LA13_0>=73 && LA13_0<=74)||LA13_0==76||LA13_0==80||(LA13_0>=83 && LA13_0<=85)||(LA13_0>=103 && LA13_0<=104)||(LA13_0>=106 && LA13_0<=118)||LA13_0==121||(LA13_0>=124 && LA13_0<=127)||LA13_0==134||(LA13_0>=139 && LA13_0<=140)) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// InternalOCLinEcore.g:677:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
{
// InternalOCLinEcore.g:677:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
// InternalOCLinEcore.g:678:3: lv_ownedSpecification_6_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPostconditionConstraintCSAccess().getOwnedSpecificationSpecificationCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedSpecification_6_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPostconditionConstraintCSRule());
}
set(
current,
"ownedSpecification",
lv_ownedSpecification_6_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_7=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getPostconditionConstraintCSAccess().getSemicolonKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePostconditionConstraintCS"
// $ANTLR start "entryRulePreconditionConstraintCS"
// InternalOCLinEcore.g:706:1: entryRulePreconditionConstraintCS returns [EObject current=null] : iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF ;
public final EObject entryRulePreconditionConstraintCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePreconditionConstraintCS = null;
try {
// InternalOCLinEcore.g:707:2: (iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF )
// InternalOCLinEcore.g:708:2: iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPreconditionConstraintCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePreconditionConstraintCS=rulePreconditionConstraintCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePreconditionConstraintCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePreconditionConstraintCS"
// $ANTLR start "rulePreconditionConstraintCS"
// InternalOCLinEcore.g:715:1: rulePreconditionConstraintCS returns [EObject current=null] : ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) ;
public final EObject rulePreconditionConstraintCS() throws RecognitionException {
EObject current = null;
Token lv_stereotype_0_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_5=null;
Token otherlv_7=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_ownedMessageSpecification_3_0 = null;
EObject lv_ownedSpecification_6_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:718:28: ( ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) )
// InternalOCLinEcore.g:719:1: ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
{
// InternalOCLinEcore.g:719:1: ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
// InternalOCLinEcore.g:719:2: ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';'
{
// InternalOCLinEcore.g:719:2: ( (lv_stereotype_0_0= 'precondition' ) )
// InternalOCLinEcore.g:720:1: (lv_stereotype_0_0= 'precondition' )
{
// InternalOCLinEcore.g:720:1: (lv_stereotype_0_0= 'precondition' )
// InternalOCLinEcore.g:721:3: lv_stereotype_0_0= 'precondition'
{
lv_stereotype_0_0=(Token)match(input,41,FollowSets000.FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_stereotype_0_0, grammarAccess.getPreconditionConstraintCSAccess().getStereotypePreconditionKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getPreconditionConstraintCSRule());
}
setWithLastConsumed(current, "stereotype", lv_stereotype_0_0, "precondition");
}
}
}
// InternalOCLinEcore.g:734:2: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )?
int alt15=2;
int LA15_0 = input.LA(1);
if ( ((LA15_0>=RULE_SIMPLE_ID && LA15_0<=RULE_ESCAPED_ID)||LA15_0==17||(LA15_0>=19 && LA15_0<=53)||LA15_0==58||LA15_0==71||(LA15_0>=73 && LA15_0<=74)||LA15_0==76||LA15_0==80) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// InternalOCLinEcore.g:734:3: ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
{
// InternalOCLinEcore.g:734:3: ( (lv_name_1_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:735:1: (lv_name_1_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:735:1: (lv_name_1_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:736:3: lv_name_1_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPreconditionConstraintCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_16);
lv_name_1_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPreconditionConstraintCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:752:2: (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==54) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// InternalOCLinEcore.g:752:4: otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')'
{
otherlv_2=(Token)match(input,54,FollowSets000.FOLLOW_10); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getPreconditionConstraintCSAccess().getLeftParenthesisKeyword_1_1_0());
}
// InternalOCLinEcore.g:756:1: ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) )
// InternalOCLinEcore.g:757:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
{
// InternalOCLinEcore.g:757:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
// InternalOCLinEcore.g:758:3: lv_ownedMessageSpecification_3_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPreconditionConstraintCSAccess().getOwnedMessageSpecificationSpecificationCSParserRuleCall_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_ownedMessageSpecification_3_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPreconditionConstraintCSRule());
}
set(
current,
"ownedMessageSpecification",
lv_ownedMessageSpecification_3_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,55,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getPreconditionConstraintCSAccess().getRightParenthesisKeyword_1_1_2());
}
}
break;
}
}
break;
}
otherlv_5=(Token)match(input,56,FollowSets000.FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getPreconditionConstraintCSAccess().getColonKeyword_2());
}
// InternalOCLinEcore.g:782:1: ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )?
int alt16=2;
int LA16_0 = input.LA(1);
if ( ((LA16_0>=RULE_INT && LA16_0<=RULE_SINGLE_QUOTED_STRING)||(LA16_0>=RULE_UNQUOTED_STRING && LA16_0<=RULE_ESCAPED_ID)||(LA16_0>=17 && LA16_0<=54)||LA16_0==58||LA16_0==71||(LA16_0>=73 && LA16_0<=74)||LA16_0==76||LA16_0==80||(LA16_0>=83 && LA16_0<=85)||(LA16_0>=103 && LA16_0<=104)||(LA16_0>=106 && LA16_0<=118)||LA16_0==121||(LA16_0>=124 && LA16_0<=127)||LA16_0==134||(LA16_0>=139 && LA16_0<=140)) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// InternalOCLinEcore.g:783:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
{
// InternalOCLinEcore.g:783:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
// InternalOCLinEcore.g:784:3: lv_ownedSpecification_6_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPreconditionConstraintCSAccess().getOwnedSpecificationSpecificationCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedSpecification_6_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPreconditionConstraintCSRule());
}
set(
current,
"ownedSpecification",
lv_ownedSpecification_6_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_7=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getPreconditionConstraintCSAccess().getSemicolonKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePreconditionConstraintCS"
// $ANTLR start "entryRuleAnnotationCS"
// InternalOCLinEcore.g:812:1: entryRuleAnnotationCS returns [EObject current=null] : iv_ruleAnnotationCS= ruleAnnotationCS EOF ;
public final EObject entryRuleAnnotationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleAnnotationCS = null;
try {
// InternalOCLinEcore.g:813:2: (iv_ruleAnnotationCS= ruleAnnotationCS EOF )
// InternalOCLinEcore.g:814:2: iv_ruleAnnotationCS= ruleAnnotationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAnnotationCS=ruleAnnotationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAnnotationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAnnotationCS"
// $ANTLR start "ruleAnnotationCS"
// InternalOCLinEcore.g:821:1: ruleAnnotationCS returns [EObject current=null] : ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) ) ;
public final EObject ruleAnnotationCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_name_2_2=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_12=null;
Token otherlv_13=null;
AntlrDatatypeRuleToken lv_name_2_1 = null;
EObject lv_ownedDetails_4_0 = null;
EObject lv_ownedDetails_6_0 = null;
EObject lv_ownedAnnotations_9_0 = null;
EObject lv_ownedContents_10_0 = null;
EObject lv_ownedReferences_11_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:824:28: ( ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) ) )
// InternalOCLinEcore.g:825:1: ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) )
{
// InternalOCLinEcore.g:825:1: ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) )
// InternalOCLinEcore.g:825:2: () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' )
{
// InternalOCLinEcore.g:825:2: ()
// InternalOCLinEcore.g:826:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getAnnotationCSAccess().getAnnotationCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,58,FollowSets000.FOLLOW_18); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getAnnotationCSAccess().getAnnotationKeyword_1());
}
// InternalOCLinEcore.g:838:1: ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==RULE_SINGLE_QUOTED_STRING||(LA18_0>=RULE_SIMPLE_ID && LA18_0<=RULE_ESCAPED_ID)||LA18_0==17||(LA18_0>=19 && LA18_0<=53)||LA18_0==58||LA18_0==71||(LA18_0>=73 && LA18_0<=74)||LA18_0==76||LA18_0==80) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// InternalOCLinEcore.g:839:1: ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) )
{
// InternalOCLinEcore.g:839:1: ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) )
// InternalOCLinEcore.g:840:1: (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING )
{
// InternalOCLinEcore.g:840:1: (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING )
int alt17=2;
int LA17_0 = input.LA(1);
if ( ((LA17_0>=RULE_SIMPLE_ID && LA17_0<=RULE_ESCAPED_ID)||LA17_0==17||(LA17_0>=19 && LA17_0<=53)||LA17_0==58||LA17_0==71||(LA17_0>=73 && LA17_0<=74)||LA17_0==76||LA17_0==80) ) {
alt17=1;
}
else if ( (LA17_0==RULE_SINGLE_QUOTED_STRING) ) {
alt17=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 17, 0, input);
throw nvae;
}
switch (alt17) {
case 1 :
// InternalOCLinEcore.g:841:3: lv_name_2_1= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationCSAccess().getNameUnrestrictedNameParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_19);
lv_name_2_1=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationCSRule());
}
set(
current,
"name",
lv_name_2_1,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:856:8: lv_name_2_2= RULE_SINGLE_QUOTED_STRING
{
lv_name_2_2=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_2, grammarAccess.getAnnotationCSAccess().getNameSINGLE_QUOTED_STRINGTerminalRuleCall_2_0_1());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAnnotationCSRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_2,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
break;
}
}
}
break;
}
// InternalOCLinEcore.g:874:3: (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )?
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==54) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// InternalOCLinEcore.g:874:5: otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')'
{
otherlv_3=(Token)match(input,54,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getAnnotationCSAccess().getLeftParenthesisKeyword_3_0());
}
// InternalOCLinEcore.g:878:1: ( (lv_ownedDetails_4_0= ruleDetailCS ) )
// InternalOCLinEcore.g:879:1: (lv_ownedDetails_4_0= ruleDetailCS )
{
// InternalOCLinEcore.g:879:1: (lv_ownedDetails_4_0= ruleDetailCS )
// InternalOCLinEcore.g:880:3: lv_ownedDetails_4_0= ruleDetailCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_ownedDetails_4_0=ruleDetailCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationCSRule());
}
add(
current,
"ownedDetails",
lv_ownedDetails_4_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.DetailCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:896:2: (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )*
loop19:
do {
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==59) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// InternalOCLinEcore.g:896:4: otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) )
{
otherlv_5=(Token)match(input,59,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getAnnotationCSAccess().getCommaKeyword_3_2_0());
}
// InternalOCLinEcore.g:900:1: ( (lv_ownedDetails_6_0= ruleDetailCS ) )
// InternalOCLinEcore.g:901:1: (lv_ownedDetails_6_0= ruleDetailCS )
{
// InternalOCLinEcore.g:901:1: (lv_ownedDetails_6_0= ruleDetailCS )
// InternalOCLinEcore.g:902:3: lv_ownedDetails_6_0= ruleDetailCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_ownedDetails_6_0=ruleDetailCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationCSRule());
}
add(
current,
"ownedDetails",
lv_ownedDetails_6_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.DetailCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop19;
}
} while (true);
otherlv_7=(Token)match(input,55,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getAnnotationCSAccess().getRightParenthesisKeyword_3_3());
}
}
break;
}
// InternalOCLinEcore.g:922:3: ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' )
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==60) ) {
alt22=1;
}
else if ( (LA22_0==57) ) {
alt22=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 22, 0, input);
throw nvae;
}
switch (alt22) {
case 1 :
// InternalOCLinEcore.g:922:4: (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' )
{
// InternalOCLinEcore.g:922:4: (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' )
// InternalOCLinEcore.g:922:6: otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}'
{
otherlv_8=(Token)match(input,60,FollowSets000.FOLLOW_23); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getAnnotationCSAccess().getLeftCurlyBracketKeyword_4_0_0());
}
// InternalOCLinEcore.g:926:1: ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+
int cnt21=0;
loop21:
do {
int alt21=4;
switch ( input.LA(1) ) {
case 58:
case 73:
case 80:
{
alt21=1;
}
break;
case RULE_SIMPLE_ID:
case RULE_ESCAPED_ID:
case 17:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 33:
case 34:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 46:
case 47:
case 48:
case 49:
case 50:
case 51:
case 52:
case 74:
{
alt21=2;
}
break;
case 45:
{
int LA21_4 = input.LA(2);
if ( ((LA21_4>=RULE_SIMPLE_ID && LA21_4<=RULE_ESCAPED_ID)||LA21_4==17||(LA21_4>=19 && LA21_4<=53)||LA21_4==58||LA21_4==71||(LA21_4>=73 && LA21_4<=74)||LA21_4==76||LA21_4==80) ) {
alt21=3;
}
else if ( ((LA21_4>=56 && LA21_4<=57)||LA21_4==60||LA21_4==62) ) {
alt21=2;
}
}
break;
}
switch (alt21) {
case 1 :
// InternalOCLinEcore.g:926:2: ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) )
{
// InternalOCLinEcore.g:926:2: ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) )
// InternalOCLinEcore.g:927:1: (lv_ownedAnnotations_9_0= ruleAnnotationElementCS )
{
// InternalOCLinEcore.g:927:1: (lv_ownedAnnotations_9_0= ruleAnnotationElementCS )
// InternalOCLinEcore.g:928:3: lv_ownedAnnotations_9_0= ruleAnnotationElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_4_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_24);
lv_ownedAnnotations_9_0=ruleAnnotationElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationCSRule());
}
add(
current,
"ownedAnnotations",
lv_ownedAnnotations_9_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.AnnotationElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:945:6: ( (lv_ownedContents_10_0= ruleModelElementCS ) )
{
// InternalOCLinEcore.g:945:6: ( (lv_ownedContents_10_0= ruleModelElementCS ) )
// InternalOCLinEcore.g:946:1: (lv_ownedContents_10_0= ruleModelElementCS )
{
// InternalOCLinEcore.g:946:1: (lv_ownedContents_10_0= ruleModelElementCS )
// InternalOCLinEcore.g:947:3: lv_ownedContents_10_0= ruleModelElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationCSAccess().getOwnedContentsModelElementCSParserRuleCall_4_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_24);
lv_ownedContents_10_0=ruleModelElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationCSRule());
}
add(
current,
"ownedContents",
lv_ownedContents_10_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.ModelElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:964:6: ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) )
{
// InternalOCLinEcore.g:964:6: ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) )
// InternalOCLinEcore.g:965:1: (lv_ownedReferences_11_0= ruleModelElementRefCS )
{
// InternalOCLinEcore.g:965:1: (lv_ownedReferences_11_0= ruleModelElementRefCS )
// InternalOCLinEcore.g:966:3: lv_ownedReferences_11_0= ruleModelElementRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationCSAccess().getOwnedReferencesModelElementRefCSParserRuleCall_4_0_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_24);
lv_ownedReferences_11_0=ruleModelElementRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationCSRule());
}
add(
current,
"ownedReferences",
lv_ownedReferences_11_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.ModelElementRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt21 >= 1 ) break loop21;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(21, input);
throw eee;
}
cnt21++;
} while (true);
otherlv_12=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getAnnotationCSAccess().getRightCurlyBracketKeyword_4_0_2());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:987:7: otherlv_13= ';'
{
otherlv_13=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getAnnotationCSAccess().getSemicolonKeyword_4_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAnnotationCS"
// $ANTLR start "entryRuleAnnotationElementCS"
// InternalOCLinEcore.g:999:1: entryRuleAnnotationElementCS returns [EObject current=null] : iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF ;
public final EObject entryRuleAnnotationElementCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleAnnotationElementCS = null;
try {
// InternalOCLinEcore.g:1000:2: (iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF )
// InternalOCLinEcore.g:1001:2: iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationElementCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAnnotationElementCS=ruleAnnotationElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAnnotationElementCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAnnotationElementCS"
// $ANTLR start "ruleAnnotationElementCS"
// InternalOCLinEcore.g:1008:1: ruleAnnotationElementCS returns [EObject current=null] : (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS ) ;
public final EObject ruleAnnotationElementCS() throws RecognitionException {
EObject current = null;
EObject this_AnnotationCS_0 = null;
EObject this_DocumentationCS_1 = null;
EObject this_SysMLCS_2 = null;
enterRule();
try {
// InternalOCLinEcore.g:1011:28: ( (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS ) )
// InternalOCLinEcore.g:1012:1: (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS )
{
// InternalOCLinEcore.g:1012:1: (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS )
int alt23=3;
switch ( input.LA(1) ) {
case 58:
{
alt23=1;
}
break;
case 73:
{
alt23=2;
}
break;
case 80:
{
alt23=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 23, 0, input);
throw nvae;
}
switch (alt23) {
case 1 :
// InternalOCLinEcore.g:1013:2: this_AnnotationCS_0= ruleAnnotationCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationElementCSAccess().getAnnotationCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_AnnotationCS_0=ruleAnnotationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AnnotationCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:1026:2: this_DocumentationCS_1= ruleDocumentationCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationElementCSAccess().getDocumentationCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_DocumentationCS_1=ruleDocumentationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_DocumentationCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalOCLinEcore.g:1039:2: this_SysMLCS_2= ruleSysMLCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationElementCSAccess().getSysMLCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_SysMLCS_2=ruleSysMLCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_SysMLCS_2;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAnnotationElementCS"
// $ANTLR start "entryRuleAttributeCS"
// InternalOCLinEcore.g:1058:1: entryRuleAttributeCS returns [EObject current=null] : iv_ruleAttributeCS= ruleAttributeCS EOF ;
public final EObject entryRuleAttributeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleAttributeCS = null;
try {
// InternalOCLinEcore.g:1059:2: (iv_ruleAttributeCS= ruleAttributeCS EOF )
// InternalOCLinEcore.g:1060:2: iv_ruleAttributeCS= ruleAttributeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAttributeCS=ruleAttributeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAttributeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAttributeCS"
// $ANTLR start "ruleAttributeCS"
// InternalOCLinEcore.g:1067:1: ruleAttributeCS returns [EObject current=null] : ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) ) ;
public final EObject ruleAttributeCS() throws RecognitionException {
EObject current = null;
Token lv_qualifiers_0_0=null;
Token lv_qualifiers_1_0=null;
Token lv_qualifiers_2_0=null;
Token lv_qualifiers_3_0=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token lv_default_9_0=null;
Token otherlv_10=null;
Token lv_qualifiers_11_0=null;
Token lv_qualifiers_12_0=null;
Token lv_qualifiers_13_0=null;
Token lv_qualifiers_14_0=null;
Token lv_qualifiers_15_0=null;
Token lv_qualifiers_16_0=null;
Token lv_qualifiers_17_0=null;
Token lv_qualifiers_18_0=null;
Token lv_qualifiers_19_0=null;
Token lv_qualifiers_20_0=null;
Token lv_qualifiers_21_0=null;
Token lv_qualifiers_22_0=null;
Token lv_qualifiers_23_0=null;
Token lv_qualifiers_24_0=null;
Token lv_qualifiers_25_0=null;
Token lv_qualifiers_26_0=null;
Token otherlv_27=null;
Token otherlv_28=null;
Token otherlv_29=null;
Token otherlv_31=null;
Token otherlv_33=null;
Token otherlv_35=null;
Token otherlv_36=null;
Token otherlv_38=null;
Token otherlv_40=null;
Token otherlv_41=null;
Token otherlv_42=null;
AntlrDatatypeRuleToken lv_name_5_0 = null;
EObject lv_ownedType_7_0 = null;
EObject lv_ownedAnnotations_30_0 = null;
EObject lv_ownedDefaultExpressions_34_0 = null;
EObject lv_ownedDefaultExpressions_39_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:1070:28: ( ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) ) )
// InternalOCLinEcore.g:1071:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) )
{
// InternalOCLinEcore.g:1071:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) )
// InternalOCLinEcore.g:1071:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' )
{
// InternalOCLinEcore.g:1071:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )?
int alt26=3;
int LA26_0 = input.LA(1);
if ( (LA26_0==47) ) {
alt26=1;
}
else if ( (LA26_0==26) ) {
alt26=2;
}
switch (alt26) {
case 1 :
// InternalOCLinEcore.g:1071:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
{
// InternalOCLinEcore.g:1071:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
// InternalOCLinEcore.g:1071:4: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )?
{
// InternalOCLinEcore.g:1071:4: ( (lv_qualifiers_0_0= 'static' ) )
// InternalOCLinEcore.g:1072:1: (lv_qualifiers_0_0= 'static' )
{
// InternalOCLinEcore.g:1072:1: (lv_qualifiers_0_0= 'static' )
// InternalOCLinEcore.g:1073:3: lv_qualifiers_0_0= 'static'
{
lv_qualifiers_0_0=(Token)match(input,47,FollowSets000.FOLLOW_25); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_0_0, grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_0_0, "static");
}
}
}
// InternalOCLinEcore.g:1086:2: ( (lv_qualifiers_1_0= 'definition' ) )?
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==26) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// InternalOCLinEcore.g:1087:1: (lv_qualifiers_1_0= 'definition' )
{
// InternalOCLinEcore.g:1087:1: (lv_qualifiers_1_0= 'definition' )
// InternalOCLinEcore.g:1088:3: lv_qualifiers_1_0= 'definition'
{
lv_qualifiers_1_0=(Token)match(input,26,FollowSets000.FOLLOW_26); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_1_0, grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_1_0, "definition");
}
}
}
break;
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:1102:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
{
// InternalOCLinEcore.g:1102:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
// InternalOCLinEcore.g:1102:7: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )?
{
// InternalOCLinEcore.g:1102:7: ( (lv_qualifiers_2_0= 'definition' ) )
// InternalOCLinEcore.g:1103:1: (lv_qualifiers_2_0= 'definition' )
{
// InternalOCLinEcore.g:1103:1: (lv_qualifiers_2_0= 'definition' )
// InternalOCLinEcore.g:1104:3: lv_qualifiers_2_0= 'definition'
{
lv_qualifiers_2_0=(Token)match(input,26,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_2_0, grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_2_0, "definition");
}
}
}
// InternalOCLinEcore.g:1117:2: ( (lv_qualifiers_3_0= 'static' ) )?
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==47) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// InternalOCLinEcore.g:1118:1: (lv_qualifiers_3_0= 'static' )
{
// InternalOCLinEcore.g:1118:1: (lv_qualifiers_3_0= 'static' )
// InternalOCLinEcore.g:1119:3: lv_qualifiers_3_0= 'static'
{
lv_qualifiers_3_0=(Token)match(input,47,FollowSets000.FOLLOW_26); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_3_0, grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_3_0, "static");
}
}
}
break;
}
}
}
break;
}
otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getAttributeCSAccess().getAttributeKeyword_1());
}
// InternalOCLinEcore.g:1136:1: ( (lv_name_5_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:1137:1: (lv_name_5_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:1137:1: (lv_name_5_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:1138:3: lv_name_5_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_name_5_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttributeCSRule());
}
set(
current,
"name",
lv_name_5_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:1154:2: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )?
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==56) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// InternalOCLinEcore.g:1154:4: otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) )
{
otherlv_6=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getAttributeCSAccess().getColonKeyword_3_0());
}
// InternalOCLinEcore.g:1158:1: ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) )
// InternalOCLinEcore.g:1159:1: (lv_ownedType_7_0= ruleTypedMultiplicityRefCS )
{
// InternalOCLinEcore.g:1159:1: (lv_ownedType_7_0= ruleTypedMultiplicityRefCS )
// InternalOCLinEcore.g:1160:3: lv_ownedType_7_0= ruleTypedMultiplicityRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_30);
lv_ownedType_7_0=ruleTypedMultiplicityRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttributeCSRule());
}
set(
current,
"ownedType",
lv_ownedType_7_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedMultiplicityRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:1176:4: (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==62) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// InternalOCLinEcore.g:1176:6: otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) )
{
otherlv_8=(Token)match(input,62,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getAttributeCSAccess().getEqualsSignKeyword_4_0());
}
// InternalOCLinEcore.g:1180:1: ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) )
// InternalOCLinEcore.g:1181:1: (lv_default_9_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalOCLinEcore.g:1181:1: (lv_default_9_0= RULE_SINGLE_QUOTED_STRING )
// InternalOCLinEcore.g:1182:3: lv_default_9_0= RULE_SINGLE_QUOTED_STRING
{
lv_default_9_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_default_9_0, grammarAccess.getAttributeCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
setWithLastConsumed(
current,
"default",
lv_default_9_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
}
break;
}
// InternalOCLinEcore.g:1198:4: (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )?
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==60) ) {
int LA32_1 = input.LA(2);
if ( (LA32_1==28||LA32_1==31||LA32_1==38||LA32_1==44||(LA32_1>=49 && LA32_1<=52)||(LA32_1>=63 && LA32_1<=70)) ) {
alt32=1;
}
}
switch (alt32) {
case 1 :
// InternalOCLinEcore.g:1198:6: otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}'
{
otherlv_10=(Token)match(input,60,FollowSets000.FOLLOW_32); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0());
}
// InternalOCLinEcore.g:1202:1: ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+
int cnt31=0;
loop31:
do {
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==28||LA31_0==31||LA31_0==38||LA31_0==44||(LA31_0>=49 && LA31_0<=52)||(LA31_0>=63 && LA31_0<=70)) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// InternalOCLinEcore.g:1202:2: ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )?
{
// InternalOCLinEcore.g:1202:2: ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) )
int alt29=16;
switch ( input.LA(1) ) {
case 28:
{
alt29=1;
}
break;
case 63:
{
alt29=2;
}
break;
case 31:
{
alt29=3;
}
break;
case 64:
{
alt29=4;
}
break;
case 38:
{
alt29=5;
}
break;
case 65:
{
alt29=6;
}
break;
case 44:
{
alt29=7;
}
break;
case 66:
{
alt29=8;
}
break;
case 49:
{
alt29=9;
}
break;
case 67:
{
alt29=10;
}
break;
case 50:
{
alt29=11;
}
break;
case 68:
{
alt29=12;
}
break;
case 51:
{
alt29=13;
}
break;
case 69:
{
alt29=14;
}
break;
case 52:
{
alt29=15;
}
break;
case 70:
{
alt29=16;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 29, 0, input);
throw nvae;
}
switch (alt29) {
case 1 :
// InternalOCLinEcore.g:1202:3: ( (lv_qualifiers_11_0= 'derived' ) )
{
// InternalOCLinEcore.g:1202:3: ( (lv_qualifiers_11_0= 'derived' ) )
// InternalOCLinEcore.g:1203:1: (lv_qualifiers_11_0= 'derived' )
{
// InternalOCLinEcore.g:1203:1: (lv_qualifiers_11_0= 'derived' )
// InternalOCLinEcore.g:1204:3: lv_qualifiers_11_0= 'derived'
{
lv_qualifiers_11_0=(Token)match(input,28,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_11_0, grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_11_0, "derived");
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:1218:6: ( (lv_qualifiers_12_0= '!derived' ) )
{
// InternalOCLinEcore.g:1218:6: ( (lv_qualifiers_12_0= '!derived' ) )
// InternalOCLinEcore.g:1219:1: (lv_qualifiers_12_0= '!derived' )
{
// InternalOCLinEcore.g:1219:1: (lv_qualifiers_12_0= '!derived' )
// InternalOCLinEcore.g:1220:3: lv_qualifiers_12_0= '!derived'
{
lv_qualifiers_12_0=(Token)match(input,63,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_12_0, grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_12_0, "!derived");
}
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:1234:6: ( (lv_qualifiers_13_0= 'id' ) )
{
// InternalOCLinEcore.g:1234:6: ( (lv_qualifiers_13_0= 'id' ) )
// InternalOCLinEcore.g:1235:1: (lv_qualifiers_13_0= 'id' )
{
// InternalOCLinEcore.g:1235:1: (lv_qualifiers_13_0= 'id' )
// InternalOCLinEcore.g:1236:3: lv_qualifiers_13_0= 'id'
{
lv_qualifiers_13_0=(Token)match(input,31,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_13_0, grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_13_0, "id");
}
}
}
}
break;
case 4 :
// InternalOCLinEcore.g:1250:6: ( (lv_qualifiers_14_0= '!id' ) )
{
// InternalOCLinEcore.g:1250:6: ( (lv_qualifiers_14_0= '!id' ) )
// InternalOCLinEcore.g:1251:1: (lv_qualifiers_14_0= '!id' )
{
// InternalOCLinEcore.g:1251:1: (lv_qualifiers_14_0= '!id' )
// InternalOCLinEcore.g:1252:3: lv_qualifiers_14_0= '!id'
{
lv_qualifiers_14_0=(Token)match(input,64,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_14_0, grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_14_0, "!id");
}
}
}
}
break;
case 5 :
// InternalOCLinEcore.g:1266:6: ( (lv_qualifiers_15_0= 'ordered' ) )
{
// InternalOCLinEcore.g:1266:6: ( (lv_qualifiers_15_0= 'ordered' ) )
// InternalOCLinEcore.g:1267:1: (lv_qualifiers_15_0= 'ordered' )
{
// InternalOCLinEcore.g:1267:1: (lv_qualifiers_15_0= 'ordered' )
// InternalOCLinEcore.g:1268:3: lv_qualifiers_15_0= 'ordered'
{
lv_qualifiers_15_0=(Token)match(input,38,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_15_0, grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_15_0, "ordered");
}
}
}
}
break;
case 6 :
// InternalOCLinEcore.g:1282:6: ( (lv_qualifiers_16_0= '!ordered' ) )
{
// InternalOCLinEcore.g:1282:6: ( (lv_qualifiers_16_0= '!ordered' ) )
// InternalOCLinEcore.g:1283:1: (lv_qualifiers_16_0= '!ordered' )
{
// InternalOCLinEcore.g:1283:1: (lv_qualifiers_16_0= '!ordered' )
// InternalOCLinEcore.g:1284:3: lv_qualifiers_16_0= '!ordered'
{
lv_qualifiers_16_0=(Token)match(input,65,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_16_0, grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_16_0, "!ordered");
}
}
}
}
break;
case 7 :
// InternalOCLinEcore.g:1298:6: ( (lv_qualifiers_17_0= 'readonly' ) )
{
// InternalOCLinEcore.g:1298:6: ( (lv_qualifiers_17_0= 'readonly' ) )
// InternalOCLinEcore.g:1299:1: (lv_qualifiers_17_0= 'readonly' )
{
// InternalOCLinEcore.g:1299:1: (lv_qualifiers_17_0= 'readonly' )
// InternalOCLinEcore.g:1300:3: lv_qualifiers_17_0= 'readonly'
{
lv_qualifiers_17_0=(Token)match(input,44,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_17_0, grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_17_0, "readonly");
}
}
}
}
break;
case 8 :
// InternalOCLinEcore.g:1314:6: ( (lv_qualifiers_18_0= '!readonly' ) )
{
// InternalOCLinEcore.g:1314:6: ( (lv_qualifiers_18_0= '!readonly' ) )
// InternalOCLinEcore.g:1315:1: (lv_qualifiers_18_0= '!readonly' )
{
// InternalOCLinEcore.g:1315:1: (lv_qualifiers_18_0= '!readonly' )
// InternalOCLinEcore.g:1316:3: lv_qualifiers_18_0= '!readonly'
{
lv_qualifiers_18_0=(Token)match(input,66,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_18_0, grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_18_0, "!readonly");
}
}
}
}
break;
case 9 :
// InternalOCLinEcore.g:1330:6: ( (lv_qualifiers_19_0= 'transient' ) )
{
// InternalOCLinEcore.g:1330:6: ( (lv_qualifiers_19_0= 'transient' ) )
// InternalOCLinEcore.g:1331:1: (lv_qualifiers_19_0= 'transient' )
{
// InternalOCLinEcore.g:1331:1: (lv_qualifiers_19_0= 'transient' )
// InternalOCLinEcore.g:1332:3: lv_qualifiers_19_0= 'transient'
{
lv_qualifiers_19_0=(Token)match(input,49,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_19_0, grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_19_0, "transient");
}
}
}
}
break;
case 10 :
// InternalOCLinEcore.g:1346:6: ( (lv_qualifiers_20_0= '!transient' ) )
{
// InternalOCLinEcore.g:1346:6: ( (lv_qualifiers_20_0= '!transient' ) )
// InternalOCLinEcore.g:1347:1: (lv_qualifiers_20_0= '!transient' )
{
// InternalOCLinEcore.g:1347:1: (lv_qualifiers_20_0= '!transient' )
// InternalOCLinEcore.g:1348:3: lv_qualifiers_20_0= '!transient'
{
lv_qualifiers_20_0=(Token)match(input,67,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_20_0, grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_20_0, "!transient");
}
}
}
}
break;
case 11 :
// InternalOCLinEcore.g:1362:6: ( (lv_qualifiers_21_0= 'unique' ) )
{
// InternalOCLinEcore.g:1362:6: ( (lv_qualifiers_21_0= 'unique' ) )
// InternalOCLinEcore.g:1363:1: (lv_qualifiers_21_0= 'unique' )
{
// InternalOCLinEcore.g:1363:1: (lv_qualifiers_21_0= 'unique' )
// InternalOCLinEcore.g:1364:3: lv_qualifiers_21_0= 'unique'
{
lv_qualifiers_21_0=(Token)match(input,50,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_21_0, grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_21_0, "unique");
}
}
}
}
break;
case 12 :
// InternalOCLinEcore.g:1378:6: ( (lv_qualifiers_22_0= '!unique' ) )
{
// InternalOCLinEcore.g:1378:6: ( (lv_qualifiers_22_0= '!unique' ) )
// InternalOCLinEcore.g:1379:1: (lv_qualifiers_22_0= '!unique' )
{
// InternalOCLinEcore.g:1379:1: (lv_qualifiers_22_0= '!unique' )
// InternalOCLinEcore.g:1380:3: lv_qualifiers_22_0= '!unique'
{
lv_qualifiers_22_0=(Token)match(input,68,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_22_0, grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_22_0, "!unique");
}
}
}
}
break;
case 13 :
// InternalOCLinEcore.g:1394:6: ( (lv_qualifiers_23_0= 'unsettable' ) )
{
// InternalOCLinEcore.g:1394:6: ( (lv_qualifiers_23_0= 'unsettable' ) )
// InternalOCLinEcore.g:1395:1: (lv_qualifiers_23_0= 'unsettable' )
{
// InternalOCLinEcore.g:1395:1: (lv_qualifiers_23_0= 'unsettable' )
// InternalOCLinEcore.g:1396:3: lv_qualifiers_23_0= 'unsettable'
{
lv_qualifiers_23_0=(Token)match(input,51,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_23_0, grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_23_0, "unsettable");
}
}
}
}
break;
case 14 :
// InternalOCLinEcore.g:1410:6: ( (lv_qualifiers_24_0= '!unsettable' ) )
{
// InternalOCLinEcore.g:1410:6: ( (lv_qualifiers_24_0= '!unsettable' ) )
// InternalOCLinEcore.g:1411:1: (lv_qualifiers_24_0= '!unsettable' )
{
// InternalOCLinEcore.g:1411:1: (lv_qualifiers_24_0= '!unsettable' )
// InternalOCLinEcore.g:1412:3: lv_qualifiers_24_0= '!unsettable'
{
lv_qualifiers_24_0=(Token)match(input,69,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_24_0, grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_24_0, "!unsettable");
}
}
}
}
break;
case 15 :
// InternalOCLinEcore.g:1426:6: ( (lv_qualifiers_25_0= 'volatile' ) )
{
// InternalOCLinEcore.g:1426:6: ( (lv_qualifiers_25_0= 'volatile' ) )
// InternalOCLinEcore.g:1427:1: (lv_qualifiers_25_0= 'volatile' )
{
// InternalOCLinEcore.g:1427:1: (lv_qualifiers_25_0= 'volatile' )
// InternalOCLinEcore.g:1428:3: lv_qualifiers_25_0= 'volatile'
{
lv_qualifiers_25_0=(Token)match(input,52,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_25_0, grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_25_0, "volatile");
}
}
}
}
break;
case 16 :
// InternalOCLinEcore.g:1442:6: ( (lv_qualifiers_26_0= '!volatile' ) )
{
// InternalOCLinEcore.g:1442:6: ( (lv_qualifiers_26_0= '!volatile' ) )
// InternalOCLinEcore.g:1443:1: (lv_qualifiers_26_0= '!volatile' )
{
// InternalOCLinEcore.g:1443:1: (lv_qualifiers_26_0= '!volatile' )
// InternalOCLinEcore.g:1444:3: lv_qualifiers_26_0= '!volatile'
{
lv_qualifiers_26_0=(Token)match(input,70,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_26_0, grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_26_0, "!volatile");
}
}
}
}
break;
}
// InternalOCLinEcore.g:1457:3: (otherlv_27= ',' )?
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==59) ) {
alt30=1;
}
switch (alt30) {
case 1 :
// InternalOCLinEcore.g:1457:5: otherlv_27= ','
{
otherlv_27=(Token)match(input,59,FollowSets000.FOLLOW_34); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1());
}
}
break;
}
}
break;
default :
if ( cnt31 >= 1 ) break loop31;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(31, input);
throw eee;
}
cnt31++;
} while (true);
otherlv_28=(Token)match(input,61,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_28, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_2());
}
}
break;
}
// InternalOCLinEcore.g:1465:3: ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' )
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0==60) ) {
alt38=1;
}
else if ( (LA38_0==57) ) {
alt38=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 38, 0, input);
throw nvae;
}
switch (alt38) {
case 1 :
// InternalOCLinEcore.g:1465:4: (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' )
{
// InternalOCLinEcore.g:1465:4: (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' )
// InternalOCLinEcore.g:1465:6: otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}'
{
otherlv_29=(Token)match(input,60,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_6_0_0());
}
// InternalOCLinEcore.g:1469:1: ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )*
loop37:
do {
int alt37=4;
switch ( input.LA(1) ) {
case 58:
case 73:
case 80:
{
alt37=1;
}
break;
case 33:
{
alt37=2;
}
break;
case 27:
{
alt37=3;
}
break;
}
switch (alt37) {
case 1 :
// InternalOCLinEcore.g:1469:2: ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) )
{
// InternalOCLinEcore.g:1469:2: ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) )
// InternalOCLinEcore.g:1470:1: (lv_ownedAnnotations_30_0= ruleAnnotationElementCS )
{
// InternalOCLinEcore.g:1470:1: (lv_ownedAnnotations_30_0= ruleAnnotationElementCS )
// InternalOCLinEcore.g:1471:3: lv_ownedAnnotations_30_0= ruleAnnotationElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_6_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_35);
lv_ownedAnnotations_30_0=ruleAnnotationElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttributeCSRule());
}
add(
current,
"ownedAnnotations",
lv_ownedAnnotations_30_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.AnnotationElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:1488:6: (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' )
{
// InternalOCLinEcore.g:1488:6: (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' )
// InternalOCLinEcore.g:1488:8: otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';'
{
otherlv_31=(Token)match(input,33,FollowSets000.FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_31, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_1_0());
}
// InternalOCLinEcore.g:1492:1: ( ruleUnrestrictedName )?
int alt33=2;
int LA33_0 = input.LA(1);
if ( ((LA33_0>=RULE_SIMPLE_ID && LA33_0<=RULE_ESCAPED_ID)||LA33_0==17||(LA33_0>=19 && LA33_0<=53)||LA33_0==58||LA33_0==71||(LA33_0>=73 && LA33_0<=74)||LA33_0==76||LA33_0==80) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// InternalOCLinEcore.g:1493:2: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1());
}
pushFollow(FollowSets000.FOLLOW_17);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
otherlv_33=(Token)match(input,56,FollowSets000.FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2());
}
// InternalOCLinEcore.g:1507:1: ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )?
int alt34=2;
int LA34_0 = input.LA(1);
if ( ((LA34_0>=RULE_INT && LA34_0<=RULE_SINGLE_QUOTED_STRING)||(LA34_0>=RULE_UNQUOTED_STRING && LA34_0<=RULE_ESCAPED_ID)||(LA34_0>=17 && LA34_0<=54)||LA34_0==58||LA34_0==71||(LA34_0>=73 && LA34_0<=74)||LA34_0==76||LA34_0==80||(LA34_0>=83 && LA34_0<=85)||(LA34_0>=103 && LA34_0<=104)||(LA34_0>=106 && LA34_0<=118)||LA34_0==121||(LA34_0>=124 && LA34_0<=127)||LA34_0==134||(LA34_0>=139 && LA34_0<=140)) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// InternalOCLinEcore.g:1508:1: (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS )
{
// InternalOCLinEcore.g:1508:1: (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS )
// InternalOCLinEcore.g:1509:3: lv_ownedDefaultExpressions_34_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_1_3_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedDefaultExpressions_34_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttributeCSRule());
}
add(
current,
"ownedDefaultExpressions",
lv_ownedDefaultExpressions_34_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_35=(Token)match(input,57,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_35, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4());
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:1530:6: (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' )
{
// InternalOCLinEcore.g:1530:6: (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' )
// InternalOCLinEcore.g:1530:8: otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';'
{
otherlv_36=(Token)match(input,27,FollowSets000.FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_36, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_2_0());
}
// InternalOCLinEcore.g:1534:1: ( ruleUnrestrictedName )?
int alt35=2;
int LA35_0 = input.LA(1);
if ( ((LA35_0>=RULE_SIMPLE_ID && LA35_0<=RULE_ESCAPED_ID)||LA35_0==17||(LA35_0>=19 && LA35_0<=53)||LA35_0==58||LA35_0==71||(LA35_0>=73 && LA35_0<=74)||LA35_0==76||LA35_0==80) ) {
alt35=1;
}
switch (alt35) {
case 1 :
// InternalOCLinEcore.g:1535:2: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1());
}
pushFollow(FollowSets000.FOLLOW_17);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
otherlv_38=(Token)match(input,56,FollowSets000.FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_38, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2());
}
// InternalOCLinEcore.g:1549:1: ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )?
int alt36=2;
int LA36_0 = input.LA(1);
if ( ((LA36_0>=RULE_INT && LA36_0<=RULE_SINGLE_QUOTED_STRING)||(LA36_0>=RULE_UNQUOTED_STRING && LA36_0<=RULE_ESCAPED_ID)||(LA36_0>=17 && LA36_0<=54)||LA36_0==58||LA36_0==71||(LA36_0>=73 && LA36_0<=74)||LA36_0==76||LA36_0==80||(LA36_0>=83 && LA36_0<=85)||(LA36_0>=103 && LA36_0<=104)||(LA36_0>=106 && LA36_0<=118)||LA36_0==121||(LA36_0>=124 && LA36_0<=127)||LA36_0==134||(LA36_0>=139 && LA36_0<=140)) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// InternalOCLinEcore.g:1550:1: (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS )
{
// InternalOCLinEcore.g:1550:1: (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS )
// InternalOCLinEcore.g:1551:3: lv_ownedDefaultExpressions_39_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_2_3_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedDefaultExpressions_39_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttributeCSRule());
}
add(
current,
"ownedDefaultExpressions",
lv_ownedDefaultExpressions_39_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_40=(Token)match(input,57,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_40, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4());
}
}
}
break;
default :
break loop37;
}
} while (true);
otherlv_41=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_41, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_6_0_2());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:1576:7: otherlv_42= ';'
{
otherlv_42=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_42, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAttributeCS"
// $ANTLR start "entryRuleClassCS"
// InternalOCLinEcore.g:1588:1: entryRuleClassCS returns [EObject current=null] : iv_ruleClassCS= ruleClassCS EOF ;
public final EObject entryRuleClassCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleClassCS = null;
try {
// InternalOCLinEcore.g:1589:2: (iv_ruleClassCS= ruleClassCS EOF )
// InternalOCLinEcore.g:1590:2: iv_ruleClassCS= ruleClassCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleClassCS=ruleClassCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleClassCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleClassCS"
// $ANTLR start "ruleClassCS"
// InternalOCLinEcore.g:1597:1: ruleClassCS returns [EObject current=null] : (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS ) ;
public final EObject ruleClassCS() throws RecognitionException {
EObject current = null;
EObject this_StructuredClassCS_0 = null;
EObject this_DataTypeCS_1 = null;
EObject this_EnumerationCS_2 = null;
enterRule();
try {
// InternalOCLinEcore.g:1600:28: ( (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS ) )
// InternalOCLinEcore.g:1601:1: (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS )
{
// InternalOCLinEcore.g:1601:1: (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS )
int alt39=3;
switch ( input.LA(1) ) {
case 19:
case 23:
{
alt39=1;
}
break;
case 25:
case 42:
{
alt39=2;
}
break;
case 29:
{
alt39=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 39, 0, input);
throw nvae;
}
switch (alt39) {
case 1 :
// InternalOCLinEcore.g:1602:2: this_StructuredClassCS_0= ruleStructuredClassCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSAccess().getStructuredClassCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_StructuredClassCS_0=ruleStructuredClassCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_StructuredClassCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:1615:2: this_DataTypeCS_1= ruleDataTypeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSAccess().getDataTypeCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_DataTypeCS_1=ruleDataTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_DataTypeCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalOCLinEcore.g:1628:2: this_EnumerationCS_2= ruleEnumerationCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSAccess().getEnumerationCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EnumerationCS_2=ruleEnumerationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_EnumerationCS_2;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleClassCS"
// $ANTLR start "entryRuleDataTypeCS"
// InternalOCLinEcore.g:1647:1: entryRuleDataTypeCS returns [EObject current=null] : iv_ruleDataTypeCS= ruleDataTypeCS EOF ;
public final EObject entryRuleDataTypeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleDataTypeCS = null;
try {
// InternalOCLinEcore.g:1648:2: (iv_ruleDataTypeCS= ruleDataTypeCS EOF )
// InternalOCLinEcore.g:1649:2: iv_ruleDataTypeCS= ruleDataTypeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDataTypeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDataTypeCS=ruleDataTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDataTypeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDataTypeCS"
// $ANTLR start "ruleDataTypeCS"
// InternalOCLinEcore.g:1656:1: ruleDataTypeCS returns [EObject current=null] : ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) ;
public final EObject ruleDataTypeCS() throws RecognitionException {
EObject current = null;
Token lv_isPrimitive_0_0=null;
Token otherlv_1=null;
Token otherlv_4=null;
Token lv_instanceClassName_5_0=null;
Token otherlv_6=null;
Token lv_isSerializable_7_0=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_10=null;
Token otherlv_13=null;
Token otherlv_14=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedSignature_3_0 = null;
EObject lv_ownedAnnotations_11_0 = null;
EObject lv_ownedConstraints_12_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:1659:28: ( ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) )
// InternalOCLinEcore.g:1660:1: ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
{
// InternalOCLinEcore.g:1660:1: ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
// InternalOCLinEcore.g:1660:2: ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
{
// InternalOCLinEcore.g:1660:2: ( (lv_isPrimitive_0_0= 'primitive' ) )?
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==42) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// InternalOCLinEcore.g:1661:1: (lv_isPrimitive_0_0= 'primitive' )
{
// InternalOCLinEcore.g:1661:1: (lv_isPrimitive_0_0= 'primitive' )
// InternalOCLinEcore.g:1662:3: lv_isPrimitive_0_0= 'primitive'
{
lv_isPrimitive_0_0=(Token)match(input,42,FollowSets000.FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isPrimitive_0_0, grammarAccess.getDataTypeCSAccess().getIsPrimitivePrimitiveKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDataTypeCSRule());
}
setWithLastConsumed(current, "isPrimitive", true, "primitive");
}
}
}
break;
}
otherlv_1=(Token)match(input,25,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getDataTypeCSAccess().getDatatypeKeyword_1());
}
// InternalOCLinEcore.g:1679:1: ( (lv_name_2_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:1680:1: (lv_name_2_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:1680:1: (lv_name_2_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:1681:3: lv_name_2_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDataTypeCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_37);
lv_name_2_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDataTypeCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:1697:2: ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )?
int alt41=2;
int LA41_0 = input.LA(1);
if ( (LA41_0==54||LA41_0==81) ) {
alt41=1;
}
switch (alt41) {
case 1 :
// InternalOCLinEcore.g:1698:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
{
// InternalOCLinEcore.g:1698:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
// InternalOCLinEcore.g:1699:3: lv_ownedSignature_3_0= ruleTemplateSignatureCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDataTypeCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_ownedSignature_3_0=ruleTemplateSignatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDataTypeCSRule());
}
set(
current,
"ownedSignature",
lv_ownedSignature_3_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TemplateSignatureCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalOCLinEcore.g:1715:3: (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt42=2;
int LA42_0 = input.LA(1);
if ( (LA42_0==56) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// InternalOCLinEcore.g:1715:5: otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) )
{
otherlv_4=(Token)match(input,56,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getDataTypeCSAccess().getColonKeyword_4_0());
}
// InternalOCLinEcore.g:1719:1: ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) )
// InternalOCLinEcore.g:1720:1: (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalOCLinEcore.g:1720:1: (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING )
// InternalOCLinEcore.g:1721:3: lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING
{
lv_instanceClassName_5_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_instanceClassName_5_0, grammarAccess.getDataTypeCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDataTypeCSRule());
}
setWithLastConsumed(
current,
"instanceClassName",
lv_instanceClassName_5_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
}
break;
}
// InternalOCLinEcore.g:1737:4: (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )?
int alt44=2;
int LA44_0 = input.LA(1);
if ( (LA44_0==60) ) {
int LA44_1 = input.LA(2);
if ( (LA44_1==61) ) {
int LA44_3 = input.LA(3);
if ( (LA44_3==57||LA44_3==60) ) {
alt44=1;
}
}
else if ( ((LA44_1>=71 && LA44_1<=72)) ) {
alt44=1;
}
}
switch (alt44) {
case 1 :
// InternalOCLinEcore.g:1737:6: otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}'
{
otherlv_6=(Token)match(input,60,FollowSets000.FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_5_0());
}
// InternalOCLinEcore.g:1741:1: ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )?
int alt43=3;
int LA43_0 = input.LA(1);
if ( (LA43_0==71) ) {
alt43=1;
}
else if ( (LA43_0==72) ) {
alt43=2;
}
switch (alt43) {
case 1 :
// InternalOCLinEcore.g:1741:2: ( (lv_isSerializable_7_0= 'serializable' ) )
{
// InternalOCLinEcore.g:1741:2: ( (lv_isSerializable_7_0= 'serializable' ) )
// InternalOCLinEcore.g:1742:1: (lv_isSerializable_7_0= 'serializable' )
{
// InternalOCLinEcore.g:1742:1: (lv_isSerializable_7_0= 'serializable' )
// InternalOCLinEcore.g:1743:3: lv_isSerializable_7_0= 'serializable'
{
lv_isSerializable_7_0=(Token)match(input,71,FollowSets000.FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isSerializable_7_0, grammarAccess.getDataTypeCSAccess().getIsSerializableSerializableKeyword_5_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDataTypeCSRule());
}
setWithLastConsumed(current, "isSerializable", true, "serializable");
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:1757:7: otherlv_8= '!serializable'
{
otherlv_8=(Token)match(input,72,FollowSets000.FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getDataTypeCSAccess().getSerializableKeyword_5_1_1());
}
}
break;
}
otherlv_9=(Token)match(input,61,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_5_2());
}
}
break;
}
// InternalOCLinEcore.g:1765:3: ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
int alt46=2;
int LA46_0 = input.LA(1);
if ( (LA46_0==60) ) {
alt46=1;
}
else if ( (LA46_0==57) ) {
alt46=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 46, 0, input);
throw nvae;
}
switch (alt46) {
case 1 :
// InternalOCLinEcore.g:1765:4: (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
{
// InternalOCLinEcore.g:1765:4: (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
// InternalOCLinEcore.g:1765:6: otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}'
{
otherlv_10=(Token)match(input,60,FollowSets000.FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_6_0_0());
}
// InternalOCLinEcore.g:1769:1: ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )*
loop45:
do {
int alt45=3;
int LA45_0 = input.LA(1);
if ( (LA45_0==58||LA45_0==73||LA45_0==80) ) {
alt45=1;
}
else if ( (LA45_0==22||LA45_0==53) ) {
alt45=2;
}
switch (alt45) {
case 1 :
// InternalOCLinEcore.g:1769:2: ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )
{
// InternalOCLinEcore.g:1769:2: ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )
// InternalOCLinEcore.g:1770:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS )
{
// InternalOCLinEcore.g:1770:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS )
// InternalOCLinEcore.g:1771:3: lv_ownedAnnotations_11_0= ruleAnnotationElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDataTypeCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_6_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_ownedAnnotations_11_0=ruleAnnotationElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDataTypeCSRule());
}
add(
current,
"ownedAnnotations",
lv_ownedAnnotations_11_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.AnnotationElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:1788:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
{
// InternalOCLinEcore.g:1788:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
// InternalOCLinEcore.g:1789:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
{
// InternalOCLinEcore.g:1789:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
// InternalOCLinEcore.g:1790:3: lv_ownedConstraints_12_0= ruleInvariantConstraintCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDataTypeCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_6_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_ownedConstraints_12_0=ruleInvariantConstraintCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDataTypeCSRule());
}
add(
current,
"ownedConstraints",
lv_ownedConstraints_12_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.InvariantConstraintCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop45;
}
} while (true);
otherlv_13=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_6_0_2());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:1811:7: otherlv_14= ';'
{
otherlv_14=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getDataTypeCSAccess().getSemicolonKeyword_6_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDataTypeCS"
// $ANTLR start "entryRuleDetailCS"
// InternalOCLinEcore.g:1823:1: entryRuleDetailCS returns [EObject current=null] : iv_ruleDetailCS= ruleDetailCS EOF ;
public final EObject entryRuleDetailCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleDetailCS = null;
try {
// InternalOCLinEcore.g:1824:2: (iv_ruleDetailCS= ruleDetailCS EOF )
// InternalOCLinEcore.g:1825:2: iv_ruleDetailCS= ruleDetailCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDetailCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDetailCS=ruleDetailCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDetailCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDetailCS"
// $ANTLR start "ruleDetailCS"
// InternalOCLinEcore.g:1832:1: ruleDetailCS returns [EObject current=null] : ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* ) ;
public final EObject ruleDetailCS() throws RecognitionException {
EObject current = null;
Token lv_name_0_2=null;
Token otherlv_1=null;
Token lv_values_2_1=null;
Token lv_values_2_2=null;
AntlrDatatypeRuleToken lv_name_0_1 = null;
enterRule();
try {
// InternalOCLinEcore.g:1835:28: ( ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* ) )
// InternalOCLinEcore.g:1836:1: ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* )
{
// InternalOCLinEcore.g:1836:1: ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* )
// InternalOCLinEcore.g:1836:2: ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )*
{
// InternalOCLinEcore.g:1836:2: ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) )
// InternalOCLinEcore.g:1837:1: ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) )
{
// InternalOCLinEcore.g:1837:1: ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) )
// InternalOCLinEcore.g:1838:1: (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING )
{
// InternalOCLinEcore.g:1838:1: (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING )
int alt47=2;
int LA47_0 = input.LA(1);
if ( ((LA47_0>=RULE_SIMPLE_ID && LA47_0<=RULE_ESCAPED_ID)||LA47_0==17||(LA47_0>=19 && LA47_0<=53)||LA47_0==58||LA47_0==71||(LA47_0>=73 && LA47_0<=74)||LA47_0==76||LA47_0==80) ) {
alt47=1;
}
else if ( (LA47_0==RULE_SINGLE_QUOTED_STRING) ) {
alt47=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 47, 0, input);
throw nvae;
}
switch (alt47) {
case 1 :
// InternalOCLinEcore.g:1839:3: lv_name_0_1= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDetailCSAccess().getNameUnrestrictedNameParserRuleCall_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_42);
lv_name_0_1=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDetailCSRule());
}
set(
current,
"name",
lv_name_0_1,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:1854:8: lv_name_0_2= RULE_SINGLE_QUOTED_STRING
{
lv_name_0_2=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_0_2, grammarAccess.getDetailCSAccess().getNameSINGLE_QUOTED_STRINGTerminalRuleCall_0_0_1());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDetailCSRule());
}
setWithLastConsumed(
current,
"name",
lv_name_0_2,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
break;
}
}
}
otherlv_1=(Token)match(input,62,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getDetailCSAccess().getEqualsSignKeyword_1());
}
// InternalOCLinEcore.g:1876:1: ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )*
loop49:
do {
int alt49=2;
int LA49_0 = input.LA(1);
if ( ((LA49_0>=RULE_SINGLE_QUOTED_STRING && LA49_0<=RULE_ML_SINGLE_QUOTED_STRING)) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// InternalOCLinEcore.g:1877:1: ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) )
{
// InternalOCLinEcore.g:1877:1: ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) )
// InternalOCLinEcore.g:1878:1: (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING )
{
// InternalOCLinEcore.g:1878:1: (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING )
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0==RULE_SINGLE_QUOTED_STRING) ) {
alt48=1;
}
else if ( (LA48_0==RULE_ML_SINGLE_QUOTED_STRING) ) {
alt48=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 48, 0, input);
throw nvae;
}
switch (alt48) {
case 1 :
// InternalOCLinEcore.g:1879:3: lv_values_2_1= RULE_SINGLE_QUOTED_STRING
{
lv_values_2_1=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_values_2_1, grammarAccess.getDetailCSAccess().getValuesSINGLE_QUOTED_STRINGTerminalRuleCall_2_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDetailCSRule());
}
addWithLastConsumed(
current,
"values",
lv_values_2_1,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
break;
case 2 :
// InternalOCLinEcore.g:1894:8: lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING
{
lv_values_2_2=(Token)match(input,RULE_ML_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_values_2_2, grammarAccess.getDetailCSAccess().getValuesML_SINGLE_QUOTED_STRINGTerminalRuleCall_2_0_1());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDetailCSRule());
}
addWithLastConsumed(
current,
"values",
lv_values_2_2,
"org.eclipse.ocl.xtext.base.Base.ML_SINGLE_QUOTED_STRING");
}
}
break;
}
}
}
break;
default :
break loop49;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDetailCS"
// $ANTLR start "entryRuleDocumentationCS"
// InternalOCLinEcore.g:1920:1: entryRuleDocumentationCS returns [EObject current=null] : iv_ruleDocumentationCS= ruleDocumentationCS EOF ;
public final EObject entryRuleDocumentationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleDocumentationCS = null;
try {
// InternalOCLinEcore.g:1921:2: (iv_ruleDocumentationCS= ruleDocumentationCS EOF )
// InternalOCLinEcore.g:1922:2: iv_ruleDocumentationCS= ruleDocumentationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocumentationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDocumentationCS=ruleDocumentationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDocumentationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDocumentationCS"
// $ANTLR start "ruleDocumentationCS"
// InternalOCLinEcore.g:1929:1: ruleDocumentationCS returns [EObject current=null] : ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' ) ;
public final EObject ruleDocumentationCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_value_2_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_8=null;
EObject lv_ownedDetails_4_0 = null;
EObject lv_ownedDetails_6_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:1932:28: ( ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' ) )
// InternalOCLinEcore.g:1933:1: ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' )
{
// InternalOCLinEcore.g:1933:1: ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' )
// InternalOCLinEcore.g:1933:2: () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';'
{
// InternalOCLinEcore.g:1933:2: ()
// InternalOCLinEcore.g:1934:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getDocumentationCSAccess().getDocumentationCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,73,FollowSets000.FOLLOW_44); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getDocumentationCSAccess().getDocumentationKeyword_1());
}
// InternalOCLinEcore.g:1946:1: ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )?
int alt50=2;
int LA50_0 = input.LA(1);
if ( (LA50_0==RULE_SINGLE_QUOTED_STRING) ) {
alt50=1;
}
switch (alt50) {
case 1 :
// InternalOCLinEcore.g:1947:1: (lv_value_2_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalOCLinEcore.g:1947:1: (lv_value_2_0= RULE_SINGLE_QUOTED_STRING )
// InternalOCLinEcore.g:1948:3: lv_value_2_0= RULE_SINGLE_QUOTED_STRING
{
lv_value_2_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_value_2_0, grammarAccess.getDocumentationCSAccess().getValueSINGLE_QUOTED_STRINGTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocumentationCSRule());
}
setWithLastConsumed(
current,
"value",
lv_value_2_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
break;
}
// InternalOCLinEcore.g:1964:3: (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )?
int alt52=2;
int LA52_0 = input.LA(1);
if ( (LA52_0==54) ) {
alt52=1;
}
switch (alt52) {
case 1 :
// InternalOCLinEcore.g:1964:5: otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')'
{
otherlv_3=(Token)match(input,54,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getDocumentationCSAccess().getLeftParenthesisKeyword_3_0());
}
// InternalOCLinEcore.g:1968:1: ( (lv_ownedDetails_4_0= ruleDetailCS ) )
// InternalOCLinEcore.g:1969:1: (lv_ownedDetails_4_0= ruleDetailCS )
{
// InternalOCLinEcore.g:1969:1: (lv_ownedDetails_4_0= ruleDetailCS )
// InternalOCLinEcore.g:1970:3: lv_ownedDetails_4_0= ruleDetailCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocumentationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_ownedDetails_4_0=ruleDetailCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocumentationCSRule());
}
add(
current,
"ownedDetails",
lv_ownedDetails_4_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.DetailCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:1986:2: (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )*
loop51:
do {
int alt51=2;
int LA51_0 = input.LA(1);
if ( (LA51_0==59) ) {
alt51=1;
}
switch (alt51) {
case 1 :
// InternalOCLinEcore.g:1986:4: otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) )
{
otherlv_5=(Token)match(input,59,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getDocumentationCSAccess().getCommaKeyword_3_2_0());
}
// InternalOCLinEcore.g:1990:1: ( (lv_ownedDetails_6_0= ruleDetailCS ) )
// InternalOCLinEcore.g:1991:1: (lv_ownedDetails_6_0= ruleDetailCS )
{
// InternalOCLinEcore.g:1991:1: (lv_ownedDetails_6_0= ruleDetailCS )
// InternalOCLinEcore.g:1992:3: lv_ownedDetails_6_0= ruleDetailCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocumentationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_ownedDetails_6_0=ruleDetailCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocumentationCSRule());
}
add(
current,
"ownedDetails",
lv_ownedDetails_6_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.DetailCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop51;
}
} while (true);
otherlv_7=(Token)match(input,55,FollowSets000.FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getDocumentationCSAccess().getRightParenthesisKeyword_3_3());
}
}
break;
}
otherlv_8=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getDocumentationCSAccess().getSemicolonKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDocumentationCS"
// $ANTLR start "entryRuleEnumerationCS"
// InternalOCLinEcore.g:2024:1: entryRuleEnumerationCS returns [EObject current=null] : iv_ruleEnumerationCS= ruleEnumerationCS EOF ;
public final EObject entryRuleEnumerationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleEnumerationCS = null;
try {
// InternalOCLinEcore.g:2025:2: (iv_ruleEnumerationCS= ruleEnumerationCS EOF )
// InternalOCLinEcore.g:2026:2: iv_ruleEnumerationCS= ruleEnumerationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEnumerationCS=ruleEnumerationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEnumerationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEnumerationCS"
// $ANTLR start "ruleEnumerationCS"
// InternalOCLinEcore.g:2033:1: ruleEnumerationCS returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) ;
public final EObject ruleEnumerationCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token lv_instanceClassName_4_0=null;
Token otherlv_5=null;
Token lv_isSerializable_6_0=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_13=null;
Token otherlv_14=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_ownedSignature_2_0 = null;
EObject lv_ownedAnnotations_10_0 = null;
EObject lv_ownedLiterals_11_0 = null;
EObject lv_ownedConstraints_12_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:2036:28: ( (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) )
// InternalOCLinEcore.g:2037:1: (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
{
// InternalOCLinEcore.g:2037:1: (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
// InternalOCLinEcore.g:2037:3: otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
{
otherlv_0=(Token)match(input,29,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getEnumerationCSAccess().getEnumKeyword_0());
}
// InternalOCLinEcore.g:2041:1: ( (lv_name_1_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:2042:1: (lv_name_1_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:2042:1: (lv_name_1_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:2043:3: lv_name_1_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_37);
lv_name_1_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:2059:2: ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )?
int alt53=2;
int LA53_0 = input.LA(1);
if ( (LA53_0==54||LA53_0==81) ) {
alt53=1;
}
switch (alt53) {
case 1 :
// InternalOCLinEcore.g:2060:1: (lv_ownedSignature_2_0= ruleTemplateSignatureCS )
{
// InternalOCLinEcore.g:2060:1: (lv_ownedSignature_2_0= ruleTemplateSignatureCS )
// InternalOCLinEcore.g:2061:3: lv_ownedSignature_2_0= ruleTemplateSignatureCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_ownedSignature_2_0=ruleTemplateSignatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationCSRule());
}
set(
current,
"ownedSignature",
lv_ownedSignature_2_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TemplateSignatureCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalOCLinEcore.g:2077:3: (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt54=2;
int LA54_0 = input.LA(1);
if ( (LA54_0==56) ) {
alt54=1;
}
switch (alt54) {
case 1 :
// InternalOCLinEcore.g:2077:5: otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) )
{
otherlv_3=(Token)match(input,56,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getEnumerationCSAccess().getColonKeyword_3_0());
}
// InternalOCLinEcore.g:2081:1: ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) )
// InternalOCLinEcore.g:2082:1: (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalOCLinEcore.g:2082:1: (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING )
// InternalOCLinEcore.g:2083:3: lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING
{
lv_instanceClassName_4_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_instanceClassName_4_0, grammarAccess.getEnumerationCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getEnumerationCSRule());
}
setWithLastConsumed(
current,
"instanceClassName",
lv_instanceClassName_4_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
}
break;
}
// InternalOCLinEcore.g:2099:4: (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )?
int alt56=2;
int LA56_0 = input.LA(1);
if ( (LA56_0==60) ) {
int LA56_1 = input.LA(2);
if ( (LA56_1==61) ) {
int LA56_3 = input.LA(3);
if ( (LA56_3==57||LA56_3==60) ) {
alt56=1;
}
}
else if ( ((LA56_1>=71 && LA56_1<=72)) ) {
alt56=1;
}
}
switch (alt56) {
case 1 :
// InternalOCLinEcore.g:2099:6: otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}'
{
otherlv_5=(Token)match(input,60,FollowSets000.FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_4_0());
}
// InternalOCLinEcore.g:2103:1: ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )?
int alt55=3;
int LA55_0 = input.LA(1);
if ( (LA55_0==71) ) {
alt55=1;
}
else if ( (LA55_0==72) ) {
alt55=2;
}
switch (alt55) {
case 1 :
// InternalOCLinEcore.g:2103:2: ( (lv_isSerializable_6_0= 'serializable' ) )
{
// InternalOCLinEcore.g:2103:2: ( (lv_isSerializable_6_0= 'serializable' ) )
// InternalOCLinEcore.g:2104:1: (lv_isSerializable_6_0= 'serializable' )
{
// InternalOCLinEcore.g:2104:1: (lv_isSerializable_6_0= 'serializable' )
// InternalOCLinEcore.g:2105:3: lv_isSerializable_6_0= 'serializable'
{
lv_isSerializable_6_0=(Token)match(input,71,FollowSets000.FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isSerializable_6_0, grammarAccess.getEnumerationCSAccess().getIsSerializableSerializableKeyword_4_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getEnumerationCSRule());
}
setWithLastConsumed(current, "isSerializable", true, "serializable");
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:2119:7: otherlv_7= '!serializable'
{
otherlv_7=(Token)match(input,72,FollowSets000.FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getEnumerationCSAccess().getSerializableKeyword_4_1_1());
}
}
break;
}
otherlv_8=(Token)match(input,61,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_4_2());
}
}
break;
}
// InternalOCLinEcore.g:2127:3: ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
int alt58=2;
int LA58_0 = input.LA(1);
if ( (LA58_0==60) ) {
alt58=1;
}
else if ( (LA58_0==57) ) {
alt58=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 58, 0, input);
throw nvae;
}
switch (alt58) {
case 1 :
// InternalOCLinEcore.g:2127:4: (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
{
// InternalOCLinEcore.g:2127:4: (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
// InternalOCLinEcore.g:2127:6: otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}'
{
otherlv_9=(Token)match(input,60,FollowSets000.FOLLOW_46); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_5_0_0());
}
// InternalOCLinEcore.g:2131:1: ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )*
loop57:
do {
int alt57=4;
switch ( input.LA(1) ) {
case 58:
case 73:
case 80:
{
alt57=1;
}
break;
case RULE_SIMPLE_ID:
case RULE_ESCAPED_ID:
case 17:
case 19:
case 20:
case 21:
case 23:
case 24:
case 25:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 33:
case 34:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 45:
case 46:
case 47:
case 48:
case 49:
case 50:
case 51:
case 52:
case 74:
{
alt57=2;
}
break;
case 22:
{
int LA57_4 = input.LA(2);
if ( ((LA57_4>=56 && LA57_4<=57)||LA57_4==60||LA57_4==62) ) {
alt57=2;
}
else if ( (LA57_4==53) ) {
alt57=3;
}
}
break;
case 53:
{
alt57=3;
}
break;
}
switch (alt57) {
case 1 :
// InternalOCLinEcore.g:2131:2: ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) )
{
// InternalOCLinEcore.g:2131:2: ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) )
// InternalOCLinEcore.g:2132:1: (lv_ownedAnnotations_10_0= ruleAnnotationElementCS )
{
// InternalOCLinEcore.g:2132:1: (lv_ownedAnnotations_10_0= ruleAnnotationElementCS )
// InternalOCLinEcore.g:2133:3: lv_ownedAnnotations_10_0= ruleAnnotationElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_5_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_46);
lv_ownedAnnotations_10_0=ruleAnnotationElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationCSRule());
}
add(
current,
"ownedAnnotations",
lv_ownedAnnotations_10_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.AnnotationElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:2150:6: ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) )
{
// InternalOCLinEcore.g:2150:6: ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) )
// InternalOCLinEcore.g:2151:1: (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS )
{
// InternalOCLinEcore.g:2151:1: (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS )
// InternalOCLinEcore.g:2152:3: lv_ownedLiterals_11_0= ruleEnumerationLiteralCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedLiteralsEnumerationLiteralCSParserRuleCall_5_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_46);
lv_ownedLiterals_11_0=ruleEnumerationLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationCSRule());
}
add(
current,
"ownedLiterals",
lv_ownedLiterals_11_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.EnumerationLiteralCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:2169:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
{
// InternalOCLinEcore.g:2169:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
// InternalOCLinEcore.g:2170:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
{
// InternalOCLinEcore.g:2170:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
// InternalOCLinEcore.g:2171:3: lv_ownedConstraints_12_0= ruleInvariantConstraintCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_5_0_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_46);
lv_ownedConstraints_12_0=ruleInvariantConstraintCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationCSRule());
}
add(
current,
"ownedConstraints",
lv_ownedConstraints_12_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.InvariantConstraintCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop57;
}
} while (true);
otherlv_13=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_5_0_2());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:2192:7: otherlv_14= ';'
{
otherlv_14=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getEnumerationCSAccess().getSemicolonKeyword_5_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEnumerationCS"
// $ANTLR start "entryRuleEnumerationLiteralCS"
// InternalOCLinEcore.g:2204:1: entryRuleEnumerationLiteralCS returns [EObject current=null] : iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF ;
public final EObject entryRuleEnumerationLiteralCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleEnumerationLiteralCS = null;
try {
// InternalOCLinEcore.g:2205:2: (iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF )
// InternalOCLinEcore.g:2206:2: iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEnumerationLiteralCS=ruleEnumerationLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEnumerationLiteralCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEnumerationLiteralCS"
// $ANTLR start "ruleEnumerationLiteralCS"
// InternalOCLinEcore.g:2213:1: ruleEnumerationLiteralCS returns [EObject current=null] : ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= ':' ( (lv_literal_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '=' ( (lv_value_6_0= ruleSIGNED ) ) )? ( (otherlv_7= '{' ( (lv_ownedAnnotations_8_0= ruleAnnotationElementCS ) )* otherlv_9= '}' ) | otherlv_10= ';' ) ) ;
public final EObject ruleEnumerationLiteralCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token lv_literal_4_0=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_10=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
AntlrDatatypeRuleToken lv_value_6_0 = null;
EObject lv_ownedAnnotations_8_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:2216:28: ( ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= ':' ( (lv_literal_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '=' ( (lv_value_6_0= ruleSIGNED ) ) )? ( (otherlv_7= '{' ( (lv_ownedAnnotations_8_0= ruleAnnotationElementCS ) )* otherlv_9= '}' ) | otherlv_10= ';' ) ) )
// InternalOCLinEcore.g:2217:1: ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= ':' ( (lv_literal_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '=' ( (lv_value_6_0= ruleSIGNED ) ) )? ( (otherlv_7= '{' ( (lv_ownedAnnotations_8_0= ruleAnnotationElementCS ) )* otherlv_9= '}' ) | otherlv_10= ';' ) )
{
// InternalOCLinEcore.g:2217:1: ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= ':' ( (lv_literal_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '=' ( (lv_value_6_0= ruleSIGNED ) ) )? ( (otherlv_7= '{' ( (lv_ownedAnnotations_8_0= ruleAnnotationElementCS ) )* otherlv_9= '}' ) | otherlv_10= ';' ) )
// InternalOCLinEcore.g:2217:2: ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= ':' ( (lv_literal_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '=' ( (lv_value_6_0= ruleSIGNED ) ) )? ( (otherlv_7= '{' ( (lv_ownedAnnotations_8_0= ruleAnnotationElementCS ) )* otherlv_9= '}' ) | otherlv_10= ';' )
{
// InternalOCLinEcore.g:2217:2: ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) )
int alt59=2;
int LA59_0 = input.LA(1);
if ( (LA59_0==74) ) {
alt59=1;
}
else if ( ((LA59_0>=RULE_SIMPLE_ID && LA59_0<=RULE_ESCAPED_ID)||LA59_0==17||(LA59_0>=19 && LA59_0<=52)) ) {
alt59=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 59, 0, input);
throw nvae;
}
switch (alt59) {
case 1 :
// InternalOCLinEcore.g:2217:3: (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) )
{
// InternalOCLinEcore.g:2217:3: (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) )
// InternalOCLinEcore.g:2217:5: otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) )
{
otherlv_0=(Token)match(input,74,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getEnumerationLiteralCSAccess().getLiteralKeyword_0_0_0());
}
// InternalOCLinEcore.g:2221:1: ( (lv_name_1_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:2222:1: (lv_name_1_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:2222:1: (lv_name_1_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:2223:3: lv_name_1_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getNameUnrestrictedNameParserRuleCall_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_name_1_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationLiteralCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:2240:6: ( (lv_name_2_0= ruleEnumerationLiteralName ) )
{
// InternalOCLinEcore.g:2240:6: ( (lv_name_2_0= ruleEnumerationLiteralName ) )
// InternalOCLinEcore.g:2241:1: (lv_name_2_0= ruleEnumerationLiteralName )
{
// InternalOCLinEcore.g:2241:1: (lv_name_2_0= ruleEnumerationLiteralName )
// InternalOCLinEcore.g:2242:3: lv_name_2_0= ruleEnumerationLiteralName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getNameEnumerationLiteralNameParserRuleCall_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_name_2_0=ruleEnumerationLiteralName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationLiteralCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.EnumerationLiteralName");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:2258:3: (otherlv_3= ':' ( (lv_literal_4_0= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt60=2;
int LA60_0 = input.LA(1);
if ( (LA60_0==56) ) {
alt60=1;
}
switch (alt60) {
case 1 :
// InternalOCLinEcore.g:2258:5: otherlv_3= ':' ( (lv_literal_4_0= RULE_SINGLE_QUOTED_STRING ) )
{
otherlv_3=(Token)match(input,56,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getEnumerationLiteralCSAccess().getColonKeyword_1_0());
}
// InternalOCLinEcore.g:2262:1: ( (lv_literal_4_0= RULE_SINGLE_QUOTED_STRING ) )
// InternalOCLinEcore.g:2263:1: (lv_literal_4_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalOCLinEcore.g:2263:1: (lv_literal_4_0= RULE_SINGLE_QUOTED_STRING )
// InternalOCLinEcore.g:2264:3: lv_literal_4_0= RULE_SINGLE_QUOTED_STRING
{
lv_literal_4_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_30); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_literal_4_0, grammarAccess.getEnumerationLiteralCSAccess().getLiteralSINGLE_QUOTED_STRINGTerminalRuleCall_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getEnumerationLiteralCSRule());
}
setWithLastConsumed(
current,
"literal",
lv_literal_4_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
}
break;
}
// InternalOCLinEcore.g:2280:4: (otherlv_5= '=' ( (lv_value_6_0= ruleSIGNED ) ) )?
int alt61=2;
int LA61_0 = input.LA(1);
if ( (LA61_0==62) ) {
alt61=1;
}
switch (alt61) {
case 1 :
// InternalOCLinEcore.g:2280:6: otherlv_5= '=' ( (lv_value_6_0= ruleSIGNED ) )
{
otherlv_5=(Token)match(input,62,FollowSets000.FOLLOW_47); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getEnumerationLiteralCSAccess().getEqualsSignKeyword_2_0());
}
// InternalOCLinEcore.g:2284:1: ( (lv_value_6_0= ruleSIGNED ) )
// InternalOCLinEcore.g:2285:1: (lv_value_6_0= ruleSIGNED )
{
// InternalOCLinEcore.g:2285:1: (lv_value_6_0= ruleSIGNED )
// InternalOCLinEcore.g:2286:3: lv_value_6_0= ruleSIGNED
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getValueSIGNEDParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_22);
lv_value_6_0=ruleSIGNED();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationLiteralCSRule());
}
set(
current,
"value",
lv_value_6_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SIGNED");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:2302:4: ( (otherlv_7= '{' ( (lv_ownedAnnotations_8_0= ruleAnnotationElementCS ) )* otherlv_9= '}' ) | otherlv_10= ';' )
int alt63=2;
int LA63_0 = input.LA(1);
if ( (LA63_0==60) ) {
alt63=1;
}
else if ( (LA63_0==57) ) {
alt63=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 63, 0, input);
throw nvae;
}
switch (alt63) {
case 1 :
// InternalOCLinEcore.g:2302:5: (otherlv_7= '{' ( (lv_ownedAnnotations_8_0= ruleAnnotationElementCS ) )* otherlv_9= '}' )
{
// InternalOCLinEcore.g:2302:5: (otherlv_7= '{' ( (lv_ownedAnnotations_8_0= ruleAnnotationElementCS ) )* otherlv_9= '}' )
// InternalOCLinEcore.g:2302:7: otherlv_7= '{' ( (lv_ownedAnnotations_8_0= ruleAnnotationElementCS ) )* otherlv_9= '}'
{
otherlv_7=(Token)match(input,60,FollowSets000.FOLLOW_48); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getEnumerationLiteralCSAccess().getLeftCurlyBracketKeyword_3_0_0());
}
// InternalOCLinEcore.g:2306:1: ( (lv_ownedAnnotations_8_0= ruleAnnotationElementCS ) )*
loop62:
do {
int alt62=2;
int LA62_0 = input.LA(1);
if ( (LA62_0==58||LA62_0==73||LA62_0==80) ) {
alt62=1;
}
switch (alt62) {
case 1 :
// InternalOCLinEcore.g:2307:1: (lv_ownedAnnotations_8_0= ruleAnnotationElementCS )
{
// InternalOCLinEcore.g:2307:1: (lv_ownedAnnotations_8_0= ruleAnnotationElementCS )
// InternalOCLinEcore.g:2308:3: lv_ownedAnnotations_8_0= ruleAnnotationElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_3_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_48);
lv_ownedAnnotations_8_0=ruleAnnotationElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationLiteralCSRule());
}
add(
current,
"ownedAnnotations",
lv_ownedAnnotations_8_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.AnnotationElementCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop62;
}
} while (true);
otherlv_9=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getEnumerationLiteralCSAccess().getRightCurlyBracketKeyword_3_0_2());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:2329:7: otherlv_10= ';'
{
otherlv_10=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getEnumerationLiteralCSAccess().getSemicolonKeyword_3_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEnumerationLiteralCS"
// $ANTLR start "entryRuleImportCS"
// InternalOCLinEcore.g:2341:1: entryRuleImportCS returns [EObject current=null] : iv_ruleImportCS= ruleImportCS EOF ;
public final EObject entryRuleImportCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleImportCS = null;
try {
// InternalOCLinEcore.g:2342:2: (iv_ruleImportCS= ruleImportCS EOF )
// InternalOCLinEcore.g:2343:2: iv_ruleImportCS= ruleImportCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getImportCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleImportCS=ruleImportCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleImportCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleImportCS"
// $ANTLR start "ruleImportCS"
// InternalOCLinEcore.g:2350:1: ruleImportCS returns [EObject current=null] : ( (otherlv_0= 'import' | otherlv_1= 'library' ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )? ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) ) ( (lv_isAll_5_0= '::*' ) )? otherlv_6= ';' ) ;
public final EObject ruleImportCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token lv_isAll_5_0=null;
Token otherlv_6=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedPathName_4_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:2353:28: ( ( (otherlv_0= 'import' | otherlv_1= 'library' ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )? ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) ) ( (lv_isAll_5_0= '::*' ) )? otherlv_6= ';' ) )
// InternalOCLinEcore.g:2354:1: ( (otherlv_0= 'import' | otherlv_1= 'library' ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )? ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) ) ( (lv_isAll_5_0= '::*' ) )? otherlv_6= ';' )
{
// InternalOCLinEcore.g:2354:1: ( (otherlv_0= 'import' | otherlv_1= 'library' ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )? ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) ) ( (lv_isAll_5_0= '::*' ) )? otherlv_6= ';' )
// InternalOCLinEcore.g:2354:2: (otherlv_0= 'import' | otherlv_1= 'library' ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )? ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) ) ( (lv_isAll_5_0= '::*' ) )? otherlv_6= ';'
{
// InternalOCLinEcore.g:2354:2: (otherlv_0= 'import' | otherlv_1= 'library' )
int alt64=2;
int LA64_0 = input.LA(1);
if ( (LA64_0==32) ) {
alt64=1;
}
else if ( (LA64_0==36) ) {
alt64=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 64, 0, input);
throw nvae;
}
switch (alt64) {
case 1 :
// InternalOCLinEcore.g:2354:4: otherlv_0= 'import'
{
otherlv_0=(Token)match(input,32,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getImportCSAccess().getImportKeyword_0_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:2359:7: otherlv_1= 'library'
{
otherlv_1=(Token)match(input,36,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getImportCSAccess().getLibraryKeyword_0_1());
}
}
break;
}
// InternalOCLinEcore.g:2363:2: ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )?
int alt65=2;
alt65 = dfa65.predict(input);
switch (alt65) {
case 1 :
// InternalOCLinEcore.g:2363:3: ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':'
{
// InternalOCLinEcore.g:2363:3: ( (lv_name_2_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:2364:1: (lv_name_2_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:2364:1: (lv_name_2_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:2365:3: lv_name_2_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getImportCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_name_2_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getImportCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,56,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getImportCSAccess().getColonKeyword_1_1());
}
}
break;
}
// InternalOCLinEcore.g:2385:3: ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) )
// InternalOCLinEcore.g:2386:1: (lv_ownedPathName_4_0= ruleURIPathNameCS )
{
// InternalOCLinEcore.g:2386:1: (lv_ownedPathName_4_0= ruleURIPathNameCS )
// InternalOCLinEcore.g:2387:3: lv_ownedPathName_4_0= ruleURIPathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getImportCSAccess().getOwnedPathNameURIPathNameCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_49);
lv_ownedPathName_4_0=ruleURIPathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getImportCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.URIPathNameCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:2403:2: ( (lv_isAll_5_0= '::*' ) )?
int alt66=2;
int LA66_0 = input.LA(1);
if ( (LA66_0==75) ) {
alt66=1;
}
switch (alt66) {
case 1 :
// InternalOCLinEcore.g:2404:1: (lv_isAll_5_0= '::*' )
{
// InternalOCLinEcore.g:2404:1: (lv_isAll_5_0= '::*' )
// InternalOCLinEcore.g:2405:3: lv_isAll_5_0= '::*'
{
lv_isAll_5_0=(Token)match(input,75,FollowSets000.FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isAll_5_0, grammarAccess.getImportCSAccess().getIsAllColonColonAsteriskKeyword_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getImportCSRule());
}
setWithLastConsumed(current, "isAll", true, "::*");
}
}
}
break;
}
otherlv_6=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getImportCSAccess().getSemicolonKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleImportCS"
// $ANTLR start "entryRuleModelElementCS"
// InternalOCLinEcore.g:2430:1: entryRuleModelElementCS returns [EObject current=null] : iv_ruleModelElementCS= ruleModelElementCS EOF ;
public final EObject entryRuleModelElementCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleModelElementCS = null;
try {
// InternalOCLinEcore.g:2431:2: (iv_ruleModelElementCS= ruleModelElementCS EOF )
// InternalOCLinEcore.g:2432:2: iv_ruleModelElementCS= ruleModelElementCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelElementCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleModelElementCS=ruleModelElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleModelElementCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleModelElementCS"
// $ANTLR start "ruleModelElementCS"
// InternalOCLinEcore.g:2439:1: ruleModelElementCS returns [EObject current=null] : (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS ) ;
public final EObject ruleModelElementCS() throws RecognitionException {
EObject current = null;
EObject this_ClassCS_0 = null;
EObject this_EnumerationLiteralCS_1 = null;
EObject this_OperationCS_2 = null;
EObject this_PackageCS_3 = null;
EObject this_StructuralFeatureCS_4 = null;
enterRule();
try {
// InternalOCLinEcore.g:2442:28: ( (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS ) )
// InternalOCLinEcore.g:2443:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS )
{
// InternalOCLinEcore.g:2443:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS )
int alt67=5;
alt67 = dfa67.predict(input);
switch (alt67) {
case 1 :
// InternalOCLinEcore.g:2444:2: this_ClassCS_0= ruleClassCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelElementCSAccess().getClassCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ClassCS_0=ruleClassCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ClassCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:2457:2: this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelElementCSAccess().getEnumerationLiteralCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EnumerationLiteralCS_1=ruleEnumerationLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_EnumerationLiteralCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalOCLinEcore.g:2470:2: this_OperationCS_2= ruleOperationCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelElementCSAccess().getOperationCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_OperationCS_2=ruleOperationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_OperationCS_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalOCLinEcore.g:2483:2: this_PackageCS_3= rulePackageCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelElementCSAccess().getPackageCSParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_2);
this_PackageCS_3=rulePackageCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PackageCS_3;
afterParserOrEnumRuleCall();
}
}
break;
case 5 :
// InternalOCLinEcore.g:2496:2: this_StructuralFeatureCS_4= ruleStructuralFeatureCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelElementCSAccess().getStructuralFeatureCSParserRuleCall_4());
}
pushFollow(FollowSets000.FOLLOW_2);
this_StructuralFeatureCS_4=ruleStructuralFeatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_StructuralFeatureCS_4;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleModelElementCS"
// $ANTLR start "entryRuleModelElementRefCS"
// InternalOCLinEcore.g:2515:1: entryRuleModelElementRefCS returns [EObject current=null] : iv_ruleModelElementRefCS= ruleModelElementRefCS EOF ;
public final EObject entryRuleModelElementRefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleModelElementRefCS = null;
try {
// InternalOCLinEcore.g:2516:2: (iv_ruleModelElementRefCS= ruleModelElementRefCS EOF )
// InternalOCLinEcore.g:2517:2: iv_ruleModelElementRefCS= ruleModelElementRefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelElementRefCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleModelElementRefCS=ruleModelElementRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleModelElementRefCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleModelElementRefCS"
// $ANTLR start "ruleModelElementRefCS"
// InternalOCLinEcore.g:2524:1: ruleModelElementRefCS returns [EObject current=null] : (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' ) ;
public final EObject ruleModelElementRefCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
EObject lv_ownedPathName_1_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:2527:28: ( (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' ) )
// InternalOCLinEcore.g:2528:1: (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' )
{
// InternalOCLinEcore.g:2528:1: (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' )
// InternalOCLinEcore.g:2528:3: otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';'
{
otherlv_0=(Token)match(input,45,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getModelElementRefCSAccess().getReferenceKeyword_0());
}
// InternalOCLinEcore.g:2532:1: ( (lv_ownedPathName_1_0= rulePathNameCS ) )
// InternalOCLinEcore.g:2533:1: (lv_ownedPathName_1_0= rulePathNameCS )
{
// InternalOCLinEcore.g:2533:1: (lv_ownedPathName_1_0= rulePathNameCS )
// InternalOCLinEcore.g:2534:3: lv_ownedPathName_1_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelElementRefCSAccess().getOwnedPathNamePathNameCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedPathName_1_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getModelElementRefCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_1_0,
"org.eclipse.ocl.xtext.base.Base.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getModelElementRefCSAccess().getSemicolonKeyword_2());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleModelElementRefCS"
// $ANTLR start "entryRuleOperationCS"
// InternalOCLinEcore.g:2562:1: entryRuleOperationCS returns [EObject current=null] : iv_ruleOperationCS= ruleOperationCS EOF ;
public final EObject entryRuleOperationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleOperationCS = null;
try {
// InternalOCLinEcore.g:2563:2: (iv_ruleOperationCS= ruleOperationCS EOF )
// InternalOCLinEcore.g:2564:2: iv_ruleOperationCS= ruleOperationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOperationCS=ruleOperationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOperationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOperationCS"
// $ANTLR start "ruleOperationCS"
// InternalOCLinEcore.g:2571:1: ruleOperationCS returns [EObject current=null] : ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' ) ) ;
public final EObject ruleOperationCS() throws RecognitionException {
EObject current = null;
Token lv_qualifiers_0_0=null;
Token lv_qualifiers_1_0=null;
Token lv_qualifiers_2_0=null;
Token lv_qualifiers_3_0=null;
Token otherlv_4=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_12=null;
Token otherlv_14=null;
Token otherlv_16=null;
Token otherlv_18=null;
Token lv_qualifiers_19_0=null;
Token lv_qualifiers_20_0=null;
Token lv_qualifiers_21_0=null;
Token lv_qualifiers_22_0=null;
Token lv_qualifiers_23_0=null;
Token lv_qualifiers_24_0=null;
Token lv_qualifiers_25_0=null;
Token lv_qualifiers_26_0=null;
Token otherlv_27=null;
Token otherlv_28=null;
Token otherlv_29=null;
Token otherlv_32=null;
Token otherlv_34=null;
Token otherlv_36=null;
Token otherlv_38=null;
Token otherlv_39=null;
EObject lv_ownedSignature_5_0 = null;
AntlrDatatypeRuleToken lv_name_6_0 = null;
EObject lv_ownedParameters_8_0 = null;
EObject lv_ownedParameters_10_0 = null;
EObject lv_ownedType_13_0 = null;
EObject lv_ownedExceptions_15_0 = null;
EObject lv_ownedExceptions_17_0 = null;
EObject lv_ownedAnnotations_30_0 = null;
EObject lv_ownedPreconditions_31_0 = null;
EObject lv_ownedBodyExpressions_35_0 = null;
EObject lv_ownedPostconditions_37_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:2574:28: ( ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' ) ) )
// InternalOCLinEcore.g:2575:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' ) )
{
// InternalOCLinEcore.g:2575:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' ) )
// InternalOCLinEcore.g:2575:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' )
{
// InternalOCLinEcore.g:2575:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )?
int alt70=3;
int LA70_0 = input.LA(1);
if ( (LA70_0==47) ) {
alt70=1;
}
else if ( (LA70_0==26) ) {
alt70=2;
}
switch (alt70) {
case 1 :
// InternalOCLinEcore.g:2575:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
{
// InternalOCLinEcore.g:2575:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
// InternalOCLinEcore.g:2575:4: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )?
{
// InternalOCLinEcore.g:2575:4: ( (lv_qualifiers_0_0= 'static' ) )
// InternalOCLinEcore.g:2576:1: (lv_qualifiers_0_0= 'static' )
{
// InternalOCLinEcore.g:2576:1: (lv_qualifiers_0_0= 'static' )
// InternalOCLinEcore.g:2577:3: lv_qualifiers_0_0= 'static'
{
lv_qualifiers_0_0=(Token)match(input,47,FollowSets000.FOLLOW_50); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_0_0, grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_0_0, "static");
}
}
}
// InternalOCLinEcore.g:2590:2: ( (lv_qualifiers_1_0= 'definition' ) )?
int alt68=2;
int LA68_0 = input.LA(1);
if ( (LA68_0==26) ) {
alt68=1;
}
switch (alt68) {
case 1 :
// InternalOCLinEcore.g:2591:1: (lv_qualifiers_1_0= 'definition' )
{
// InternalOCLinEcore.g:2591:1: (lv_qualifiers_1_0= 'definition' )
// InternalOCLinEcore.g:2592:3: lv_qualifiers_1_0= 'definition'
{
lv_qualifiers_1_0=(Token)match(input,26,FollowSets000.FOLLOW_51); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_1_0, grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_1_0, "definition");
}
}
}
break;
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:2606:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
{
// InternalOCLinEcore.g:2606:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
// InternalOCLinEcore.g:2606:7: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )?
{
// InternalOCLinEcore.g:2606:7: ( (lv_qualifiers_2_0= 'definition' ) )
// InternalOCLinEcore.g:2607:1: (lv_qualifiers_2_0= 'definition' )
{
// InternalOCLinEcore.g:2607:1: (lv_qualifiers_2_0= 'definition' )
// InternalOCLinEcore.g:2608:3: lv_qualifiers_2_0= 'definition'
{
lv_qualifiers_2_0=(Token)match(input,26,FollowSets000.FOLLOW_52); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_2_0, grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_2_0, "definition");
}
}
}
// InternalOCLinEcore.g:2621:2: ( (lv_qualifiers_3_0= 'static' ) )?
int alt69=2;
int LA69_0 = input.LA(1);
if ( (LA69_0==47) ) {
alt69=1;
}
switch (alt69) {
case 1 :
// InternalOCLinEcore.g:2622:1: (lv_qualifiers_3_0= 'static' )
{
// InternalOCLinEcore.g:2622:1: (lv_qualifiers_3_0= 'static' )
// InternalOCLinEcore.g:2623:3: lv_qualifiers_3_0= 'static'
{
lv_qualifiers_3_0=(Token)match(input,47,FollowSets000.FOLLOW_51); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_3_0, grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_3_0, "static");
}
}
}
break;
}
}
}
break;
}
otherlv_4=(Token)match(input,37,FollowSets000.FOLLOW_53); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getOperationCSAccess().getOperationKeyword_1());
}
// InternalOCLinEcore.g:2640:1: ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )?
int alt71=2;
int LA71_0 = input.LA(1);
if ( (LA71_0==54||LA71_0==81) ) {
alt71=1;
}
switch (alt71) {
case 1 :
// InternalOCLinEcore.g:2641:1: (lv_ownedSignature_5_0= ruleTemplateSignatureCS )
{
// InternalOCLinEcore.g:2641:1: (lv_ownedSignature_5_0= ruleTemplateSignatureCS )
// InternalOCLinEcore.g:2642:3: lv_ownedSignature_5_0= ruleTemplateSignatureCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_3);
lv_ownedSignature_5_0=ruleTemplateSignatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
set(
current,
"ownedSignature",
lv_ownedSignature_5_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TemplateSignatureCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalOCLinEcore.g:2658:3: ( (lv_name_6_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:2659:1: (lv_name_6_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:2659:1: (lv_name_6_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:2660:3: lv_name_6_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getNameUnrestrictedNameParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_54);
lv_name_6_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
set(
current,
"name",
lv_name_6_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_7=(Token)match(input,54,FollowSets000.FOLLOW_55); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getOperationCSAccess().getLeftParenthesisKeyword_4());
}
// InternalOCLinEcore.g:2680:1: ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )?
int alt73=2;
int LA73_0 = input.LA(1);
if ( ((LA73_0>=RULE_SIMPLE_ID && LA73_0<=RULE_ESCAPED_ID)||LA73_0==17||(LA73_0>=19 && LA73_0<=53)||LA73_0==58||LA73_0==71||(LA73_0>=73 && LA73_0<=74)||LA73_0==76||LA73_0==80) ) {
alt73=1;
}
switch (alt73) {
case 1 :
// InternalOCLinEcore.g:2680:2: ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )*
{
// InternalOCLinEcore.g:2680:2: ( (lv_ownedParameters_8_0= ruleParameterCS ) )
// InternalOCLinEcore.g:2681:1: (lv_ownedParameters_8_0= ruleParameterCS )
{
// InternalOCLinEcore.g:2681:1: (lv_ownedParameters_8_0= ruleParameterCS )
// InternalOCLinEcore.g:2682:3: lv_ownedParameters_8_0= ruleParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_0_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_ownedParameters_8_0=ruleParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_8_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.ParameterCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:2698:2: (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )*
loop72:
do {
int alt72=2;
int LA72_0 = input.LA(1);
if ( (LA72_0==59) ) {
alt72=1;
}
switch (alt72) {
case 1 :
// InternalOCLinEcore.g:2698:4: otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) )
{
otherlv_9=(Token)match(input,59,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getOperationCSAccess().getCommaKeyword_5_1_0());
}
// InternalOCLinEcore.g:2702:1: ( (lv_ownedParameters_10_0= ruleParameterCS ) )
// InternalOCLinEcore.g:2703:1: (lv_ownedParameters_10_0= ruleParameterCS )
{
// InternalOCLinEcore.g:2703:1: (lv_ownedParameters_10_0= ruleParameterCS )
// InternalOCLinEcore.g:2704:3: lv_ownedParameters_10_0= ruleParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_ownedParameters_10_0=ruleParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_10_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.ParameterCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop72;
}
} while (true);
}
break;
}
otherlv_11=(Token)match(input,55,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getOperationCSAccess().getRightParenthesisKeyword_6());
}
// InternalOCLinEcore.g:2724:1: (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )?
int alt74=2;
int LA74_0 = input.LA(1);
if ( (LA74_0==56) ) {
alt74=1;
}
switch (alt74) {
case 1 :
// InternalOCLinEcore.g:2724:3: otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) )
{
otherlv_12=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getOperationCSAccess().getColonKeyword_7_0());
}
// InternalOCLinEcore.g:2728:1: ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) )
// InternalOCLinEcore.g:2729:1: (lv_ownedType_13_0= ruleTypedMultiplicityRefCS )
{
// InternalOCLinEcore.g:2729:1: (lv_ownedType_13_0= ruleTypedMultiplicityRefCS )
// InternalOCLinEcore.g:2730:3: lv_ownedType_13_0= ruleTypedMultiplicityRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_7_1_0());
}
pushFollow(FollowSets000.FOLLOW_57);
lv_ownedType_13_0=ruleTypedMultiplicityRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
set(
current,
"ownedType",
lv_ownedType_13_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedMultiplicityRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:2746:4: (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )?
int alt76=2;
int LA76_0 = input.LA(1);
if ( (LA76_0==48) ) {
alt76=1;
}
switch (alt76) {
case 1 :
// InternalOCLinEcore.g:2746:6: otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )*
{
otherlv_14=(Token)match(input,48,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getOperationCSAccess().getThrowsKeyword_8_0());
}
// InternalOCLinEcore.g:2750:1: ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) )
// InternalOCLinEcore.g:2751:1: (lv_ownedExceptions_15_0= ruleTypedRefCS )
{
// InternalOCLinEcore.g:2751:1: (lv_ownedExceptions_15_0= ruleTypedRefCS )
// InternalOCLinEcore.g:2752:3: lv_ownedExceptions_15_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_1_0());
}
pushFollow(FollowSets000.FOLLOW_58);
lv_ownedExceptions_15_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedExceptions",
lv_ownedExceptions_15_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:2768:2: (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )*
loop75:
do {
int alt75=2;
int LA75_0 = input.LA(1);
if ( (LA75_0==59) ) {
alt75=1;
}
switch (alt75) {
case 1 :
// InternalOCLinEcore.g:2768:4: otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) )
{
otherlv_16=(Token)match(input,59,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getOperationCSAccess().getCommaKeyword_8_2_0());
}
// InternalOCLinEcore.g:2772:1: ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) )
// InternalOCLinEcore.g:2773:1: (lv_ownedExceptions_17_0= ruleTypedRefCS )
{
// InternalOCLinEcore.g:2773:1: (lv_ownedExceptions_17_0= ruleTypedRefCS )
// InternalOCLinEcore.g:2774:3: lv_ownedExceptions_17_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_58);
lv_ownedExceptions_17_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedExceptions",
lv_ownedExceptions_17_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop75;
}
} while (true);
}
break;
}
// InternalOCLinEcore.g:2790:6: (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )?
int alt80=2;
int LA80_0 = input.LA(1);
if ( (LA80_0==60) ) {
int LA80_1 = input.LA(2);
if ( (LA80_1==28||LA80_1==38||(LA80_1>=49 && LA80_1<=50)||LA80_1==63||LA80_1==65||(LA80_1>=67 && LA80_1<=68)) ) {
alt80=1;
}
}
switch (alt80) {
case 1 :
// InternalOCLinEcore.g:2790:8: otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}'
{
otherlv_18=(Token)match(input,60,FollowSets000.FOLLOW_59); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0());
}
// InternalOCLinEcore.g:2794:1: ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) ) (otherlv_27= ',' )? )+
int cnt79=0;
loop79:
do {
int alt79=2;
int LA79_0 = input.LA(1);
if ( (LA79_0==28||LA79_0==38||(LA79_0>=49 && LA79_0<=50)||LA79_0==63||LA79_0==65||(LA79_0>=67 && LA79_0<=68)) ) {
alt79=1;
}
switch (alt79) {
case 1 :
// InternalOCLinEcore.g:2794:2: ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) ) (otherlv_27= ',' )?
{
// InternalOCLinEcore.g:2794:2: ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) )
int alt77=8;
switch ( input.LA(1) ) {
case 28:
{
alt77=1;
}
break;
case 63:
{
alt77=2;
}
break;
case 38:
{
alt77=3;
}
break;
case 65:
{
alt77=4;
}
break;
case 49:
{
alt77=5;
}
break;
case 67:
{
alt77=6;
}
break;
case 50:
{
alt77=7;
}
break;
case 68:
{
alt77=8;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 77, 0, input);
throw nvae;
}
switch (alt77) {
case 1 :
// InternalOCLinEcore.g:2794:3: ( (lv_qualifiers_19_0= 'derived' ) )
{
// InternalOCLinEcore.g:2794:3: ( (lv_qualifiers_19_0= 'derived' ) )
// InternalOCLinEcore.g:2795:1: (lv_qualifiers_19_0= 'derived' )
{
// InternalOCLinEcore.g:2795:1: (lv_qualifiers_19_0= 'derived' )
// InternalOCLinEcore.g:2796:3: lv_qualifiers_19_0= 'derived'
{
lv_qualifiers_19_0=(Token)match(input,28,FollowSets000.FOLLOW_60); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_19_0, grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_19_0, "derived");
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:2810:6: ( (lv_qualifiers_20_0= '!derived' ) )
{
// InternalOCLinEcore.g:2810:6: ( (lv_qualifiers_20_0= '!derived' ) )
// InternalOCLinEcore.g:2811:1: (lv_qualifiers_20_0= '!derived' )
{
// InternalOCLinEcore.g:2811:1: (lv_qualifiers_20_0= '!derived' )
// InternalOCLinEcore.g:2812:3: lv_qualifiers_20_0= '!derived'
{
lv_qualifiers_20_0=(Token)match(input,63,FollowSets000.FOLLOW_60); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_20_0, grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_20_0, "!derived");
}
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:2826:6: ( (lv_qualifiers_21_0= 'ordered' ) )
{
// InternalOCLinEcore.g:2826:6: ( (lv_qualifiers_21_0= 'ordered' ) )
// InternalOCLinEcore.g:2827:1: (lv_qualifiers_21_0= 'ordered' )
{
// InternalOCLinEcore.g:2827:1: (lv_qualifiers_21_0= 'ordered' )
// InternalOCLinEcore.g:2828:3: lv_qualifiers_21_0= 'ordered'
{
lv_qualifiers_21_0=(Token)match(input,38,FollowSets000.FOLLOW_60); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_21_0, grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_21_0, "ordered");
}
}
}
}
break;
case 4 :
// InternalOCLinEcore.g:2842:6: ( (lv_qualifiers_22_0= '!ordered' ) )
{
// InternalOCLinEcore.g:2842:6: ( (lv_qualifiers_22_0= '!ordered' ) )
// InternalOCLinEcore.g:2843:1: (lv_qualifiers_22_0= '!ordered' )
{
// InternalOCLinEcore.g:2843:1: (lv_qualifiers_22_0= '!ordered' )
// InternalOCLinEcore.g:2844:3: lv_qualifiers_22_0= '!ordered'
{
lv_qualifiers_22_0=(Token)match(input,65,FollowSets000.FOLLOW_60); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_22_0, grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_22_0, "!ordered");
}
}
}
}
break;
case 5 :
// InternalOCLinEcore.g:2858:6: ( (lv_qualifiers_23_0= 'transient' ) )
{
// InternalOCLinEcore.g:2858:6: ( (lv_qualifiers_23_0= 'transient' ) )
// InternalOCLinEcore.g:2859:1: (lv_qualifiers_23_0= 'transient' )
{
// InternalOCLinEcore.g:2859:1: (lv_qualifiers_23_0= 'transient' )
// InternalOCLinEcore.g:2860:3: lv_qualifiers_23_0= 'transient'
{
lv_qualifiers_23_0=(Token)match(input,49,FollowSets000.FOLLOW_60); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_23_0, grammarAccess.getOperationCSAccess().getQualifiersTransientKeyword_9_1_0_4_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_23_0, "transient");
}
}
}
}
break;
case 6 :
// InternalOCLinEcore.g:2874:6: ( (lv_qualifiers_24_0= '!transient' ) )
{
// InternalOCLinEcore.g:2874:6: ( (lv_qualifiers_24_0= '!transient' ) )
// InternalOCLinEcore.g:2875:1: (lv_qualifiers_24_0= '!transient' )
{
// InternalOCLinEcore.g:2875:1: (lv_qualifiers_24_0= '!transient' )
// InternalOCLinEcore.g:2876:3: lv_qualifiers_24_0= '!transient'
{
lv_qualifiers_24_0=(Token)match(input,67,FollowSets000.FOLLOW_60); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_24_0, grammarAccess.getOperationCSAccess().getQualifiersTransientKeyword_9_1_0_5_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_24_0, "!transient");
}
}
}
}
break;
case 7 :
// InternalOCLinEcore.g:2890:6: ( (lv_qualifiers_25_0= 'unique' ) )
{
// InternalOCLinEcore.g:2890:6: ( (lv_qualifiers_25_0= 'unique' ) )
// InternalOCLinEcore.g:2891:1: (lv_qualifiers_25_0= 'unique' )
{
// InternalOCLinEcore.g:2891:1: (lv_qualifiers_25_0= 'unique' )
// InternalOCLinEcore.g:2892:3: lv_qualifiers_25_0= 'unique'
{
lv_qualifiers_25_0=(Token)match(input,50,FollowSets000.FOLLOW_60); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_25_0, grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_6_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_25_0, "unique");
}
}
}
}
break;
case 8 :
// InternalOCLinEcore.g:2906:6: ( (lv_qualifiers_26_0= '!unique' ) )
{
// InternalOCLinEcore.g:2906:6: ( (lv_qualifiers_26_0= '!unique' ) )
// InternalOCLinEcore.g:2907:1: (lv_qualifiers_26_0= '!unique' )
{
// InternalOCLinEcore.g:2907:1: (lv_qualifiers_26_0= '!unique' )
// InternalOCLinEcore.g:2908:3: lv_qualifiers_26_0= '!unique'
{
lv_qualifiers_26_0=(Token)match(input,68,FollowSets000.FOLLOW_60); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_26_0, grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_7_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_26_0, "!unique");
}
}
}
}
break;
}
// InternalOCLinEcore.g:2921:3: (otherlv_27= ',' )?
int alt78=2;
int LA78_0 = input.LA(1);
if ( (LA78_0==59) ) {
alt78=1;
}
switch (alt78) {
case 1 :
// InternalOCLinEcore.g:2921:5: otherlv_27= ','
{
otherlv_27=(Token)match(input,59,FollowSets000.FOLLOW_61); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1());
}
}
break;
}
}
break;
default :
if ( cnt79 >= 1 ) break loop79;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(79, input);
throw eee;
}
cnt79++;
} while (true);
otherlv_28=(Token)match(input,61,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_28, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2());
}
}
break;
}
// InternalOCLinEcore.g:2929:3: ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' )
int alt84=2;
int LA84_0 = input.LA(1);
if ( (LA84_0==60) ) {
alt84=1;
}
else if ( (LA84_0==57) ) {
alt84=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 84, 0, input);
throw nvae;
}
switch (alt84) {
case 1 :
// InternalOCLinEcore.g:2929:4: (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' )
{
// InternalOCLinEcore.g:2929:4: (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' )
// InternalOCLinEcore.g:2929:6: otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}'
{
otherlv_29=(Token)match(input,60,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_10_0_0());
}
// InternalOCLinEcore.g:2933:1: ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )*
loop83:
do {
int alt83=5;
switch ( input.LA(1) ) {
case 58:
case 73:
case 80:
{
alt83=1;
}
break;
case 41:
{
alt83=2;
}
break;
case 21:
{
alt83=3;
}
break;
case 40:
{
alt83=4;
}
break;
}
switch (alt83) {
case 1 :
// InternalOCLinEcore.g:2933:2: ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) )
{
// InternalOCLinEcore.g:2933:2: ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) )
// InternalOCLinEcore.g:2934:1: (lv_ownedAnnotations_30_0= ruleAnnotationElementCS )
{
// InternalOCLinEcore.g:2934:1: (lv_ownedAnnotations_30_0= ruleAnnotationElementCS )
// InternalOCLinEcore.g:2935:3: lv_ownedAnnotations_30_0= ruleAnnotationElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_10_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_62);
lv_ownedAnnotations_30_0=ruleAnnotationElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedAnnotations",
lv_ownedAnnotations_30_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.AnnotationElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:2952:6: ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) )
{
// InternalOCLinEcore.g:2952:6: ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) )
// InternalOCLinEcore.g:2953:1: (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS )
{
// InternalOCLinEcore.g:2953:1: (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS )
// InternalOCLinEcore.g:2954:3: lv_ownedPreconditions_31_0= rulePreconditionConstraintCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedPreconditionsPreconditionConstraintCSParserRuleCall_10_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_62);
lv_ownedPreconditions_31_0=rulePreconditionConstraintCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedPreconditions",
lv_ownedPreconditions_31_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.PreconditionConstraintCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:2971:6: (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' )
{
// InternalOCLinEcore.g:2971:6: (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' )
// InternalOCLinEcore.g:2971:8: otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';'
{
otherlv_32=(Token)match(input,21,FollowSets000.FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_32, grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0());
}
// InternalOCLinEcore.g:2975:1: ( ruleUnrestrictedName )?
int alt81=2;
int LA81_0 = input.LA(1);
if ( ((LA81_0>=RULE_SIMPLE_ID && LA81_0<=RULE_ESCAPED_ID)||LA81_0==17||(LA81_0>=19 && LA81_0<=53)||LA81_0==58||LA81_0==71||(LA81_0>=73 && LA81_0<=74)||LA81_0==76||LA81_0==80) ) {
alt81=1;
}
switch (alt81) {
case 1 :
// InternalOCLinEcore.g:2976:2: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getUnrestrictedNameParserRuleCall_10_0_1_2_1());
}
pushFollow(FollowSets000.FOLLOW_17);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
otherlv_34=(Token)match(input,56,FollowSets000.FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_34, grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2());
}
// InternalOCLinEcore.g:2990:1: ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )?
int alt82=2;
int LA82_0 = input.LA(1);
if ( ((LA82_0>=RULE_INT && LA82_0<=RULE_SINGLE_QUOTED_STRING)||(LA82_0>=RULE_UNQUOTED_STRING && LA82_0<=RULE_ESCAPED_ID)||(LA82_0>=17 && LA82_0<=54)||LA82_0==58||LA82_0==71||(LA82_0>=73 && LA82_0<=74)||LA82_0==76||LA82_0==80||(LA82_0>=83 && LA82_0<=85)||(LA82_0>=103 && LA82_0<=104)||(LA82_0>=106 && LA82_0<=118)||LA82_0==121||(LA82_0>=124 && LA82_0<=127)||LA82_0==134||(LA82_0>=139 && LA82_0<=140)) ) {
alt82=1;
}
switch (alt82) {
case 1 :
// InternalOCLinEcore.g:2991:1: (lv_ownedBodyExpressions_35_0= ruleSpecificationCS )
{
// InternalOCLinEcore.g:2991:1: (lv_ownedBodyExpressions_35_0= ruleSpecificationCS )
// InternalOCLinEcore.g:2992:3: lv_ownedBodyExpressions_35_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedBodyExpressionsSpecificationCSParserRuleCall_10_0_1_2_3_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedBodyExpressions_35_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedBodyExpressions",
lv_ownedBodyExpressions_35_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_36=(Token)match(input,57,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_36, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4());
}
}
}
break;
case 4 :
// InternalOCLinEcore.g:3013:6: ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) )
{
// InternalOCLinEcore.g:3013:6: ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) )
// InternalOCLinEcore.g:3014:1: (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS )
{
// InternalOCLinEcore.g:3014:1: (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS )
// InternalOCLinEcore.g:3015:3: lv_ownedPostconditions_37_0= rulePostconditionConstraintCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedPostconditionsPostconditionConstraintCSParserRuleCall_10_0_1_3_0());
}
pushFollow(FollowSets000.FOLLOW_62);
lv_ownedPostconditions_37_0=rulePostconditionConstraintCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedPostconditions",
lv_ownedPostconditions_37_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.PostconditionConstraintCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop83;
}
} while (true);
otherlv_38=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_38, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_10_0_2());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:3036:7: otherlv_39= ';'
{
otherlv_39=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_39, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOperationCS"
// $ANTLR start "entryRulePackageCS"
// InternalOCLinEcore.g:3048:1: entryRulePackageCS returns [EObject current=null] : iv_rulePackageCS= rulePackageCS EOF ;
public final EObject entryRulePackageCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePackageCS = null;
try {
// InternalOCLinEcore.g:3049:2: (iv_rulePackageCS= rulePackageCS EOF )
// InternalOCLinEcore.g:3050:2: iv_rulePackageCS= rulePackageCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePackageCS=rulePackageCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePackageCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePackageCS"
// $ANTLR start "rulePackageCS"
// InternalOCLinEcore.g:3057:1: rulePackageCS returns [EObject current=null] : (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) ;
public final EObject rulePackageCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_10=null;
Token otherlv_11=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
AntlrDatatypeRuleToken lv_nsPrefix_3_0 = null;
AntlrDatatypeRuleToken lv_nsURI_5_0 = null;
EObject lv_ownedAnnotations_7_0 = null;
EObject lv_ownedPackages_8_0 = null;
EObject lv_ownedClasses_9_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:3060:28: ( (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) )
// InternalOCLinEcore.g:3061:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) )
{
// InternalOCLinEcore.g:3061:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) )
// InternalOCLinEcore.g:3061:3: otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' )
{
otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getPackageCSAccess().getPackageKeyword_0());
}
// InternalOCLinEcore.g:3065:1: ( (lv_name_1_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:3066:1: (lv_name_1_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:3066:1: (lv_name_1_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:3067:3: lv_name_1_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageCSAccess().getNameUnrestrictedNameParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_name_1_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPackageCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:3083:2: (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )?
int alt85=2;
int LA85_0 = input.LA(1);
if ( (LA85_0==56) ) {
alt85=1;
}
switch (alt85) {
case 1 :
// InternalOCLinEcore.g:3083:4: otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) )
{
otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getPackageCSAccess().getColonKeyword_2_0());
}
// InternalOCLinEcore.g:3087:1: ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:3088:1: (lv_nsPrefix_3_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:3088:1: (lv_nsPrefix_3_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:3089:3: lv_nsPrefix_3_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageCSAccess().getNsPrefixUnrestrictedNameParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_30);
lv_nsPrefix_3_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPackageCSRule());
}
set(
current,
"nsPrefix",
lv_nsPrefix_3_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:3105:4: (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )?
int alt86=2;
int LA86_0 = input.LA(1);
if ( (LA86_0==62) ) {
alt86=1;
}
switch (alt86) {
case 1 :
// InternalOCLinEcore.g:3105:6: otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) )
{
otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getPackageCSAccess().getEqualsSignKeyword_3_0());
}
// InternalOCLinEcore.g:3109:1: ( (lv_nsURI_5_0= ruleURI ) )
// InternalOCLinEcore.g:3110:1: (lv_nsURI_5_0= ruleURI )
{
// InternalOCLinEcore.g:3110:1: (lv_nsURI_5_0= ruleURI )
// InternalOCLinEcore.g:3111:3: lv_nsURI_5_0= ruleURI
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageCSAccess().getNsURIURIParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_22);
lv_nsURI_5_0=ruleURI();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPackageCSRule());
}
set(
current,
"nsURI",
lv_nsURI_5_0,
"org.eclipse.ocl.xtext.base.Base.URI");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:3127:4: ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' )
int alt88=2;
int LA88_0 = input.LA(1);
if ( (LA88_0==60) ) {
alt88=1;
}
else if ( (LA88_0==57) ) {
alt88=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 88, 0, input);
throw nvae;
}
switch (alt88) {
case 1 :
// InternalOCLinEcore.g:3127:5: (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' )
{
// InternalOCLinEcore.g:3127:5: (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' )
// InternalOCLinEcore.g:3127:7: otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}'
{
otherlv_6=(Token)match(input,60,FollowSets000.FOLLOW_63); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getPackageCSAccess().getLeftCurlyBracketKeyword_4_0_0());
}
// InternalOCLinEcore.g:3131:1: ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )*
loop87:
do {
int alt87=4;
switch ( input.LA(1) ) {
case 58:
case 73:
case 80:
{
alt87=1;
}
break;
case 39:
{
alt87=2;
}
break;
case 19:
case 23:
case 25:
case 29:
case 42:
{
alt87=3;
}
break;
}
switch (alt87) {
case 1 :
// InternalOCLinEcore.g:3131:2: ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) )
{
// InternalOCLinEcore.g:3131:2: ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) )
// InternalOCLinEcore.g:3132:1: (lv_ownedAnnotations_7_0= ruleAnnotationElementCS )
{
// InternalOCLinEcore.g:3132:1: (lv_ownedAnnotations_7_0= ruleAnnotationElementCS )
// InternalOCLinEcore.g:3133:3: lv_ownedAnnotations_7_0= ruleAnnotationElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_4_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_63);
lv_ownedAnnotations_7_0=ruleAnnotationElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPackageCSRule());
}
add(
current,
"ownedAnnotations",
lv_ownedAnnotations_7_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.AnnotationElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:3150:6: ( (lv_ownedPackages_8_0= rulePackageCS ) )
{
// InternalOCLinEcore.g:3150:6: ( (lv_ownedPackages_8_0= rulePackageCS ) )
// InternalOCLinEcore.g:3151:1: (lv_ownedPackages_8_0= rulePackageCS )
{
// InternalOCLinEcore.g:3151:1: (lv_ownedPackages_8_0= rulePackageCS )
// InternalOCLinEcore.g:3152:3: lv_ownedPackages_8_0= rulePackageCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageCSAccess().getOwnedPackagesPackageCSParserRuleCall_4_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_63);
lv_ownedPackages_8_0=rulePackageCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPackageCSRule());
}
add(
current,
"ownedPackages",
lv_ownedPackages_8_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.PackageCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:3169:6: ( (lv_ownedClasses_9_0= ruleClassCS ) )
{
// InternalOCLinEcore.g:3169:6: ( (lv_ownedClasses_9_0= ruleClassCS ) )
// InternalOCLinEcore.g:3170:1: (lv_ownedClasses_9_0= ruleClassCS )
{
// InternalOCLinEcore.g:3170:1: (lv_ownedClasses_9_0= ruleClassCS )
// InternalOCLinEcore.g:3171:3: lv_ownedClasses_9_0= ruleClassCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageCSAccess().getOwnedClassesClassCSParserRuleCall_4_0_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_63);
lv_ownedClasses_9_0=ruleClassCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPackageCSRule());
}
add(
current,
"ownedClasses",
lv_ownedClasses_9_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.ClassCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop87;
}
} while (true);
otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getPackageCSAccess().getRightCurlyBracketKeyword_4_0_2());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:3192:7: otherlv_11= ';'
{
otherlv_11=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getPackageCSAccess().getSemicolonKeyword_4_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePackageCS"
// $ANTLR start "entryRuleParameterCS"
// InternalOCLinEcore.g:3204:1: entryRuleParameterCS returns [EObject current=null] : iv_ruleParameterCS= ruleParameterCS EOF ;
public final EObject entryRuleParameterCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleParameterCS = null;
try {
// InternalOCLinEcore.g:3205:2: (iv_ruleParameterCS= ruleParameterCS EOF )
// InternalOCLinEcore.g:3206:2: iv_ruleParameterCS= ruleParameterCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleParameterCS=ruleParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleParameterCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleParameterCS"
// $ANTLR start "ruleParameterCS"
// InternalOCLinEcore.g:3213:1: ruleParameterCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? ) ;
public final EObject ruleParameterCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token lv_qualifiers_4_0=null;
Token lv_qualifiers_5_0=null;
Token lv_qualifiers_6_0=null;
Token lv_qualifiers_7_0=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_10=null;
Token otherlv_12=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
EObject lv_ownedAnnotations_11_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:3216:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? ) )
// InternalOCLinEcore.g:3217:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? )
{
// InternalOCLinEcore.g:3217:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? )
// InternalOCLinEcore.g:3217:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )?
{
// InternalOCLinEcore.g:3217:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:3218:1: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:3218:1: (lv_name_0_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:3219:3: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_64);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:3235:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )?
int alt89=2;
int LA89_0 = input.LA(1);
if ( (LA89_0==56) ) {
alt89=1;
}
switch (alt89) {
case 1 :
// InternalOCLinEcore.g:3235:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) )
{
otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getParameterCSAccess().getColonKeyword_1_0());
}
// InternalOCLinEcore.g:3239:1: ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) )
// InternalOCLinEcore.g:3240:1: (lv_ownedType_2_0= ruleTypedMultiplicityRefCS )
{
// InternalOCLinEcore.g:3240:1: (lv_ownedType_2_0= ruleTypedMultiplicityRefCS )
// InternalOCLinEcore.g:3241:3: lv_ownedType_2_0= ruleTypedMultiplicityRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_65);
lv_ownedType_2_0=ruleTypedMultiplicityRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterCSRule());
}
set(
current,
"ownedType",
lv_ownedType_2_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedMultiplicityRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:3257:4: (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )?
int alt93=2;
int LA93_0 = input.LA(1);
if ( (LA93_0==60) ) {
int LA93_1 = input.LA(2);
if ( (LA93_1==38||LA93_1==50||LA93_1==65||LA93_1==68) ) {
alt93=1;
}
}
switch (alt93) {
case 1 :
// InternalOCLinEcore.g:3257:6: otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}'
{
otherlv_3=(Token)match(input,60,FollowSets000.FOLLOW_66); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0());
}
// InternalOCLinEcore.g:3261:1: ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+
int cnt92=0;
loop92:
do {
int alt92=2;
int LA92_0 = input.LA(1);
if ( (LA92_0==38||LA92_0==50||LA92_0==65||LA92_0==68) ) {
alt92=1;
}
switch (alt92) {
case 1 :
// InternalOCLinEcore.g:3261:2: ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )?
{
// InternalOCLinEcore.g:3261:2: ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) )
int alt90=4;
switch ( input.LA(1) ) {
case 38:
{
alt90=1;
}
break;
case 65:
{
alt90=2;
}
break;
case 50:
{
alt90=3;
}
break;
case 68:
{
alt90=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 90, 0, input);
throw nvae;
}
switch (alt90) {
case 1 :
// InternalOCLinEcore.g:3261:3: ( (lv_qualifiers_4_0= 'ordered' ) )
{
// InternalOCLinEcore.g:3261:3: ( (lv_qualifiers_4_0= 'ordered' ) )
// InternalOCLinEcore.g:3262:1: (lv_qualifiers_4_0= 'ordered' )
{
// InternalOCLinEcore.g:3262:1: (lv_qualifiers_4_0= 'ordered' )
// InternalOCLinEcore.g:3263:3: lv_qualifiers_4_0= 'ordered'
{
lv_qualifiers_4_0=(Token)match(input,38,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_4_0, grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_4_0, "ordered");
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:3277:6: ( (lv_qualifiers_5_0= '!ordered' ) )
{
// InternalOCLinEcore.g:3277:6: ( (lv_qualifiers_5_0= '!ordered' ) )
// InternalOCLinEcore.g:3278:1: (lv_qualifiers_5_0= '!ordered' )
{
// InternalOCLinEcore.g:3278:1: (lv_qualifiers_5_0= '!ordered' )
// InternalOCLinEcore.g:3279:3: lv_qualifiers_5_0= '!ordered'
{
lv_qualifiers_5_0=(Token)match(input,65,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_5_0, grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_5_0, "!ordered");
}
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:3293:6: ( (lv_qualifiers_6_0= 'unique' ) )
{
// InternalOCLinEcore.g:3293:6: ( (lv_qualifiers_6_0= 'unique' ) )
// InternalOCLinEcore.g:3294:1: (lv_qualifiers_6_0= 'unique' )
{
// InternalOCLinEcore.g:3294:1: (lv_qualifiers_6_0= 'unique' )
// InternalOCLinEcore.g:3295:3: lv_qualifiers_6_0= 'unique'
{
lv_qualifiers_6_0=(Token)match(input,50,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_6_0, grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_6_0, "unique");
}
}
}
}
break;
case 4 :
// InternalOCLinEcore.g:3309:6: ( (lv_qualifiers_7_0= '!unique' ) )
{
// InternalOCLinEcore.g:3309:6: ( (lv_qualifiers_7_0= '!unique' ) )
// InternalOCLinEcore.g:3310:1: (lv_qualifiers_7_0= '!unique' )
{
// InternalOCLinEcore.g:3310:1: (lv_qualifiers_7_0= '!unique' )
// InternalOCLinEcore.g:3311:3: lv_qualifiers_7_0= '!unique'
{
lv_qualifiers_7_0=(Token)match(input,68,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_7_0, grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_7_0, "!unique");
}
}
}
}
break;
}
// InternalOCLinEcore.g:3324:3: (otherlv_8= ',' )?
int alt91=2;
int LA91_0 = input.LA(1);
if ( (LA91_0==59) ) {
alt91=1;
}
switch (alt91) {
case 1 :
// InternalOCLinEcore.g:3324:5: otherlv_8= ','
{
otherlv_8=(Token)match(input,59,FollowSets000.FOLLOW_68); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_1());
}
}
break;
}
}
break;
default :
if ( cnt92 >= 1 ) break loop92;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(92, input);
throw eee;
}
cnt92++;
} while (true);
otherlv_9=(Token)match(input,61,FollowSets000.FOLLOW_65); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_2());
}
}
break;
}
// InternalOCLinEcore.g:3332:3: (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )?
int alt95=2;
int LA95_0 = input.LA(1);
if ( (LA95_0==60) ) {
alt95=1;
}
switch (alt95) {
case 1 :
// InternalOCLinEcore.g:3332:5: otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}'
{
otherlv_10=(Token)match(input,60,FollowSets000.FOLLOW_48); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_3_0());
}
// InternalOCLinEcore.g:3336:1: ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )*
loop94:
do {
int alt94=2;
int LA94_0 = input.LA(1);
if ( (LA94_0==58||LA94_0==73||LA94_0==80) ) {
alt94=1;
}
switch (alt94) {
case 1 :
// InternalOCLinEcore.g:3337:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS )
{
// InternalOCLinEcore.g:3337:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS )
// InternalOCLinEcore.g:3338:3: lv_ownedAnnotations_11_0= ruleAnnotationElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_48);
lv_ownedAnnotations_11_0=ruleAnnotationElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterCSRule());
}
add(
current,
"ownedAnnotations",
lv_ownedAnnotations_11_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.AnnotationElementCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop94;
}
} while (true);
otherlv_12=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_3_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleParameterCS"
// $ANTLR start "entryRuleImplicitOppositeCS"
// InternalOCLinEcore.g:3366:1: entryRuleImplicitOppositeCS returns [EObject current=null] : iv_ruleImplicitOppositeCS= ruleImplicitOppositeCS EOF ;
public final EObject entryRuleImplicitOppositeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleImplicitOppositeCS = null;
try {
// InternalOCLinEcore.g:3367:2: (iv_ruleImplicitOppositeCS= ruleImplicitOppositeCS EOF )
// InternalOCLinEcore.g:3368:2: iv_ruleImplicitOppositeCS= ruleImplicitOppositeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getImplicitOppositeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleImplicitOppositeCS=ruleImplicitOppositeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleImplicitOppositeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleImplicitOppositeCS"
// $ANTLR start "ruleImplicitOppositeCS"
// InternalOCLinEcore.g:3375:1: ruleImplicitOppositeCS returns [EObject current=null] : (otherlv_0= 'opposite' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypedMultiplicityRefCS ) ) (otherlv_4= '{' ( ( ( (lv_qualifiers_5_0= 'ordered' ) ) | ( (lv_qualifiers_6_0= '!ordered' ) ) | ( (lv_qualifiers_7_0= 'unique' ) ) | ( (lv_qualifiers_8_0= '!unique' ) ) ) (otherlv_9= ',' )? )+ otherlv_10= '}' )? ) ;
public final EObject ruleImplicitOppositeCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token lv_qualifiers_5_0=null;
Token lv_qualifiers_6_0=null;
Token lv_qualifiers_7_0=null;
Token lv_qualifiers_8_0=null;
Token otherlv_9=null;
Token otherlv_10=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_ownedType_3_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:3378:28: ( (otherlv_0= 'opposite' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypedMultiplicityRefCS ) ) (otherlv_4= '{' ( ( ( (lv_qualifiers_5_0= 'ordered' ) ) | ( (lv_qualifiers_6_0= '!ordered' ) ) | ( (lv_qualifiers_7_0= 'unique' ) ) | ( (lv_qualifiers_8_0= '!unique' ) ) ) (otherlv_9= ',' )? )+ otherlv_10= '}' )? ) )
// InternalOCLinEcore.g:3379:1: (otherlv_0= 'opposite' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypedMultiplicityRefCS ) ) (otherlv_4= '{' ( ( ( (lv_qualifiers_5_0= 'ordered' ) ) | ( (lv_qualifiers_6_0= '!ordered' ) ) | ( (lv_qualifiers_7_0= 'unique' ) ) | ( (lv_qualifiers_8_0= '!unique' ) ) ) (otherlv_9= ',' )? )+ otherlv_10= '}' )? )
{
// InternalOCLinEcore.g:3379:1: (otherlv_0= 'opposite' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypedMultiplicityRefCS ) ) (otherlv_4= '{' ( ( ( (lv_qualifiers_5_0= 'ordered' ) ) | ( (lv_qualifiers_6_0= '!ordered' ) ) | ( (lv_qualifiers_7_0= 'unique' ) ) | ( (lv_qualifiers_8_0= '!unique' ) ) ) (otherlv_9= ',' )? )+ otherlv_10= '}' )? )
// InternalOCLinEcore.g:3379:3: otherlv_0= 'opposite' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypedMultiplicityRefCS ) ) (otherlv_4= '{' ( ( ( (lv_qualifiers_5_0= 'ordered' ) ) | ( (lv_qualifiers_6_0= '!ordered' ) ) | ( (lv_qualifiers_7_0= 'unique' ) ) | ( (lv_qualifiers_8_0= '!unique' ) ) ) (otherlv_9= ',' )? )+ otherlv_10= '}' )?
{
otherlv_0=(Token)match(input,76,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getImplicitOppositeCSAccess().getOppositeKeyword_0());
}
// InternalOCLinEcore.g:3383:1: ( (lv_name_1_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:3384:1: (lv_name_1_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:3384:1: (lv_name_1_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:3385:3: lv_name_1_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getImplicitOppositeCSAccess().getNameUnrestrictedNameParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_name_1_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getImplicitOppositeCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getImplicitOppositeCSAccess().getColonKeyword_2());
}
// InternalOCLinEcore.g:3405:1: ( (lv_ownedType_3_0= ruleTypedMultiplicityRefCS ) )
// InternalOCLinEcore.g:3406:1: (lv_ownedType_3_0= ruleTypedMultiplicityRefCS )
{
// InternalOCLinEcore.g:3406:1: (lv_ownedType_3_0= ruleTypedMultiplicityRefCS )
// InternalOCLinEcore.g:3407:3: lv_ownedType_3_0= ruleTypedMultiplicityRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getImplicitOppositeCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_65);
lv_ownedType_3_0=ruleTypedMultiplicityRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getImplicitOppositeCSRule());
}
set(
current,
"ownedType",
lv_ownedType_3_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedMultiplicityRefCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:3423:2: (otherlv_4= '{' ( ( ( (lv_qualifiers_5_0= 'ordered' ) ) | ( (lv_qualifiers_6_0= '!ordered' ) ) | ( (lv_qualifiers_7_0= 'unique' ) ) | ( (lv_qualifiers_8_0= '!unique' ) ) ) (otherlv_9= ',' )? )+ otherlv_10= '}' )?
int alt99=2;
int LA99_0 = input.LA(1);
if ( (LA99_0==60) ) {
alt99=1;
}
switch (alt99) {
case 1 :
// InternalOCLinEcore.g:3423:4: otherlv_4= '{' ( ( ( (lv_qualifiers_5_0= 'ordered' ) ) | ( (lv_qualifiers_6_0= '!ordered' ) ) | ( (lv_qualifiers_7_0= 'unique' ) ) | ( (lv_qualifiers_8_0= '!unique' ) ) ) (otherlv_9= ',' )? )+ otherlv_10= '}'
{
otherlv_4=(Token)match(input,60,FollowSets000.FOLLOW_66); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getImplicitOppositeCSAccess().getLeftCurlyBracketKeyword_4_0());
}
// InternalOCLinEcore.g:3427:1: ( ( ( (lv_qualifiers_5_0= 'ordered' ) ) | ( (lv_qualifiers_6_0= '!ordered' ) ) | ( (lv_qualifiers_7_0= 'unique' ) ) | ( (lv_qualifiers_8_0= '!unique' ) ) ) (otherlv_9= ',' )? )+
int cnt98=0;
loop98:
do {
int alt98=2;
int LA98_0 = input.LA(1);
if ( (LA98_0==38||LA98_0==50||LA98_0==65||LA98_0==68) ) {
alt98=1;
}
switch (alt98) {
case 1 :
// InternalOCLinEcore.g:3427:2: ( ( (lv_qualifiers_5_0= 'ordered' ) ) | ( (lv_qualifiers_6_0= '!ordered' ) ) | ( (lv_qualifiers_7_0= 'unique' ) ) | ( (lv_qualifiers_8_0= '!unique' ) ) ) (otherlv_9= ',' )?
{
// InternalOCLinEcore.g:3427:2: ( ( (lv_qualifiers_5_0= 'ordered' ) ) | ( (lv_qualifiers_6_0= '!ordered' ) ) | ( (lv_qualifiers_7_0= 'unique' ) ) | ( (lv_qualifiers_8_0= '!unique' ) ) )
int alt96=4;
switch ( input.LA(1) ) {
case 38:
{
alt96=1;
}
break;
case 65:
{
alt96=2;
}
break;
case 50:
{
alt96=3;
}
break;
case 68:
{
alt96=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 96, 0, input);
throw nvae;
}
switch (alt96) {
case 1 :
// InternalOCLinEcore.g:3427:3: ( (lv_qualifiers_5_0= 'ordered' ) )
{
// InternalOCLinEcore.g:3427:3: ( (lv_qualifiers_5_0= 'ordered' ) )
// InternalOCLinEcore.g:3428:1: (lv_qualifiers_5_0= 'ordered' )
{
// InternalOCLinEcore.g:3428:1: (lv_qualifiers_5_0= 'ordered' )
// InternalOCLinEcore.g:3429:3: lv_qualifiers_5_0= 'ordered'
{
lv_qualifiers_5_0=(Token)match(input,38,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_5_0, grammarAccess.getImplicitOppositeCSAccess().getQualifiersOrderedKeyword_4_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getImplicitOppositeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_5_0, "ordered");
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:3443:6: ( (lv_qualifiers_6_0= '!ordered' ) )
{
// InternalOCLinEcore.g:3443:6: ( (lv_qualifiers_6_0= '!ordered' ) )
// InternalOCLinEcore.g:3444:1: (lv_qualifiers_6_0= '!ordered' )
{
// InternalOCLinEcore.g:3444:1: (lv_qualifiers_6_0= '!ordered' )
// InternalOCLinEcore.g:3445:3: lv_qualifiers_6_0= '!ordered'
{
lv_qualifiers_6_0=(Token)match(input,65,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_6_0, grammarAccess.getImplicitOppositeCSAccess().getQualifiersOrderedKeyword_4_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getImplicitOppositeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_6_0, "!ordered");
}
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:3459:6: ( (lv_qualifiers_7_0= 'unique' ) )
{
// InternalOCLinEcore.g:3459:6: ( (lv_qualifiers_7_0= 'unique' ) )
// InternalOCLinEcore.g:3460:1: (lv_qualifiers_7_0= 'unique' )
{
// InternalOCLinEcore.g:3460:1: (lv_qualifiers_7_0= 'unique' )
// InternalOCLinEcore.g:3461:3: lv_qualifiers_7_0= 'unique'
{
lv_qualifiers_7_0=(Token)match(input,50,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_7_0, grammarAccess.getImplicitOppositeCSAccess().getQualifiersUniqueKeyword_4_1_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getImplicitOppositeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_7_0, "unique");
}
}
}
}
break;
case 4 :
// InternalOCLinEcore.g:3475:6: ( (lv_qualifiers_8_0= '!unique' ) )
{
// InternalOCLinEcore.g:3475:6: ( (lv_qualifiers_8_0= '!unique' ) )
// InternalOCLinEcore.g:3476:1: (lv_qualifiers_8_0= '!unique' )
{
// InternalOCLinEcore.g:3476:1: (lv_qualifiers_8_0= '!unique' )
// InternalOCLinEcore.g:3477:3: lv_qualifiers_8_0= '!unique'
{
lv_qualifiers_8_0=(Token)match(input,68,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_8_0, grammarAccess.getImplicitOppositeCSAccess().getQualifiersUniqueKeyword_4_1_0_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getImplicitOppositeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_8_0, "!unique");
}
}
}
}
break;
}
// InternalOCLinEcore.g:3490:3: (otherlv_9= ',' )?
int alt97=2;
int LA97_0 = input.LA(1);
if ( (LA97_0==59) ) {
alt97=1;
}
switch (alt97) {
case 1 :
// InternalOCLinEcore.g:3490:5: otherlv_9= ','
{
otherlv_9=(Token)match(input,59,FollowSets000.FOLLOW_68); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getImplicitOppositeCSAccess().getCommaKeyword_4_1_1());
}
}
break;
}
}
break;
default :
if ( cnt98 >= 1 ) break loop98;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(98, input);
throw eee;
}
cnt98++;
} while (true);
otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getImplicitOppositeCSAccess().getRightCurlyBracketKeyword_4_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleImplicitOppositeCS"
// $ANTLR start "entryRuleReferenceCS"
// InternalOCLinEcore.g:3506:1: entryRuleReferenceCS returns [EObject current=null] : iv_ruleReferenceCS= ruleReferenceCS EOF ;
public final EObject entryRuleReferenceCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleReferenceCS = null;
try {
// InternalOCLinEcore.g:3507:2: (iv_ruleReferenceCS= ruleReferenceCS EOF )
// InternalOCLinEcore.g:3508:2: iv_ruleReferenceCS= ruleReferenceCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleReferenceCS=ruleReferenceCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleReferenceCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleReferenceCS"
// $ANTLR start "ruleReferenceCS"
// InternalOCLinEcore.g:3515:1: ruleReferenceCS returns [EObject current=null] : ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) | ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' ) )* otherlv_52= '}' ) | otherlv_53= ';' ) ) ;
public final EObject ruleReferenceCS() throws RecognitionException {
EObject current = null;
Token lv_qualifiers_0_0=null;
Token lv_qualifiers_1_0=null;
Token lv_qualifiers_2_0=null;
Token lv_qualifiers_3_0=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token lv_default_11_0=null;
Token otherlv_12=null;
Token lv_qualifiers_13_0=null;
Token lv_qualifiers_14_0=null;
Token lv_qualifiers_15_0=null;
Token lv_qualifiers_16_0=null;
Token lv_qualifiers_17_0=null;
Token lv_qualifiers_18_0=null;
Token lv_qualifiers_19_0=null;
Token lv_qualifiers_20_0=null;
Token lv_qualifiers_21_0=null;
Token lv_qualifiers_22_0=null;
Token lv_qualifiers_23_0=null;
Token lv_qualifiers_24_0=null;
Token lv_qualifiers_25_0=null;
Token lv_qualifiers_26_0=null;
Token lv_qualifiers_27_0=null;
Token lv_qualifiers_28_0=null;
Token lv_qualifiers_29_0=null;
Token lv_qualifiers_30_0=null;
Token otherlv_31=null;
Token otherlv_32=null;
Token otherlv_33=null;
Token otherlv_35=null;
Token otherlv_37=null;
Token otherlv_39=null;
Token otherlv_40=null;
Token otherlv_42=null;
Token otherlv_44=null;
Token otherlv_45=null;
Token otherlv_47=null;
Token otherlv_49=null;
Token otherlv_51=null;
Token otherlv_52=null;
Token otherlv_53=null;
AntlrDatatypeRuleToken lv_name_5_0 = null;
EObject lv_ownedType_9_0 = null;
EObject lv_ownedAnnotations_34_0 = null;
EObject lv_ownedDefaultExpressions_43_0 = null;
EObject lv_ownedDefaultExpressions_48_0 = null;
EObject lv_ownedImplicitOpposites_50_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:3518:28: ( ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) | ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' ) )* otherlv_52= '}' ) | otherlv_53= ';' ) ) )
// InternalOCLinEcore.g:3519:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) | ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' ) )* otherlv_52= '}' ) | otherlv_53= ';' ) )
{
// InternalOCLinEcore.g:3519:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) | ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' ) )* otherlv_52= '}' ) | otherlv_53= ';' ) )
// InternalOCLinEcore.g:3519:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) | ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' ) )* otherlv_52= '}' ) | otherlv_53= ';' )
{
// InternalOCLinEcore.g:3519:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )?
int alt102=3;
int LA102_0 = input.LA(1);
if ( (LA102_0==47) ) {
alt102=1;
}
else if ( (LA102_0==26) ) {
alt102=2;
}
switch (alt102) {
case 1 :
// InternalOCLinEcore.g:3519:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
{
// InternalOCLinEcore.g:3519:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
// InternalOCLinEcore.g:3519:4: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )?
{
// InternalOCLinEcore.g:3519:4: ( (lv_qualifiers_0_0= 'static' ) )
// InternalOCLinEcore.g:3520:1: (lv_qualifiers_0_0= 'static' )
{
// InternalOCLinEcore.g:3520:1: (lv_qualifiers_0_0= 'static' )
// InternalOCLinEcore.g:3521:3: lv_qualifiers_0_0= 'static'
{
lv_qualifiers_0_0=(Token)match(input,47,FollowSets000.FOLLOW_69); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_0_0, grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_0_0, "static");
}
}
}
// InternalOCLinEcore.g:3534:2: ( (lv_qualifiers_1_0= 'definition' ) )?
int alt100=2;
int LA100_0 = input.LA(1);
if ( (LA100_0==26) ) {
alt100=1;
}
switch (alt100) {
case 1 :
// InternalOCLinEcore.g:3535:1: (lv_qualifiers_1_0= 'definition' )
{
// InternalOCLinEcore.g:3535:1: (lv_qualifiers_1_0= 'definition' )
// InternalOCLinEcore.g:3536:3: lv_qualifiers_1_0= 'definition'
{
lv_qualifiers_1_0=(Token)match(input,26,FollowSets000.FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_1_0, grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_1_0, "definition");
}
}
}
break;
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:3550:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
{
// InternalOCLinEcore.g:3550:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
// InternalOCLinEcore.g:3550:7: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )?
{
// InternalOCLinEcore.g:3550:7: ( (lv_qualifiers_2_0= 'definition' ) )
// InternalOCLinEcore.g:3551:1: (lv_qualifiers_2_0= 'definition' )
{
// InternalOCLinEcore.g:3551:1: (lv_qualifiers_2_0= 'definition' )
// InternalOCLinEcore.g:3552:3: lv_qualifiers_2_0= 'definition'
{
lv_qualifiers_2_0=(Token)match(input,26,FollowSets000.FOLLOW_71); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_2_0, grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_2_0, "definition");
}
}
}
// InternalOCLinEcore.g:3565:2: ( (lv_qualifiers_3_0= 'static' ) )?
int alt101=2;
int LA101_0 = input.LA(1);
if ( (LA101_0==47) ) {
alt101=1;
}
switch (alt101) {
case 1 :
// InternalOCLinEcore.g:3566:1: (lv_qualifiers_3_0= 'static' )
{
// InternalOCLinEcore.g:3566:1: (lv_qualifiers_3_0= 'static' )
// InternalOCLinEcore.g:3567:3: lv_qualifiers_3_0= 'static'
{
lv_qualifiers_3_0=(Token)match(input,47,FollowSets000.FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_3_0, grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_3_0, "static");
}
}
}
break;
}
}
}
break;
}
otherlv_4=(Token)match(input,43,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getReferenceCSAccess().getPropertyKeyword_1());
}
// InternalOCLinEcore.g:3584:1: ( (lv_name_5_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:3585:1: (lv_name_5_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:3585:1: (lv_name_5_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:3586:3: lv_name_5_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_72);
lv_name_5_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReferenceCSRule());
}
set(
current,
"name",
lv_name_5_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:3602:2: (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )?
int alt103=2;
int LA103_0 = input.LA(1);
if ( (LA103_0==77) ) {
alt103=1;
}
switch (alt103) {
case 1 :
// InternalOCLinEcore.g:3602:4: otherlv_6= '#' ( ( ruleUnrestrictedName ) )
{
otherlv_6=(Token)match(input,77,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getReferenceCSAccess().getNumberSignKeyword_3_0());
}
// InternalOCLinEcore.g:3606:1: ( ( ruleUnrestrictedName ) )
// InternalOCLinEcore.g:3607:1: ( ruleUnrestrictedName )
{
// InternalOCLinEcore.g:3607:1: ( ruleUnrestrictedName )
// InternalOCLinEcore.g:3608:3: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getReferredOppositePropertyCrossReference_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:3624:4: (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )?
int alt104=2;
int LA104_0 = input.LA(1);
if ( (LA104_0==56) ) {
alt104=1;
}
switch (alt104) {
case 1 :
// InternalOCLinEcore.g:3624:6: otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) )
{
otherlv_8=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getReferenceCSAccess().getColonKeyword_4_0());
}
// InternalOCLinEcore.g:3628:1: ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) )
// InternalOCLinEcore.g:3629:1: (lv_ownedType_9_0= ruleTypedMultiplicityRefCS )
{
// InternalOCLinEcore.g:3629:1: (lv_ownedType_9_0= ruleTypedMultiplicityRefCS )
// InternalOCLinEcore.g:3630:3: lv_ownedType_9_0= ruleTypedMultiplicityRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_4_1_0());
}
pushFollow(FollowSets000.FOLLOW_30);
lv_ownedType_9_0=ruleTypedMultiplicityRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReferenceCSRule());
}
set(
current,
"ownedType",
lv_ownedType_9_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedMultiplicityRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:3646:4: (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt105=2;
int LA105_0 = input.LA(1);
if ( (LA105_0==62) ) {
alt105=1;
}
switch (alt105) {
case 1 :
// InternalOCLinEcore.g:3646:6: otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) )
{
otherlv_10=(Token)match(input,62,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getReferenceCSAccess().getEqualsSignKeyword_5_0());
}
// InternalOCLinEcore.g:3650:1: ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) )
// InternalOCLinEcore.g:3651:1: (lv_default_11_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalOCLinEcore.g:3651:1: (lv_default_11_0= RULE_SINGLE_QUOTED_STRING )
// InternalOCLinEcore.g:3652:3: lv_default_11_0= RULE_SINGLE_QUOTED_STRING
{
lv_default_11_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_default_11_0, grammarAccess.getReferenceCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
setWithLastConsumed(
current,
"default",
lv_default_11_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
}
break;
}
// InternalOCLinEcore.g:3668:4: (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )?
int alt109=2;
int LA109_0 = input.LA(1);
if ( (LA109_0==60) ) {
int LA109_1 = input.LA(2);
if ( (LA109_1==24||LA109_1==28||LA109_1==38||LA109_1==44||LA109_1==46||(LA109_1>=49 && LA109_1<=52)||LA109_1==63||(LA109_1>=65 && LA109_1<=70)||(LA109_1>=78 && LA109_1<=79)) ) {
alt109=1;
}
}
switch (alt109) {
case 1 :
// InternalOCLinEcore.g:3668:6: otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}'
{
otherlv_12=(Token)match(input,60,FollowSets000.FOLLOW_73); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0());
}
// InternalOCLinEcore.g:3672:1: ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+
int cnt108=0;
loop108:
do {
int alt108=2;
int LA108_0 = input.LA(1);
if ( (LA108_0==24||LA108_0==28||LA108_0==38||LA108_0==44||LA108_0==46||(LA108_0>=49 && LA108_0<=52)||LA108_0==63||(LA108_0>=65 && LA108_0<=70)||(LA108_0>=78 && LA108_0<=79)) ) {
alt108=1;
}
switch (alt108) {
case 1 :
// InternalOCLinEcore.g:3672:2: ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )?
{
// InternalOCLinEcore.g:3672:2: ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) )
int alt106=18;
switch ( input.LA(1) ) {
case 24:
{
alt106=1;
}
break;
case 78:
{
alt106=2;
}
break;
case 28:
{
alt106=3;
}
break;
case 63:
{
alt106=4;
}
break;
case 38:
{
alt106=5;
}
break;
case 65:
{
alt106=6;
}
break;
case 44:
{
alt106=7;
}
break;
case 66:
{
alt106=8;
}
break;
case 46:
{
alt106=9;
}
break;
case 79:
{
alt106=10;
}
break;
case 49:
{
alt106=11;
}
break;
case 67:
{
alt106=12;
}
break;
case 50:
{
alt106=13;
}
break;
case 68:
{
alt106=14;
}
break;
case 51:
{
alt106=15;
}
break;
case 69:
{
alt106=16;
}
break;
case 52:
{
alt106=17;
}
break;
case 70:
{
alt106=18;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 106, 0, input);
throw nvae;
}
switch (alt106) {
case 1 :
// InternalOCLinEcore.g:3672:3: ( (lv_qualifiers_13_0= 'composes' ) )
{
// InternalOCLinEcore.g:3672:3: ( (lv_qualifiers_13_0= 'composes' ) )
// InternalOCLinEcore.g:3673:1: (lv_qualifiers_13_0= 'composes' )
{
// InternalOCLinEcore.g:3673:1: (lv_qualifiers_13_0= 'composes' )
// InternalOCLinEcore.g:3674:3: lv_qualifiers_13_0= 'composes'
{
lv_qualifiers_13_0=(Token)match(input,24,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_13_0, grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_13_0, "composes");
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:3688:6: ( (lv_qualifiers_14_0= '!composes' ) )
{
// InternalOCLinEcore.g:3688:6: ( (lv_qualifiers_14_0= '!composes' ) )
// InternalOCLinEcore.g:3689:1: (lv_qualifiers_14_0= '!composes' )
{
// InternalOCLinEcore.g:3689:1: (lv_qualifiers_14_0= '!composes' )
// InternalOCLinEcore.g:3690:3: lv_qualifiers_14_0= '!composes'
{
lv_qualifiers_14_0=(Token)match(input,78,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_14_0, grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_14_0, "!composes");
}
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:3704:6: ( (lv_qualifiers_15_0= 'derived' ) )
{
// InternalOCLinEcore.g:3704:6: ( (lv_qualifiers_15_0= 'derived' ) )
// InternalOCLinEcore.g:3705:1: (lv_qualifiers_15_0= 'derived' )
{
// InternalOCLinEcore.g:3705:1: (lv_qualifiers_15_0= 'derived' )
// InternalOCLinEcore.g:3706:3: lv_qualifiers_15_0= 'derived'
{
lv_qualifiers_15_0=(Token)match(input,28,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_15_0, grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_15_0, "derived");
}
}
}
}
break;
case 4 :
// InternalOCLinEcore.g:3720:6: ( (lv_qualifiers_16_0= '!derived' ) )
{
// InternalOCLinEcore.g:3720:6: ( (lv_qualifiers_16_0= '!derived' ) )
// InternalOCLinEcore.g:3721:1: (lv_qualifiers_16_0= '!derived' )
{
// InternalOCLinEcore.g:3721:1: (lv_qualifiers_16_0= '!derived' )
// InternalOCLinEcore.g:3722:3: lv_qualifiers_16_0= '!derived'
{
lv_qualifiers_16_0=(Token)match(input,63,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_16_0, grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_16_0, "!derived");
}
}
}
}
break;
case 5 :
// InternalOCLinEcore.g:3736:6: ( (lv_qualifiers_17_0= 'ordered' ) )
{
// InternalOCLinEcore.g:3736:6: ( (lv_qualifiers_17_0= 'ordered' ) )
// InternalOCLinEcore.g:3737:1: (lv_qualifiers_17_0= 'ordered' )
{
// InternalOCLinEcore.g:3737:1: (lv_qualifiers_17_0= 'ordered' )
// InternalOCLinEcore.g:3738:3: lv_qualifiers_17_0= 'ordered'
{
lv_qualifiers_17_0=(Token)match(input,38,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_17_0, grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_17_0, "ordered");
}
}
}
}
break;
case 6 :
// InternalOCLinEcore.g:3752:6: ( (lv_qualifiers_18_0= '!ordered' ) )
{
// InternalOCLinEcore.g:3752:6: ( (lv_qualifiers_18_0= '!ordered' ) )
// InternalOCLinEcore.g:3753:1: (lv_qualifiers_18_0= '!ordered' )
{
// InternalOCLinEcore.g:3753:1: (lv_qualifiers_18_0= '!ordered' )
// InternalOCLinEcore.g:3754:3: lv_qualifiers_18_0= '!ordered'
{
lv_qualifiers_18_0=(Token)match(input,65,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_18_0, grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_18_0, "!ordered");
}
}
}
}
break;
case 7 :
// InternalOCLinEcore.g:3768:6: ( (lv_qualifiers_19_0= 'readonly' ) )
{
// InternalOCLinEcore.g:3768:6: ( (lv_qualifiers_19_0= 'readonly' ) )
// InternalOCLinEcore.g:3769:1: (lv_qualifiers_19_0= 'readonly' )
{
// InternalOCLinEcore.g:3769:1: (lv_qualifiers_19_0= 'readonly' )
// InternalOCLinEcore.g:3770:3: lv_qualifiers_19_0= 'readonly'
{
lv_qualifiers_19_0=(Token)match(input,44,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_19_0, grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_19_0, "readonly");
}
}
}
}
break;
case 8 :
// InternalOCLinEcore.g:3784:6: ( (lv_qualifiers_20_0= '!readonly' ) )
{
// InternalOCLinEcore.g:3784:6: ( (lv_qualifiers_20_0= '!readonly' ) )
// InternalOCLinEcore.g:3785:1: (lv_qualifiers_20_0= '!readonly' )
{
// InternalOCLinEcore.g:3785:1: (lv_qualifiers_20_0= '!readonly' )
// InternalOCLinEcore.g:3786:3: lv_qualifiers_20_0= '!readonly'
{
lv_qualifiers_20_0=(Token)match(input,66,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_20_0, grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_20_0, "!readonly");
}
}
}
}
break;
case 9 :
// InternalOCLinEcore.g:3800:6: ( (lv_qualifiers_21_0= 'resolve' ) )
{
// InternalOCLinEcore.g:3800:6: ( (lv_qualifiers_21_0= 'resolve' ) )
// InternalOCLinEcore.g:3801:1: (lv_qualifiers_21_0= 'resolve' )
{
// InternalOCLinEcore.g:3801:1: (lv_qualifiers_21_0= 'resolve' )
// InternalOCLinEcore.g:3802:3: lv_qualifiers_21_0= 'resolve'
{
lv_qualifiers_21_0=(Token)match(input,46,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_21_0, grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_21_0, "resolve");
}
}
}
}
break;
case 10 :
// InternalOCLinEcore.g:3816:6: ( (lv_qualifiers_22_0= '!resolve' ) )
{
// InternalOCLinEcore.g:3816:6: ( (lv_qualifiers_22_0= '!resolve' ) )
// InternalOCLinEcore.g:3817:1: (lv_qualifiers_22_0= '!resolve' )
{
// InternalOCLinEcore.g:3817:1: (lv_qualifiers_22_0= '!resolve' )
// InternalOCLinEcore.g:3818:3: lv_qualifiers_22_0= '!resolve'
{
lv_qualifiers_22_0=(Token)match(input,79,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_22_0, grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_22_0, "!resolve");
}
}
}
}
break;
case 11 :
// InternalOCLinEcore.g:3832:6: ( (lv_qualifiers_23_0= 'transient' ) )
{
// InternalOCLinEcore.g:3832:6: ( (lv_qualifiers_23_0= 'transient' ) )
// InternalOCLinEcore.g:3833:1: (lv_qualifiers_23_0= 'transient' )
{
// InternalOCLinEcore.g:3833:1: (lv_qualifiers_23_0= 'transient' )
// InternalOCLinEcore.g:3834:3: lv_qualifiers_23_0= 'transient'
{
lv_qualifiers_23_0=(Token)match(input,49,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_23_0, grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_23_0, "transient");
}
}
}
}
break;
case 12 :
// InternalOCLinEcore.g:3848:6: ( (lv_qualifiers_24_0= '!transient' ) )
{
// InternalOCLinEcore.g:3848:6: ( (lv_qualifiers_24_0= '!transient' ) )
// InternalOCLinEcore.g:3849:1: (lv_qualifiers_24_0= '!transient' )
{
// InternalOCLinEcore.g:3849:1: (lv_qualifiers_24_0= '!transient' )
// InternalOCLinEcore.g:3850:3: lv_qualifiers_24_0= '!transient'
{
lv_qualifiers_24_0=(Token)match(input,67,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_24_0, grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_24_0, "!transient");
}
}
}
}
break;
case 13 :
// InternalOCLinEcore.g:3864:6: ( (lv_qualifiers_25_0= 'unique' ) )
{
// InternalOCLinEcore.g:3864:6: ( (lv_qualifiers_25_0= 'unique' ) )
// InternalOCLinEcore.g:3865:1: (lv_qualifiers_25_0= 'unique' )
{
// InternalOCLinEcore.g:3865:1: (lv_qualifiers_25_0= 'unique' )
// InternalOCLinEcore.g:3866:3: lv_qualifiers_25_0= 'unique'
{
lv_qualifiers_25_0=(Token)match(input,50,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_25_0, grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_25_0, "unique");
}
}
}
}
break;
case 14 :
// InternalOCLinEcore.g:3880:6: ( (lv_qualifiers_26_0= '!unique' ) )
{
// InternalOCLinEcore.g:3880:6: ( (lv_qualifiers_26_0= '!unique' ) )
// InternalOCLinEcore.g:3881:1: (lv_qualifiers_26_0= '!unique' )
{
// InternalOCLinEcore.g:3881:1: (lv_qualifiers_26_0= '!unique' )
// InternalOCLinEcore.g:3882:3: lv_qualifiers_26_0= '!unique'
{
lv_qualifiers_26_0=(Token)match(input,68,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_26_0, grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_26_0, "!unique");
}
}
}
}
break;
case 15 :
// InternalOCLinEcore.g:3896:6: ( (lv_qualifiers_27_0= 'unsettable' ) )
{
// InternalOCLinEcore.g:3896:6: ( (lv_qualifiers_27_0= 'unsettable' ) )
// InternalOCLinEcore.g:3897:1: (lv_qualifiers_27_0= 'unsettable' )
{
// InternalOCLinEcore.g:3897:1: (lv_qualifiers_27_0= 'unsettable' )
// InternalOCLinEcore.g:3898:3: lv_qualifiers_27_0= 'unsettable'
{
lv_qualifiers_27_0=(Token)match(input,51,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_27_0, grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_27_0, "unsettable");
}
}
}
}
break;
case 16 :
// InternalOCLinEcore.g:3912:6: ( (lv_qualifiers_28_0= '!unsettable' ) )
{
// InternalOCLinEcore.g:3912:6: ( (lv_qualifiers_28_0= '!unsettable' ) )
// InternalOCLinEcore.g:3913:1: (lv_qualifiers_28_0= '!unsettable' )
{
// InternalOCLinEcore.g:3913:1: (lv_qualifiers_28_0= '!unsettable' )
// InternalOCLinEcore.g:3914:3: lv_qualifiers_28_0= '!unsettable'
{
lv_qualifiers_28_0=(Token)match(input,69,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_28_0, grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_28_0, "!unsettable");
}
}
}
}
break;
case 17 :
// InternalOCLinEcore.g:3928:6: ( (lv_qualifiers_29_0= 'volatile' ) )
{
// InternalOCLinEcore.g:3928:6: ( (lv_qualifiers_29_0= 'volatile' ) )
// InternalOCLinEcore.g:3929:1: (lv_qualifiers_29_0= 'volatile' )
{
// InternalOCLinEcore.g:3929:1: (lv_qualifiers_29_0= 'volatile' )
// InternalOCLinEcore.g:3930:3: lv_qualifiers_29_0= 'volatile'
{
lv_qualifiers_29_0=(Token)match(input,52,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_29_0, grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_29_0, "volatile");
}
}
}
}
break;
case 18 :
// InternalOCLinEcore.g:3944:6: ( (lv_qualifiers_30_0= '!volatile' ) )
{
// InternalOCLinEcore.g:3944:6: ( (lv_qualifiers_30_0= '!volatile' ) )
// InternalOCLinEcore.g:3945:1: (lv_qualifiers_30_0= '!volatile' )
{
// InternalOCLinEcore.g:3945:1: (lv_qualifiers_30_0= '!volatile' )
// InternalOCLinEcore.g:3946:3: lv_qualifiers_30_0= '!volatile'
{
lv_qualifiers_30_0=(Token)match(input,70,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_30_0, grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_30_0, "!volatile");
}
}
}
}
break;
}
// InternalOCLinEcore.g:3959:3: (otherlv_31= ',' )?
int alt107=2;
int LA107_0 = input.LA(1);
if ( (LA107_0==59) ) {
alt107=1;
}
switch (alt107) {
case 1 :
// InternalOCLinEcore.g:3959:5: otherlv_31= ','
{
otherlv_31=(Token)match(input,59,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_31, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1());
}
}
break;
}
}
break;
default :
if ( cnt108 >= 1 ) break loop108;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(108, input);
throw eee;
}
cnt108++;
} while (true);
otherlv_32=(Token)match(input,61,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_32, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_2());
}
}
break;
}
// InternalOCLinEcore.g:3967:3: ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) | ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' ) )* otherlv_52= '}' ) | otherlv_53= ';' )
int alt116=2;
int LA116_0 = input.LA(1);
if ( (LA116_0==60) ) {
alt116=1;
}
else if ( (LA116_0==57) ) {
alt116=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 116, 0, input);
throw nvae;
}
switch (alt116) {
case 1 :
// InternalOCLinEcore.g:3967:4: (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) | ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' ) )* otherlv_52= '}' )
{
// InternalOCLinEcore.g:3967:4: (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) | ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' ) )* otherlv_52= '}' )
// InternalOCLinEcore.g:3967:6: otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) | ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' ) )* otherlv_52= '}'
{
otherlv_33=(Token)match(input,60,FollowSets000.FOLLOW_76); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_7_0_0());
}
// InternalOCLinEcore.g:3971:1: ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) | ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' ) )*
loop115:
do {
int alt115=6;
switch ( input.LA(1) ) {
case 58:
case 73:
case 80:
{
alt115=1;
}
break;
case 35:
{
alt115=2;
}
break;
case 33:
{
alt115=3;
}
break;
case 27:
{
alt115=4;
}
break;
case 76:
{
alt115=5;
}
break;
}
switch (alt115) {
case 1 :
// InternalOCLinEcore.g:3971:2: ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) )
{
// InternalOCLinEcore.g:3971:2: ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) )
// InternalOCLinEcore.g:3972:1: (lv_ownedAnnotations_34_0= ruleAnnotationElementCS )
{
// InternalOCLinEcore.g:3972:1: (lv_ownedAnnotations_34_0= ruleAnnotationElementCS )
// InternalOCLinEcore.g:3973:3: lv_ownedAnnotations_34_0= ruleAnnotationElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_7_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_76);
lv_ownedAnnotations_34_0=ruleAnnotationElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReferenceCSRule());
}
add(
current,
"ownedAnnotations",
lv_ownedAnnotations_34_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.AnnotationElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:3990:6: (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' )
{
// InternalOCLinEcore.g:3990:6: (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' )
// InternalOCLinEcore.g:3990:8: otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';'
{
otherlv_35=(Token)match(input,35,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_35, grammarAccess.getReferenceCSAccess().getKeyKeyword_7_0_1_1_0());
}
// InternalOCLinEcore.g:3994:1: ( ( ruleUnrestrictedName ) )
// InternalOCLinEcore.g:3995:1: ( ruleUnrestrictedName )
{
// InternalOCLinEcore.g:3995:1: ( ruleUnrestrictedName )
// InternalOCLinEcore.g:3996:3: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getReferredKeysPropertyCrossReference_7_0_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_77);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:4012:2: (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )*
loop110:
do {
int alt110=2;
int LA110_0 = input.LA(1);
if ( (LA110_0==59) ) {
alt110=1;
}
switch (alt110) {
case 1 :
// InternalOCLinEcore.g:4012:4: otherlv_37= ',' ( ( ruleUnrestrictedName ) )
{
otherlv_37=(Token)match(input,59,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_37, grammarAccess.getReferenceCSAccess().getCommaKeyword_7_0_1_1_2_0());
}
// InternalOCLinEcore.g:4016:1: ( ( ruleUnrestrictedName ) )
// InternalOCLinEcore.g:4017:1: ( ruleUnrestrictedName )
{
// InternalOCLinEcore.g:4017:1: ( ruleUnrestrictedName )
// InternalOCLinEcore.g:4018:3: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getReferredKeysPropertyCrossReference_7_0_1_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_77);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop110;
}
} while (true);
otherlv_39=(Token)match(input,57,FollowSets000.FOLLOW_76); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_39, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_1_3());
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:4039:6: (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' )
{
// InternalOCLinEcore.g:4039:6: (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' )
// InternalOCLinEcore.g:4039:8: otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';'
{
otherlv_40=(Token)match(input,33,FollowSets000.FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_40, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_2_0());
}
// InternalOCLinEcore.g:4043:1: ( ruleUnrestrictedName )?
int alt111=2;
int LA111_0 = input.LA(1);
if ( ((LA111_0>=RULE_SIMPLE_ID && LA111_0<=RULE_ESCAPED_ID)||LA111_0==17||(LA111_0>=19 && LA111_0<=53)||LA111_0==58||LA111_0==71||(LA111_0>=73 && LA111_0<=74)||LA111_0==76||LA111_0==80) ) {
alt111=1;
}
switch (alt111) {
case 1 :
// InternalOCLinEcore.g:4044:2: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1());
}
pushFollow(FollowSets000.FOLLOW_17);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
otherlv_42=(Token)match(input,56,FollowSets000.FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_42, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2());
}
// InternalOCLinEcore.g:4058:1: ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )?
int alt112=2;
int LA112_0 = input.LA(1);
if ( ((LA112_0>=RULE_INT && LA112_0<=RULE_SINGLE_QUOTED_STRING)||(LA112_0>=RULE_UNQUOTED_STRING && LA112_0<=RULE_ESCAPED_ID)||(LA112_0>=17 && LA112_0<=54)||LA112_0==58||LA112_0==71||(LA112_0>=73 && LA112_0<=74)||LA112_0==76||LA112_0==80||(LA112_0>=83 && LA112_0<=85)||(LA112_0>=103 && LA112_0<=104)||(LA112_0>=106 && LA112_0<=118)||LA112_0==121||(LA112_0>=124 && LA112_0<=127)||LA112_0==134||(LA112_0>=139 && LA112_0<=140)) ) {
alt112=1;
}
switch (alt112) {
case 1 :
// InternalOCLinEcore.g:4059:1: (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS )
{
// InternalOCLinEcore.g:4059:1: (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS )
// InternalOCLinEcore.g:4060:3: lv_ownedDefaultExpressions_43_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_2_3_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedDefaultExpressions_43_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReferenceCSRule());
}
add(
current,
"ownedDefaultExpressions",
lv_ownedDefaultExpressions_43_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_44=(Token)match(input,57,FollowSets000.FOLLOW_76); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_44, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4());
}
}
}
break;
case 4 :
// InternalOCLinEcore.g:4081:6: (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' )
{
// InternalOCLinEcore.g:4081:6: (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' )
// InternalOCLinEcore.g:4081:8: otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';'
{
otherlv_45=(Token)match(input,27,FollowSets000.FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_45, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_3_0());
}
// InternalOCLinEcore.g:4085:1: ( ruleUnrestrictedName )?
int alt113=2;
int LA113_0 = input.LA(1);
if ( ((LA113_0>=RULE_SIMPLE_ID && LA113_0<=RULE_ESCAPED_ID)||LA113_0==17||(LA113_0>=19 && LA113_0<=53)||LA113_0==58||LA113_0==71||(LA113_0>=73 && LA113_0<=74)||LA113_0==76||LA113_0==80) ) {
alt113=1;
}
switch (alt113) {
case 1 :
// InternalOCLinEcore.g:4086:2: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1());
}
pushFollow(FollowSets000.FOLLOW_17);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
otherlv_47=(Token)match(input,56,FollowSets000.FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_47, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2());
}
// InternalOCLinEcore.g:4100:1: ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )?
int alt114=2;
int LA114_0 = input.LA(1);
if ( ((LA114_0>=RULE_INT && LA114_0<=RULE_SINGLE_QUOTED_STRING)||(LA114_0>=RULE_UNQUOTED_STRING && LA114_0<=RULE_ESCAPED_ID)||(LA114_0>=17 && LA114_0<=54)||LA114_0==58||LA114_0==71||(LA114_0>=73 && LA114_0<=74)||LA114_0==76||LA114_0==80||(LA114_0>=83 && LA114_0<=85)||(LA114_0>=103 && LA114_0<=104)||(LA114_0>=106 && LA114_0<=118)||LA114_0==121||(LA114_0>=124 && LA114_0<=127)||LA114_0==134||(LA114_0>=139 && LA114_0<=140)) ) {
alt114=1;
}
switch (alt114) {
case 1 :
// InternalOCLinEcore.g:4101:1: (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS )
{
// InternalOCLinEcore.g:4101:1: (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS )
// InternalOCLinEcore.g:4102:3: lv_ownedDefaultExpressions_48_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_3_3_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedDefaultExpressions_48_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReferenceCSRule());
}
add(
current,
"ownedDefaultExpressions",
lv_ownedDefaultExpressions_48_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_49=(Token)match(input,57,FollowSets000.FOLLOW_76); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_49, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4());
}
}
}
break;
case 5 :
// InternalOCLinEcore.g:4123:6: ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' )
{
// InternalOCLinEcore.g:4123:6: ( ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';' )
// InternalOCLinEcore.g:4123:7: ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) ) otherlv_51= ';'
{
// InternalOCLinEcore.g:4123:7: ( (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS ) )
// InternalOCLinEcore.g:4124:1: (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS )
{
// InternalOCLinEcore.g:4124:1: (lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS )
// InternalOCLinEcore.g:4125:3: lv_ownedImplicitOpposites_50_0= ruleImplicitOppositeCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedImplicitOppositesImplicitOppositeCSParserRuleCall_7_0_1_4_0_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedImplicitOpposites_50_0=ruleImplicitOppositeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReferenceCSRule());
}
add(
current,
"ownedImplicitOpposites",
lv_ownedImplicitOpposites_50_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.ImplicitOppositeCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_51=(Token)match(input,57,FollowSets000.FOLLOW_76); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_51, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_4_1());
}
}
}
break;
default :
break loop115;
}
} while (true);
otherlv_52=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_52, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_7_0_2());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:4150:7: otherlv_53= ';'
{
otherlv_53=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_53, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleReferenceCS"
// $ANTLR start "entryRuleSpecificationCS"
// InternalOCLinEcore.g:4162:1: entryRuleSpecificationCS returns [EObject current=null] : iv_ruleSpecificationCS= ruleSpecificationCS EOF ;
public final EObject entryRuleSpecificationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleSpecificationCS = null;
try {
// InternalOCLinEcore.g:4163:2: (iv_ruleSpecificationCS= ruleSpecificationCS EOF )
// InternalOCLinEcore.g:4164:2: iv_ruleSpecificationCS= ruleSpecificationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSpecificationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSpecificationCS=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSpecificationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSpecificationCS"
// $ANTLR start "ruleSpecificationCS"
// InternalOCLinEcore.g:4171:1: ruleSpecificationCS returns [EObject current=null] : ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) ) ;
public final EObject ruleSpecificationCS() throws RecognitionException {
EObject current = null;
Token lv_exprString_1_0=null;
EObject lv_ownedExpression_0_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:4174:28: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) ) )
// InternalOCLinEcore.g:4175:1: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) )
{
// InternalOCLinEcore.g:4175:1: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) )
int alt117=2;
int LA117_0 = input.LA(1);
if ( ((LA117_0>=RULE_INT && LA117_0<=RULE_SINGLE_QUOTED_STRING)||(LA117_0>=RULE_SIMPLE_ID && LA117_0<=RULE_ESCAPED_ID)||(LA117_0>=17 && LA117_0<=54)||LA117_0==58||LA117_0==71||(LA117_0>=73 && LA117_0<=74)||LA117_0==76||LA117_0==80||(LA117_0>=83 && LA117_0<=85)||(LA117_0>=103 && LA117_0<=104)||(LA117_0>=106 && LA117_0<=118)||LA117_0==121||(LA117_0>=124 && LA117_0<=127)||LA117_0==134||(LA117_0>=139 && LA117_0<=140)) ) {
alt117=1;
}
else if ( (LA117_0==RULE_UNQUOTED_STRING) ) {
alt117=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 117, 0, input);
throw nvae;
}
switch (alt117) {
case 1 :
// InternalOCLinEcore.g:4175:2: ( (lv_ownedExpression_0_0= ruleExpCS ) )
{
// InternalOCLinEcore.g:4175:2: ( (lv_ownedExpression_0_0= ruleExpCS ) )
// InternalOCLinEcore.g:4176:1: (lv_ownedExpression_0_0= ruleExpCS )
{
// InternalOCLinEcore.g:4176:1: (lv_ownedExpression_0_0= ruleExpCS )
// InternalOCLinEcore.g:4177:3: lv_ownedExpression_0_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSpecificationCSAccess().getOwnedExpressionExpCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedExpression_0_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSpecificationCSRule());
}
set(
current,
"ownedExpression",
lv_ownedExpression_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:4194:6: ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) )
{
// InternalOCLinEcore.g:4194:6: ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) )
// InternalOCLinEcore.g:4195:1: (lv_exprString_1_0= RULE_UNQUOTED_STRING )
{
// InternalOCLinEcore.g:4195:1: (lv_exprString_1_0= RULE_UNQUOTED_STRING )
// InternalOCLinEcore.g:4196:3: lv_exprString_1_0= RULE_UNQUOTED_STRING
{
lv_exprString_1_0=(Token)match(input,RULE_UNQUOTED_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_exprString_1_0, grammarAccess.getSpecificationCSAccess().getExprStringUNQUOTED_STRINGTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSpecificationCSRule());
}
setWithLastConsumed(
current,
"exprString",
lv_exprString_1_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UNQUOTED_STRING");
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSpecificationCS"
// $ANTLR start "entryRuleStructuredClassCS"
// InternalOCLinEcore.g:4220:1: entryRuleStructuredClassCS returns [EObject current=null] : iv_ruleStructuredClassCS= ruleStructuredClassCS EOF ;
public final EObject entryRuleStructuredClassCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleStructuredClassCS = null;
try {
// InternalOCLinEcore.g:4221:2: (iv_ruleStructuredClassCS= ruleStructuredClassCS EOF )
// InternalOCLinEcore.g:4222:2: iv_ruleStructuredClassCS= ruleStructuredClassCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleStructuredClassCS=ruleStructuredClassCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleStructuredClassCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStructuredClassCS"
// $ANTLR start "ruleStructuredClassCS"
// InternalOCLinEcore.g:4229:1: ruleStructuredClassCS returns [EObject current=null] : ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) ) ;
public final EObject ruleStructuredClassCS() throws RecognitionException {
EObject current = null;
Token lv_isAbstract_0_0=null;
Token otherlv_1=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token lv_instanceClassName_9_0=null;
Token otherlv_10=null;
Token lv_isInterface_11_0=null;
Token otherlv_12=null;
Token otherlv_13=null;
Token otherlv_18=null;
Token otherlv_19=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedSignature_3_0 = null;
EObject lv_ownedSuperTypes_5_0 = null;
EObject lv_ownedSuperTypes_7_0 = null;
EObject lv_ownedAnnotations_14_0 = null;
EObject lv_ownedOperations_15_0 = null;
EObject lv_ownedProperties_16_0 = null;
EObject lv_ownedConstraints_17_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:4232:28: ( ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) ) )
// InternalOCLinEcore.g:4233:1: ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) )
{
// InternalOCLinEcore.g:4233:1: ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) )
// InternalOCLinEcore.g:4233:2: ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' )
{
// InternalOCLinEcore.g:4233:2: ( (lv_isAbstract_0_0= 'abstract' ) )?
int alt118=2;
int LA118_0 = input.LA(1);
if ( (LA118_0==19) ) {
alt118=1;
}
switch (alt118) {
case 1 :
// InternalOCLinEcore.g:4234:1: (lv_isAbstract_0_0= 'abstract' )
{
// InternalOCLinEcore.g:4234:1: (lv_isAbstract_0_0= 'abstract' )
// InternalOCLinEcore.g:4235:3: lv_isAbstract_0_0= 'abstract'
{
lv_isAbstract_0_0=(Token)match(input,19,FollowSets000.FOLLOW_78); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isAbstract_0_0, grammarAccess.getStructuredClassCSAccess().getIsAbstractAbstractKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStructuredClassCSRule());
}
setWithLastConsumed(current, "isAbstract", true, "abstract");
}
}
}
break;
}
otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getStructuredClassCSAccess().getClassKeyword_1());
}
// InternalOCLinEcore.g:4252:1: ( (lv_name_2_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:4253:1: (lv_name_2_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:4253:1: (lv_name_2_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:4254:3: lv_name_2_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_79);
lv_name_2_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:4270:2: ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )?
int alt119=2;
int LA119_0 = input.LA(1);
if ( (LA119_0==54||LA119_0==81) ) {
alt119=1;
}
switch (alt119) {
case 1 :
// InternalOCLinEcore.g:4271:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
{
// InternalOCLinEcore.g:4271:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
// InternalOCLinEcore.g:4272:3: lv_ownedSignature_3_0= ruleTemplateSignatureCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_80);
lv_ownedSignature_3_0=ruleTemplateSignatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
set(
current,
"ownedSignature",
lv_ownedSignature_3_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TemplateSignatureCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalOCLinEcore.g:4288:3: (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )?
int alt121=2;
int LA121_0 = input.LA(1);
if ( (LA121_0==30) ) {
alt121=1;
}
switch (alt121) {
case 1 :
// InternalOCLinEcore.g:4288:5: otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )*
{
otherlv_4=(Token)match(input,30,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getStructuredClassCSAccess().getExtendsKeyword_4_0());
}
// InternalOCLinEcore.g:4292:1: ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) )
// InternalOCLinEcore.g:4293:1: (lv_ownedSuperTypes_5_0= ruleTypedRefCS )
{
// InternalOCLinEcore.g:4293:1: (lv_ownedSuperTypes_5_0= ruleTypedRefCS )
// InternalOCLinEcore.g:4294:3: lv_ownedSuperTypes_5_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesTypedRefCSParserRuleCall_4_1_0());
}
pushFollow(FollowSets000.FOLLOW_81);
lv_ownedSuperTypes_5_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
add(
current,
"ownedSuperTypes",
lv_ownedSuperTypes_5_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:4310:2: (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )*
loop120:
do {
int alt120=2;
int LA120_0 = input.LA(1);
if ( (LA120_0==59) ) {
alt120=1;
}
switch (alt120) {
case 1 :
// InternalOCLinEcore.g:4310:4: otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) )
{
otherlv_6=(Token)match(input,59,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getStructuredClassCSAccess().getCommaKeyword_4_2_0());
}
// InternalOCLinEcore.g:4314:1: ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) )
// InternalOCLinEcore.g:4315:1: (lv_ownedSuperTypes_7_0= ruleTypedRefCS )
{
// InternalOCLinEcore.g:4315:1: (lv_ownedSuperTypes_7_0= ruleTypedRefCS )
// InternalOCLinEcore.g:4316:3: lv_ownedSuperTypes_7_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesTypedRefCSParserRuleCall_4_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_81);
lv_ownedSuperTypes_7_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
add(
current,
"ownedSuperTypes",
lv_ownedSuperTypes_7_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop120;
}
} while (true);
}
break;
}
// InternalOCLinEcore.g:4332:6: (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt122=2;
int LA122_0 = input.LA(1);
if ( (LA122_0==56) ) {
alt122=1;
}
switch (alt122) {
case 1 :
// InternalOCLinEcore.g:4332:8: otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) )
{
otherlv_8=(Token)match(input,56,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getStructuredClassCSAccess().getColonKeyword_5_0());
}
// InternalOCLinEcore.g:4336:1: ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) )
// InternalOCLinEcore.g:4337:1: (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalOCLinEcore.g:4337:1: (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING )
// InternalOCLinEcore.g:4338:3: lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING
{
lv_instanceClassName_9_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_instanceClassName_9_0, grammarAccess.getStructuredClassCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStructuredClassCSRule());
}
setWithLastConsumed(
current,
"instanceClassName",
lv_instanceClassName_9_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
}
break;
}
// InternalOCLinEcore.g:4354:4: (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )?
int alt124=2;
int LA124_0 = input.LA(1);
if ( (LA124_0==60) ) {
int LA124_1 = input.LA(2);
if ( (LA124_1==34) ) {
alt124=1;
}
else if ( (LA124_1==61) ) {
int LA124_4 = input.LA(3);
if ( (LA124_4==57||LA124_4==60) ) {
alt124=1;
}
}
}
switch (alt124) {
case 1 :
// InternalOCLinEcore.g:4354:6: otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}'
{
otherlv_10=(Token)match(input,60,FollowSets000.FOLLOW_82); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_6_0());
}
// InternalOCLinEcore.g:4358:1: ( (lv_isInterface_11_0= 'interface' ) )?
int alt123=2;
int LA123_0 = input.LA(1);
if ( (LA123_0==34) ) {
alt123=1;
}
switch (alt123) {
case 1 :
// InternalOCLinEcore.g:4359:1: (lv_isInterface_11_0= 'interface' )
{
// InternalOCLinEcore.g:4359:1: (lv_isInterface_11_0= 'interface' )
// InternalOCLinEcore.g:4360:3: lv_isInterface_11_0= 'interface'
{
lv_isInterface_11_0=(Token)match(input,34,FollowSets000.FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isInterface_11_0, grammarAccess.getStructuredClassCSAccess().getIsInterfaceInterfaceKeyword_6_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStructuredClassCSRule());
}
setWithLastConsumed(current, "isInterface", true, "interface");
}
}
}
break;
}
otherlv_12=(Token)match(input,61,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_6_2());
}
}
break;
}
// InternalOCLinEcore.g:4377:3: ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' )
int alt126=2;
int LA126_0 = input.LA(1);
if ( (LA126_0==60) ) {
alt126=1;
}
else if ( (LA126_0==57) ) {
alt126=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 126, 0, input);
throw nvae;
}
switch (alt126) {
case 1 :
// InternalOCLinEcore.g:4377:4: (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' )
{
// InternalOCLinEcore.g:4377:4: (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' )
// InternalOCLinEcore.g:4377:6: otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}'
{
otherlv_13=(Token)match(input,60,FollowSets000.FOLLOW_46); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_7_0_0());
}
// InternalOCLinEcore.g:4381:1: ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )*
loop125:
do {
int alt125=5;
alt125 = dfa125.predict(input);
switch (alt125) {
case 1 :
// InternalOCLinEcore.g:4381:2: ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) )
{
// InternalOCLinEcore.g:4381:2: ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) )
// InternalOCLinEcore.g:4382:1: (lv_ownedAnnotations_14_0= ruleAnnotationElementCS )
{
// InternalOCLinEcore.g:4382:1: (lv_ownedAnnotations_14_0= ruleAnnotationElementCS )
// InternalOCLinEcore.g:4383:3: lv_ownedAnnotations_14_0= ruleAnnotationElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_7_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_46);
lv_ownedAnnotations_14_0=ruleAnnotationElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
add(
current,
"ownedAnnotations",
lv_ownedAnnotations_14_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.AnnotationElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:4400:6: ( (lv_ownedOperations_15_0= ruleOperationCS ) )
{
// InternalOCLinEcore.g:4400:6: ( (lv_ownedOperations_15_0= ruleOperationCS ) )
// InternalOCLinEcore.g:4401:1: (lv_ownedOperations_15_0= ruleOperationCS )
{
// InternalOCLinEcore.g:4401:1: (lv_ownedOperations_15_0= ruleOperationCS )
// InternalOCLinEcore.g:4402:3: lv_ownedOperations_15_0= ruleOperationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedOperationsOperationCSParserRuleCall_7_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_46);
lv_ownedOperations_15_0=ruleOperationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
add(
current,
"ownedOperations",
lv_ownedOperations_15_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.OperationCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:4419:6: ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) )
{
// InternalOCLinEcore.g:4419:6: ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) )
// InternalOCLinEcore.g:4420:1: (lv_ownedProperties_16_0= ruleStructuralFeatureCS )
{
// InternalOCLinEcore.g:4420:1: (lv_ownedProperties_16_0= ruleStructuralFeatureCS )
// InternalOCLinEcore.g:4421:3: lv_ownedProperties_16_0= ruleStructuralFeatureCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedPropertiesStructuralFeatureCSParserRuleCall_7_0_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_46);
lv_ownedProperties_16_0=ruleStructuralFeatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
add(
current,
"ownedProperties",
lv_ownedProperties_16_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.StructuralFeatureCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 4 :
// InternalOCLinEcore.g:4438:6: ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) )
{
// InternalOCLinEcore.g:4438:6: ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) )
// InternalOCLinEcore.g:4439:1: (lv_ownedConstraints_17_0= ruleInvariantConstraintCS )
{
// InternalOCLinEcore.g:4439:1: (lv_ownedConstraints_17_0= ruleInvariantConstraintCS )
// InternalOCLinEcore.g:4440:3: lv_ownedConstraints_17_0= ruleInvariantConstraintCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_7_0_1_3_0());
}
pushFollow(FollowSets000.FOLLOW_46);
lv_ownedConstraints_17_0=ruleInvariantConstraintCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
add(
current,
"ownedConstraints",
lv_ownedConstraints_17_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.InvariantConstraintCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop125;
}
} while (true);
otherlv_18=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_7_0_2());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:4461:7: otherlv_19= ';'
{
otherlv_19=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getStructuredClassCSAccess().getSemicolonKeyword_7_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleStructuredClassCS"
// $ANTLR start "entryRuleStructuralFeatureCS"
// InternalOCLinEcore.g:4473:1: entryRuleStructuralFeatureCS returns [EObject current=null] : iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF ;
public final EObject entryRuleStructuralFeatureCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleStructuralFeatureCS = null;
try {
// InternalOCLinEcore.g:4474:2: (iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF )
// InternalOCLinEcore.g:4475:2: iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuralFeatureCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleStructuralFeatureCS=ruleStructuralFeatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleStructuralFeatureCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStructuralFeatureCS"
// $ANTLR start "ruleStructuralFeatureCS"
// InternalOCLinEcore.g:4482:1: ruleStructuralFeatureCS returns [EObject current=null] : (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS ) ;
public final EObject ruleStructuralFeatureCS() throws RecognitionException {
EObject current = null;
EObject this_AttributeCS_0 = null;
EObject this_ReferenceCS_1 = null;
enterRule();
try {
// InternalOCLinEcore.g:4485:28: ( (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS ) )
// InternalOCLinEcore.g:4486:1: (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS )
{
// InternalOCLinEcore.g:4486:1: (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS )
int alt127=2;
switch ( input.LA(1) ) {
case 47:
{
switch ( input.LA(2) ) {
case 26:
{
int LA127_5 = input.LA(3);
if ( (LA127_5==20) ) {
alt127=1;
}
else if ( (LA127_5==43) ) {
alt127=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 127, 5, input);
throw nvae;
}
}
break;
case 43:
{
alt127=2;
}
break;
case 20:
{
alt127=1;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 127, 1, input);
throw nvae;
}
}
break;
case 26:
{
switch ( input.LA(2) ) {
case 47:
{
int LA127_6 = input.LA(3);
if ( (LA127_6==43) ) {
alt127=2;
}
else if ( (LA127_6==20) ) {
alt127=1;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 127, 6, input);
throw nvae;
}
}
break;
case 20:
{
alt127=1;
}
break;
case 43:
{
alt127=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 127, 2, input);
throw nvae;
}
}
break;
case 20:
{
alt127=1;
}
break;
case 43:
{
alt127=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 127, 0, input);
throw nvae;
}
switch (alt127) {
case 1 :
// InternalOCLinEcore.g:4487:2: this_AttributeCS_0= ruleAttributeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuralFeatureCSAccess().getAttributeCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_AttributeCS_0=ruleAttributeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AttributeCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:4500:2: this_ReferenceCS_1= ruleReferenceCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuralFeatureCSAccess().getReferenceCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ReferenceCS_1=ruleReferenceCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ReferenceCS_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleStructuralFeatureCS"
// $ANTLR start "entryRuleSysMLCS"
// InternalOCLinEcore.g:4519:1: entryRuleSysMLCS returns [EObject current=null] : iv_ruleSysMLCS= ruleSysMLCS EOF ;
public final EObject entryRuleSysMLCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleSysMLCS = null;
try {
// InternalOCLinEcore.g:4520:2: (iv_ruleSysMLCS= ruleSysMLCS EOF )
// InternalOCLinEcore.g:4521:2: iv_ruleSysMLCS= ruleSysMLCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSysMLCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSysMLCS=ruleSysMLCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSysMLCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSysMLCS"
// $ANTLR start "ruleSysMLCS"
// InternalOCLinEcore.g:4528:1: ruleSysMLCS returns [EObject current=null] : ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) ) ;
public final EObject ruleSysMLCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_7=null;
EObject lv_ownedDetails_2_0 = null;
EObject lv_ownedDetails_5_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:4531:28: ( ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) ) )
// InternalOCLinEcore.g:4532:1: ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) )
{
// InternalOCLinEcore.g:4532:1: ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) )
// InternalOCLinEcore.g:4532:2: () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) )
{
// InternalOCLinEcore.g:4532:2: ()
// InternalOCLinEcore.g:4533:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getSysMLCSAccess().getSysMLCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,80,FollowSets000.FOLLOW_83); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getSysMLCSAccess().getSysmlKeyword_1());
}
// InternalOCLinEcore.g:4545:1: ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) )
int alt129=2;
int LA129_0 = input.LA(1);
if ( (LA129_0==RULE_SINGLE_QUOTED_STRING||(LA129_0>=RULE_SIMPLE_ID && LA129_0<=RULE_ESCAPED_ID)||LA129_0==17||(LA129_0>=19 && LA129_0<=53)||LA129_0==58||LA129_0==71||(LA129_0>=73 && LA129_0<=74)||LA129_0==76||LA129_0==80) ) {
alt129=1;
}
else if ( (LA129_0==60) ) {
alt129=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 129, 0, input);
throw nvae;
}
switch (alt129) {
case 1 :
// InternalOCLinEcore.g:4545:2: ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' )
{
// InternalOCLinEcore.g:4545:2: ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' )
// InternalOCLinEcore.g:4545:3: ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';'
{
// InternalOCLinEcore.g:4545:3: ( (lv_ownedDetails_2_0= ruleDetailCS ) )
// InternalOCLinEcore.g:4546:1: (lv_ownedDetails_2_0= ruleDetailCS )
{
// InternalOCLinEcore.g:4546:1: (lv_ownedDetails_2_0= ruleDetailCS )
// InternalOCLinEcore.g:4547:3: lv_ownedDetails_2_0= ruleDetailCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSysMLCSAccess().getOwnedDetailsDetailCSParserRuleCall_2_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedDetails_2_0=ruleDetailCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSysMLCSRule());
}
add(
current,
"ownedDetails",
lv_ownedDetails_2_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.DetailCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getSysMLCSAccess().getSemicolonKeyword_2_0_1());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:4568:6: (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' )
{
// InternalOCLinEcore.g:4568:6: (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' )
// InternalOCLinEcore.g:4568:8: otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}'
{
otherlv_4=(Token)match(input,60,FollowSets000.FOLLOW_84); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getSysMLCSAccess().getLeftCurlyBracketKeyword_2_1_0());
}
// InternalOCLinEcore.g:4572:1: ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )*
loop128:
do {
int alt128=2;
int LA128_0 = input.LA(1);
if ( (LA128_0==RULE_SINGLE_QUOTED_STRING||(LA128_0>=RULE_SIMPLE_ID && LA128_0<=RULE_ESCAPED_ID)||LA128_0==17||(LA128_0>=19 && LA128_0<=53)||LA128_0==58||LA128_0==71||(LA128_0>=73 && LA128_0<=74)||LA128_0==76||LA128_0==80) ) {
alt128=1;
}
switch (alt128) {
case 1 :
// InternalOCLinEcore.g:4572:2: ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';'
{
// InternalOCLinEcore.g:4572:2: ( (lv_ownedDetails_5_0= ruleDetailCS ) )
// InternalOCLinEcore.g:4573:1: (lv_ownedDetails_5_0= ruleDetailCS )
{
// InternalOCLinEcore.g:4573:1: (lv_ownedDetails_5_0= ruleDetailCS )
// InternalOCLinEcore.g:4574:3: lv_ownedDetails_5_0= ruleDetailCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSysMLCSAccess().getOwnedDetailsDetailCSParserRuleCall_2_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_ownedDetails_5_0=ruleDetailCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSysMLCSRule());
}
add(
current,
"ownedDetails",
lv_ownedDetails_5_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.DetailCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_6=(Token)match(input,57,FollowSets000.FOLLOW_84); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getSysMLCSAccess().getSemicolonKeyword_2_1_1_1());
}
}
break;
default :
break loop128;
}
} while (true);
otherlv_7=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getSysMLCSAccess().getRightCurlyBracketKeyword_2_1_2());
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSysMLCS"
// $ANTLR start "entryRuleTypedMultiplicityRefCS"
// InternalOCLinEcore.g:4608:1: entryRuleTypedMultiplicityRefCS returns [EObject current=null] : iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF ;
public final EObject entryRuleTypedMultiplicityRefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypedMultiplicityRefCS = null;
try {
// InternalOCLinEcore.g:4609:2: (iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF )
// InternalOCLinEcore.g:4610:2: iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedMultiplicityRefCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypedMultiplicityRefCS=ruleTypedMultiplicityRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypedMultiplicityRefCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypedMultiplicityRefCS"
// $ANTLR start "ruleTypedMultiplicityRefCS"
// InternalOCLinEcore.g:4617:1: ruleTypedMultiplicityRefCS returns [EObject current=null] : (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ;
public final EObject ruleTypedMultiplicityRefCS() throws RecognitionException {
EObject current = null;
EObject this_TypedRefCS_0 = null;
EObject lv_ownedMultiplicity_1_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:4620:28: ( (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) )
// InternalOCLinEcore.g:4621:1: (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
{
// InternalOCLinEcore.g:4621:1: (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
// InternalOCLinEcore.g:4622:2: this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedMultiplicityRefCSAccess().getTypedRefCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_85);
this_TypedRefCS_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypedRefCS_0;
afterParserOrEnumRuleCall();
}
// InternalOCLinEcore.g:4633:1: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
int alt130=2;
int LA130_0 = input.LA(1);
if ( (LA130_0==130) ) {
alt130=1;
}
switch (alt130) {
case 1 :
// InternalOCLinEcore.g:4634:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
{
// InternalOCLinEcore.g:4634:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
// InternalOCLinEcore.g:4635:3: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedMultiplicityRefCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_1_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypedMultiplicityRefCSRule());
}
set(
current,
"ownedMultiplicity",
lv_ownedMultiplicity_1_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypedMultiplicityRefCS"
// $ANTLR start "entryRuleTemplateSignatureCS"
// InternalOCLinEcore.g:4659:1: entryRuleTemplateSignatureCS returns [EObject current=null] : iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF ;
public final EObject entryRuleTemplateSignatureCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTemplateSignatureCS = null;
try {
// InternalOCLinEcore.g:4660:2: (iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF )
// InternalOCLinEcore.g:4661:2: iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateSignatureCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTemplateSignatureCS=ruleTemplateSignatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTemplateSignatureCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTemplateSignatureCS"
// $ANTLR start "ruleTemplateSignatureCS"
// InternalOCLinEcore.g:4668:1: ruleTemplateSignatureCS returns [EObject current=null] : ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) ) ;
public final EObject ruleTemplateSignatureCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_9=null;
EObject lv_ownedParameters_1_0 = null;
EObject lv_ownedParameters_3_0 = null;
EObject lv_ownedParameters_6_0 = null;
EObject lv_ownedParameters_8_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:4671:28: ( ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) ) )
// InternalOCLinEcore.g:4672:1: ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) )
{
// InternalOCLinEcore.g:4672:1: ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) )
int alt133=2;
int LA133_0 = input.LA(1);
if ( (LA133_0==54) ) {
alt133=1;
}
else if ( (LA133_0==81) ) {
alt133=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 133, 0, input);
throw nvae;
}
switch (alt133) {
case 1 :
// InternalOCLinEcore.g:4672:2: (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' )
{
// InternalOCLinEcore.g:4672:2: (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' )
// InternalOCLinEcore.g:4672:4: otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')'
{
otherlv_0=(Token)match(input,54,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getTemplateSignatureCSAccess().getLeftParenthesisKeyword_0_0());
}
// InternalOCLinEcore.g:4676:1: ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) )
// InternalOCLinEcore.g:4677:1: (lv_ownedParameters_1_0= ruleTypeParameterCS )
{
// InternalOCLinEcore.g:4677:1: (lv_ownedParameters_1_0= ruleTypeParameterCS )
// InternalOCLinEcore.g:4678:3: lv_ownedParameters_1_0= ruleTypeParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_ownedParameters_1_0=ruleTypeParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateSignatureCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_1_0,
"org.eclipse.ocl.xtext.base.Base.TypeParameterCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:4694:2: (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )*
loop131:
do {
int alt131=2;
int LA131_0 = input.LA(1);
if ( (LA131_0==59) ) {
alt131=1;
}
switch (alt131) {
case 1 :
// InternalOCLinEcore.g:4694:4: otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) )
{
otherlv_2=(Token)match(input,59,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getTemplateSignatureCSAccess().getCommaKeyword_0_2_0());
}
// InternalOCLinEcore.g:4698:1: ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) )
// InternalOCLinEcore.g:4699:1: (lv_ownedParameters_3_0= ruleTypeParameterCS )
{
// InternalOCLinEcore.g:4699:1: (lv_ownedParameters_3_0= ruleTypeParameterCS )
// InternalOCLinEcore.g:4700:3: lv_ownedParameters_3_0= ruleTypeParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_0_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_ownedParameters_3_0=ruleTypeParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateSignatureCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_3_0,
"org.eclipse.ocl.xtext.base.Base.TypeParameterCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop131;
}
} while (true);
otherlv_4=(Token)match(input,55,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getTemplateSignatureCSAccess().getRightParenthesisKeyword_0_3());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:4721:6: (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' )
{
// InternalOCLinEcore.g:4721:6: (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' )
// InternalOCLinEcore.g:4721:8: otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>'
{
otherlv_5=(Token)match(input,81,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getTemplateSignatureCSAccess().getLessThanSignKeyword_1_0());
}
// InternalOCLinEcore.g:4725:1: ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) )
// InternalOCLinEcore.g:4726:1: (lv_ownedParameters_6_0= ruleTypeParameterCS )
{
// InternalOCLinEcore.g:4726:1: (lv_ownedParameters_6_0= ruleTypeParameterCS )
// InternalOCLinEcore.g:4727:3: lv_ownedParameters_6_0= ruleTypeParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_86);
lv_ownedParameters_6_0=ruleTypeParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateSignatureCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_6_0,
"org.eclipse.ocl.xtext.base.Base.TypeParameterCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:4743:2: (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )*
loop132:
do {
int alt132=2;
int LA132_0 = input.LA(1);
if ( (LA132_0==59) ) {
alt132=1;
}
switch (alt132) {
case 1 :
// InternalOCLinEcore.g:4743:4: otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) )
{
otherlv_7=(Token)match(input,59,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getTemplateSignatureCSAccess().getCommaKeyword_1_2_0());
}
// InternalOCLinEcore.g:4747:1: ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) )
// InternalOCLinEcore.g:4748:1: (lv_ownedParameters_8_0= ruleTypeParameterCS )
{
// InternalOCLinEcore.g:4748:1: (lv_ownedParameters_8_0= ruleTypeParameterCS )
// InternalOCLinEcore.g:4749:3: lv_ownedParameters_8_0= ruleTypeParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_86);
lv_ownedParameters_8_0=ruleTypeParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateSignatureCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_8_0,
"org.eclipse.ocl.xtext.base.Base.TypeParameterCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop132;
}
} while (true);
otherlv_9=(Token)match(input,82,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getTemplateSignatureCSAccess().getGreaterThanSignKeyword_1_3());
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTemplateSignatureCS"
// $ANTLR start "entryRuleTypedRefCS"
// InternalOCLinEcore.g:4777:1: entryRuleTypedRefCS returns [EObject current=null] : iv_ruleTypedRefCS= ruleTypedRefCS EOF ;
public final EObject entryRuleTypedRefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypedRefCS = null;
try {
// InternalOCLinEcore.g:4778:2: (iv_ruleTypedRefCS= ruleTypedRefCS EOF )
// InternalOCLinEcore.g:4779:2: iv_ruleTypedRefCS= ruleTypedRefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypedRefCS=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypedRefCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypedRefCS"
// $ANTLR start "ruleTypedRefCS"
// InternalOCLinEcore.g:4786:1: ruleTypedRefCS returns [EObject current=null] : (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS ) ;
public final EObject ruleTypedRefCS() throws RecognitionException {
EObject current = null;
EObject this_TypeLiteralCS_0 = null;
EObject this_TypedTypeRefCS_1 = null;
enterRule();
try {
// InternalOCLinEcore.g:4789:28: ( (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS ) )
// InternalOCLinEcore.g:4790:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS )
{
// InternalOCLinEcore.g:4790:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS )
int alt134=2;
int LA134_0 = input.LA(1);
if ( ((LA134_0>=103 && LA134_0<=104)||(LA134_0>=106 && LA134_0<=118)) ) {
alt134=1;
}
else if ( ((LA134_0>=RULE_SIMPLE_ID && LA134_0<=RULE_ESCAPED_ID)||LA134_0==17||(LA134_0>=19 && LA134_0<=53)||LA134_0==58||LA134_0==71||(LA134_0>=73 && LA134_0<=74)||LA134_0==76||LA134_0==80) ) {
alt134=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 134, 0, input);
throw nvae;
}
switch (alt134) {
case 1 :
// InternalOCLinEcore.g:4791:2: this_TypeLiteralCS_0= ruleTypeLiteralCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSAccess().getTypeLiteralCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypeLiteralCS_0=ruleTypeLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeLiteralCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:4804:2: this_TypedTypeRefCS_1= ruleTypedTypeRefCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSAccess().getTypedTypeRefCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypedTypeRefCS_1=ruleTypedTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypedTypeRefCS_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypedRefCS"
// $ANTLR start "entryRuleTypedTypeRefCS"
// InternalOCLinEcore.g:4823:1: entryRuleTypedTypeRefCS returns [EObject current=null] : iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF ;
public final EObject entryRuleTypedTypeRefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypedTypeRefCS = null;
try {
// InternalOCLinEcore.g:4824:2: (iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF )
// InternalOCLinEcore.g:4825:2: iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedTypeRefCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypedTypeRefCS=ruleTypedTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypedTypeRefCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypedTypeRefCS"
// $ANTLR start "ruleTypedTypeRefCS"
// InternalOCLinEcore.g:4832:1: ruleTypedTypeRefCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )? ) ;
public final EObject ruleTypedTypeRefCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_ownedPathName_0_0 = null;
EObject lv_ownedBinding_2_0 = null;
EObject lv_ownedBinding_5_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:4835:28: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )? ) )
// InternalOCLinEcore.g:4836:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )? )
{
// InternalOCLinEcore.g:4836:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )? )
// InternalOCLinEcore.g:4836:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )?
{
// InternalOCLinEcore.g:4836:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
// InternalOCLinEcore.g:4837:1: (lv_ownedPathName_0_0= rulePathNameCS )
{
// InternalOCLinEcore.g:4837:1: (lv_ownedPathName_0_0= rulePathNameCS )
// InternalOCLinEcore.g:4838:3: lv_ownedPathName_0_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedTypeRefCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_87);
lv_ownedPathName_0_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypedTypeRefCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_0_0,
"org.eclipse.ocl.xtext.base.Base.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:4854:2: ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )?
int alt135=3;
int LA135_0 = input.LA(1);
if ( (LA135_0==54) ) {
alt135=1;
}
else if ( (LA135_0==81) ) {
alt135=2;
}
switch (alt135) {
case 1 :
// InternalOCLinEcore.g:4854:3: (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' )
{
// InternalOCLinEcore.g:4854:3: (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' )
// InternalOCLinEcore.g:4854:5: otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')'
{
otherlv_1=(Token)match(input,54,FollowSets000.FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTypedTypeRefCSAccess().getLeftParenthesisKeyword_1_0_0());
}
// InternalOCLinEcore.g:4858:1: ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) )
// InternalOCLinEcore.g:4859:1: (lv_ownedBinding_2_0= ruleTemplateBindingCS )
{
// InternalOCLinEcore.g:4859:1: (lv_ownedBinding_2_0= ruleTemplateBindingCS )
// InternalOCLinEcore.g:4860:3: lv_ownedBinding_2_0= ruleTemplateBindingCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedTypeRefCSAccess().getOwnedBindingTemplateBindingCSParserRuleCall_1_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_ownedBinding_2_0=ruleTemplateBindingCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypedTypeRefCSRule());
}
set(
current,
"ownedBinding",
lv_ownedBinding_2_0,
"org.eclipse.ocl.xtext.base.Base.TemplateBindingCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,55,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getTypedTypeRefCSAccess().getRightParenthesisKeyword_1_0_2());
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:4881:6: (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' )
{
// InternalOCLinEcore.g:4881:6: (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' )
// InternalOCLinEcore.g:4881:8: otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>'
{
otherlv_4=(Token)match(input,81,FollowSets000.FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getTypedTypeRefCSAccess().getLessThanSignKeyword_1_1_0());
}
// InternalOCLinEcore.g:4885:1: ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) )
// InternalOCLinEcore.g:4886:1: (lv_ownedBinding_5_0= ruleTemplateBindingCS )
{
// InternalOCLinEcore.g:4886:1: (lv_ownedBinding_5_0= ruleTemplateBindingCS )
// InternalOCLinEcore.g:4887:3: lv_ownedBinding_5_0= ruleTemplateBindingCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedTypeRefCSAccess().getOwnedBindingTemplateBindingCSParserRuleCall_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_89);
lv_ownedBinding_5_0=ruleTemplateBindingCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypedTypeRefCSRule());
}
set(
current,
"ownedBinding",
lv_ownedBinding_5_0,
"org.eclipse.ocl.xtext.base.Base.TemplateBindingCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_6=(Token)match(input,82,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getTypedTypeRefCSAccess().getGreaterThanSignKeyword_1_1_2());
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypedTypeRefCS"
// $ANTLR start "entryRuleUnrestrictedName"
// InternalOCLinEcore.g:4915:1: entryRuleUnrestrictedName returns [String current=null] : iv_ruleUnrestrictedName= ruleUnrestrictedName EOF ;
public final String entryRuleUnrestrictedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleUnrestrictedName = null;
try {
// InternalOCLinEcore.g:4916:2: (iv_ruleUnrestrictedName= ruleUnrestrictedName EOF )
// InternalOCLinEcore.g:4917:2: iv_ruleUnrestrictedName= ruleUnrestrictedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnrestrictedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUnrestrictedName=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUnrestrictedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUnrestrictedName"
// $ANTLR start "ruleUnrestrictedName"
// InternalOCLinEcore.g:4924:1: ruleUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'opposite' | kw= 'serializable' | kw= 'sysml' ) ;
public final AntlrDatatypeRuleToken ruleUnrestrictedName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_EnumerationLiteralName_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:4927:28: ( (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'opposite' | kw= 'serializable' | kw= 'sysml' ) )
// InternalOCLinEcore.g:4928:1: (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'opposite' | kw= 'serializable' | kw= 'sysml' )
{
// InternalOCLinEcore.g:4928:1: (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'opposite' | kw= 'serializable' | kw= 'sysml' )
int alt136=8;
switch ( input.LA(1) ) {
case RULE_SIMPLE_ID:
case RULE_ESCAPED_ID:
case 17:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 33:
case 34:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 45:
case 46:
case 47:
case 48:
case 49:
case 50:
case 51:
case 52:
{
alt136=1;
}
break;
case 58:
{
alt136=2;
}
break;
case 73:
{
alt136=3;
}
break;
case 53:
{
alt136=4;
}
break;
case 74:
{
alt136=5;
}
break;
case 76:
{
alt136=6;
}
break;
case 71:
{
alt136=7;
}
break;
case 80:
{
alt136=8;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 136, 0, input);
throw nvae;
}
switch (alt136) {
case 1 :
// InternalOCLinEcore.g:4929:5: this_EnumerationLiteralName_0= ruleEnumerationLiteralName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnrestrictedNameAccess().getEnumerationLiteralNameParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EnumerationLiteralName_0=ruleEnumerationLiteralName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_EnumerationLiteralName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:4941:2: kw= 'annotation'
{
kw=(Token)match(input,58,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getAnnotationKeyword_1());
}
}
break;
case 3 :
// InternalOCLinEcore.g:4948:2: kw= 'documentation'
{
kw=(Token)match(input,73,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getDocumentationKeyword_2());
}
}
break;
case 4 :
// InternalOCLinEcore.g:4955:2: kw= 'invariant'
{
kw=(Token)match(input,53,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getInvariantKeyword_3());
}
}
break;
case 5 :
// InternalOCLinEcore.g:4962:2: kw= 'literal'
{
kw=(Token)match(input,74,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getLiteralKeyword_4());
}
}
break;
case 6 :
// InternalOCLinEcore.g:4969:2: kw= 'opposite'
{
kw=(Token)match(input,76,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getOppositeKeyword_5());
}
}
break;
case 7 :
// InternalOCLinEcore.g:4976:2: kw= 'serializable'
{
kw=(Token)match(input,71,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getSerializableKeyword_6());
}
}
break;
case 8 :
// InternalOCLinEcore.g:4983:2: kw= 'sysml'
{
kw=(Token)match(input,80,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getSysmlKeyword_7());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleUnrestrictedName"
// $ANTLR start "entryRuleEssentialOCLUnaryOperatorName"
// InternalOCLinEcore.g:5000:1: entryRuleEssentialOCLUnaryOperatorName returns [String current=null] : iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF ;
public final String entryRuleEssentialOCLUnaryOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEssentialOCLUnaryOperatorName = null;
try {
// InternalOCLinEcore.g:5001:2: (iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF )
// InternalOCLinEcore.g:5002:2: iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnaryOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEssentialOCLUnaryOperatorName=ruleEssentialOCLUnaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEssentialOCLUnaryOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEssentialOCLUnaryOperatorName"
// $ANTLR start "ruleEssentialOCLUnaryOperatorName"
// InternalOCLinEcore.g:5009:1: ruleEssentialOCLUnaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '-' | kw= 'not' | kw= 'not2' ) ;
public final AntlrDatatypeRuleToken ruleEssentialOCLUnaryOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalOCLinEcore.g:5012:28: ( (kw= '-' | kw= 'not' | kw= 'not2' ) )
// InternalOCLinEcore.g:5013:1: (kw= '-' | kw= 'not' | kw= 'not2' )
{
// InternalOCLinEcore.g:5013:1: (kw= '-' | kw= 'not' | kw= 'not2' )
int alt137=3;
switch ( input.LA(1) ) {
case 18:
{
alt137=1;
}
break;
case 83:
{
alt137=2;
}
break;
case 84:
{
alt137=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 137, 0, input);
throw nvae;
}
switch (alt137) {
case 1 :
// InternalOCLinEcore.g:5014:2: kw= '-'
{
kw=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getHyphenMinusKeyword_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:5021:2: kw= 'not'
{
kw=(Token)match(input,83,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getNotKeyword_1());
}
}
break;
case 3 :
// InternalOCLinEcore.g:5028:2: kw= 'not2'
{
kw=(Token)match(input,84,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getNot2Keyword_2());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEssentialOCLUnaryOperatorName"
// $ANTLR start "entryRuleEssentialOCLInfixOperatorName"
// InternalOCLinEcore.g:5041:1: entryRuleEssentialOCLInfixOperatorName returns [String current=null] : iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF ;
public final String entryRuleEssentialOCLInfixOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEssentialOCLInfixOperatorName = null;
try {
// InternalOCLinEcore.g:5042:2: (iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF )
// InternalOCLinEcore.g:5043:2: iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLInfixOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEssentialOCLInfixOperatorName=ruleEssentialOCLInfixOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEssentialOCLInfixOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEssentialOCLInfixOperatorName"
// $ANTLR start "ruleEssentialOCLInfixOperatorName"
// InternalOCLinEcore.g:5050:1: ruleEssentialOCLInfixOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'and2' | kw= 'implies' | kw= 'implies2' | kw= 'or' | kw= 'or2' | kw= 'xor' | kw= 'xor2' ) ;
public final AntlrDatatypeRuleToken ruleEssentialOCLInfixOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalOCLinEcore.g:5053:28: ( (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'and2' | kw= 'implies' | kw= 'implies2' | kw= 'or' | kw= 'or2' | kw= 'xor' | kw= 'xor2' ) )
// InternalOCLinEcore.g:5054:1: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'and2' | kw= 'implies' | kw= 'implies2' | kw= 'or' | kw= 'or2' | kw= 'xor' | kw= 'xor2' )
{
// InternalOCLinEcore.g:5054:1: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'and2' | kw= 'implies' | kw= 'implies2' | kw= 'or' | kw= 'or2' | kw= 'xor' | kw= 'xor2' )
int alt138=18;
switch ( input.LA(1) ) {
case 85:
{
alt138=1;
}
break;
case 86:
{
alt138=2;
}
break;
case 87:
{
alt138=3;
}
break;
case 18:
{
alt138=4;
}
break;
case 82:
{
alt138=5;
}
break;
case 81:
{
alt138=6;
}
break;
case 88:
{
alt138=7;
}
break;
case 89:
{
alt138=8;
}
break;
case 62:
{
alt138=9;
}
break;
case 90:
{
alt138=10;
}
break;
case 91:
{
alt138=11;
}
break;
case 92:
{
alt138=12;
}
break;
case 93:
{
alt138=13;
}
break;
case 94:
{
alt138=14;
}
break;
case 95:
{
alt138=15;
}
break;
case 96:
{
alt138=16;
}
break;
case 97:
{
alt138=17;
}
break;
case 98:
{
alt138=18;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 138, 0, input);
throw nvae;
}
switch (alt138) {
case 1 :
// InternalOCLinEcore.g:5055:2: kw= '*'
{
kw=(Token)match(input,85,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAsteriskKeyword_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:5062:2: kw= '/'
{
kw=(Token)match(input,86,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getSolidusKeyword_1());
}
}
break;
case 3 :
// InternalOCLinEcore.g:5069:2: kw= '+'
{
kw=(Token)match(input,87,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getPlusSignKeyword_2());
}
}
break;
case 4 :
// InternalOCLinEcore.g:5076:2: kw= '-'
{
kw=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getHyphenMinusKeyword_3());
}
}
break;
case 5 :
// InternalOCLinEcore.g:5083:2: kw= '>'
{
kw=(Token)match(input,82,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getGreaterThanSignKeyword_4());
}
}
break;
case 6 :
// InternalOCLinEcore.g:5090:2: kw= '<'
{
kw=(Token)match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignKeyword_5());
}
}
break;
case 7 :
// InternalOCLinEcore.g:5097:2: kw= '>='
{
kw=(Token)match(input,88,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getGreaterThanSignEqualsSignKeyword_6());
}
}
break;
case 8 :
// InternalOCLinEcore.g:5104:2: kw= '<='
{
kw=(Token)match(input,89,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignEqualsSignKeyword_7());
}
}
break;
case 9 :
// InternalOCLinEcore.g:5111:2: kw= '='
{
kw=(Token)match(input,62,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getEqualsSignKeyword_8());
}
}
break;
case 10 :
// InternalOCLinEcore.g:5118:2: kw= '<>'
{
kw=(Token)match(input,90,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignGreaterThanSignKeyword_9());
}
}
break;
case 11 :
// InternalOCLinEcore.g:5125:2: kw= 'and'
{
kw=(Token)match(input,91,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAndKeyword_10());
}
}
break;
case 12 :
// InternalOCLinEcore.g:5132:2: kw= 'and2'
{
kw=(Token)match(input,92,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAnd2Keyword_11());
}
}
break;
case 13 :
// InternalOCLinEcore.g:5139:2: kw= 'implies'
{
kw=(Token)match(input,93,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getImpliesKeyword_12());
}
}
break;
case 14 :
// InternalOCLinEcore.g:5146:2: kw= 'implies2'
{
kw=(Token)match(input,94,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getImplies2Keyword_13());
}
}
break;
case 15 :
// InternalOCLinEcore.g:5153:2: kw= 'or'
{
kw=(Token)match(input,95,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getOrKeyword_14());
}
}
break;
case 16 :
// InternalOCLinEcore.g:5160:2: kw= 'or2'
{
kw=(Token)match(input,96,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getOr2Keyword_15());
}
}
break;
case 17 :
// InternalOCLinEcore.g:5167:2: kw= 'xor'
{
kw=(Token)match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getXorKeyword_16());
}
}
break;
case 18 :
// InternalOCLinEcore.g:5174:2: kw= 'xor2'
{
kw=(Token)match(input,98,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getXor2Keyword_17());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEssentialOCLInfixOperatorName"
// $ANTLR start "entryRuleEssentialOCLNavigationOperatorName"
// InternalOCLinEcore.g:5187:1: entryRuleEssentialOCLNavigationOperatorName returns [String current=null] : iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF ;
public final String entryRuleEssentialOCLNavigationOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEssentialOCLNavigationOperatorName = null;
try {
// InternalOCLinEcore.g:5188:2: (iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF )
// InternalOCLinEcore.g:5189:2: iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLNavigationOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEssentialOCLNavigationOperatorName=ruleEssentialOCLNavigationOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEssentialOCLNavigationOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEssentialOCLNavigationOperatorName"
// $ANTLR start "ruleEssentialOCLNavigationOperatorName"
// InternalOCLinEcore.g:5196:1: ruleEssentialOCLNavigationOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' ) ;
public final AntlrDatatypeRuleToken ruleEssentialOCLNavigationOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalOCLinEcore.g:5199:28: ( (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' ) )
// InternalOCLinEcore.g:5200:1: (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' )
{
// InternalOCLinEcore.g:5200:1: (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' )
int alt139=4;
switch ( input.LA(1) ) {
case 99:
{
alt139=1;
}
break;
case 100:
{
alt139=2;
}
break;
case 101:
{
alt139=3;
}
break;
case 102:
{
alt139=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 139, 0, input);
throw nvae;
}
switch (alt139) {
case 1 :
// InternalOCLinEcore.g:5201:2: kw= '.'
{
kw=(Token)match(input,99,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getFullStopKeyword_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:5208:2: kw= '->'
{
kw=(Token)match(input,100,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getHyphenMinusGreaterThanSignKeyword_1());
}
}
break;
case 3 :
// InternalOCLinEcore.g:5215:2: kw= '?.'
{
kw=(Token)match(input,101,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getQuestionMarkFullStopKeyword_2());
}
}
break;
case 4 :
// InternalOCLinEcore.g:5222:2: kw= '?->'
{
kw=(Token)match(input,102,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getQuestionMarkHyphenMinusGreaterThanSignKeyword_3());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEssentialOCLNavigationOperatorName"
// $ANTLR start "entryRuleBinaryOperatorName"
// InternalOCLinEcore.g:5235:1: entryRuleBinaryOperatorName returns [String current=null] : iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF ;
public final String entryRuleBinaryOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleBinaryOperatorName = null;
try {
// InternalOCLinEcore.g:5236:2: (iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF )
// InternalOCLinEcore.g:5237:2: iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBinaryOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleBinaryOperatorName=ruleBinaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBinaryOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBinaryOperatorName"
// $ANTLR start "ruleBinaryOperatorName"
// InternalOCLinEcore.g:5244:1: ruleBinaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName ) ;
public final AntlrDatatypeRuleToken ruleBinaryOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_InfixOperatorName_0 = null;
AntlrDatatypeRuleToken this_NavigationOperatorName_1 = null;
enterRule();
try {
// InternalOCLinEcore.g:5247:28: ( (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName ) )
// InternalOCLinEcore.g:5248:1: (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName )
{
// InternalOCLinEcore.g:5248:1: (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName )
int alt140=2;
int LA140_0 = input.LA(1);
if ( (LA140_0==18||LA140_0==62||(LA140_0>=81 && LA140_0<=82)||(LA140_0>=85 && LA140_0<=98)) ) {
alt140=1;
}
else if ( ((LA140_0>=99 && LA140_0<=102)) ) {
alt140=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 140, 0, input);
throw nvae;
}
switch (alt140) {
case 1 :
// InternalOCLinEcore.g:5249:5: this_InfixOperatorName_0= ruleInfixOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBinaryOperatorNameAccess().getInfixOperatorNameParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_InfixOperatorName_0=ruleInfixOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_InfixOperatorName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:5261:5: this_NavigationOperatorName_1= ruleNavigationOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBinaryOperatorNameAccess().getNavigationOperatorNameParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_NavigationOperatorName_1=ruleNavigationOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_NavigationOperatorName_1);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBinaryOperatorName"
// $ANTLR start "entryRuleInfixOperatorName"
// InternalOCLinEcore.g:5279:1: entryRuleInfixOperatorName returns [String current=null] : iv_ruleInfixOperatorName= ruleInfixOperatorName EOF ;
public final String entryRuleInfixOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleInfixOperatorName = null;
try {
// InternalOCLinEcore.g:5280:2: (iv_ruleInfixOperatorName= ruleInfixOperatorName EOF )
// InternalOCLinEcore.g:5281:2: iv_ruleInfixOperatorName= ruleInfixOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInfixOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleInfixOperatorName=ruleInfixOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleInfixOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInfixOperatorName"
// $ANTLR start "ruleInfixOperatorName"
// InternalOCLinEcore.g:5288:1: ruleInfixOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName ;
public final AntlrDatatypeRuleToken ruleInfixOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_EssentialOCLInfixOperatorName_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:5291:28: (this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName )
// InternalOCLinEcore.g:5293:5: this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInfixOperatorNameAccess().getEssentialOCLInfixOperatorNameParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EssentialOCLInfixOperatorName_0=ruleEssentialOCLInfixOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_EssentialOCLInfixOperatorName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInfixOperatorName"
// $ANTLR start "entryRuleNavigationOperatorName"
// InternalOCLinEcore.g:5311:1: entryRuleNavigationOperatorName returns [String current=null] : iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF ;
public final String entryRuleNavigationOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleNavigationOperatorName = null;
try {
// InternalOCLinEcore.g:5312:2: (iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF )
// InternalOCLinEcore.g:5313:2: iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigationOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigationOperatorName=ruleNavigationOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigationOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigationOperatorName"
// $ANTLR start "ruleNavigationOperatorName"
// InternalOCLinEcore.g:5320:1: ruleNavigationOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName ;
public final AntlrDatatypeRuleToken ruleNavigationOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_EssentialOCLNavigationOperatorName_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:5323:28: (this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName )
// InternalOCLinEcore.g:5325:5: this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigationOperatorNameAccess().getEssentialOCLNavigationOperatorNameParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EssentialOCLNavigationOperatorName_0=ruleEssentialOCLNavigationOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_EssentialOCLNavigationOperatorName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNavigationOperatorName"
// $ANTLR start "entryRuleUnaryOperatorName"
// InternalOCLinEcore.g:5343:1: entryRuleUnaryOperatorName returns [String current=null] : iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF ;
public final String entryRuleUnaryOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleUnaryOperatorName = null;
try {
// InternalOCLinEcore.g:5344:2: (iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF )
// InternalOCLinEcore.g:5345:2: iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnaryOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUnaryOperatorName=ruleUnaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUnaryOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUnaryOperatorName"
// $ANTLR start "ruleUnaryOperatorName"
// InternalOCLinEcore.g:5352:1: ruleUnaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName ;
public final AntlrDatatypeRuleToken ruleUnaryOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_EssentialOCLUnaryOperatorName_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:5355:28: (this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName )
// InternalOCLinEcore.g:5357:5: this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnaryOperatorNameAccess().getEssentialOCLUnaryOperatorNameParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EssentialOCLUnaryOperatorName_0=ruleEssentialOCLUnaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_EssentialOCLUnaryOperatorName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleUnaryOperatorName"
// $ANTLR start "entryRuleEssentialOCLUnrestrictedName"
// InternalOCLinEcore.g:5375:1: entryRuleEssentialOCLUnrestrictedName returns [String current=null] : iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF ;
public final String entryRuleEssentialOCLUnrestrictedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEssentialOCLUnrestrictedName = null;
try {
// InternalOCLinEcore.g:5376:2: (iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF )
// InternalOCLinEcore.g:5377:2: iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEssentialOCLUnrestrictedName=ruleEssentialOCLUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEssentialOCLUnrestrictedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEssentialOCLUnrestrictedName"
// $ANTLR start "ruleEssentialOCLUnrestrictedName"
// InternalOCLinEcore.g:5384:1: ruleEssentialOCLUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_Identifier_0= ruleIdentifier ;
public final AntlrDatatypeRuleToken ruleEssentialOCLUnrestrictedName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_Identifier_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:5387:28: (this_Identifier_0= ruleIdentifier )
// InternalOCLinEcore.g:5389:5: this_Identifier_0= ruleIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameAccess().getIdentifierParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_Identifier_0=ruleIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_Identifier_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEssentialOCLUnrestrictedName"
// $ANTLR start "entryRuleEssentialOCLUnreservedName"
// InternalOCLinEcore.g:5407:1: entryRuleEssentialOCLUnreservedName returns [String current=null] : iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF ;
public final String entryRuleEssentialOCLUnreservedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEssentialOCLUnreservedName = null;
try {
// InternalOCLinEcore.g:5408:2: (iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF )
// InternalOCLinEcore.g:5409:2: iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEssentialOCLUnreservedName=ruleEssentialOCLUnreservedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEssentialOCLUnreservedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEssentialOCLUnreservedName"
// $ANTLR start "ruleEssentialOCLUnreservedName"
// InternalOCLinEcore.g:5416:1: ruleEssentialOCLUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Map' | kw= 'Tuple' ) ;
public final AntlrDatatypeRuleToken ruleEssentialOCLUnreservedName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_UnrestrictedName_0 = null;
AntlrDatatypeRuleToken this_CollectionTypeIdentifier_1 = null;
AntlrDatatypeRuleToken this_PrimitiveTypeIdentifier_2 = null;
enterRule();
try {
// InternalOCLinEcore.g:5419:28: ( (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Map' | kw= 'Tuple' ) )
// InternalOCLinEcore.g:5420:1: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Map' | kw= 'Tuple' )
{
// InternalOCLinEcore.g:5420:1: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Map' | kw= 'Tuple' )
int alt141=5;
switch ( input.LA(1) ) {
case RULE_SIMPLE_ID:
case RULE_ESCAPED_ID:
case 17:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 33:
case 34:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 45:
case 46:
case 47:
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 58:
case 71:
case 73:
case 74:
case 76:
case 80:
{
alt141=1;
}
break;
case 114:
case 115:
case 116:
case 117:
case 118:
{
alt141=2;
}
break;
case 106:
case 107:
case 108:
case 109:
case 110:
case 111:
case 112:
case 113:
{
alt141=3;
}
break;
case 103:
{
alt141=4;
}
break;
case 104:
{
alt141=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 141, 0, input);
throw nvae;
}
switch (alt141) {
case 1 :
// InternalOCLinEcore.g:5421:5: this_UnrestrictedName_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getUnrestrictedNameParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_UnrestrictedName_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_UnrestrictedName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:5433:5: this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getCollectionTypeIdentifierParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_CollectionTypeIdentifier_1=ruleCollectionTypeIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_CollectionTypeIdentifier_1);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalOCLinEcore.g:5445:5: this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getPrimitiveTypeIdentifierParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_PrimitiveTypeIdentifier_2=rulePrimitiveTypeIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_PrimitiveTypeIdentifier_2);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalOCLinEcore.g:5457:2: kw= 'Map'
{
kw=(Token)match(input,103,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLUnreservedNameAccess().getMapKeyword_3());
}
}
break;
case 5 :
// InternalOCLinEcore.g:5464:2: kw= 'Tuple'
{
kw=(Token)match(input,104,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLUnreservedNameAccess().getTupleKeyword_4());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEssentialOCLUnreservedName"
// $ANTLR start "entryRuleUnreservedName"
// InternalOCLinEcore.g:5477:1: entryRuleUnreservedName returns [String current=null] : iv_ruleUnreservedName= ruleUnreservedName EOF ;
public final String entryRuleUnreservedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleUnreservedName = null;
try {
// InternalOCLinEcore.g:5478:2: (iv_ruleUnreservedName= ruleUnreservedName EOF )
// InternalOCLinEcore.g:5479:2: iv_ruleUnreservedName= ruleUnreservedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnreservedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUnreservedName=ruleUnreservedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUnreservedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUnreservedName"
// $ANTLR start "ruleUnreservedName"
// InternalOCLinEcore.g:5486:1: ruleUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName ;
public final AntlrDatatypeRuleToken ruleUnreservedName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_EssentialOCLUnreservedName_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:5489:28: (this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName )
// InternalOCLinEcore.g:5491:5: this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnreservedNameAccess().getEssentialOCLUnreservedNameParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EssentialOCLUnreservedName_0=ruleEssentialOCLUnreservedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_EssentialOCLUnreservedName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleUnreservedName"
// $ANTLR start "entryRuleURIPathNameCS"
// InternalOCLinEcore.g:5509:1: entryRuleURIPathNameCS returns [EObject current=null] : iv_ruleURIPathNameCS= ruleURIPathNameCS EOF ;
public final EObject entryRuleURIPathNameCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleURIPathNameCS = null;
try {
// InternalOCLinEcore.g:5510:2: (iv_ruleURIPathNameCS= ruleURIPathNameCS EOF )
// InternalOCLinEcore.g:5511:2: iv_ruleURIPathNameCS= ruleURIPathNameCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIPathNameCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleURIPathNameCS=ruleURIPathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleURIPathNameCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleURIPathNameCS"
// $ANTLR start "ruleURIPathNameCS"
// InternalOCLinEcore.g:5518:1: ruleURIPathNameCS returns [EObject current=null] : ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) ;
public final EObject ruleURIPathNameCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedPathElements_0_0 = null;
EObject lv_ownedPathElements_2_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:5521:28: ( ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) )
// InternalOCLinEcore.g:5522:1: ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
{
// InternalOCLinEcore.g:5522:1: ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
// InternalOCLinEcore.g:5522:2: ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
{
// InternalOCLinEcore.g:5522:2: ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) )
// InternalOCLinEcore.g:5523:1: (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS )
{
// InternalOCLinEcore.g:5523:1: (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS )
// InternalOCLinEcore.g:5524:3: lv_ownedPathElements_0_0= ruleURIFirstPathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsURIFirstPathElementCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_90);
lv_ownedPathElements_0_0=ruleURIFirstPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getURIPathNameCSRule());
}
add(
current,
"ownedPathElements",
lv_ownedPathElements_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.URIFirstPathElementCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:5540:2: (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
loop142:
do {
int alt142=2;
int LA142_0 = input.LA(1);
if ( (LA142_0==105) ) {
alt142=1;
}
switch (alt142) {
case 1 :
// InternalOCLinEcore.g:5540:4: otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
{
otherlv_1=(Token)match(input,105,FollowSets000.FOLLOW_91); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getURIPathNameCSAccess().getColonColonKeyword_1_0());
}
// InternalOCLinEcore.g:5544:1: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
// InternalOCLinEcore.g:5545:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
{
// InternalOCLinEcore.g:5545:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
// InternalOCLinEcore.g:5546:3: lv_ownedPathElements_2_0= ruleNextPathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsNextPathElementCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_90);
lv_ownedPathElements_2_0=ruleNextPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getURIPathNameCSRule());
}
add(
current,
"ownedPathElements",
lv_ownedPathElements_2_0,
"org.eclipse.ocl.xtext.base.Base.NextPathElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop142;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleURIPathNameCS"
// $ANTLR start "entryRuleURIFirstPathElementCS"
// InternalOCLinEcore.g:5570:1: entryRuleURIFirstPathElementCS returns [EObject current=null] : iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF ;
public final EObject entryRuleURIFirstPathElementCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleURIFirstPathElementCS = null;
try {
// InternalOCLinEcore.g:5571:2: (iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF )
// InternalOCLinEcore.g:5572:2: iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIFirstPathElementCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleURIFirstPathElementCS=ruleURIFirstPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleURIFirstPathElementCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleURIFirstPathElementCS"
// $ANTLR start "ruleURIFirstPathElementCS"
// InternalOCLinEcore.g:5579:1: ruleURIFirstPathElementCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) ;
public final EObject ruleURIFirstPathElementCS() throws RecognitionException {
EObject current = null;
enterRule();
try {
// InternalOCLinEcore.g:5582:28: ( ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) )
// InternalOCLinEcore.g:5583:1: ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) )
{
// InternalOCLinEcore.g:5583:1: ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) )
int alt143=2;
int LA143_0 = input.LA(1);
if ( ((LA143_0>=RULE_SIMPLE_ID && LA143_0<=RULE_ESCAPED_ID)||LA143_0==17||(LA143_0>=19 && LA143_0<=53)||LA143_0==58||LA143_0==71||(LA143_0>=73 && LA143_0<=74)||LA143_0==76||LA143_0==80) ) {
alt143=1;
}
else if ( (LA143_0==RULE_SINGLE_QUOTED_STRING) ) {
alt143=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 143, 0, input);
throw nvae;
}
switch (alt143) {
case 1 :
// InternalOCLinEcore.g:5583:2: ( ( ruleUnrestrictedName ) )
{
// InternalOCLinEcore.g:5583:2: ( ( ruleUnrestrictedName ) )
// InternalOCLinEcore.g:5584:1: ( ruleUnrestrictedName )
{
// InternalOCLinEcore.g:5584:1: ( ruleUnrestrictedName )
// InternalOCLinEcore.g:5585:3: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getURIFirstPathElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementNamedElementCrossReference_0_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:5602:6: ( () ( ( ruleURI ) ) )
{
// InternalOCLinEcore.g:5602:6: ( () ( ( ruleURI ) ) )
// InternalOCLinEcore.g:5602:7: () ( ( ruleURI ) )
{
// InternalOCLinEcore.g:5602:7: ()
// InternalOCLinEcore.g:5603:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getURIFirstPathElementCSAccess().getPathElementWithURICSAction_1_0(),
current);
}
}
// InternalOCLinEcore.g:5611:2: ( ( ruleURI ) )
// InternalOCLinEcore.g:5612:1: ( ruleURI )
{
// InternalOCLinEcore.g:5612:1: ( ruleURI )
// InternalOCLinEcore.g:5613:3: ruleURI
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getURIFirstPathElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementNamespaceCrossReference_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleURI();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleURIFirstPathElementCS"
// $ANTLR start "entryRulePrimitiveTypeIdentifier"
// InternalOCLinEcore.g:5639:1: entryRulePrimitiveTypeIdentifier returns [String current=null] : iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF ;
public final String entryRulePrimitiveTypeIdentifier() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_rulePrimitiveTypeIdentifier = null;
try {
// InternalOCLinEcore.g:5640:2: (iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF )
// InternalOCLinEcore.g:5641:2: iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeIdentifierRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrimitiveTypeIdentifier=rulePrimitiveTypeIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimitiveTypeIdentifier.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimitiveTypeIdentifier"
// $ANTLR start "rulePrimitiveTypeIdentifier"
// InternalOCLinEcore.g:5648:1: rulePrimitiveTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) ;
public final AntlrDatatypeRuleToken rulePrimitiveTypeIdentifier() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalOCLinEcore.g:5651:28: ( (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) )
// InternalOCLinEcore.g:5652:1: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' )
{
// InternalOCLinEcore.g:5652:1: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' )
int alt144=8;
switch ( input.LA(1) ) {
case 106:
{
alt144=1;
}
break;
case 107:
{
alt144=2;
}
break;
case 108:
{
alt144=3;
}
break;
case 109:
{
alt144=4;
}
break;
case 110:
{
alt144=5;
}
break;
case 111:
{
alt144=6;
}
break;
case 112:
{
alt144=7;
}
break;
case 113:
{
alt144=8;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 144, 0, input);
throw nvae;
}
switch (alt144) {
case 1 :
// InternalOCLinEcore.g:5653:2: kw= 'Boolean'
{
kw=(Token)match(input,106,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getBooleanKeyword_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:5660:2: kw= 'Integer'
{
kw=(Token)match(input,107,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getIntegerKeyword_1());
}
}
break;
case 3 :
// InternalOCLinEcore.g:5667:2: kw= 'Real'
{
kw=(Token)match(input,108,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getRealKeyword_2());
}
}
break;
case 4 :
// InternalOCLinEcore.g:5674:2: kw= 'String'
{
kw=(Token)match(input,109,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getStringKeyword_3());
}
}
break;
case 5 :
// InternalOCLinEcore.g:5681:2: kw= 'UnlimitedNatural'
{
kw=(Token)match(input,110,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getUnlimitedNaturalKeyword_4());
}
}
break;
case 6 :
// InternalOCLinEcore.g:5688:2: kw= 'OclAny'
{
kw=(Token)match(input,111,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclAnyKeyword_5());
}
}
break;
case 7 :
// InternalOCLinEcore.g:5695:2: kw= 'OclInvalid'
{
kw=(Token)match(input,112,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclInvalidKeyword_6());
}
}
break;
case 8 :
// InternalOCLinEcore.g:5702:2: kw= 'OclVoid'
{
kw=(Token)match(input,113,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclVoidKeyword_7());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrimitiveTypeIdentifier"
// $ANTLR start "entryRulePrimitiveTypeCS"
// InternalOCLinEcore.g:5715:1: entryRulePrimitiveTypeCS returns [EObject current=null] : iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF ;
public final EObject entryRulePrimitiveTypeCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimitiveTypeCS = null;
try {
// InternalOCLinEcore.g:5716:2: (iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF )
// InternalOCLinEcore.g:5717:2: iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrimitiveTypeCS=rulePrimitiveTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimitiveTypeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimitiveTypeCS"
// $ANTLR start "rulePrimitiveTypeCS"
// InternalOCLinEcore.g:5724:1: rulePrimitiveTypeCS returns [EObject current=null] : ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) ;
public final EObject rulePrimitiveTypeCS() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:5727:28: ( ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) )
// InternalOCLinEcore.g:5728:1: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) )
{
// InternalOCLinEcore.g:5728:1: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) )
// InternalOCLinEcore.g:5729:1: (lv_name_0_0= rulePrimitiveTypeIdentifier )
{
// InternalOCLinEcore.g:5729:1: (lv_name_0_0= rulePrimitiveTypeIdentifier )
// InternalOCLinEcore.g:5730:3: lv_name_0_0= rulePrimitiveTypeIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_name_0_0=rulePrimitiveTypeIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrimitiveTypeCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PrimitiveTypeIdentifier");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrimitiveTypeCS"
// $ANTLR start "entryRuleCollectionTypeIdentifier"
// InternalOCLinEcore.g:5754:1: entryRuleCollectionTypeIdentifier returns [String current=null] : iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF ;
public final String entryRuleCollectionTypeIdentifier() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleCollectionTypeIdentifier = null;
try {
// InternalOCLinEcore.g:5755:2: (iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF )
// InternalOCLinEcore.g:5756:2: iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTypeIdentifierRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCollectionTypeIdentifier=ruleCollectionTypeIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionTypeIdentifier.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionTypeIdentifier"
// $ANTLR start "ruleCollectionTypeIdentifier"
// InternalOCLinEcore.g:5763:1: ruleCollectionTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) ;
public final AntlrDatatypeRuleToken ruleCollectionTypeIdentifier() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalOCLinEcore.g:5766:28: ( (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) )
// InternalOCLinEcore.g:5767:1: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' )
{
// InternalOCLinEcore.g:5767:1: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' )
int alt145=5;
switch ( input.LA(1) ) {
case 114:
{
alt145=1;
}
break;
case 115:
{
alt145=2;
}
break;
case 116:
{
alt145=3;
}
break;
case 117:
{
alt145=4;
}
break;
case 118:
{
alt145=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 145, 0, input);
throw nvae;
}
switch (alt145) {
case 1 :
// InternalOCLinEcore.g:5768:2: kw= 'Set'
{
kw=(Token)match(input,114,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getSetKeyword_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:5775:2: kw= 'Bag'
{
kw=(Token)match(input,115,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getBagKeyword_1());
}
}
break;
case 3 :
// InternalOCLinEcore.g:5782:2: kw= 'Sequence'
{
kw=(Token)match(input,116,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getSequenceKeyword_2());
}
}
break;
case 4 :
// InternalOCLinEcore.g:5789:2: kw= 'Collection'
{
kw=(Token)match(input,117,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getCollectionKeyword_3());
}
}
break;
case 5 :
// InternalOCLinEcore.g:5796:2: kw= 'OrderedSet'
{
kw=(Token)match(input,118,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getOrderedSetKeyword_4());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectionTypeIdentifier"
// $ANTLR start "entryRuleCollectionTypeCS"
// InternalOCLinEcore.g:5809:1: entryRuleCollectionTypeCS returns [EObject current=null] : iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF ;
public final EObject entryRuleCollectionTypeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectionTypeCS = null;
try {
// InternalOCLinEcore.g:5810:2: (iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF )
// InternalOCLinEcore.g:5811:2: iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTypeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCollectionTypeCS=ruleCollectionTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionTypeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionTypeCS"
// $ANTLR start "ruleCollectionTypeCS"
// InternalOCLinEcore.g:5818:1: ruleCollectionTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )? ) ;
public final EObject ruleCollectionTypeCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_4=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
EObject lv_ownedCollectionMultiplicity_3_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:5821:28: ( ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )? ) )
// InternalOCLinEcore.g:5822:1: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )? )
{
// InternalOCLinEcore.g:5822:1: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )? )
// InternalOCLinEcore.g:5822:2: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )?
{
// InternalOCLinEcore.g:5822:2: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) )
// InternalOCLinEcore.g:5823:1: (lv_name_0_0= ruleCollectionTypeIdentifier )
{
// InternalOCLinEcore.g:5823:1: (lv_name_0_0= ruleCollectionTypeIdentifier )
// InternalOCLinEcore.g:5824:3: lv_name_0_0= ruleCollectionTypeIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_92);
lv_name_0_0=ruleCollectionTypeIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionTypeCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CollectionTypeIdentifier");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:5840:2: (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )?
int alt147=2;
int LA147_0 = input.LA(1);
if ( (LA147_0==54) ) {
alt147=1;
}
switch (alt147) {
case 1 :
// InternalOCLinEcore.g:5840:4: otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')'
{
otherlv_1=(Token)match(input,54,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0());
}
// InternalOCLinEcore.g:5844:1: ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) )
// InternalOCLinEcore.g:5845:1: (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS )
{
// InternalOCLinEcore.g:5845:1: (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS )
// InternalOCLinEcore.g:5846:3: lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpWithoutMultiplicityCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_93);
lv_ownedType_2_0=ruleTypeExpWithoutMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionTypeCSRule());
}
set(
current,
"ownedType",
lv_ownedType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpWithoutMultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:5862:2: ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )?
int alt146=2;
int LA146_0 = input.LA(1);
if ( (LA146_0==130) ) {
alt146=1;
}
switch (alt146) {
case 1 :
// InternalOCLinEcore.g:5863:1: (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS )
{
// InternalOCLinEcore.g:5863:1: (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS )
// InternalOCLinEcore.g:5864:3: lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getOwnedCollectionMultiplicityMultiplicityCSParserRuleCall_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_ownedCollectionMultiplicity_3_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionTypeCSRule());
}
set(
current,
"ownedCollectionMultiplicity",
lv_ownedCollectionMultiplicity_3_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_4=(Token)match(input,55,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_3());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectionTypeCS"
// $ANTLR start "entryRuleMapTypeCS"
// InternalOCLinEcore.g:5892:1: entryRuleMapTypeCS returns [EObject current=null] : iv_ruleMapTypeCS= ruleMapTypeCS EOF ;
public final EObject entryRuleMapTypeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMapTypeCS = null;
try {
// InternalOCLinEcore.g:5893:2: (iv_ruleMapTypeCS= ruleMapTypeCS EOF )
// InternalOCLinEcore.g:5894:2: iv_ruleMapTypeCS= ruleMapTypeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapTypeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMapTypeCS=ruleMapTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMapTypeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMapTypeCS"
// $ANTLR start "ruleMapTypeCS"
// InternalOCLinEcore.g:5901:1: ruleMapTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? ) ;
public final EObject ruleMapTypeCS() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_ownedKeyType_2_0 = null;
EObject lv_ownedValueType_4_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:5904:28: ( ( ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? ) )
// InternalOCLinEcore.g:5905:1: ( ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? )
{
// InternalOCLinEcore.g:5905:1: ( ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? )
// InternalOCLinEcore.g:5905:2: ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )?
{
// InternalOCLinEcore.g:5905:2: ( (lv_name_0_0= 'Map' ) )
// InternalOCLinEcore.g:5906:1: (lv_name_0_0= 'Map' )
{
// InternalOCLinEcore.g:5906:1: (lv_name_0_0= 'Map' )
// InternalOCLinEcore.g:5907:3: lv_name_0_0= 'Map'
{
lv_name_0_0=(Token)match(input,103,FollowSets000.FOLLOW_92); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_0_0, grammarAccess.getMapTypeCSAccess().getNameMapKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMapTypeCSRule());
}
setWithLastConsumed(current, "name", lv_name_0_0, "Map");
}
}
}
// InternalOCLinEcore.g:5920:2: (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )?
int alt148=2;
int LA148_0 = input.LA(1);
if ( (LA148_0==54) ) {
alt148=1;
}
switch (alt148) {
case 1 :
// InternalOCLinEcore.g:5920:4: otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')'
{
otherlv_1=(Token)match(input,54,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getMapTypeCSAccess().getLeftParenthesisKeyword_1_0());
}
// InternalOCLinEcore.g:5924:1: ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:5925:1: (lv_ownedKeyType_2_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:5925:1: (lv_ownedKeyType_2_0= ruleTypeExpCS )
// InternalOCLinEcore.g:5926:3: lv_ownedKeyType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapTypeCSAccess().getOwnedKeyTypeTypeExpCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_94);
lv_ownedKeyType_2_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapTypeCSRule());
}
set(
current,
"ownedKeyType",
lv_ownedKeyType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getMapTypeCSAccess().getCommaKeyword_1_2());
}
// InternalOCLinEcore.g:5946:1: ( (lv_ownedValueType_4_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:5947:1: (lv_ownedValueType_4_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:5947:1: (lv_ownedValueType_4_0= ruleTypeExpCS )
// InternalOCLinEcore.g:5948:3: lv_ownedValueType_4_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapTypeCSAccess().getOwnedValueTypeTypeExpCSParserRuleCall_1_3_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_ownedValueType_4_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapTypeCSRule());
}
set(
current,
"ownedValueType",
lv_ownedValueType_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_5=(Token)match(input,55,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getMapTypeCSAccess().getRightParenthesisKeyword_1_4());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMapTypeCS"
// $ANTLR start "entryRuleTupleTypeCS"
// InternalOCLinEcore.g:5976:1: entryRuleTupleTypeCS returns [EObject current=null] : iv_ruleTupleTypeCS= ruleTupleTypeCS EOF ;
public final EObject entryRuleTupleTypeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTupleTypeCS = null;
try {
// InternalOCLinEcore.g:5977:2: (iv_ruleTupleTypeCS= ruleTupleTypeCS EOF )
// InternalOCLinEcore.g:5978:2: iv_ruleTupleTypeCS= ruleTupleTypeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleTypeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTupleTypeCS=ruleTupleTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTupleTypeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTupleTypeCS"
// $ANTLR start "ruleTupleTypeCS"
// InternalOCLinEcore.g:5985:1: ruleTupleTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) ;
public final EObject ruleTupleTypeCS() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_ownedParts_2_0 = null;
EObject lv_ownedParts_4_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:5988:28: ( ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) )
// InternalOCLinEcore.g:5989:1: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? )
{
// InternalOCLinEcore.g:5989:1: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? )
// InternalOCLinEcore.g:5989:2: ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )?
{
// InternalOCLinEcore.g:5989:2: ( (lv_name_0_0= 'Tuple' ) )
// InternalOCLinEcore.g:5990:1: (lv_name_0_0= 'Tuple' )
{
// InternalOCLinEcore.g:5990:1: (lv_name_0_0= 'Tuple' )
// InternalOCLinEcore.g:5991:3: lv_name_0_0= 'Tuple'
{
lv_name_0_0=(Token)match(input,104,FollowSets000.FOLLOW_92); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_0_0, grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getTupleTypeCSRule());
}
setWithLastConsumed(current, "name", lv_name_0_0, "Tuple");
}
}
}
// InternalOCLinEcore.g:6004:2: (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )?
int alt151=2;
int LA151_0 = input.LA(1);
if ( (LA151_0==54) ) {
alt151=1;
}
switch (alt151) {
case 1 :
// InternalOCLinEcore.g:6004:4: otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')'
{
otherlv_1=(Token)match(input,54,FollowSets000.FOLLOW_55); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0());
}
// InternalOCLinEcore.g:6008:1: ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )?
int alt150=2;
int LA150_0 = input.LA(1);
if ( ((LA150_0>=RULE_SIMPLE_ID && LA150_0<=RULE_ESCAPED_ID)||LA150_0==17||(LA150_0>=19 && LA150_0<=53)||LA150_0==58||LA150_0==71||(LA150_0>=73 && LA150_0<=74)||LA150_0==76||LA150_0==80) ) {
alt150=1;
}
switch (alt150) {
case 1 :
// InternalOCLinEcore.g:6008:2: ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )*
{
// InternalOCLinEcore.g:6008:2: ( (lv_ownedParts_2_0= ruleTuplePartCS ) )
// InternalOCLinEcore.g:6009:1: (lv_ownedParts_2_0= ruleTuplePartCS )
{
// InternalOCLinEcore.g:6009:1: (lv_ownedParts_2_0= ruleTuplePartCS )
// InternalOCLinEcore.g:6010:3: lv_ownedParts_2_0= ruleTuplePartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_ownedParts_2_0=ruleTuplePartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTupleTypeCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TuplePartCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:6026:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )*
loop149:
do {
int alt149=2;
int LA149_0 = input.LA(1);
if ( (LA149_0==59) ) {
alt149=1;
}
switch (alt149) {
case 1 :
// InternalOCLinEcore.g:6026:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) )
{
otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0());
}
// InternalOCLinEcore.g:6030:1: ( (lv_ownedParts_4_0= ruleTuplePartCS ) )
// InternalOCLinEcore.g:6031:1: (lv_ownedParts_4_0= ruleTuplePartCS )
{
// InternalOCLinEcore.g:6031:1: (lv_ownedParts_4_0= ruleTuplePartCS )
// InternalOCLinEcore.g:6032:3: lv_ownedParts_4_0= ruleTuplePartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_ownedParts_4_0=ruleTuplePartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTupleTypeCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TuplePartCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop149;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,55,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTupleTypeCS"
// $ANTLR start "entryRuleTuplePartCS"
// InternalOCLinEcore.g:6060:1: entryRuleTuplePartCS returns [EObject current=null] : iv_ruleTuplePartCS= ruleTuplePartCS EOF ;
public final EObject entryRuleTuplePartCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTuplePartCS = null;
try {
// InternalOCLinEcore.g:6061:2: (iv_ruleTuplePartCS= ruleTuplePartCS EOF )
// InternalOCLinEcore.g:6062:2: iv_ruleTuplePartCS= ruleTuplePartCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTuplePartCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTuplePartCS=ruleTuplePartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTuplePartCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTuplePartCS"
// $ANTLR start "ruleTuplePartCS"
// InternalOCLinEcore.g:6069:1: ruleTuplePartCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) ;
public final EObject ruleTuplePartCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:6072:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) )
// InternalOCLinEcore.g:6073:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
{
// InternalOCLinEcore.g:6073:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
// InternalOCLinEcore.g:6073:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
{
// InternalOCLinEcore.g:6073:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:6074:1: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:6074:1: (lv_name_0_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:6075:3: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTuplePartCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTuplePartCSAccess().getColonKeyword_1());
}
// InternalOCLinEcore.g:6095:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:6096:1: (lv_ownedType_2_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:6096:1: (lv_ownedType_2_0= ruleTypeExpCS )
// InternalOCLinEcore.g:6097:3: lv_ownedType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedType_2_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTuplePartCSRule());
}
set(
current,
"ownedType",
lv_ownedType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTuplePartCS"
// $ANTLR start "entryRuleCollectionLiteralExpCS"
// InternalOCLinEcore.g:6121:1: entryRuleCollectionLiteralExpCS returns [EObject current=null] : iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF ;
public final EObject entryRuleCollectionLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectionLiteralExpCS = null;
try {
// InternalOCLinEcore.g:6122:2: (iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF )
// InternalOCLinEcore.g:6123:2: iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCollectionLiteralExpCS=ruleCollectionLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionLiteralExpCS"
// $ANTLR start "ruleCollectionLiteralExpCS"
// InternalOCLinEcore.g:6130:1: ruleCollectionLiteralExpCS returns [EObject current=null] : ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) ;
public final EObject ruleCollectionLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_ownedType_0_0 = null;
EObject lv_ownedParts_2_0 = null;
EObject lv_ownedParts_4_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:6133:28: ( ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) )
// InternalOCLinEcore.g:6134:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' )
{
// InternalOCLinEcore.g:6134:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' )
// InternalOCLinEcore.g:6134:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}'
{
// InternalOCLinEcore.g:6134:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) )
// InternalOCLinEcore.g:6135:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
{
// InternalOCLinEcore.g:6135:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
// InternalOCLinEcore.g:6136:3: lv_ownedType_0_0= ruleCollectionTypeCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_95);
lv_ownedType_0_0=ruleCollectionTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule());
}
set(
current,
"ownedType",
lv_ownedType_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CollectionTypeCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_96); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalOCLinEcore.g:6156:1: ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )?
int alt153=2;
int LA153_0 = input.LA(1);
if ( ((LA153_0>=RULE_INT && LA153_0<=RULE_SINGLE_QUOTED_STRING)||(LA153_0>=RULE_SIMPLE_ID && LA153_0<=RULE_ESCAPED_ID)||(LA153_0>=17 && LA153_0<=54)||LA153_0==56||LA153_0==58||LA153_0==71||(LA153_0>=73 && LA153_0<=74)||LA153_0==76||LA153_0==80||(LA153_0>=83 && LA153_0<=85)||(LA153_0>=103 && LA153_0<=104)||(LA153_0>=106 && LA153_0<=118)||LA153_0==121||(LA153_0>=124 && LA153_0<=127)||LA153_0==134||(LA153_0>=139 && LA153_0<=140)) ) {
alt153=1;
}
switch (alt153) {
case 1 :
// InternalOCLinEcore.g:6156:2: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )*
{
// InternalOCLinEcore.g:6156:2: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) )
// InternalOCLinEcore.g:6157:1: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS )
{
// InternalOCLinEcore.g:6157:1: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS )
// InternalOCLinEcore.g:6158:3: lv_ownedParts_2_0= ruleCollectionLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_97);
lv_ownedParts_2_0=ruleCollectionLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CollectionLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:6174:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )*
loop152:
do {
int alt152=2;
int LA152_0 = input.LA(1);
if ( (LA152_0==59) ) {
alt152=1;
}
switch (alt152) {
case 1 :
// InternalOCLinEcore.g:6174:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) )
{
otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_98); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0());
}
// InternalOCLinEcore.g:6178:1: ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) )
// InternalOCLinEcore.g:6179:1: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS )
{
// InternalOCLinEcore.g:6179:1: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS )
// InternalOCLinEcore.g:6180:3: lv_ownedParts_4_0= ruleCollectionLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_97);
lv_ownedParts_4_0=ruleCollectionLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CollectionLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop152;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectionLiteralExpCS"
// $ANTLR start "entryRuleCollectionLiteralPartCS"
// InternalOCLinEcore.g:6208:1: entryRuleCollectionLiteralPartCS returns [EObject current=null] : iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF ;
public final EObject entryRuleCollectionLiteralPartCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectionLiteralPartCS = null;
try {
// InternalOCLinEcore.g:6209:2: (iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF )
// InternalOCLinEcore.g:6210:2: iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralPartCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCollectionLiteralPartCS=ruleCollectionLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionLiteralPartCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionLiteralPartCS"
// $ANTLR start "ruleCollectionLiteralPartCS"
// InternalOCLinEcore.g:6217:1: ruleCollectionLiteralPartCS returns [EObject current=null] : ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) ) ;
public final EObject ruleCollectionLiteralPartCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedExpression_0_0 = null;
EObject lv_ownedLastExpression_2_0 = null;
EObject lv_ownedExpression_3_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:6220:28: ( ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) ) )
// InternalOCLinEcore.g:6221:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )
{
// InternalOCLinEcore.g:6221:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )
int alt155=2;
alt155 = dfa155.predict(input);
switch (alt155) {
case 1 :
// InternalOCLinEcore.g:6221:2: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? )
{
// InternalOCLinEcore.g:6221:2: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? )
// InternalOCLinEcore.g:6221:3: ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )?
{
// InternalOCLinEcore.g:6221:3: ( (lv_ownedExpression_0_0= ruleExpCS ) )
// InternalOCLinEcore.g:6222:1: (lv_ownedExpression_0_0= ruleExpCS )
{
// InternalOCLinEcore.g:6222:1: (lv_ownedExpression_0_0= ruleExpCS )
// InternalOCLinEcore.g:6223:3: lv_ownedExpression_0_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionExpCSParserRuleCall_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_99);
lv_ownedExpression_0_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
}
set(
current,
"ownedExpression",
lv_ownedExpression_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:6239:2: (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )?
int alt154=2;
int LA154_0 = input.LA(1);
if ( (LA154_0==119) ) {
alt154=1;
}
switch (alt154) {
case 1 :
// InternalOCLinEcore.g:6239:4: otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) )
{
otherlv_1=(Token)match(input,119,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_0_1_0());
}
// InternalOCLinEcore.g:6243:1: ( (lv_ownedLastExpression_2_0= ruleExpCS ) )
// InternalOCLinEcore.g:6244:1: (lv_ownedLastExpression_2_0= ruleExpCS )
{
// InternalOCLinEcore.g:6244:1: (lv_ownedLastExpression_2_0= ruleExpCS )
// InternalOCLinEcore.g:6245:3: lv_ownedLastExpression_2_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedLastExpressionExpCSParserRuleCall_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedLastExpression_2_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
}
set(
current,
"ownedLastExpression",
lv_ownedLastExpression_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:6262:6: ( (lv_ownedExpression_3_0= rulePatternExpCS ) )
{
// InternalOCLinEcore.g:6262:6: ( (lv_ownedExpression_3_0= rulePatternExpCS ) )
// InternalOCLinEcore.g:6263:1: (lv_ownedExpression_3_0= rulePatternExpCS )
{
// InternalOCLinEcore.g:6263:1: (lv_ownedExpression_3_0= rulePatternExpCS )
// InternalOCLinEcore.g:6264:3: lv_ownedExpression_3_0= rulePatternExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionPatternExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedExpression_3_0=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
}
set(
current,
"ownedExpression",
lv_ownedExpression_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PatternExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectionLiteralPartCS"
// $ANTLR start "entryRuleCollectionPatternCS"
// InternalOCLinEcore.g:6288:1: entryRuleCollectionPatternCS returns [EObject current=null] : iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF ;
public final EObject entryRuleCollectionPatternCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectionPatternCS = null;
try {
// InternalOCLinEcore.g:6289:2: (iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF )
// InternalOCLinEcore.g:6290:2: iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionPatternCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCollectionPatternCS=ruleCollectionPatternCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionPatternCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionPatternCS"
// $ANTLR start "ruleCollectionPatternCS"
// InternalOCLinEcore.g:6297:1: ruleCollectionPatternCS returns [EObject current=null] : ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' ) ;
public final EObject ruleCollectionPatternCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
EObject lv_ownedType_0_0 = null;
EObject lv_ownedParts_2_0 = null;
EObject lv_ownedParts_4_0 = null;
AntlrDatatypeRuleToken lv_restVariableName_6_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:6300:28: ( ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' ) )
// InternalOCLinEcore.g:6301:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' )
{
// InternalOCLinEcore.g:6301:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' )
// InternalOCLinEcore.g:6301:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}'
{
// InternalOCLinEcore.g:6301:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) )
// InternalOCLinEcore.g:6302:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
{
// InternalOCLinEcore.g:6302:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
// InternalOCLinEcore.g:6303:3: lv_ownedType_0_0= ruleCollectionTypeCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_95);
lv_ownedType_0_0=ruleCollectionTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionPatternCSRule());
}
set(
current,
"ownedType",
lv_ownedType_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CollectionTypeCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_96); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectionPatternCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalOCLinEcore.g:6323:1: ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )?
int alt157=2;
int LA157_0 = input.LA(1);
if ( ((LA157_0>=RULE_SIMPLE_ID && LA157_0<=RULE_ESCAPED_ID)||LA157_0==17||(LA157_0>=19 && LA157_0<=53)||LA157_0==56||LA157_0==58||LA157_0==71||(LA157_0>=73 && LA157_0<=74)||LA157_0==76||LA157_0==80) ) {
alt157=1;
}
switch (alt157) {
case 1 :
// InternalOCLinEcore.g:6323:2: ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) )
{
// InternalOCLinEcore.g:6323:2: ( (lv_ownedParts_2_0= rulePatternExpCS ) )
// InternalOCLinEcore.g:6324:1: (lv_ownedParts_2_0= rulePatternExpCS )
{
// InternalOCLinEcore.g:6324:1: (lv_ownedParts_2_0= rulePatternExpCS )
// InternalOCLinEcore.g:6325:3: lv_ownedParts_2_0= rulePatternExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsPatternExpCSParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_101);
lv_ownedParts_2_0=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionPatternCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PatternExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:6341:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )*
loop156:
do {
int alt156=2;
int LA156_0 = input.LA(1);
if ( (LA156_0==59) ) {
alt156=1;
}
switch (alt156) {
case 1 :
// InternalOCLinEcore.g:6341:4: otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) )
{
otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_98); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getCollectionPatternCSAccess().getCommaKeyword_2_1_0());
}
// InternalOCLinEcore.g:6345:1: ( (lv_ownedParts_4_0= rulePatternExpCS ) )
// InternalOCLinEcore.g:6346:1: (lv_ownedParts_4_0= rulePatternExpCS )
{
// InternalOCLinEcore.g:6346:1: (lv_ownedParts_4_0= rulePatternExpCS )
// InternalOCLinEcore.g:6347:3: lv_ownedParts_4_0= rulePatternExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsPatternExpCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_101);
lv_ownedParts_4_0=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionPatternCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PatternExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop156;
}
} while (true);
// InternalOCLinEcore.g:6363:4: (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) )
// InternalOCLinEcore.g:6363:6: otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) )
{
otherlv_5=(Token)match(input,120,FollowSets000.FOLLOW_102); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getCollectionPatternCSAccess().getPlusSignPlusSignKeyword_2_2_0());
}
// InternalOCLinEcore.g:6367:1: ( (lv_restVariableName_6_0= ruleIdentifier ) )
// InternalOCLinEcore.g:6368:1: (lv_restVariableName_6_0= ruleIdentifier )
{
// InternalOCLinEcore.g:6368:1: (lv_restVariableName_6_0= ruleIdentifier )
// InternalOCLinEcore.g:6369:3: lv_restVariableName_6_0= ruleIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getRestVariableNameIdentifierParserRuleCall_2_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_40);
lv_restVariableName_6_0=ruleIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionPatternCSRule());
}
set(
current,
"restVariableName",
lv_restVariableName_6_0,
"org.eclipse.ocl.xtext.base.Base.Identifier");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
otherlv_7=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getCollectionPatternCSAccess().getRightCurlyBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectionPatternCS"
// $ANTLR start "entryRuleShadowPartCS"
// InternalOCLinEcore.g:6397:1: entryRuleShadowPartCS returns [EObject current=null] : iv_ruleShadowPartCS= ruleShadowPartCS EOF ;
public final EObject entryRuleShadowPartCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleShadowPartCS = null;
try {
// InternalOCLinEcore.g:6398:2: (iv_ruleShadowPartCS= ruleShadowPartCS EOF )
// InternalOCLinEcore.g:6399:2: iv_ruleShadowPartCS= ruleShadowPartCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShadowPartCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleShadowPartCS=ruleShadowPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleShadowPartCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleShadowPartCS"
// $ANTLR start "ruleShadowPartCS"
// InternalOCLinEcore.g:6406:1: ruleShadowPartCS returns [EObject current=null] : ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) | ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) ) ) ;
public final EObject ruleShadowPartCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedInitExpression_2_1 = null;
EObject lv_ownedInitExpression_2_2 = null;
EObject lv_ownedInitExpression_3_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:6409:28: ( ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) | ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) ) ) )
// InternalOCLinEcore.g:6410:1: ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) | ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) ) )
{
// InternalOCLinEcore.g:6410:1: ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) | ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) ) )
int alt159=2;
int LA159_0 = input.LA(1);
if ( ((LA159_0>=RULE_SIMPLE_ID && LA159_0<=RULE_ESCAPED_ID)||LA159_0==17||(LA159_0>=19 && LA159_0<=53)||LA159_0==58||LA159_0==71||(LA159_0>=73 && LA159_0<=74)||LA159_0==76||LA159_0==80) ) {
alt159=1;
}
else if ( (LA159_0==RULE_SINGLE_QUOTED_STRING) ) {
alt159=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 159, 0, input);
throw nvae;
}
switch (alt159) {
case 1 :
// InternalOCLinEcore.g:6410:2: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) )
{
// InternalOCLinEcore.g:6410:2: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) )
// InternalOCLinEcore.g:6410:3: ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) )
{
// InternalOCLinEcore.g:6410:3: ( ( ruleUnrestrictedName ) )
// InternalOCLinEcore.g:6411:1: ( ruleUnrestrictedName )
{
// InternalOCLinEcore.g:6411:1: ( ruleUnrestrictedName )
// InternalOCLinEcore.g:6412:3: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getShadowPartCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShadowPartCSAccess().getReferredPropertyPropertyCrossReference_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,62,FollowSets000.FOLLOW_98); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getShadowPartCSAccess().getEqualsSignKeyword_0_1());
}
// InternalOCLinEcore.g:6432:1: ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) )
// InternalOCLinEcore.g:6433:1: ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) )
{
// InternalOCLinEcore.g:6433:1: ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) )
// InternalOCLinEcore.g:6434:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )
{
// InternalOCLinEcore.g:6434:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )
int alt158=2;
alt158 = dfa158.predict(input);
switch (alt158) {
case 1 :
// InternalOCLinEcore.g:6435:3: lv_ownedInitExpression_2_1= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShadowPartCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_2_1=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getShadowPartCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_2_1,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:6450:8: lv_ownedInitExpression_2_2= rulePatternExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShadowPartCSAccess().getOwnedInitExpressionPatternExpCSParserRuleCall_0_2_0_1());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_2_2=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getShadowPartCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_2_2,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PatternExpCS");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:6469:6: ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) )
{
// InternalOCLinEcore.g:6469:6: ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) )
// InternalOCLinEcore.g:6470:1: (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS )
{
// InternalOCLinEcore.g:6470:1: (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS )
// InternalOCLinEcore.g:6471:3: lv_ownedInitExpression_3_0= ruleStringLiteralExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShadowPartCSAccess().getOwnedInitExpressionStringLiteralExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_3_0=ruleStringLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getShadowPartCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.StringLiteralExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleShadowPartCS"
// $ANTLR start "entryRulePatternExpCS"
// InternalOCLinEcore.g:6495:1: entryRulePatternExpCS returns [EObject current=null] : iv_rulePatternExpCS= rulePatternExpCS EOF ;
public final EObject entryRulePatternExpCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePatternExpCS = null;
try {
// InternalOCLinEcore.g:6496:2: (iv_rulePatternExpCS= rulePatternExpCS EOF )
// InternalOCLinEcore.g:6497:2: iv_rulePatternExpCS= rulePatternExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPatternExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePatternExpCS=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePatternExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePatternExpCS"
// $ANTLR start "rulePatternExpCS"
// InternalOCLinEcore.g:6504:1: rulePatternExpCS returns [EObject current=null] : ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) ) ;
public final EObject rulePatternExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_patternVariableName_0_0 = null;
EObject lv_ownedPatternType_2_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:6507:28: ( ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) ) )
// InternalOCLinEcore.g:6508:1: ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) )
{
// InternalOCLinEcore.g:6508:1: ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) )
// InternalOCLinEcore.g:6508:2: ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) )
{
// InternalOCLinEcore.g:6508:2: ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )?
int alt160=2;
int LA160_0 = input.LA(1);
if ( ((LA160_0>=RULE_SIMPLE_ID && LA160_0<=RULE_ESCAPED_ID)||LA160_0==17||(LA160_0>=19 && LA160_0<=53)||LA160_0==58||LA160_0==71||(LA160_0>=73 && LA160_0<=74)||LA160_0==76||LA160_0==80) ) {
alt160=1;
}
switch (alt160) {
case 1 :
// InternalOCLinEcore.g:6509:1: (lv_patternVariableName_0_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:6509:1: (lv_patternVariableName_0_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:6510:3: lv_patternVariableName_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPatternExpCSAccess().getPatternVariableNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_patternVariableName_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPatternExpCSRule());
}
set(
current,
"patternVariableName",
lv_patternVariableName_0_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPatternExpCSAccess().getColonKeyword_1());
}
// InternalOCLinEcore.g:6530:1: ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:6531:1: (lv_ownedPatternType_2_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:6531:1: (lv_ownedPatternType_2_0= ruleTypeExpCS )
// InternalOCLinEcore.g:6532:3: lv_ownedPatternType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPatternExpCSAccess().getOwnedPatternTypeTypeExpCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedPatternType_2_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPatternExpCSRule());
}
set(
current,
"ownedPatternType",
lv_ownedPatternType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePatternExpCS"
// $ANTLR start "entryRuleLambdaLiteralExpCS"
// InternalOCLinEcore.g:6556:1: entryRuleLambdaLiteralExpCS returns [EObject current=null] : iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF ;
public final EObject entryRuleLambdaLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleLambdaLiteralExpCS = null;
try {
// InternalOCLinEcore.g:6557:2: (iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF )
// InternalOCLinEcore.g:6558:2: iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLambdaLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleLambdaLiteralExpCS=ruleLambdaLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLambdaLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLambdaLiteralExpCS"
// $ANTLR start "ruleLambdaLiteralExpCS"
// InternalOCLinEcore.g:6565:1: ruleLambdaLiteralExpCS returns [EObject current=null] : (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' ) ;
public final EObject ruleLambdaLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_ownedExpressionCS_2_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:6568:28: ( (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' ) )
// InternalOCLinEcore.g:6569:1: (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' )
{
// InternalOCLinEcore.g:6569:1: (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' )
// InternalOCLinEcore.g:6569:3: otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}'
{
otherlv_0=(Token)match(input,121,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getLambdaLiteralExpCSAccess().getLambdaKeyword_0());
}
otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getLambdaLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalOCLinEcore.g:6577:1: ( (lv_ownedExpressionCS_2_0= ruleExpCS ) )
// InternalOCLinEcore.g:6578:1: (lv_ownedExpressionCS_2_0= ruleExpCS )
{
// InternalOCLinEcore.g:6578:1: (lv_ownedExpressionCS_2_0= ruleExpCS )
// InternalOCLinEcore.g:6579:3: lv_ownedExpressionCS_2_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLambdaLiteralExpCSAccess().getOwnedExpressionCSExpCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_40);
lv_ownedExpressionCS_2_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLambdaLiteralExpCSRule());
}
set(
current,
"ownedExpressionCS",
lv_ownedExpressionCS_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getLambdaLiteralExpCSAccess().getRightCurlyBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLambdaLiteralExpCS"
// $ANTLR start "entryRuleMapLiteralExpCS"
// InternalOCLinEcore.g:6607:1: entryRuleMapLiteralExpCS returns [EObject current=null] : iv_ruleMapLiteralExpCS= ruleMapLiteralExpCS EOF ;
public final EObject entryRuleMapLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMapLiteralExpCS = null;
try {
// InternalOCLinEcore.g:6608:2: (iv_ruleMapLiteralExpCS= ruleMapLiteralExpCS EOF )
// InternalOCLinEcore.g:6609:2: iv_ruleMapLiteralExpCS= ruleMapLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMapLiteralExpCS=ruleMapLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMapLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMapLiteralExpCS"
// $ANTLR start "ruleMapLiteralExpCS"
// InternalOCLinEcore.g:6616:1: ruleMapLiteralExpCS returns [EObject current=null] : ( ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' ) ;
public final EObject ruleMapLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_ownedType_0_0 = null;
EObject lv_ownedParts_2_0 = null;
EObject lv_ownedParts_4_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:6619:28: ( ( ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' ) )
// InternalOCLinEcore.g:6620:1: ( ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' )
{
// InternalOCLinEcore.g:6620:1: ( ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' )
// InternalOCLinEcore.g:6620:2: ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}'
{
// InternalOCLinEcore.g:6620:2: ( (lv_ownedType_0_0= ruleMapTypeCS ) )
// InternalOCLinEcore.g:6621:1: (lv_ownedType_0_0= ruleMapTypeCS )
{
// InternalOCLinEcore.g:6621:1: (lv_ownedType_0_0= ruleMapTypeCS )
// InternalOCLinEcore.g:6622:3: lv_ownedType_0_0= ruleMapTypeCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralExpCSAccess().getOwnedTypeMapTypeCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_95);
lv_ownedType_0_0=ruleMapTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapLiteralExpCSRule());
}
set(
current,
"ownedType",
lv_ownedType_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.MapTypeCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_103); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getMapLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalOCLinEcore.g:6642:1: ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )?
int alt162=2;
int LA162_0 = input.LA(1);
if ( ((LA162_0>=RULE_INT && LA162_0<=RULE_SINGLE_QUOTED_STRING)||(LA162_0>=RULE_SIMPLE_ID && LA162_0<=RULE_ESCAPED_ID)||(LA162_0>=17 && LA162_0<=54)||LA162_0==58||LA162_0==71||(LA162_0>=73 && LA162_0<=74)||LA162_0==76||LA162_0==80||(LA162_0>=83 && LA162_0<=85)||(LA162_0>=103 && LA162_0<=104)||(LA162_0>=106 && LA162_0<=118)||LA162_0==121||(LA162_0>=124 && LA162_0<=127)||LA162_0==134||(LA162_0>=139 && LA162_0<=140)) ) {
alt162=1;
}
switch (alt162) {
case 1 :
// InternalOCLinEcore.g:6642:2: ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )*
{
// InternalOCLinEcore.g:6642:2: ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) )
// InternalOCLinEcore.g:6643:1: (lv_ownedParts_2_0= ruleMapLiteralPartCS )
{
// InternalOCLinEcore.g:6643:1: (lv_ownedParts_2_0= ruleMapLiteralPartCS )
// InternalOCLinEcore.g:6644:3: lv_ownedParts_2_0= ruleMapLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralExpCSAccess().getOwnedPartsMapLiteralPartCSParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_97);
lv_ownedParts_2_0=ruleMapLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapLiteralExpCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.MapLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:6660:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )*
loop161:
do {
int alt161=2;
int LA161_0 = input.LA(1);
if ( (LA161_0==59) ) {
alt161=1;
}
switch (alt161) {
case 1 :
// InternalOCLinEcore.g:6660:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) )
{
otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getMapLiteralExpCSAccess().getCommaKeyword_2_1_0());
}
// InternalOCLinEcore.g:6664:1: ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) )
// InternalOCLinEcore.g:6665:1: (lv_ownedParts_4_0= ruleMapLiteralPartCS )
{
// InternalOCLinEcore.g:6665:1: (lv_ownedParts_4_0= ruleMapLiteralPartCS )
// InternalOCLinEcore.g:6666:3: lv_ownedParts_4_0= ruleMapLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralExpCSAccess().getOwnedPartsMapLiteralPartCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_97);
lv_ownedParts_4_0=ruleMapLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapLiteralExpCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.MapLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop161;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getMapLiteralExpCSAccess().getRightCurlyBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMapLiteralExpCS"
// $ANTLR start "entryRuleMapLiteralPartCS"
// InternalOCLinEcore.g:6694:1: entryRuleMapLiteralPartCS returns [EObject current=null] : iv_ruleMapLiteralPartCS= ruleMapLiteralPartCS EOF ;
public final EObject entryRuleMapLiteralPartCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMapLiteralPartCS = null;
try {
// InternalOCLinEcore.g:6695:2: (iv_ruleMapLiteralPartCS= ruleMapLiteralPartCS EOF )
// InternalOCLinEcore.g:6696:2: iv_ruleMapLiteralPartCS= ruleMapLiteralPartCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralPartCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMapLiteralPartCS=ruleMapLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMapLiteralPartCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMapLiteralPartCS"
// $ANTLR start "ruleMapLiteralPartCS"
// InternalOCLinEcore.g:6703:1: ruleMapLiteralPartCS returns [EObject current=null] : ( ( (lv_ownedKey_0_0= ruleExpCS ) ) (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedValue_3_0= ruleExpCS ) ) ) ;
public final EObject ruleMapLiteralPartCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
EObject lv_ownedKey_0_0 = null;
EObject lv_ownedValue_3_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:6706:28: ( ( ( (lv_ownedKey_0_0= ruleExpCS ) ) (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedValue_3_0= ruleExpCS ) ) ) )
// InternalOCLinEcore.g:6707:1: ( ( (lv_ownedKey_0_0= ruleExpCS ) ) (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedValue_3_0= ruleExpCS ) ) )
{
// InternalOCLinEcore.g:6707:1: ( ( (lv_ownedKey_0_0= ruleExpCS ) ) (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedValue_3_0= ruleExpCS ) ) )
// InternalOCLinEcore.g:6707:2: ( (lv_ownedKey_0_0= ruleExpCS ) ) (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedValue_3_0= ruleExpCS ) )
{
// InternalOCLinEcore.g:6707:2: ( (lv_ownedKey_0_0= ruleExpCS ) )
// InternalOCLinEcore.g:6708:1: (lv_ownedKey_0_0= ruleExpCS )
{
// InternalOCLinEcore.g:6708:1: (lv_ownedKey_0_0= ruleExpCS )
// InternalOCLinEcore.g:6709:3: lv_ownedKey_0_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralPartCSAccess().getOwnedKeyExpCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_104);
lv_ownedKey_0_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapLiteralPartCSRule());
}
set(
current,
"ownedKey",
lv_ownedKey_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:6725:2: (otherlv_1= 'with' | otherlv_2= '<-' )
int alt163=2;
int LA163_0 = input.LA(1);
if ( (LA163_0==122) ) {
alt163=1;
}
else if ( (LA163_0==123) ) {
alt163=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 163, 0, input);
throw nvae;
}
switch (alt163) {
case 1 :
// InternalOCLinEcore.g:6725:4: otherlv_1= 'with'
{
otherlv_1=(Token)match(input,122,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getMapLiteralPartCSAccess().getWithKeyword_1_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:6730:7: otherlv_2= '<-'
{
otherlv_2=(Token)match(input,123,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getMapLiteralPartCSAccess().getLessThanSignHyphenMinusKeyword_1_1());
}
}
break;
}
// InternalOCLinEcore.g:6734:2: ( (lv_ownedValue_3_0= ruleExpCS ) )
// InternalOCLinEcore.g:6735:1: (lv_ownedValue_3_0= ruleExpCS )
{
// InternalOCLinEcore.g:6735:1: (lv_ownedValue_3_0= ruleExpCS )
// InternalOCLinEcore.g:6736:3: lv_ownedValue_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralPartCSAccess().getOwnedValueExpCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedValue_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapLiteralPartCSRule());
}
set(
current,
"ownedValue",
lv_ownedValue_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMapLiteralPartCS"
// $ANTLR start "entryRulePrimitiveLiteralExpCS"
// InternalOCLinEcore.g:6760:1: entryRulePrimitiveLiteralExpCS returns [EObject current=null] : iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF ;
public final EObject entryRulePrimitiveLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimitiveLiteralExpCS = null;
try {
// InternalOCLinEcore.g:6761:2: (iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF )
// InternalOCLinEcore.g:6762:2: iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrimitiveLiteralExpCS=rulePrimitiveLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimitiveLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimitiveLiteralExpCS"
// $ANTLR start "rulePrimitiveLiteralExpCS"
// InternalOCLinEcore.g:6769:1: rulePrimitiveLiteralExpCS returns [EObject current=null] : (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) ;
public final EObject rulePrimitiveLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject this_NumberLiteralExpCS_0 = null;
EObject this_StringLiteralExpCS_1 = null;
EObject this_BooleanLiteralExpCS_2 = null;
EObject this_UnlimitedNaturalLiteralExpCS_3 = null;
EObject this_InvalidLiteralExpCS_4 = null;
EObject this_NullLiteralExpCS_5 = null;
enterRule();
try {
// InternalOCLinEcore.g:6772:28: ( (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) )
// InternalOCLinEcore.g:6773:1: (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS )
{
// InternalOCLinEcore.g:6773:1: (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS )
int alt164=6;
switch ( input.LA(1) ) {
case RULE_INT:
{
alt164=1;
}
break;
case RULE_SINGLE_QUOTED_STRING:
{
alt164=2;
}
break;
case 124:
case 125:
{
alt164=3;
}
break;
case 85:
{
alt164=4;
}
break;
case 126:
{
alt164=5;
}
break;
case 127:
{
alt164=6;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 164, 0, input);
throw nvae;
}
switch (alt164) {
case 1 :
// InternalOCLinEcore.g:6774:2: this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_NumberLiteralExpCS_0=ruleNumberLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_NumberLiteralExpCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:6787:2: this_StringLiteralExpCS_1= ruleStringLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_StringLiteralExpCS_1=ruleStringLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_StringLiteralExpCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalOCLinEcore.g:6800:2: this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_BooleanLiteralExpCS_2=ruleBooleanLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_BooleanLiteralExpCS_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalOCLinEcore.g:6813:2: this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_2);
this_UnlimitedNaturalLiteralExpCS_3=ruleUnlimitedNaturalLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_UnlimitedNaturalLiteralExpCS_3;
afterParserOrEnumRuleCall();
}
}
break;
case 5 :
// InternalOCLinEcore.g:6826:2: this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4());
}
pushFollow(FollowSets000.FOLLOW_2);
this_InvalidLiteralExpCS_4=ruleInvalidLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_InvalidLiteralExpCS_4;
afterParserOrEnumRuleCall();
}
}
break;
case 6 :
// InternalOCLinEcore.g:6839:2: this_NullLiteralExpCS_5= ruleNullLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5());
}
pushFollow(FollowSets000.FOLLOW_2);
this_NullLiteralExpCS_5=ruleNullLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_NullLiteralExpCS_5;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrimitiveLiteralExpCS"
// $ANTLR start "entryRuleTupleLiteralExpCS"
// InternalOCLinEcore.g:6858:1: entryRuleTupleLiteralExpCS returns [EObject current=null] : iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF ;
public final EObject entryRuleTupleLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTupleLiteralExpCS = null;
try {
// InternalOCLinEcore.g:6859:2: (iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF )
// InternalOCLinEcore.g:6860:2: iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTupleLiteralExpCS=ruleTupleLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTupleLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTupleLiteralExpCS"
// $ANTLR start "ruleTupleLiteralExpCS"
// InternalOCLinEcore.g:6867:1: ruleTupleLiteralExpCS returns [EObject current=null] : (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) ;
public final EObject ruleTupleLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_ownedParts_2_0 = null;
EObject lv_ownedParts_4_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:6870:28: ( (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) )
// InternalOCLinEcore.g:6871:1: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' )
{
// InternalOCLinEcore.g:6871:1: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' )
// InternalOCLinEcore.g:6871:3: otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}'
{
otherlv_0=(Token)match(input,104,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0());
}
otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalOCLinEcore.g:6879:1: ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) )
// InternalOCLinEcore.g:6880:1: (lv_ownedParts_2_0= ruleTupleLiteralPartCS )
{
// InternalOCLinEcore.g:6880:1: (lv_ownedParts_2_0= ruleTupleLiteralPartCS )
// InternalOCLinEcore.g:6881:3: lv_ownedParts_2_0= ruleTupleLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_97);
lv_ownedParts_2_0=ruleTupleLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTupleLiteralExpCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TupleLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:6897:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )*
loop165:
do {
int alt165=2;
int LA165_0 = input.LA(1);
if ( (LA165_0==59) ) {
alt165=1;
}
switch (alt165) {
case 1 :
// InternalOCLinEcore.g:6897:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) )
{
otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0());
}
// InternalOCLinEcore.g:6901:1: ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) )
// InternalOCLinEcore.g:6902:1: (lv_ownedParts_4_0= ruleTupleLiteralPartCS )
{
// InternalOCLinEcore.g:6902:1: (lv_ownedParts_4_0= ruleTupleLiteralPartCS )
// InternalOCLinEcore.g:6903:3: lv_ownedParts_4_0= ruleTupleLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_97);
lv_ownedParts_4_0=ruleTupleLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTupleLiteralExpCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TupleLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop165;
}
} while (true);
otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTupleLiteralExpCS"
// $ANTLR start "entryRuleTupleLiteralPartCS"
// InternalOCLinEcore.g:6931:1: entryRuleTupleLiteralPartCS returns [EObject current=null] : iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF ;
public final EObject entryRuleTupleLiteralPartCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTupleLiteralPartCS = null;
try {
// InternalOCLinEcore.g:6932:2: (iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF )
// InternalOCLinEcore.g:6933:2: iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralPartCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTupleLiteralPartCS=ruleTupleLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTupleLiteralPartCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTupleLiteralPartCS"
// $ANTLR start "ruleTupleLiteralPartCS"
// InternalOCLinEcore.g:6940:1: ruleTupleLiteralPartCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) ) ;
public final EObject ruleTupleLiteralPartCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
EObject lv_ownedInitExpression_4_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:6943:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) ) )
// InternalOCLinEcore.g:6944:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )
{
// InternalOCLinEcore.g:6944:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )
// InternalOCLinEcore.g:6944:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
{
// InternalOCLinEcore.g:6944:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:6945:1: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:6945:1: (lv_name_0_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:6946:3: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_105);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:6962:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )?
int alt166=2;
int LA166_0 = input.LA(1);
if ( (LA166_0==56) ) {
alt166=1;
}
switch (alt166) {
case 1 :
// InternalOCLinEcore.g:6962:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
{
otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0());
}
// InternalOCLinEcore.g:6966:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:6967:1: (lv_ownedType_2_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:6967:1: (lv_ownedType_2_0= ruleTypeExpCS )
// InternalOCLinEcore.g:6968:3: lv_ownedType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_42);
lv_ownedType_2_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule());
}
set(
current,
"ownedType",
lv_ownedType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_3=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2());
}
// InternalOCLinEcore.g:6988:1: ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
// InternalOCLinEcore.g:6989:1: (lv_ownedInitExpression_4_0= ruleExpCS )
{
// InternalOCLinEcore.g:6989:1: (lv_ownedInitExpression_4_0= ruleExpCS )
// InternalOCLinEcore.g:6990:3: lv_ownedInitExpression_4_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getOwnedInitExpressionExpCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_4_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTupleLiteralPartCS"
// $ANTLR start "entryRuleNumberLiteralExpCS"
// InternalOCLinEcore.g:7014:1: entryRuleNumberLiteralExpCS returns [EObject current=null] : iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF ;
public final EObject entryRuleNumberLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNumberLiteralExpCS = null;
try {
// InternalOCLinEcore.g:7015:2: (iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF )
// InternalOCLinEcore.g:7016:2: iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNumberLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNumberLiteralExpCS=ruleNumberLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNumberLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNumberLiteralExpCS"
// $ANTLR start "ruleNumberLiteralExpCS"
// InternalOCLinEcore.g:7023:1: ruleNumberLiteralExpCS returns [EObject current=null] : ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) ) ;
public final EObject ruleNumberLiteralExpCS() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_symbol_0_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:7026:28: ( ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) ) )
// InternalOCLinEcore.g:7027:1: ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) )
{
// InternalOCLinEcore.g:7027:1: ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) )
// InternalOCLinEcore.g:7028:1: (lv_symbol_0_0= ruleNUMBER_LITERAL )
{
// InternalOCLinEcore.g:7028:1: (lv_symbol_0_0= ruleNUMBER_LITERAL )
// InternalOCLinEcore.g:7029:3: lv_symbol_0_0= ruleNUMBER_LITERAL
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNumberLiteralExpCSAccess().getSymbolNUMBER_LITERALParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_symbol_0_0=ruleNUMBER_LITERAL();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNumberLiteralExpCSRule());
}
set(
current,
"symbol",
lv_symbol_0_0,
"org.eclipse.ocl.xtext.base.Base.NUMBER_LITERAL");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNumberLiteralExpCS"
// $ANTLR start "entryRuleStringLiteralExpCS"
// InternalOCLinEcore.g:7053:1: entryRuleStringLiteralExpCS returns [EObject current=null] : iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF ;
public final EObject entryRuleStringLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleStringLiteralExpCS = null;
try {
// InternalOCLinEcore.g:7054:2: (iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF )
// InternalOCLinEcore.g:7055:2: iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStringLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleStringLiteralExpCS=ruleStringLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleStringLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStringLiteralExpCS"
// $ANTLR start "ruleStringLiteralExpCS"
// InternalOCLinEcore.g:7062:1: ruleStringLiteralExpCS returns [EObject current=null] : ( (lv_segments_0_0= ruleStringLiteral ) )+ ;
public final EObject ruleStringLiteralExpCS() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_segments_0_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:7065:28: ( ( (lv_segments_0_0= ruleStringLiteral ) )+ )
// InternalOCLinEcore.g:7066:1: ( (lv_segments_0_0= ruleStringLiteral ) )+
{
// InternalOCLinEcore.g:7066:1: ( (lv_segments_0_0= ruleStringLiteral ) )+
int cnt167=0;
loop167:
do {
int alt167=2;
int LA167_0 = input.LA(1);
if ( (LA167_0==RULE_SINGLE_QUOTED_STRING) ) {
alt167=1;
}
switch (alt167) {
case 1 :
// InternalOCLinEcore.g:7067:1: (lv_segments_0_0= ruleStringLiteral )
{
// InternalOCLinEcore.g:7067:1: (lv_segments_0_0= ruleStringLiteral )
// InternalOCLinEcore.g:7068:3: lv_segments_0_0= ruleStringLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStringLiteralExpCSAccess().getSegmentsStringLiteralParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_106);
lv_segments_0_0=ruleStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStringLiteralExpCSRule());
}
add(
current,
"segments",
lv_segments_0_0,
"org.eclipse.ocl.xtext.base.Base.StringLiteral");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt167 >= 1 ) break loop167;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(167, input);
throw eee;
}
cnt167++;
} while (true);
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleStringLiteralExpCS"
// $ANTLR start "entryRuleBooleanLiteralExpCS"
// InternalOCLinEcore.g:7092:1: entryRuleBooleanLiteralExpCS returns [EObject current=null] : iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF ;
public final EObject entryRuleBooleanLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleBooleanLiteralExpCS = null;
try {
// InternalOCLinEcore.g:7093:2: (iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF )
// InternalOCLinEcore.g:7094:2: iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBooleanLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleBooleanLiteralExpCS=ruleBooleanLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBooleanLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBooleanLiteralExpCS"
// $ANTLR start "ruleBooleanLiteralExpCS"
// InternalOCLinEcore.g:7101:1: ruleBooleanLiteralExpCS returns [EObject current=null] : ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) ) ;
public final EObject ruleBooleanLiteralExpCS() throws RecognitionException {
EObject current = null;
Token lv_symbol_0_0=null;
Token lv_symbol_1_0=null;
enterRule();
try {
// InternalOCLinEcore.g:7104:28: ( ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) ) )
// InternalOCLinEcore.g:7105:1: ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) )
{
// InternalOCLinEcore.g:7105:1: ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) )
int alt168=2;
int LA168_0 = input.LA(1);
if ( (LA168_0==124) ) {
alt168=1;
}
else if ( (LA168_0==125) ) {
alt168=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 168, 0, input);
throw nvae;
}
switch (alt168) {
case 1 :
// InternalOCLinEcore.g:7105:2: ( (lv_symbol_0_0= 'true' ) )
{
// InternalOCLinEcore.g:7105:2: ( (lv_symbol_0_0= 'true' ) )
// InternalOCLinEcore.g:7106:1: (lv_symbol_0_0= 'true' )
{
// InternalOCLinEcore.g:7106:1: (lv_symbol_0_0= 'true' )
// InternalOCLinEcore.g:7107:3: lv_symbol_0_0= 'true'
{
lv_symbol_0_0=(Token)match(input,124,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_symbol_0_0, grammarAccess.getBooleanLiteralExpCSAccess().getSymbolTrueKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBooleanLiteralExpCSRule());
}
setWithLastConsumed(current, "symbol", lv_symbol_0_0, "true");
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:7121:6: ( (lv_symbol_1_0= 'false' ) )
{
// InternalOCLinEcore.g:7121:6: ( (lv_symbol_1_0= 'false' ) )
// InternalOCLinEcore.g:7122:1: (lv_symbol_1_0= 'false' )
{
// InternalOCLinEcore.g:7122:1: (lv_symbol_1_0= 'false' )
// InternalOCLinEcore.g:7123:3: lv_symbol_1_0= 'false'
{
lv_symbol_1_0=(Token)match(input,125,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_symbol_1_0, grammarAccess.getBooleanLiteralExpCSAccess().getSymbolFalseKeyword_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBooleanLiteralExpCSRule());
}
setWithLastConsumed(current, "symbol", lv_symbol_1_0, "false");
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBooleanLiteralExpCS"
// $ANTLR start "entryRuleUnlimitedNaturalLiteralExpCS"
// InternalOCLinEcore.g:7144:1: entryRuleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF ;
public final EObject entryRuleUnlimitedNaturalLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleUnlimitedNaturalLiteralExpCS = null;
try {
// InternalOCLinEcore.g:7145:2: (iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF )
// InternalOCLinEcore.g:7146:2: iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnlimitedNaturalLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUnlimitedNaturalLiteralExpCS=ruleUnlimitedNaturalLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUnlimitedNaturalLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUnlimitedNaturalLiteralExpCS"
// $ANTLR start "ruleUnlimitedNaturalLiteralExpCS"
// InternalOCLinEcore.g:7153:1: ruleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : ( () otherlv_1= '*' ) ;
public final EObject ruleUnlimitedNaturalLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalOCLinEcore.g:7156:28: ( ( () otherlv_1= '*' ) )
// InternalOCLinEcore.g:7157:1: ( () otherlv_1= '*' )
{
// InternalOCLinEcore.g:7157:1: ( () otherlv_1= '*' )
// InternalOCLinEcore.g:7157:2: () otherlv_1= '*'
{
// InternalOCLinEcore.g:7157:2: ()
// InternalOCLinEcore.g:7158:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,85,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleUnlimitedNaturalLiteralExpCS"
// $ANTLR start "entryRuleInvalidLiteralExpCS"
// InternalOCLinEcore.g:7178:1: entryRuleInvalidLiteralExpCS returns [EObject current=null] : iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF ;
public final EObject entryRuleInvalidLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleInvalidLiteralExpCS = null;
try {
// InternalOCLinEcore.g:7179:2: (iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF )
// InternalOCLinEcore.g:7180:2: iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInvalidLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleInvalidLiteralExpCS=ruleInvalidLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleInvalidLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInvalidLiteralExpCS"
// $ANTLR start "ruleInvalidLiteralExpCS"
// InternalOCLinEcore.g:7187:1: ruleInvalidLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'invalid' ) ;
public final EObject ruleInvalidLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalOCLinEcore.g:7190:28: ( ( () otherlv_1= 'invalid' ) )
// InternalOCLinEcore.g:7191:1: ( () otherlv_1= 'invalid' )
{
// InternalOCLinEcore.g:7191:1: ( () otherlv_1= 'invalid' )
// InternalOCLinEcore.g:7191:2: () otherlv_1= 'invalid'
{
// InternalOCLinEcore.g:7191:2: ()
// InternalOCLinEcore.g:7192:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,126,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInvalidLiteralExpCS"
// $ANTLR start "entryRuleNullLiteralExpCS"
// InternalOCLinEcore.g:7212:1: entryRuleNullLiteralExpCS returns [EObject current=null] : iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF ;
public final EObject entryRuleNullLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNullLiteralExpCS = null;
try {
// InternalOCLinEcore.g:7213:2: (iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF )
// InternalOCLinEcore.g:7214:2: iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNullLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNullLiteralExpCS=ruleNullLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNullLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNullLiteralExpCS"
// $ANTLR start "ruleNullLiteralExpCS"
// InternalOCLinEcore.g:7221:1: ruleNullLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
public final EObject ruleNullLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalOCLinEcore.g:7224:28: ( ( () otherlv_1= 'null' ) )
// InternalOCLinEcore.g:7225:1: ( () otherlv_1= 'null' )
{
// InternalOCLinEcore.g:7225:1: ( () otherlv_1= 'null' )
// InternalOCLinEcore.g:7225:2: () otherlv_1= 'null'
{
// InternalOCLinEcore.g:7225:2: ()
// InternalOCLinEcore.g:7226:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,127,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNullLiteralExpCS"
// $ANTLR start "entryRuleTypeLiteralCS"
// InternalOCLinEcore.g:7246:1: entryRuleTypeLiteralCS returns [EObject current=null] : iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF ;
public final EObject entryRuleTypeLiteralCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeLiteralCS = null;
try {
// InternalOCLinEcore.g:7247:2: (iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF )
// InternalOCLinEcore.g:7248:2: iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeLiteralCS=ruleTypeLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeLiteralCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeLiteralCS"
// $ANTLR start "ruleTypeLiteralCS"
// InternalOCLinEcore.g:7255:1: ruleTypeLiteralCS returns [EObject current=null] : (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_MapTypeCS_2= ruleMapTypeCS | this_TupleTypeCS_3= ruleTupleTypeCS ) ;
public final EObject ruleTypeLiteralCS() throws RecognitionException {
EObject current = null;
EObject this_PrimitiveTypeCS_0 = null;
EObject this_CollectionTypeCS_1 = null;
EObject this_MapTypeCS_2 = null;
EObject this_TupleTypeCS_3 = null;
enterRule();
try {
// InternalOCLinEcore.g:7258:28: ( (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_MapTypeCS_2= ruleMapTypeCS | this_TupleTypeCS_3= ruleTupleTypeCS ) )
// InternalOCLinEcore.g:7259:1: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_MapTypeCS_2= ruleMapTypeCS | this_TupleTypeCS_3= ruleTupleTypeCS )
{
// InternalOCLinEcore.g:7259:1: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_MapTypeCS_2= ruleMapTypeCS | this_TupleTypeCS_3= ruleTupleTypeCS )
int alt169=4;
switch ( input.LA(1) ) {
case 106:
case 107:
case 108:
case 109:
case 110:
case 111:
case 112:
case 113:
{
alt169=1;
}
break;
case 114:
case 115:
case 116:
case 117:
case 118:
{
alt169=2;
}
break;
case 103:
{
alt169=3;
}
break;
case 104:
{
alt169=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 169, 0, input);
throw nvae;
}
switch (alt169) {
case 1 :
// InternalOCLinEcore.g:7260:2: this_PrimitiveTypeCS_0= rulePrimitiveTypeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_PrimitiveTypeCS_0=rulePrimitiveTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrimitiveTypeCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:7273:2: this_CollectionTypeCS_1= ruleCollectionTypeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_CollectionTypeCS_1=ruleCollectionTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_CollectionTypeCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalOCLinEcore.g:7286:2: this_MapTypeCS_2= ruleMapTypeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getMapTypeCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_MapTypeCS_2=ruleMapTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_MapTypeCS_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalOCLinEcore.g:7299:2: this_TupleTypeCS_3= ruleTupleTypeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TupleTypeCS_3=ruleTupleTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TupleTypeCS_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeLiteralCS"
// $ANTLR start "entryRuleTypeLiteralWithMultiplicityCS"
// InternalOCLinEcore.g:7318:1: entryRuleTypeLiteralWithMultiplicityCS returns [EObject current=null] : iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF ;
public final EObject entryRuleTypeLiteralWithMultiplicityCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeLiteralWithMultiplicityCS = null;
try {
// InternalOCLinEcore.g:7319:2: (iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF )
// InternalOCLinEcore.g:7320:2: iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralWithMultiplicityCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeLiteralWithMultiplicityCS=ruleTypeLiteralWithMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeLiteralWithMultiplicityCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeLiteralWithMultiplicityCS"
// $ANTLR start "ruleTypeLiteralWithMultiplicityCS"
// InternalOCLinEcore.g:7327:1: ruleTypeLiteralWithMultiplicityCS returns [EObject current=null] : (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ;
public final EObject ruleTypeLiteralWithMultiplicityCS() throws RecognitionException {
EObject current = null;
EObject this_TypeLiteralCS_0 = null;
EObject lv_ownedMultiplicity_1_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:7330:28: ( (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) )
// InternalOCLinEcore.g:7331:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
{
// InternalOCLinEcore.g:7331:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
// InternalOCLinEcore.g:7332:2: this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralWithMultiplicityCSAccess().getTypeLiteralCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_85);
this_TypeLiteralCS_0=ruleTypeLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeLiteralCS_0;
afterParserOrEnumRuleCall();
}
// InternalOCLinEcore.g:7343:1: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
int alt170=2;
int LA170_0 = input.LA(1);
if ( (LA170_0==130) ) {
alt170=1;
}
switch (alt170) {
case 1 :
// InternalOCLinEcore.g:7344:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
{
// InternalOCLinEcore.g:7344:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
// InternalOCLinEcore.g:7345:3: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralWithMultiplicityCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_1_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeLiteralWithMultiplicityCSRule());
}
set(
current,
"ownedMultiplicity",
lv_ownedMultiplicity_1_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeLiteralWithMultiplicityCS"
// $ANTLR start "entryRuleTypeLiteralExpCS"
// InternalOCLinEcore.g:7369:1: entryRuleTypeLiteralExpCS returns [EObject current=null] : iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF ;
public final EObject entryRuleTypeLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeLiteralExpCS = null;
try {
// InternalOCLinEcore.g:7370:2: (iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF )
// InternalOCLinEcore.g:7371:2: iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeLiteralExpCS=ruleTypeLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeLiteralExpCS"
// $ANTLR start "ruleTypeLiteralExpCS"
// InternalOCLinEcore.g:7378:1: ruleTypeLiteralExpCS returns [EObject current=null] : ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) ) ;
public final EObject ruleTypeLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject lv_ownedType_0_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:7381:28: ( ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) ) )
// InternalOCLinEcore.g:7382:1: ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) )
{
// InternalOCLinEcore.g:7382:1: ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) )
// InternalOCLinEcore.g:7383:1: (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS )
{
// InternalOCLinEcore.g:7383:1: (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS )
// InternalOCLinEcore.g:7384:3: lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralWithMultiplicityCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedType_0_0=ruleTypeLiteralWithMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeLiteralExpCSRule());
}
set(
current,
"ownedType",
lv_ownedType_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeLiteralWithMultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeLiteralExpCS"
// $ANTLR start "entryRuleTypeNameExpCS"
// InternalOCLinEcore.g:7408:1: entryRuleTypeNameExpCS returns [EObject current=null] : iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF ;
public final EObject entryRuleTypeNameExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeNameExpCS = null;
try {
// InternalOCLinEcore.g:7409:2: (iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF )
// InternalOCLinEcore.g:7410:2: iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeNameExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeNameExpCS=ruleTypeNameExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeNameExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeNameExpCS"
// $ANTLR start "ruleTypeNameExpCS"
// InternalOCLinEcore.g:7417:1: ruleTypeNameExpCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? ) ;
public final EObject ruleTypeNameExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedPathName_0_0 = null;
EObject lv_ownedCurlyBracketedClause_1_0 = null;
EObject lv_ownedPatternGuard_3_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:7420:28: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? ) )
// InternalOCLinEcore.g:7421:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? )
{
// InternalOCLinEcore.g:7421:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? )
// InternalOCLinEcore.g:7421:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )?
{
// InternalOCLinEcore.g:7421:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
// InternalOCLinEcore.g:7422:1: (lv_ownedPathName_0_0= rulePathNameCS )
{
// InternalOCLinEcore.g:7422:1: (lv_ownedPathName_0_0= rulePathNameCS )
// InternalOCLinEcore.g:7423:3: lv_ownedPathName_0_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_65);
lv_ownedPathName_0_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeNameExpCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_0_0,
"org.eclipse.ocl.xtext.base.Base.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:7439:2: ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )?
int alt172=2;
int LA172_0 = input.LA(1);
if ( (LA172_0==60) ) {
alt172=1;
}
switch (alt172) {
case 1 :
// InternalOCLinEcore.g:7439:3: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )?
{
// InternalOCLinEcore.g:7439:3: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) )
// InternalOCLinEcore.g:7440:1: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS )
{
// InternalOCLinEcore.g:7440:1: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS )
// InternalOCLinEcore.g:7441:3: lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedCurlyBracketedClauseCurlyBracketedClauseCSParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_65);
lv_ownedCurlyBracketedClause_1_0=ruleCurlyBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeNameExpCSRule());
}
set(
current,
"ownedCurlyBracketedClause",
lv_ownedCurlyBracketedClause_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CurlyBracketedClauseCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:7457:2: (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )?
int alt171=2;
int LA171_0 = input.LA(1);
if ( (LA171_0==60) ) {
alt171=1;
}
switch (alt171) {
case 1 :
// InternalOCLinEcore.g:7457:4: otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}'
{
otherlv_2=(Token)match(input,60,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getTypeNameExpCSAccess().getLeftCurlyBracketKeyword_1_1_0());
}
// InternalOCLinEcore.g:7461:1: ( (lv_ownedPatternGuard_3_0= ruleExpCS ) )
// InternalOCLinEcore.g:7462:1: (lv_ownedPatternGuard_3_0= ruleExpCS )
{
// InternalOCLinEcore.g:7462:1: (lv_ownedPatternGuard_3_0= ruleExpCS )
// InternalOCLinEcore.g:7463:3: lv_ownedPatternGuard_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedPatternGuardExpCSParserRuleCall_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_40);
lv_ownedPatternGuard_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeNameExpCSRule());
}
set(
current,
"ownedPatternGuard",
lv_ownedPatternGuard_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getTypeNameExpCSAccess().getRightCurlyBracketKeyword_1_1_2());
}
}
break;
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeNameExpCS"
// $ANTLR start "entryRuleTypeExpWithoutMultiplicityCS"
// InternalOCLinEcore.g:7491:1: entryRuleTypeExpWithoutMultiplicityCS returns [EObject current=null] : iv_ruleTypeExpWithoutMultiplicityCS= ruleTypeExpWithoutMultiplicityCS EOF ;
public final EObject entryRuleTypeExpWithoutMultiplicityCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeExpWithoutMultiplicityCS = null;
try {
// InternalOCLinEcore.g:7492:2: (iv_ruleTypeExpWithoutMultiplicityCS= ruleTypeExpWithoutMultiplicityCS EOF )
// InternalOCLinEcore.g:7493:2: iv_ruleTypeExpWithoutMultiplicityCS= ruleTypeExpWithoutMultiplicityCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpWithoutMultiplicityCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeExpWithoutMultiplicityCS=ruleTypeExpWithoutMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeExpWithoutMultiplicityCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeExpWithoutMultiplicityCS"
// $ANTLR start "ruleTypeExpWithoutMultiplicityCS"
// InternalOCLinEcore.g:7500:1: ruleTypeExpWithoutMultiplicityCS returns [EObject current=null] : (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ;
public final EObject ruleTypeExpWithoutMultiplicityCS() throws RecognitionException {
EObject current = null;
EObject this_TypeNameExpCS_0 = null;
EObject this_TypeLiteralCS_1 = null;
EObject this_CollectionPatternCS_2 = null;
enterRule();
try {
// InternalOCLinEcore.g:7503:28: ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) )
// InternalOCLinEcore.g:7504:1: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS )
{
// InternalOCLinEcore.g:7504:1: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS )
int alt173=3;
alt173 = dfa173.predict(input);
switch (alt173) {
case 1 :
// InternalOCLinEcore.g:7505:2: this_TypeNameExpCS_0= ruleTypeNameExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpWithoutMultiplicityCSAccess().getTypeNameExpCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypeNameExpCS_0=ruleTypeNameExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeNameExpCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:7518:2: this_TypeLiteralCS_1= ruleTypeLiteralCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpWithoutMultiplicityCSAccess().getTypeLiteralCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypeLiteralCS_1=ruleTypeLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeLiteralCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalOCLinEcore.g:7531:2: this_CollectionPatternCS_2= ruleCollectionPatternCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpWithoutMultiplicityCSAccess().getCollectionPatternCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_CollectionPatternCS_2=ruleCollectionPatternCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_CollectionPatternCS_2;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeExpWithoutMultiplicityCS"
// $ANTLR start "entryRuleTypeExpCS"
// InternalOCLinEcore.g:7550:1: entryRuleTypeExpCS returns [EObject current=null] : iv_ruleTypeExpCS= ruleTypeExpCS EOF ;
public final EObject entryRuleTypeExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeExpCS = null;
try {
// InternalOCLinEcore.g:7551:2: (iv_ruleTypeExpCS= ruleTypeExpCS EOF )
// InternalOCLinEcore.g:7552:2: iv_ruleTypeExpCS= ruleTypeExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeExpCS=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeExpCS"
// $ANTLR start "ruleTypeExpCS"
// InternalOCLinEcore.g:7559:1: ruleTypeExpCS returns [EObject current=null] : (this_TypeExpWithoutMultiplicityCS_0= ruleTypeExpWithoutMultiplicityCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ;
public final EObject ruleTypeExpCS() throws RecognitionException {
EObject current = null;
EObject this_TypeExpWithoutMultiplicityCS_0 = null;
EObject lv_ownedMultiplicity_1_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:7562:28: ( (this_TypeExpWithoutMultiplicityCS_0= ruleTypeExpWithoutMultiplicityCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) )
// InternalOCLinEcore.g:7563:1: (this_TypeExpWithoutMultiplicityCS_0= ruleTypeExpWithoutMultiplicityCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
{
// InternalOCLinEcore.g:7563:1: (this_TypeExpWithoutMultiplicityCS_0= ruleTypeExpWithoutMultiplicityCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
// InternalOCLinEcore.g:7564:2: this_TypeExpWithoutMultiplicityCS_0= ruleTypeExpWithoutMultiplicityCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpCSAccess().getTypeExpWithoutMultiplicityCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_85);
this_TypeExpWithoutMultiplicityCS_0=ruleTypeExpWithoutMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeExpWithoutMultiplicityCS_0;
afterParserOrEnumRuleCall();
}
// InternalOCLinEcore.g:7575:1: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
int alt174=2;
int LA174_0 = input.LA(1);
if ( (LA174_0==130) ) {
alt174=1;
}
switch (alt174) {
case 1 :
// InternalOCLinEcore.g:7576:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
{
// InternalOCLinEcore.g:7576:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
// InternalOCLinEcore.g:7577:3: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_1_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeExpCSRule());
}
set(
current,
"ownedMultiplicity",
lv_ownedMultiplicity_1_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeExpCS"
// $ANTLR start "entryRuleExpCS"
// InternalOCLinEcore.g:7601:1: entryRuleExpCS returns [EObject current=null] : iv_ruleExpCS= ruleExpCS EOF ;
public final EObject entryRuleExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleExpCS = null;
try {
// InternalOCLinEcore.g:7602:2: (iv_ruleExpCS= ruleExpCS EOF )
// InternalOCLinEcore.g:7603:2: iv_ruleExpCS= ruleExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleExpCS=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExpCS"
// $ANTLR start "ruleExpCS"
// InternalOCLinEcore.g:7610:1: ruleExpCS returns [EObject current=null] : ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS ) ;
public final EObject ruleExpCS() throws RecognitionException {
EObject current = null;
EObject this_PrefixedPrimaryExpCS_0 = null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedRight_3_0 = null;
EObject this_PrefixedLetExpCS_4 = null;
enterRule();
try {
// InternalOCLinEcore.g:7613:28: ( ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS ) )
// InternalOCLinEcore.g:7614:1: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )
{
// InternalOCLinEcore.g:7614:1: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )
int alt176=2;
alt176 = dfa176.predict(input);
switch (alt176) {
case 1 :
// InternalOCLinEcore.g:7614:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
{
// InternalOCLinEcore.g:7614:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
// InternalOCLinEcore.g:7615:2: this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getPrefixedPrimaryExpCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_107);
this_PrefixedPrimaryExpCS_0=rulePrefixedPrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrefixedPrimaryExpCS_0;
afterParserOrEnumRuleCall();
}
// InternalOCLinEcore.g:7626:1: ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
int alt175=2;
int LA175_0 = input.LA(1);
if ( (LA175_0==18||LA175_0==62||(LA175_0>=81 && LA175_0<=82)||(LA175_0>=85 && LA175_0<=102)) ) {
alt175=1;
}
switch (alt175) {
case 1 :
// InternalOCLinEcore.g:7626:2: () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) )
{
// InternalOCLinEcore.g:7626:2: ()
// InternalOCLinEcore.g:7627:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpCSAccess().getInfixExpCSOwnedLeftAction_0_1_0(),
current);
}
}
// InternalOCLinEcore.g:7635:2: ( (lv_name_2_0= ruleBinaryOperatorName ) )
// InternalOCLinEcore.g:7636:1: (lv_name_2_0= ruleBinaryOperatorName )
{
// InternalOCLinEcore.g:7636:1: (lv_name_2_0= ruleBinaryOperatorName )
// InternalOCLinEcore.g:7637:3: lv_name_2_0= ruleBinaryOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getNameBinaryOperatorNameParserRuleCall_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_100);
lv_name_2_0=ruleBinaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.BinaryOperatorName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:7653:2: ( (lv_ownedRight_3_0= ruleExpCS ) )
// InternalOCLinEcore.g:7654:1: (lv_ownedRight_3_0= ruleExpCS )
{
// InternalOCLinEcore.g:7654:1: (lv_ownedRight_3_0= ruleExpCS )
// InternalOCLinEcore.g:7655:3: lv_ownedRight_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getOwnedRightExpCSParserRuleCall_0_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedRight_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpCSRule());
}
set(
current,
"ownedRight",
lv_ownedRight_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:7673:2: this_PrefixedLetExpCS_4= rulePrefixedLetExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getPrefixedLetExpCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_PrefixedLetExpCS_4=rulePrefixedLetExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrefixedLetExpCS_4;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExpCS"
// $ANTLR start "entryRulePrefixedLetExpCS"
// InternalOCLinEcore.g:7692:1: entryRulePrefixedLetExpCS returns [EObject current=null] : iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF ;
public final EObject entryRulePrefixedLetExpCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrefixedLetExpCS = null;
try {
// InternalOCLinEcore.g:7693:2: (iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF )
// InternalOCLinEcore.g:7694:2: iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedLetExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrefixedLetExpCS=rulePrefixedLetExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrefixedLetExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrefixedLetExpCS"
// $ANTLR start "rulePrefixedLetExpCS"
// InternalOCLinEcore.g:7701:1: rulePrefixedLetExpCS returns [EObject current=null] : ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS ) ;
public final EObject rulePrefixedLetExpCS() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_ownedRight_2_0 = null;
EObject this_LetExpCS_3 = null;
enterRule();
try {
// InternalOCLinEcore.g:7704:28: ( ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS ) )
// InternalOCLinEcore.g:7705:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS )
{
// InternalOCLinEcore.g:7705:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS )
int alt177=2;
int LA177_0 = input.LA(1);
if ( (LA177_0==18||(LA177_0>=83 && LA177_0<=84)) ) {
alt177=1;
}
else if ( (LA177_0==139) ) {
alt177=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 177, 0, input);
throw nvae;
}
switch (alt177) {
case 1 :
// InternalOCLinEcore.g:7705:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) )
{
// InternalOCLinEcore.g:7705:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) )
// InternalOCLinEcore.g:7705:3: () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) )
{
// InternalOCLinEcore.g:7705:3: ()
// InternalOCLinEcore.g:7706:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getPrefixedLetExpCSAccess().getPrefixExpCSAction_0_0(),
current);
}
}
// InternalOCLinEcore.g:7714:2: ( (lv_name_1_0= ruleUnaryOperatorName ) )
// InternalOCLinEcore.g:7715:1: (lv_name_1_0= ruleUnaryOperatorName )
{
// InternalOCLinEcore.g:7715:1: (lv_name_1_0= ruleUnaryOperatorName )
// InternalOCLinEcore.g:7716:3: lv_name_1_0= ruleUnaryOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getNameUnaryOperatorNameParserRuleCall_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_100);
lv_name_1_0=ruleUnaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrefixedLetExpCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.UnaryOperatorName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:7732:2: ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) )
// InternalOCLinEcore.g:7733:1: (lv_ownedRight_2_0= rulePrefixedLetExpCS )
{
// InternalOCLinEcore.g:7733:1: (lv_ownedRight_2_0= rulePrefixedLetExpCS )
// InternalOCLinEcore.g:7734:3: lv_ownedRight_2_0= rulePrefixedLetExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getOwnedRightPrefixedLetExpCSParserRuleCall_0_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedRight_2_0=rulePrefixedLetExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrefixedLetExpCSRule());
}
set(
current,
"ownedRight",
lv_ownedRight_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PrefixedLetExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:7752:2: this_LetExpCS_3= ruleLetExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getLetExpCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_LetExpCS_3=ruleLetExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_LetExpCS_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrefixedLetExpCS"
// $ANTLR start "entryRulePrefixedPrimaryExpCS"
// InternalOCLinEcore.g:7771:1: entryRulePrefixedPrimaryExpCS returns [EObject current=null] : iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF ;
public final EObject entryRulePrefixedPrimaryExpCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrefixedPrimaryExpCS = null;
try {
// InternalOCLinEcore.g:7772:2: (iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF )
// InternalOCLinEcore.g:7773:2: iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrefixedPrimaryExpCS=rulePrefixedPrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrefixedPrimaryExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrefixedPrimaryExpCS"
// $ANTLR start "rulePrefixedPrimaryExpCS"
// InternalOCLinEcore.g:7780:1: rulePrefixedPrimaryExpCS returns [EObject current=null] : ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS ) ;
public final EObject rulePrefixedPrimaryExpCS() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_ownedRight_2_0 = null;
EObject this_PrimaryExpCS_3 = null;
enterRule();
try {
// InternalOCLinEcore.g:7783:28: ( ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS ) )
// InternalOCLinEcore.g:7784:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS )
{
// InternalOCLinEcore.g:7784:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS )
int alt178=2;
int LA178_0 = input.LA(1);
if ( (LA178_0==18||(LA178_0>=83 && LA178_0<=84)) ) {
alt178=1;
}
else if ( ((LA178_0>=RULE_INT && LA178_0<=RULE_SINGLE_QUOTED_STRING)||(LA178_0>=RULE_SIMPLE_ID && LA178_0<=RULE_ESCAPED_ID)||LA178_0==17||(LA178_0>=19 && LA178_0<=54)||LA178_0==58||LA178_0==71||(LA178_0>=73 && LA178_0<=74)||LA178_0==76||LA178_0==80||LA178_0==85||(LA178_0>=103 && LA178_0<=104)||(LA178_0>=106 && LA178_0<=118)||LA178_0==121||(LA178_0>=124 && LA178_0<=127)||LA178_0==134||LA178_0==140) ) {
alt178=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 178, 0, input);
throw nvae;
}
switch (alt178) {
case 1 :
// InternalOCLinEcore.g:7784:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) )
{
// InternalOCLinEcore.g:7784:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) )
// InternalOCLinEcore.g:7784:3: () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) )
{
// InternalOCLinEcore.g:7784:3: ()
// InternalOCLinEcore.g:7785:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getPrefixedPrimaryExpCSAccess().getPrefixExpCSAction_0_0(),
current);
}
}
// InternalOCLinEcore.g:7793:2: ( (lv_name_1_0= ruleUnaryOperatorName ) )
// InternalOCLinEcore.g:7794:1: (lv_name_1_0= ruleUnaryOperatorName )
{
// InternalOCLinEcore.g:7794:1: (lv_name_1_0= ruleUnaryOperatorName )
// InternalOCLinEcore.g:7795:3: lv_name_1_0= ruleUnaryOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getNameUnaryOperatorNameParserRuleCall_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_29);
lv_name_1_0=ruleUnaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrefixedPrimaryExpCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.UnaryOperatorName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:7811:2: ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) )
// InternalOCLinEcore.g:7812:1: (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS )
{
// InternalOCLinEcore.g:7812:1: (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS )
// InternalOCLinEcore.g:7813:3: lv_ownedRight_2_0= rulePrefixedPrimaryExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getOwnedRightPrefixedPrimaryExpCSParserRuleCall_0_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedRight_2_0=rulePrefixedPrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrefixedPrimaryExpCSRule());
}
set(
current,
"ownedRight",
lv_ownedRight_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PrefixedPrimaryExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:7831:2: this_PrimaryExpCS_3= rulePrimaryExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getPrimaryExpCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_PrimaryExpCS_3=rulePrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrimaryExpCS_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrefixedPrimaryExpCS"
// $ANTLR start "entryRulePrimaryExpCS"
// InternalOCLinEcore.g:7850:1: entryRulePrimaryExpCS returns [EObject current=null] : iv_rulePrimaryExpCS= rulePrimaryExpCS EOF ;
public final EObject entryRulePrimaryExpCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimaryExpCS = null;
try {
// InternalOCLinEcore.g:7851:2: (iv_rulePrimaryExpCS= rulePrimaryExpCS EOF )
// InternalOCLinEcore.g:7852:2: iv_rulePrimaryExpCS= rulePrimaryExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrimaryExpCS=rulePrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimaryExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimaryExpCS"
// $ANTLR start "rulePrimaryExpCS"
// InternalOCLinEcore.g:7859:1: rulePrimaryExpCS returns [EObject current=null] : (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_MapLiteralExpCS_5= ruleMapLiteralExpCS | this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS | this_NameExpCS_9= ruleNameExpCS ) ;
public final EObject rulePrimaryExpCS() throws RecognitionException {
EObject current = null;
EObject this_NestedExpCS_0 = null;
EObject this_IfExpCS_1 = null;
EObject this_SelfExpCS_2 = null;
EObject this_PrimitiveLiteralExpCS_3 = null;
EObject this_TupleLiteralExpCS_4 = null;
EObject this_MapLiteralExpCS_5 = null;
EObject this_CollectionLiteralExpCS_6 = null;
EObject this_LambdaLiteralExpCS_7 = null;
EObject this_TypeLiteralExpCS_8 = null;
EObject this_NameExpCS_9 = null;
enterRule();
try {
// InternalOCLinEcore.g:7862:28: ( (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_MapLiteralExpCS_5= ruleMapLiteralExpCS | this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS | this_NameExpCS_9= ruleNameExpCS ) )
// InternalOCLinEcore.g:7863:1: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_MapLiteralExpCS_5= ruleMapLiteralExpCS | this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS | this_NameExpCS_9= ruleNameExpCS )
{
// InternalOCLinEcore.g:7863:1: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_MapLiteralExpCS_5= ruleMapLiteralExpCS | this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS | this_NameExpCS_9= ruleNameExpCS )
int alt179=10;
alt179 = dfa179.predict(input);
switch (alt179) {
case 1 :
// InternalOCLinEcore.g:7864:2: this_NestedExpCS_0= ruleNestedExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_NestedExpCS_0=ruleNestedExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_NestedExpCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:7877:2: this_IfExpCS_1= ruleIfExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_IfExpCS_1=ruleIfExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_IfExpCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalOCLinEcore.g:7890:2: this_SelfExpCS_2= ruleSelfExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_SelfExpCS_2=ruleSelfExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_SelfExpCS_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalOCLinEcore.g:7903:2: this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_2);
this_PrimitiveLiteralExpCS_3=rulePrimitiveLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrimitiveLiteralExpCS_3;
afterParserOrEnumRuleCall();
}
}
break;
case 5 :
// InternalOCLinEcore.g:7916:2: this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_4());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TupleLiteralExpCS_4=ruleTupleLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TupleLiteralExpCS_4;
afterParserOrEnumRuleCall();
}
}
break;
case 6 :
// InternalOCLinEcore.g:7929:2: this_MapLiteralExpCS_5= ruleMapLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getMapLiteralExpCSParserRuleCall_5());
}
pushFollow(FollowSets000.FOLLOW_2);
this_MapLiteralExpCS_5=ruleMapLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_MapLiteralExpCS_5;
afterParserOrEnumRuleCall();
}
}
break;
case 7 :
// InternalOCLinEcore.g:7942:2: this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_6());
}
pushFollow(FollowSets000.FOLLOW_2);
this_CollectionLiteralExpCS_6=ruleCollectionLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_CollectionLiteralExpCS_6;
afterParserOrEnumRuleCall();
}
}
break;
case 8 :
// InternalOCLinEcore.g:7955:2: this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getLambdaLiteralExpCSParserRuleCall_7());
}
pushFollow(FollowSets000.FOLLOW_2);
this_LambdaLiteralExpCS_7=ruleLambdaLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_LambdaLiteralExpCS_7;
afterParserOrEnumRuleCall();
}
}
break;
case 9 :
// InternalOCLinEcore.g:7968:2: this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_8());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypeLiteralExpCS_8=ruleTypeLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeLiteralExpCS_8;
afterParserOrEnumRuleCall();
}
}
break;
case 10 :
// InternalOCLinEcore.g:7981:2: this_NameExpCS_9= ruleNameExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNameExpCSParserRuleCall_9());
}
pushFollow(FollowSets000.FOLLOW_2);
this_NameExpCS_9=ruleNameExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_NameExpCS_9;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrimaryExpCS"
// $ANTLR start "entryRuleNameExpCS"
// InternalOCLinEcore.g:8000:1: entryRuleNameExpCS returns [EObject current=null] : iv_ruleNameExpCS= ruleNameExpCS EOF ;
public final EObject entryRuleNameExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNameExpCS = null;
try {
// InternalOCLinEcore.g:8001:2: (iv_ruleNameExpCS= ruleNameExpCS EOF )
// InternalOCLinEcore.g:8002:2: iv_ruleNameExpCS= ruleNameExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNameExpCS=ruleNameExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNameExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNameExpCS"
// $ANTLR start "ruleNameExpCS"
// InternalOCLinEcore.g:8009:1: ruleNameExpCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? ) ;
public final EObject ruleNameExpCS() throws RecognitionException {
EObject current = null;
Token lv_isPre_4_0=null;
Token otherlv_5=null;
EObject lv_ownedPathName_0_0 = null;
EObject lv_ownedSquareBracketedClauses_1_0 = null;
EObject lv_ownedRoundBracketedClause_2_0 = null;
EObject lv_ownedCurlyBracketedClause_3_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:8012:28: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? ) )
// InternalOCLinEcore.g:8013:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? )
{
// InternalOCLinEcore.g:8013:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? )
// InternalOCLinEcore.g:8013:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )?
{
// InternalOCLinEcore.g:8013:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
// InternalOCLinEcore.g:8014:1: (lv_ownedPathName_0_0= rulePathNameCS )
{
// InternalOCLinEcore.g:8014:1: (lv_ownedPathName_0_0= rulePathNameCS )
// InternalOCLinEcore.g:8015:3: lv_ownedPathName_0_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_108);
lv_ownedPathName_0_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNameExpCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_0_0,
"org.eclipse.ocl.xtext.base.Base.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8031:2: ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )*
loop180:
do {
int alt180=2;
int LA180_0 = input.LA(1);
if ( (LA180_0==130) ) {
alt180=1;
}
switch (alt180) {
case 1 :
// InternalOCLinEcore.g:8032:1: (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS )
{
// InternalOCLinEcore.g:8032:1: (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS )
// InternalOCLinEcore.g:8033:3: lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedSquareBracketedClausesSquareBracketedClauseCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_108);
lv_ownedSquareBracketedClauses_1_0=ruleSquareBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNameExpCSRule());
}
add(
current,
"ownedSquareBracketedClauses",
lv_ownedSquareBracketedClauses_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.SquareBracketedClauseCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop180;
}
} while (true);
// InternalOCLinEcore.g:8049:3: ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )?
int alt181=2;
int LA181_0 = input.LA(1);
if ( (LA181_0==54) ) {
alt181=1;
}
switch (alt181) {
case 1 :
// InternalOCLinEcore.g:8050:1: (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS )
{
// InternalOCLinEcore.g:8050:1: (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS )
// InternalOCLinEcore.g:8051:3: lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedRoundBracketedClauseRoundBracketedClauseCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_109);
lv_ownedRoundBracketedClause_2_0=ruleRoundBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNameExpCSRule());
}
set(
current,
"ownedRoundBracketedClause",
lv_ownedRoundBracketedClause_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.RoundBracketedClauseCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalOCLinEcore.g:8067:3: ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )?
int alt182=2;
int LA182_0 = input.LA(1);
if ( (LA182_0==60) ) {
alt182=1;
}
switch (alt182) {
case 1 :
// InternalOCLinEcore.g:8068:1: (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS )
{
// InternalOCLinEcore.g:8068:1: (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS )
// InternalOCLinEcore.g:8069:3: lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedCurlyBracketedClauseCurlyBracketedClauseCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_110);
lv_ownedCurlyBracketedClause_3_0=ruleCurlyBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNameExpCSRule());
}
set(
current,
"ownedCurlyBracketedClause",
lv_ownedCurlyBracketedClause_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CurlyBracketedClauseCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalOCLinEcore.g:8085:3: ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )?
int alt183=2;
int LA183_0 = input.LA(1);
if ( (LA183_0==128) ) {
alt183=1;
}
switch (alt183) {
case 1 :
// InternalOCLinEcore.g:8085:4: ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre'
{
// InternalOCLinEcore.g:8085:4: ( (lv_isPre_4_0= '@' ) )
// InternalOCLinEcore.g:8086:1: (lv_isPre_4_0= '@' )
{
// InternalOCLinEcore.g:8086:1: (lv_isPre_4_0= '@' )
// InternalOCLinEcore.g:8087:3: lv_isPre_4_0= '@'
{
lv_isPre_4_0=(Token)match(input,128,FollowSets000.FOLLOW_111); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isPre_4_0, grammarAccess.getNameExpCSAccess().getIsPreCommercialAtKeyword_4_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getNameExpCSRule());
}
setWithLastConsumed(current, "isPre", true, "@");
}
}
}
otherlv_5=(Token)match(input,129,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getNameExpCSAccess().getPreKeyword_4_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNameExpCS"
// $ANTLR start "entryRuleCurlyBracketedClauseCS"
// InternalOCLinEcore.g:8112:1: entryRuleCurlyBracketedClauseCS returns [EObject current=null] : iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF ;
public final EObject entryRuleCurlyBracketedClauseCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCurlyBracketedClauseCS = null;
try {
// InternalOCLinEcore.g:8113:2: (iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF )
// InternalOCLinEcore.g:8114:2: iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCurlyBracketedClauseCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCurlyBracketedClauseCS=ruleCurlyBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCurlyBracketedClauseCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCurlyBracketedClauseCS"
// $ANTLR start "ruleCurlyBracketedClauseCS"
// InternalOCLinEcore.g:8121:1: ruleCurlyBracketedClauseCS returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? otherlv_5= '}' ) ;
public final EObject ruleCurlyBracketedClauseCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_ownedParts_2_0 = null;
EObject lv_ownedParts_4_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:8124:28: ( ( () otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? otherlv_5= '}' ) )
// InternalOCLinEcore.g:8125:1: ( () otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? otherlv_5= '}' )
{
// InternalOCLinEcore.g:8125:1: ( () otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? otherlv_5= '}' )
// InternalOCLinEcore.g:8125:2: () otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? otherlv_5= '}'
{
// InternalOCLinEcore.g:8125:2: ()
// InternalOCLinEcore.g:8126:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getCurlyBracketedClauseCSAccess().getCurlyBracketedClauseCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_84); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCurlyBracketedClauseCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalOCLinEcore.g:8138:1: ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )?
int alt185=2;
int LA185_0 = input.LA(1);
if ( (LA185_0==RULE_SINGLE_QUOTED_STRING||(LA185_0>=RULE_SIMPLE_ID && LA185_0<=RULE_ESCAPED_ID)||LA185_0==17||(LA185_0>=19 && LA185_0<=53)||LA185_0==58||LA185_0==71||(LA185_0>=73 && LA185_0<=74)||LA185_0==76||LA185_0==80) ) {
alt185=1;
}
switch (alt185) {
case 1 :
// InternalOCLinEcore.g:8138:2: ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )*
{
// InternalOCLinEcore.g:8138:2: ( (lv_ownedParts_2_0= ruleShadowPartCS ) )
// InternalOCLinEcore.g:8139:1: (lv_ownedParts_2_0= ruleShadowPartCS )
{
// InternalOCLinEcore.g:8139:1: (lv_ownedParts_2_0= ruleShadowPartCS )
// InternalOCLinEcore.g:8140:3: lv_ownedParts_2_0= ruleShadowPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsShadowPartCSParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_97);
lv_ownedParts_2_0=ruleShadowPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCurlyBracketedClauseCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ShadowPartCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8156:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )*
loop184:
do {
int alt184=2;
int LA184_0 = input.LA(1);
if ( (LA184_0==59) ) {
alt184=1;
}
switch (alt184) {
case 1 :
// InternalOCLinEcore.g:8156:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) )
{
otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getCurlyBracketedClauseCSAccess().getCommaKeyword_2_1_0());
}
// InternalOCLinEcore.g:8160:1: ( (lv_ownedParts_4_0= ruleShadowPartCS ) )
// InternalOCLinEcore.g:8161:1: (lv_ownedParts_4_0= ruleShadowPartCS )
{
// InternalOCLinEcore.g:8161:1: (lv_ownedParts_4_0= ruleShadowPartCS )
// InternalOCLinEcore.g:8162:3: lv_ownedParts_4_0= ruleShadowPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsShadowPartCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_97);
lv_ownedParts_4_0=ruleShadowPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCurlyBracketedClauseCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ShadowPartCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop184;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getCurlyBracketedClauseCSAccess().getRightCurlyBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCurlyBracketedClauseCS"
// $ANTLR start "entryRuleRoundBracketedClauseCS"
// InternalOCLinEcore.g:8190:1: entryRuleRoundBracketedClauseCS returns [EObject current=null] : iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF ;
public final EObject entryRuleRoundBracketedClauseCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleRoundBracketedClauseCS = null;
try {
// InternalOCLinEcore.g:8191:2: (iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF )
// InternalOCLinEcore.g:8192:2: iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundBracketedClauseCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleRoundBracketedClauseCS=ruleRoundBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRoundBracketedClauseCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRoundBracketedClauseCS"
// $ANTLR start "ruleRoundBracketedClauseCS"
// InternalOCLinEcore.g:8199:1: ruleRoundBracketedClauseCS returns [EObject current=null] : ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )? otherlv_4= ')' ) ;
public final EObject ruleRoundBracketedClauseCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_4=null;
EObject lv_ownedArguments_2_0 = null;
EObject lv_ownedArguments_3_1 = null;
EObject lv_ownedArguments_3_2 = null;
EObject lv_ownedArguments_3_3 = null;
enterRule();
try {
// InternalOCLinEcore.g:8202:28: ( ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )? otherlv_4= ')' ) )
// InternalOCLinEcore.g:8203:1: ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )? otherlv_4= ')' )
{
// InternalOCLinEcore.g:8203:1: ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )? otherlv_4= ')' )
// InternalOCLinEcore.g:8203:2: () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )? otherlv_4= ')'
{
// InternalOCLinEcore.g:8203:2: ()
// InternalOCLinEcore.g:8204:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getRoundBracketedClauseCSAccess().getRoundBracketedClauseCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,54,FollowSets000.FOLLOW_112); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getRoundBracketedClauseCSAccess().getLeftParenthesisKeyword_1());
}
// InternalOCLinEcore.g:8216:1: ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )?
int alt188=2;
int LA188_0 = input.LA(1);
if ( ((LA188_0>=RULE_INT && LA188_0<=RULE_SINGLE_QUOTED_STRING)||(LA188_0>=RULE_SIMPLE_ID && LA188_0<=RULE_ESCAPED_ID)||(LA188_0>=17 && LA188_0<=54)||LA188_0==56||LA188_0==58||LA188_0==71||(LA188_0>=73 && LA188_0<=74)||LA188_0==76||LA188_0==80||(LA188_0>=83 && LA188_0<=85)||(LA188_0>=103 && LA188_0<=104)||(LA188_0>=106 && LA188_0<=118)||LA188_0==121||(LA188_0>=124 && LA188_0<=127)||LA188_0==134||(LA188_0>=139 && LA188_0<=140)) ) {
alt188=1;
}
switch (alt188) {
case 1 :
// InternalOCLinEcore.g:8216:2: ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )*
{
// InternalOCLinEcore.g:8216:2: ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) )
// InternalOCLinEcore.g:8217:1: (lv_ownedArguments_2_0= ruleNavigatingArgCS )
{
// InternalOCLinEcore.g:8217:1: (lv_ownedArguments_2_0= ruleNavigatingArgCS )
// InternalOCLinEcore.g:8218:3: lv_ownedArguments_2_0= ruleNavigatingArgCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingArgCSParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_113);
lv_ownedArguments_2_0=ruleNavigatingArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule());
}
add(
current,
"ownedArguments",
lv_ownedArguments_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingArgCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8234:2: ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )*
loop187:
do {
int alt187=2;
int LA187_0 = input.LA(1);
if ( (LA187_0==57||LA187_0==59||LA187_0==133) ) {
alt187=1;
}
switch (alt187) {
case 1 :
// InternalOCLinEcore.g:8235:1: ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) )
{
// InternalOCLinEcore.g:8235:1: ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) )
// InternalOCLinEcore.g:8236:1: (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS )
{
// InternalOCLinEcore.g:8236:1: (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS )
int alt186=3;
switch ( input.LA(1) ) {
case 59:
{
alt186=1;
}
break;
case 57:
{
alt186=2;
}
break;
case 133:
{
alt186=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 186, 0, input);
throw nvae;
}
switch (alt186) {
case 1 :
// InternalOCLinEcore.g:8237:3: lv_ownedArguments_3_1= ruleNavigatingCommaArgCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingCommaArgCSParserRuleCall_2_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_113);
lv_ownedArguments_3_1=ruleNavigatingCommaArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule());
}
add(
current,
"ownedArguments",
lv_ownedArguments_3_1,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingCommaArgCS");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:8252:8: lv_ownedArguments_3_2= ruleNavigatingSemiArgCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingSemiArgCSParserRuleCall_2_1_0_1());
}
pushFollow(FollowSets000.FOLLOW_113);
lv_ownedArguments_3_2=ruleNavigatingSemiArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule());
}
add(
current,
"ownedArguments",
lv_ownedArguments_3_2,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingSemiArgCS");
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalOCLinEcore.g:8267:8: lv_ownedArguments_3_3= ruleNavigatingBarArgCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingBarArgCSParserRuleCall_2_1_0_2());
}
pushFollow(FollowSets000.FOLLOW_113);
lv_ownedArguments_3_3=ruleNavigatingBarArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule());
}
add(
current,
"ownedArguments",
lv_ownedArguments_3_3,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingBarArgCS");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
break;
default :
break loop187;
}
} while (true);
}
break;
}
otherlv_4=(Token)match(input,55,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getRoundBracketedClauseCSAccess().getRightParenthesisKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRoundBracketedClauseCS"
// $ANTLR start "entryRuleSquareBracketedClauseCS"
// InternalOCLinEcore.g:8297:1: entryRuleSquareBracketedClauseCS returns [EObject current=null] : iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF ;
public final EObject entryRuleSquareBracketedClauseCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleSquareBracketedClauseCS = null;
try {
// InternalOCLinEcore.g:8298:2: (iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF )
// InternalOCLinEcore.g:8299:2: iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSquareBracketedClauseCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSquareBracketedClauseCS=ruleSquareBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSquareBracketedClauseCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSquareBracketedClauseCS"
// $ANTLR start "ruleSquareBracketedClauseCS"
// InternalOCLinEcore.g:8306:1: ruleSquareBracketedClauseCS returns [EObject current=null] : (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' ) ;
public final EObject ruleSquareBracketedClauseCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedTerms_1_0 = null;
EObject lv_ownedTerms_3_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:8309:28: ( (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' ) )
// InternalOCLinEcore.g:8310:1: (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' )
{
// InternalOCLinEcore.g:8310:1: (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' )
// InternalOCLinEcore.g:8310:3: otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']'
{
otherlv_0=(Token)match(input,130,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getSquareBracketedClauseCSAccess().getLeftSquareBracketKeyword_0());
}
// InternalOCLinEcore.g:8314:1: ( (lv_ownedTerms_1_0= ruleExpCS ) )
// InternalOCLinEcore.g:8315:1: (lv_ownedTerms_1_0= ruleExpCS )
{
// InternalOCLinEcore.g:8315:1: (lv_ownedTerms_1_0= ruleExpCS )
// InternalOCLinEcore.g:8316:3: lv_ownedTerms_1_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_114);
lv_ownedTerms_1_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSquareBracketedClauseCSRule());
}
add(
current,
"ownedTerms",
lv_ownedTerms_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8332:2: (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )*
loop189:
do {
int alt189=2;
int LA189_0 = input.LA(1);
if ( (LA189_0==59) ) {
alt189=1;
}
switch (alt189) {
case 1 :
// InternalOCLinEcore.g:8332:4: otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) )
{
otherlv_2=(Token)match(input,59,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getSquareBracketedClauseCSAccess().getCommaKeyword_2_0());
}
// InternalOCLinEcore.g:8336:1: ( (lv_ownedTerms_3_0= ruleExpCS ) )
// InternalOCLinEcore.g:8337:1: (lv_ownedTerms_3_0= ruleExpCS )
{
// InternalOCLinEcore.g:8337:1: (lv_ownedTerms_3_0= ruleExpCS )
// InternalOCLinEcore.g:8338:3: lv_ownedTerms_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsExpCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_114);
lv_ownedTerms_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSquareBracketedClauseCSRule());
}
add(
current,
"ownedTerms",
lv_ownedTerms_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop189;
}
} while (true);
otherlv_4=(Token)match(input,131,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getSquareBracketedClauseCSAccess().getRightSquareBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSquareBracketedClauseCS"
// $ANTLR start "entryRuleNavigatingArgCS"
// InternalOCLinEcore.g:8366:1: entryRuleNavigatingArgCS returns [EObject current=null] : iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF ;
public final EObject entryRuleNavigatingArgCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNavigatingArgCS = null;
try {
// InternalOCLinEcore.g:8367:2: (iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF )
// InternalOCLinEcore.g:8368:2: iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigatingArgCS=ruleNavigatingArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigatingArgCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigatingArgCS"
// $ANTLR start "ruleNavigatingArgCS"
// InternalOCLinEcore.g:8375:1: ruleNavigatingArgCS returns [EObject current=null] : ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? ) | ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) ) )? ) | (otherlv_20= ':' ( (lv_ownedType_21_0= ruleTypeExpCS ) ) ) ) ;
public final EObject ruleNavigatingArgCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_13=null;
Token otherlv_15=null;
Token otherlv_16=null;
Token otherlv_18=null;
Token otherlv_20=null;
EObject lv_ownedNameExpression_0_0 = null;
EObject lv_ownedCoIterator_3_0 = null;
EObject lv_ownedInitExpression_5_0 = null;
EObject lv_ownedType_7_0 = null;
EObject lv_ownedCoIterator_10_0 = null;
EObject lv_ownedInitExpression_12_0 = null;
EObject lv_ownedType_14_0 = null;
EObject lv_ownedCoIterator_17_0 = null;
EObject lv_ownedInitExpression_19_0 = null;
EObject lv_ownedType_21_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:8378:28: ( ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? ) | ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) ) )? ) | (otherlv_20= ':' ( (lv_ownedType_21_0= ruleTypeExpCS ) ) ) ) )
// InternalOCLinEcore.g:8379:1: ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? ) | ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) ) )? ) | (otherlv_20= ':' ( (lv_ownedType_21_0= ruleTypeExpCS ) ) ) )
{
// InternalOCLinEcore.g:8379:1: ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? ) | ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) ) )? ) | (otherlv_20= ':' ( (lv_ownedType_21_0= ruleTypeExpCS ) ) ) )
int alt199=2;
int LA199_0 = input.LA(1);
if ( ((LA199_0>=RULE_INT && LA199_0<=RULE_SINGLE_QUOTED_STRING)||(LA199_0>=RULE_SIMPLE_ID && LA199_0<=RULE_ESCAPED_ID)||(LA199_0>=17 && LA199_0<=54)||LA199_0==58||LA199_0==71||(LA199_0>=73 && LA199_0<=74)||LA199_0==76||LA199_0==80||(LA199_0>=83 && LA199_0<=85)||(LA199_0>=103 && LA199_0<=104)||(LA199_0>=106 && LA199_0<=118)||LA199_0==121||(LA199_0>=124 && LA199_0<=127)||LA199_0==134||(LA199_0>=139 && LA199_0<=140)) ) {
alt199=1;
}
else if ( (LA199_0==56) ) {
alt199=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 199, 0, input);
throw nvae;
}
switch (alt199) {
case 1 :
// InternalOCLinEcore.g:8379:2: ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? ) | ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) ) )? )
{
// InternalOCLinEcore.g:8379:2: ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? ) | ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) ) )? )
// InternalOCLinEcore.g:8379:3: ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? ) | ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) ) )?
{
// InternalOCLinEcore.g:8379:3: ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) )
// InternalOCLinEcore.g:8380:1: (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS )
{
// InternalOCLinEcore.g:8380:1: (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS )
// InternalOCLinEcore.g:8381:3: lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_115);
lv_ownedNameExpression_0_0=ruleNavigatingArgExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedNameExpression",
lv_ownedNameExpression_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingArgExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8397:2: ( ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? ) | ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) ) )?
int alt198=4;
alt198 = dfa198.predict(input);
switch (alt198) {
case 1 :
// InternalOCLinEcore.g:8397:3: ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
{
// InternalOCLinEcore.g:8397:3: ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
// InternalOCLinEcore.g:8397:4: (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
{
// InternalOCLinEcore.g:8397:4: (otherlv_1= 'with' | otherlv_2= '<-' )
int alt190=2;
int LA190_0 = input.LA(1);
if ( (LA190_0==122) ) {
alt190=1;
}
else if ( (LA190_0==123) ) {
alt190=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 190, 0, input);
throw nvae;
}
switch (alt190) {
case 1 :
// InternalOCLinEcore.g:8397:6: otherlv_1= 'with'
{
otherlv_1=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getNavigatingArgCSAccess().getWithKeyword_0_1_0_0_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:8402:7: otherlv_2= '<-'
{
otherlv_2=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getNavigatingArgCSAccess().getLessThanSignHyphenMinusKeyword_0_1_0_0_1());
}
}
break;
}
// InternalOCLinEcore.g:8406:2: ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8407:1: (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8407:1: (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8408:3: lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_ownedCoIterator_3_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8424:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
int alt191=2;
int LA191_0 = input.LA(1);
if ( (LA191_0==62) ) {
alt191=1;
}
switch (alt191) {
case 1 :
// InternalOCLinEcore.g:8424:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
{
otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_0_1_0_2_0());
}
// InternalOCLinEcore.g:8428:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
// InternalOCLinEcore.g:8429:1: (lv_ownedInitExpression_5_0= ruleExpCS )
{
// InternalOCLinEcore.g:8429:1: (lv_ownedInitExpression_5_0= ruleExpCS )
// InternalOCLinEcore.g:8430:3: lv_ownedInitExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_0_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_5_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:8447:6: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? )
{
// InternalOCLinEcore.g:8447:6: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? )
// InternalOCLinEcore.g:8447:8: otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )?
{
otherlv_6=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_0_1_1_0());
}
// InternalOCLinEcore.g:8451:1: ( (lv_ownedType_7_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:8452:1: (lv_ownedType_7_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:8452:1: (lv_ownedType_7_0= ruleTypeExpCS )
// InternalOCLinEcore.g:8453:3: lv_ownedType_7_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_0_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_117);
lv_ownedType_7_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedType",
lv_ownedType_7_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8469:2: ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )?
int alt193=2;
int LA193_0 = input.LA(1);
if ( ((LA193_0>=122 && LA193_0<=123)) ) {
alt193=1;
}
switch (alt193) {
case 1 :
// InternalOCLinEcore.g:8469:3: (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) )
{
// InternalOCLinEcore.g:8469:3: (otherlv_8= 'with' | otherlv_9= '<-' )
int alt192=2;
int LA192_0 = input.LA(1);
if ( (LA192_0==122) ) {
alt192=1;
}
else if ( (LA192_0==123) ) {
alt192=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 192, 0, input);
throw nvae;
}
switch (alt192) {
case 1 :
// InternalOCLinEcore.g:8469:5: otherlv_8= 'with'
{
otherlv_8=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getNavigatingArgCSAccess().getWithKeyword_0_1_1_2_0_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:8474:7: otherlv_9= '<-'
{
otherlv_9=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getNavigatingArgCSAccess().getLessThanSignHyphenMinusKeyword_0_1_1_2_0_1());
}
}
break;
}
// InternalOCLinEcore.g:8478:2: ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8479:1: (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8479:1: (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8480:3: lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_ownedCoIterator_10_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_10_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:8496:4: (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )?
int alt194=2;
int LA194_0 = input.LA(1);
if ( (LA194_0==62) ) {
alt194=1;
}
switch (alt194) {
case 1 :
// InternalOCLinEcore.g:8496:6: otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) )
{
otherlv_11=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_0_1_1_3_0());
}
// InternalOCLinEcore.g:8500:1: ( (lv_ownedInitExpression_12_0= ruleExpCS ) )
// InternalOCLinEcore.g:8501:1: (lv_ownedInitExpression_12_0= ruleExpCS )
{
// InternalOCLinEcore.g:8501:1: (lv_ownedInitExpression_12_0= ruleExpCS )
// InternalOCLinEcore.g:8502:3: lv_ownedInitExpression_12_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_1_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_12_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_12_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:8519:6: ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) )
{
// InternalOCLinEcore.g:8519:6: ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) )
// InternalOCLinEcore.g:8519:7: (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) )
{
// InternalOCLinEcore.g:8519:7: (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )?
int alt195=2;
int LA195_0 = input.LA(1);
if ( (LA195_0==56) ) {
alt195=1;
}
switch (alt195) {
case 1 :
// InternalOCLinEcore.g:8519:9: otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) )
{
otherlv_13=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_0_1_2_0_0());
}
// InternalOCLinEcore.g:8523:1: ( (lv_ownedType_14_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:8524:1: (lv_ownedType_14_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:8524:1: (lv_ownedType_14_0= ruleTypeExpCS )
// InternalOCLinEcore.g:8525:3: lv_ownedType_14_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_0_1_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_118);
lv_ownedType_14_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedType",
lv_ownedType_14_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:8541:4: ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )?
int alt197=2;
int LA197_0 = input.LA(1);
if ( ((LA197_0>=122 && LA197_0<=123)) ) {
alt197=1;
}
switch (alt197) {
case 1 :
// InternalOCLinEcore.g:8541:5: (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) )
{
// InternalOCLinEcore.g:8541:5: (otherlv_15= 'with' | otherlv_16= '<-' )
int alt196=2;
int LA196_0 = input.LA(1);
if ( (LA196_0==122) ) {
alt196=1;
}
else if ( (LA196_0==123) ) {
alt196=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 196, 0, input);
throw nvae;
}
switch (alt196) {
case 1 :
// InternalOCLinEcore.g:8541:7: otherlv_15= 'with'
{
otherlv_15=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getNavigatingArgCSAccess().getWithKeyword_0_1_2_1_0_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:8546:7: otherlv_16= '<-'
{
otherlv_16=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getNavigatingArgCSAccess().getLessThanSignHyphenMinusKeyword_0_1_2_1_0_1());
}
}
break;
}
// InternalOCLinEcore.g:8550:2: ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8551:1: (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8551:1: (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8552:3: lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_119);
lv_ownedCoIterator_17_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_17_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_18=(Token)match(input,132,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getNavigatingArgCSAccess().getInKeyword_0_1_2_2());
}
// InternalOCLinEcore.g:8572:1: ( (lv_ownedInitExpression_19_0= ruleExpCS ) )
// InternalOCLinEcore.g:8573:1: (lv_ownedInitExpression_19_0= ruleExpCS )
{
// InternalOCLinEcore.g:8573:1: (lv_ownedInitExpression_19_0= ruleExpCS )
// InternalOCLinEcore.g:8574:3: lv_ownedInitExpression_19_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_2_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_19_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_19_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:8591:6: (otherlv_20= ':' ( (lv_ownedType_21_0= ruleTypeExpCS ) ) )
{
// InternalOCLinEcore.g:8591:6: (otherlv_20= ':' ( (lv_ownedType_21_0= ruleTypeExpCS ) ) )
// InternalOCLinEcore.g:8591:8: otherlv_20= ':' ( (lv_ownedType_21_0= ruleTypeExpCS ) )
{
otherlv_20=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0());
}
// InternalOCLinEcore.g:8595:1: ( (lv_ownedType_21_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:8596:1: (lv_ownedType_21_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:8596:1: (lv_ownedType_21_0= ruleTypeExpCS )
// InternalOCLinEcore.g:8597:3: lv_ownedType_21_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedType_21_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedType",
lv_ownedType_21_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNavigatingArgCS"
// $ANTLR start "entryRuleNavigatingBarArgCS"
// InternalOCLinEcore.g:8621:1: entryRuleNavigatingBarArgCS returns [EObject current=null] : iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF ;
public final EObject entryRuleNavigatingBarArgCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNavigatingBarArgCS = null;
try {
// InternalOCLinEcore.g:8622:2: (iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF )
// InternalOCLinEcore.g:8623:2: iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingBarArgCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigatingBarArgCS=ruleNavigatingBarArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigatingBarArgCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigatingBarArgCS"
// $ANTLR start "ruleNavigatingBarArgCS"
// InternalOCLinEcore.g:8630:1: ruleNavigatingBarArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) ;
public final EObject ruleNavigatingBarArgCS() throws RecognitionException {
EObject current = null;
Token lv_prefix_0_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedNameExpression_1_0 = null;
EObject lv_ownedType_3_0 = null;
EObject lv_ownedInitExpression_5_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:8633:28: ( ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) )
// InternalOCLinEcore.g:8634:1: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
{
// InternalOCLinEcore.g:8634:1: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
// InternalOCLinEcore.g:8634:2: ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
{
// InternalOCLinEcore.g:8634:2: ( (lv_prefix_0_0= '|' ) )
// InternalOCLinEcore.g:8635:1: (lv_prefix_0_0= '|' )
{
// InternalOCLinEcore.g:8635:1: (lv_prefix_0_0= '|' )
// InternalOCLinEcore.g:8636:3: lv_prefix_0_0= '|'
{
lv_prefix_0_0=(Token)match(input,133,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getNavigatingBarArgCSRule());
}
setWithLastConsumed(current, "prefix", lv_prefix_0_0, "|");
}
}
}
// InternalOCLinEcore.g:8649:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
// InternalOCLinEcore.g:8650:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
{
// InternalOCLinEcore.g:8650:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
// InternalOCLinEcore.g:8651:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_120);
lv_ownedNameExpression_1_0=ruleNavigatingArgExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule());
}
set(
current,
"ownedNameExpression",
lv_ownedNameExpression_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingArgExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8667:2: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
int alt201=2;
int LA201_0 = input.LA(1);
if ( (LA201_0==56) ) {
alt201=1;
}
switch (alt201) {
case 1 :
// InternalOCLinEcore.g:8667:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
{
otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0());
}
// InternalOCLinEcore.g:8671:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:8672:1: (lv_ownedType_3_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:8672:1: (lv_ownedType_3_0= ruleTypeExpCS )
// InternalOCLinEcore.g:8673:3: lv_ownedType_3_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_ownedType_3_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule());
}
set(
current,
"ownedType",
lv_ownedType_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8689:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
int alt200=2;
int LA200_0 = input.LA(1);
if ( (LA200_0==62) ) {
alt200=1;
}
switch (alt200) {
case 1 :
// InternalOCLinEcore.g:8689:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
{
otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0());
}
// InternalOCLinEcore.g:8693:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
// InternalOCLinEcore.g:8694:1: (lv_ownedInitExpression_5_0= ruleExpCS )
{
// InternalOCLinEcore.g:8694:1: (lv_ownedInitExpression_5_0= ruleExpCS )
// InternalOCLinEcore.g:8695:3: lv_ownedInitExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_5_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNavigatingBarArgCS"
// $ANTLR start "entryRuleNavigatingCommaArgCS"
// InternalOCLinEcore.g:8719:1: entryRuleNavigatingCommaArgCS returns [EObject current=null] : iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF ;
public final EObject entryRuleNavigatingCommaArgCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNavigatingCommaArgCS = null;
try {
// InternalOCLinEcore.g:8720:2: (iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF )
// InternalOCLinEcore.g:8721:2: iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigatingCommaArgCS=ruleNavigatingCommaArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigatingCommaArgCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigatingCommaArgCS"
// $ANTLR start "ruleNavigatingCommaArgCS"
// InternalOCLinEcore.g:8728:1: ruleNavigatingCommaArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? ) | ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) ) )? ) ;
public final EObject ruleNavigatingCommaArgCS() throws RecognitionException {
EObject current = null;
Token lv_prefix_0_0=null;
Token otherlv_2=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_10=null;
Token otherlv_12=null;
Token otherlv_14=null;
Token otherlv_16=null;
Token otherlv_17=null;
Token otherlv_19=null;
EObject lv_ownedNameExpression_1_0 = null;
EObject lv_ownedCoIterator_4_0 = null;
EObject lv_ownedInitExpression_6_0 = null;
EObject lv_ownedType_8_0 = null;
EObject lv_ownedCoIterator_11_0 = null;
EObject lv_ownedInitExpression_13_0 = null;
EObject lv_ownedType_15_0 = null;
EObject lv_ownedCoIterator_18_0 = null;
EObject lv_ownedInitExpression_20_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:8731:28: ( ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? ) | ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) ) )? ) )
// InternalOCLinEcore.g:8732:1: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? ) | ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) ) )? )
{
// InternalOCLinEcore.g:8732:1: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? ) | ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) ) )? )
// InternalOCLinEcore.g:8732:2: ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? ) | ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) ) )?
{
// InternalOCLinEcore.g:8732:2: ( (lv_prefix_0_0= ',' ) )
// InternalOCLinEcore.g:8733:1: (lv_prefix_0_0= ',' )
{
// InternalOCLinEcore.g:8733:1: (lv_prefix_0_0= ',' )
// InternalOCLinEcore.g:8734:3: lv_prefix_0_0= ','
{
lv_prefix_0_0=(Token)match(input,59,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getNavigatingCommaArgCSRule());
}
setWithLastConsumed(current, "prefix", lv_prefix_0_0, ",");
}
}
}
// InternalOCLinEcore.g:8747:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
// InternalOCLinEcore.g:8748:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
{
// InternalOCLinEcore.g:8748:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
// InternalOCLinEcore.g:8749:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_115);
lv_ownedNameExpression_1_0=ruleNavigatingArgExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedNameExpression",
lv_ownedNameExpression_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingArgExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8765:2: ( ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? ) | ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) ) )?
int alt210=4;
alt210 = dfa210.predict(input);
switch (alt210) {
case 1 :
// InternalOCLinEcore.g:8765:3: ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? )
{
// InternalOCLinEcore.g:8765:3: ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? )
// InternalOCLinEcore.g:8765:4: (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )?
{
// InternalOCLinEcore.g:8765:4: (otherlv_2= 'with' | otherlv_3= '<-' )
int alt202=2;
int LA202_0 = input.LA(1);
if ( (LA202_0==122) ) {
alt202=1;
}
else if ( (LA202_0==123) ) {
alt202=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 202, 0, input);
throw nvae;
}
switch (alt202) {
case 1 :
// InternalOCLinEcore.g:8765:6: otherlv_2= 'with'
{
otherlv_2=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getNavigatingCommaArgCSAccess().getWithKeyword_2_0_0_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:8770:7: otherlv_3= '<-'
{
otherlv_3=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getNavigatingCommaArgCSAccess().getLessThanSignHyphenMinusKeyword_2_0_0_1());
}
}
break;
}
// InternalOCLinEcore.g:8774:2: ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8775:1: (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8775:1: (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8776:3: lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_ownedCoIterator_4_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8792:2: (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )?
int alt203=2;
int LA203_0 = input.LA(1);
if ( (LA203_0==62) ) {
alt203=1;
}
switch (alt203) {
case 1 :
// InternalOCLinEcore.g:8792:4: otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) )
{
otherlv_5=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_0_2_0());
}
// InternalOCLinEcore.g:8796:1: ( (lv_ownedInitExpression_6_0= ruleExpCS ) )
// InternalOCLinEcore.g:8797:1: (lv_ownedInitExpression_6_0= ruleExpCS )
{
// InternalOCLinEcore.g:8797:1: (lv_ownedInitExpression_6_0= ruleExpCS )
// InternalOCLinEcore.g:8798:3: lv_ownedInitExpression_6_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_0_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_6_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_6_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalOCLinEcore.g:8815:6: (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? )
{
// InternalOCLinEcore.g:8815:6: (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? )
// InternalOCLinEcore.g:8815:8: otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )?
{
otherlv_7=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_1_0());
}
// InternalOCLinEcore.g:8819:1: ( (lv_ownedType_8_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:8820:1: (lv_ownedType_8_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:8820:1: (lv_ownedType_8_0= ruleTypeExpCS )
// InternalOCLinEcore.g:8821:3: lv_ownedType_8_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_117);
lv_ownedType_8_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedType",
lv_ownedType_8_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:8837:2: ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )?
int alt205=2;
int LA205_0 = input.LA(1);
if ( ((LA205_0>=122 && LA205_0<=123)) ) {
alt205=1;
}
switch (alt205) {
case 1 :
// InternalOCLinEcore.g:8837:3: (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) )
{
// InternalOCLinEcore.g:8837:3: (otherlv_9= 'with' | otherlv_10= '<-' )
int alt204=2;
int LA204_0 = input.LA(1);
if ( (LA204_0==122) ) {
alt204=1;
}
else if ( (LA204_0==123) ) {
alt204=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 204, 0, input);
throw nvae;
}
switch (alt204) {
case 1 :
// InternalOCLinEcore.g:8837:5: otherlv_9= 'with'
{
otherlv_9=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getNavigatingCommaArgCSAccess().getWithKeyword_2_1_2_0_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:8842:7: otherlv_10= '<-'
{
otherlv_10=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getNavigatingCommaArgCSAccess().getLessThanSignHyphenMinusKeyword_2_1_2_0_1());
}
}
break;
}
// InternalOCLinEcore.g:8846:2: ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8847:1: (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8847:1: (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8848:3: lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_ownedCoIterator_11_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_11_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:8864:4: (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )?
int alt206=2;
int LA206_0 = input.LA(1);
if ( (LA206_0==62) ) {
alt206=1;
}
switch (alt206) {
case 1 :
// InternalOCLinEcore.g:8864:6: otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) )
{
otherlv_12=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_1_3_0());
}
// InternalOCLinEcore.g:8868:1: ( (lv_ownedInitExpression_13_0= ruleExpCS ) )
// InternalOCLinEcore.g:8869:1: (lv_ownedInitExpression_13_0= ruleExpCS )
{
// InternalOCLinEcore.g:8869:1: (lv_ownedInitExpression_13_0= ruleExpCS )
// InternalOCLinEcore.g:8870:3: lv_ownedInitExpression_13_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_1_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_13_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_13_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 3 :
// InternalOCLinEcore.g:8887:6: ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) )
{
// InternalOCLinEcore.g:8887:6: ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) )
// InternalOCLinEcore.g:8887:7: (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) )
{
// InternalOCLinEcore.g:8887:7: (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )?
int alt207=2;
int LA207_0 = input.LA(1);
if ( (LA207_0==56) ) {
alt207=1;
}
switch (alt207) {
case 1 :
// InternalOCLinEcore.g:8887:9: otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) )
{
otherlv_14=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_2_0_0());
}
// InternalOCLinEcore.g:8891:1: ( (lv_ownedType_15_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:8892:1: (lv_ownedType_15_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:8892:1: (lv_ownedType_15_0= ruleTypeExpCS )
// InternalOCLinEcore.g:8893:3: lv_ownedType_15_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_118);
lv_ownedType_15_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedType",
lv_ownedType_15_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalOCLinEcore.g:8909:4: ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )?
int alt209=2;
int LA209_0 = input.LA(1);
if ( ((LA209_0>=122 && LA209_0<=123)) ) {
alt209=1;
}
switch (alt209) {
case 1 :
// InternalOCLinEcore.g:8909:5: (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) )
{
// InternalOCLinEcore.g:8909:5: (otherlv_16= 'with' | otherlv_17= '<-' )
int alt208=2;
int LA208_0 = input.LA(1);
if ( (LA208_0==122) ) {
alt208=1;
}
else if ( (LA208_0==123) ) {
alt208=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 208, 0, input);
throw nvae;
}
switch (alt208) {
case 1 :
// InternalOCLinEcore.g:8909:7: otherlv_16= 'with'
{
otherlv_16=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getNavigatingCommaArgCSAccess().getWithKeyword_2_2_1_0_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:8914:7: otherlv_17= '<-'
{
otherlv_17=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getNavigatingCommaArgCSAccess().getLessThanSignHyphenMinusKeyword_2_2_1_0_1());
}
}
break;
}
// InternalOCLinEcore.g:8918:2: ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8919:1: (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8919:1: (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8920:3: lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_119);
lv_ownedCoIterator_18_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_18_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_19=(Token)match(input,132,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getNavigatingCommaArgCSAccess().getInKeyword_2_2_2());
}
// InternalOCLinEcore.g:8940:1: ( (lv_ownedInitExpression_20_0= ruleExpCS ) )
// InternalOCLinEcore.g:8941:1: (lv_ownedInitExpression_20_0= ruleExpCS )
{
// InternalOCLinEcore.g:8941:1: (lv_ownedInitExpression_20_0= ruleExpCS )
// InternalOCLinEcore.g:8942:3: lv_ownedInitExpression_20_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_20_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_20_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNavigatingCommaArgCS"
// $ANTLR start "entryRuleNavigatingSemiArgCS"
// InternalOCLinEcore.g:8966:1: entryRuleNavigatingSemiArgCS returns [EObject current=null] : iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF ;
public final EObject entryRuleNavigatingSemiArgCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNavigatingSemiArgCS = null;
try {
// InternalOCLinEcore.g:8967:2: (iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF )
// InternalOCLinEcore.g:8968:2: iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingSemiArgCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigatingSemiArgCS=ruleNavigatingSemiArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigatingSemiArgCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigatingSemiArgCS"
// $ANTLR start "ruleNavigatingSemiArgCS"
// InternalOCLinEcore.g:8975:1: ruleNavigatingSemiArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) ;
public final EObject ruleNavigatingSemiArgCS() throws RecognitionException {
EObject current = null;
Token lv_prefix_0_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedNameExpression_1_0 = null;
EObject lv_ownedType_3_0 = null;
EObject lv_ownedInitExpression_5_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:8978:28: ( ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) )
// InternalOCLinEcore.g:8979:1: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
{
// InternalOCLinEcore.g:8979:1: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
// InternalOCLinEcore.g:8979:2: ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
{
// InternalOCLinEcore.g:8979:2: ( (lv_prefix_0_0= ';' ) )
// InternalOCLinEcore.g:8980:1: (lv_prefix_0_0= ';' )
{
// InternalOCLinEcore.g:8980:1: (lv_prefix_0_0= ';' )
// InternalOCLinEcore.g:8981:3: lv_prefix_0_0= ';'
{
lv_prefix_0_0=(Token)match(input,57,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getNavigatingSemiArgCSRule());
}
setWithLastConsumed(current, "prefix", lv_prefix_0_0, ";");
}
}
}
// InternalOCLinEcore.g:8994:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
// InternalOCLinEcore.g:8995:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
{
// InternalOCLinEcore.g:8995:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
// InternalOCLinEcore.g:8996:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_120);
lv_ownedNameExpression_1_0=ruleNavigatingArgExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule());
}
set(
current,
"ownedNameExpression",
lv_ownedNameExpression_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingArgExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:9012:2: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
int alt212=2;
int LA212_0 = input.LA(1);
if ( (LA212_0==56) ) {
alt212=1;
}
switch (alt212) {
case 1 :
// InternalOCLinEcore.g:9012:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
{
otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0());
}
// InternalOCLinEcore.g:9016:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:9017:1: (lv_ownedType_3_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:9017:1: (lv_ownedType_3_0= ruleTypeExpCS )
// InternalOCLinEcore.g:9018:3: lv_ownedType_3_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_ownedType_3_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule());
}
set(
current,
"ownedType",
lv_ownedType_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:9034:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
int alt211=2;
int LA211_0 = input.LA(1);
if ( (LA211_0==62) ) {
alt211=1;
}
switch (alt211) {
case 1 :
// InternalOCLinEcore.g:9034:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
{
otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0());
}
// InternalOCLinEcore.g:9038:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
// InternalOCLinEcore.g:9039:1: (lv_ownedInitExpression_5_0= ruleExpCS )
{
// InternalOCLinEcore.g:9039:1: (lv_ownedInitExpression_5_0= ruleExpCS )
// InternalOCLinEcore.g:9040:3: lv_ownedInitExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_5_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNavigatingSemiArgCS"
// $ANTLR start "entryRuleNavigatingArgExpCS"
// InternalOCLinEcore.g:9064:1: entryRuleNavigatingArgExpCS returns [EObject current=null] : iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF ;
public final EObject entryRuleNavigatingArgExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNavigatingArgExpCS = null;
try {
// InternalOCLinEcore.g:9065:2: (iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF )
// InternalOCLinEcore.g:9066:2: iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigatingArgExpCS=ruleNavigatingArgExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigatingArgExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigatingArgExpCS"
// $ANTLR start "ruleNavigatingArgExpCS"
// InternalOCLinEcore.g:9073:1: ruleNavigatingArgExpCS returns [EObject current=null] : this_ExpCS_0= ruleExpCS ;
public final EObject ruleNavigatingArgExpCS() throws RecognitionException {
EObject current = null;
EObject this_ExpCS_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:9076:28: (this_ExpCS_0= ruleExpCS )
// InternalOCLinEcore.g:9078:2: this_ExpCS_0= ruleExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgExpCSAccess().getExpCSParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ExpCS_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ExpCS_0;
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNavigatingArgExpCS"
// $ANTLR start "entryRuleCoIteratorVariableCS"
// InternalOCLinEcore.g:9097:1: entryRuleCoIteratorVariableCS returns [EObject current=null] : iv_ruleCoIteratorVariableCS= ruleCoIteratorVariableCS EOF ;
public final EObject entryRuleCoIteratorVariableCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCoIteratorVariableCS = null;
try {
// InternalOCLinEcore.g:9098:2: (iv_ruleCoIteratorVariableCS= ruleCoIteratorVariableCS EOF )
// InternalOCLinEcore.g:9099:2: iv_ruleCoIteratorVariableCS= ruleCoIteratorVariableCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCoIteratorVariableCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCoIteratorVariableCS=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCoIteratorVariableCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCoIteratorVariableCS"
// $ANTLR start "ruleCoIteratorVariableCS"
// InternalOCLinEcore.g:9106:1: ruleCoIteratorVariableCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? ) ;
public final EObject ruleCoIteratorVariableCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:9109:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? ) )
// InternalOCLinEcore.g:9110:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? )
{
// InternalOCLinEcore.g:9110:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? )
// InternalOCLinEcore.g:9110:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )?
{
// InternalOCLinEcore.g:9110:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:9111:1: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:9111:1: (lv_name_0_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:9112:3: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCoIteratorVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_120);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCoIteratorVariableCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:9128:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )?
int alt213=2;
int LA213_0 = input.LA(1);
if ( (LA213_0==56) ) {
alt213=1;
}
switch (alt213) {
case 1 :
// InternalOCLinEcore.g:9128:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
{
otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCoIteratorVariableCSAccess().getColonKeyword_1_0());
}
// InternalOCLinEcore.g:9132:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:9133:1: (lv_ownedType_2_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:9133:1: (lv_ownedType_2_0= ruleTypeExpCS )
// InternalOCLinEcore.g:9134:3: lv_ownedType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCoIteratorVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedType_2_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCoIteratorVariableCSRule());
}
set(
current,
"ownedType",
lv_ownedType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCoIteratorVariableCS"
// $ANTLR start "entryRuleIfExpCS"
// InternalOCLinEcore.g:9158:1: entryRuleIfExpCS returns [EObject current=null] : iv_ruleIfExpCS= ruleIfExpCS EOF ;
public final EObject entryRuleIfExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleIfExpCS = null;
try {
// InternalOCLinEcore.g:9159:2: (iv_ruleIfExpCS= ruleIfExpCS EOF )
// InternalOCLinEcore.g:9160:2: iv_ruleIfExpCS= ruleIfExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleIfExpCS=ruleIfExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIfExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIfExpCS"
// $ANTLR start "ruleIfExpCS"
// InternalOCLinEcore.g:9167:1: ruleIfExpCS returns [EObject current=null] : (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' ) ;
public final EObject ruleIfExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_5=null;
Token otherlv_7=null;
EObject lv_ownedCondition_1_1 = null;
EObject lv_ownedCondition_1_2 = null;
EObject lv_ownedThenExpression_3_0 = null;
EObject lv_ownedIfThenExpressions_4_0 = null;
EObject lv_ownedElseExpression_6_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:9170:28: ( (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' ) )
// InternalOCLinEcore.g:9171:1: (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' )
{
// InternalOCLinEcore.g:9171:1: (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' )
// InternalOCLinEcore.g:9171:3: otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif'
{
otherlv_0=(Token)match(input,134,FollowSets000.FOLLOW_98); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getIfExpCSAccess().getIfKeyword_0());
}
// InternalOCLinEcore.g:9175:1: ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) )
// InternalOCLinEcore.g:9176:1: ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) )
{
// InternalOCLinEcore.g:9176:1: ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) )
// InternalOCLinEcore.g:9177:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )
{
// InternalOCLinEcore.g:9177:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )
int alt214=2;
alt214 = dfa214.predict(input);
switch (alt214) {
case 1 :
// InternalOCLinEcore.g:9178:3: lv_ownedCondition_1_1= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedConditionExpCSParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_121);
lv_ownedCondition_1_1=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIfExpCSRule());
}
set(
current,
"ownedCondition",
lv_ownedCondition_1_1,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:9193:8: lv_ownedCondition_1_2= rulePatternExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedConditionPatternExpCSParserRuleCall_1_0_1());
}
pushFollow(FollowSets000.FOLLOW_121);
lv_ownedCondition_1_2=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIfExpCSRule());
}
set(
current,
"ownedCondition",
lv_ownedCondition_1_2,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PatternExpCS");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
otherlv_2=(Token)match(input,135,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getIfExpCSAccess().getThenKeyword_2());
}
// InternalOCLinEcore.g:9215:1: ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
// InternalOCLinEcore.g:9216:1: (lv_ownedThenExpression_3_0= ruleExpCS )
{
// InternalOCLinEcore.g:9216:1: (lv_ownedThenExpression_3_0= ruleExpCS )
// InternalOCLinEcore.g:9217:3: lv_ownedThenExpression_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedThenExpressionExpCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_122);
lv_ownedThenExpression_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIfExpCSRule());
}
set(
current,
"ownedThenExpression",
lv_ownedThenExpression_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:9233:2: ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )*
loop215:
do {
int alt215=2;
int LA215_0 = input.LA(1);
if ( (LA215_0==138) ) {
alt215=1;
}
switch (alt215) {
case 1 :
// InternalOCLinEcore.g:9234:1: (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS )
{
// InternalOCLinEcore.g:9234:1: (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS )
// InternalOCLinEcore.g:9235:3: lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedIfThenExpressionsElseIfThenExpCSParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_122);
lv_ownedIfThenExpressions_4_0=ruleElseIfThenExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIfExpCSRule());
}
add(
current,
"ownedIfThenExpressions",
lv_ownedIfThenExpressions_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ElseIfThenExpCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop215;
}
} while (true);
otherlv_5=(Token)match(input,136,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getIfExpCSAccess().getElseKeyword_5());
}
// InternalOCLinEcore.g:9255:1: ( (lv_ownedElseExpression_6_0= ruleExpCS ) )
// InternalOCLinEcore.g:9256:1: (lv_ownedElseExpression_6_0= ruleExpCS )
{
// InternalOCLinEcore.g:9256:1: (lv_ownedElseExpression_6_0= ruleExpCS )
// InternalOCLinEcore.g:9257:3: lv_ownedElseExpression_6_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedElseExpressionExpCSParserRuleCall_6_0());
}
pushFollow(FollowSets000.FOLLOW_123);
lv_ownedElseExpression_6_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIfExpCSRule());
}
set(
current,
"ownedElseExpression",
lv_ownedElseExpression_6_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_7=(Token)match(input,137,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getIfExpCSAccess().getEndifKeyword_7());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIfExpCS"
// $ANTLR start "entryRuleElseIfThenExpCS"
// InternalOCLinEcore.g:9285:1: entryRuleElseIfThenExpCS returns [EObject current=null] : iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF ;
public final EObject entryRuleElseIfThenExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleElseIfThenExpCS = null;
try {
// InternalOCLinEcore.g:9286:2: (iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF )
// InternalOCLinEcore.g:9287:2: iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElseIfThenExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleElseIfThenExpCS=ruleElseIfThenExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleElseIfThenExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleElseIfThenExpCS"
// $ANTLR start "ruleElseIfThenExpCS"
// InternalOCLinEcore.g:9294:1: ruleElseIfThenExpCS returns [EObject current=null] : (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ) ;
public final EObject ruleElseIfThenExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
EObject lv_ownedCondition_1_0 = null;
EObject lv_ownedThenExpression_3_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:9297:28: ( (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ) )
// InternalOCLinEcore.g:9298:1: (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) )
{
// InternalOCLinEcore.g:9298:1: (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) )
// InternalOCLinEcore.g:9298:3: otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
{
otherlv_0=(Token)match(input,138,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getElseIfThenExpCSAccess().getElseifKeyword_0());
}
// InternalOCLinEcore.g:9302:1: ( (lv_ownedCondition_1_0= ruleExpCS ) )
// InternalOCLinEcore.g:9303:1: (lv_ownedCondition_1_0= ruleExpCS )
{
// InternalOCLinEcore.g:9303:1: (lv_ownedCondition_1_0= ruleExpCS )
// InternalOCLinEcore.g:9304:3: lv_ownedCondition_1_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElseIfThenExpCSAccess().getOwnedConditionExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_121);
lv_ownedCondition_1_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getElseIfThenExpCSRule());
}
set(
current,
"ownedCondition",
lv_ownedCondition_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,135,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getElseIfThenExpCSAccess().getThenKeyword_2());
}
// InternalOCLinEcore.g:9324:1: ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
// InternalOCLinEcore.g:9325:1: (lv_ownedThenExpression_3_0= ruleExpCS )
{
// InternalOCLinEcore.g:9325:1: (lv_ownedThenExpression_3_0= ruleExpCS )
// InternalOCLinEcore.g:9326:3: lv_ownedThenExpression_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElseIfThenExpCSAccess().getOwnedThenExpressionExpCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedThenExpression_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getElseIfThenExpCSRule());
}
set(
current,
"ownedThenExpression",
lv_ownedThenExpression_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleElseIfThenExpCS"
// $ANTLR start "entryRuleLetExpCS"
// InternalOCLinEcore.g:9350:1: entryRuleLetExpCS returns [EObject current=null] : iv_ruleLetExpCS= ruleLetExpCS EOF ;
public final EObject entryRuleLetExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleLetExpCS = null;
try {
// InternalOCLinEcore.g:9351:2: (iv_ruleLetExpCS= ruleLetExpCS EOF )
// InternalOCLinEcore.g:9352:2: iv_ruleLetExpCS= ruleLetExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleLetExpCS=ruleLetExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLetExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLetExpCS"
// $ANTLR start "ruleLetExpCS"
// InternalOCLinEcore.g:9359:1: ruleLetExpCS returns [EObject current=null] : (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) ) ;
public final EObject ruleLetExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedVariables_1_0 = null;
EObject lv_ownedVariables_3_0 = null;
EObject lv_ownedInExpression_5_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:9362:28: ( (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) ) )
// InternalOCLinEcore.g:9363:1: (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) )
{
// InternalOCLinEcore.g:9363:1: (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) )
// InternalOCLinEcore.g:9363:3: otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) )
{
otherlv_0=(Token)match(input,139,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getLetExpCSAccess().getLetKeyword_0());
}
// InternalOCLinEcore.g:9367:1: ( (lv_ownedVariables_1_0= ruleLetVariableCS ) )
// InternalOCLinEcore.g:9368:1: (lv_ownedVariables_1_0= ruleLetVariableCS )
{
// InternalOCLinEcore.g:9368:1: (lv_ownedVariables_1_0= ruleLetVariableCS )
// InternalOCLinEcore.g:9369:3: lv_ownedVariables_1_0= ruleLetVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedVariablesLetVariableCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_124);
lv_ownedVariables_1_0=ruleLetVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetExpCSRule());
}
add(
current,
"ownedVariables",
lv_ownedVariables_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.LetVariableCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:9385:2: (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )*
loop216:
do {
int alt216=2;
int LA216_0 = input.LA(1);
if ( (LA216_0==59) ) {
alt216=1;
}
switch (alt216) {
case 1 :
// InternalOCLinEcore.g:9385:4: otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) )
{
otherlv_2=(Token)match(input,59,FollowSets000.FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0());
}
// InternalOCLinEcore.g:9389:1: ( (lv_ownedVariables_3_0= ruleLetVariableCS ) )
// InternalOCLinEcore.g:9390:1: (lv_ownedVariables_3_0= ruleLetVariableCS )
{
// InternalOCLinEcore.g:9390:1: (lv_ownedVariables_3_0= ruleLetVariableCS )
// InternalOCLinEcore.g:9391:3: lv_ownedVariables_3_0= ruleLetVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedVariablesLetVariableCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_124);
lv_ownedVariables_3_0=ruleLetVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetExpCSRule());
}
add(
current,
"ownedVariables",
lv_ownedVariables_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.LetVariableCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop216;
}
} while (true);
otherlv_4=(Token)match(input,132,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getLetExpCSAccess().getInKeyword_3());
}
// InternalOCLinEcore.g:9411:1: ( (lv_ownedInExpression_5_0= ruleExpCS ) )
// InternalOCLinEcore.g:9412:1: (lv_ownedInExpression_5_0= ruleExpCS )
{
// InternalOCLinEcore.g:9412:1: (lv_ownedInExpression_5_0= ruleExpCS )
// InternalOCLinEcore.g:9413:3: lv_ownedInExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedInExpressionExpCSParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetExpCSRule());
}
set(
current,
"ownedInExpression",
lv_ownedInExpression_5_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLetExpCS"
// $ANTLR start "entryRuleLetVariableCS"
// InternalOCLinEcore.g:9437:1: entryRuleLetVariableCS returns [EObject current=null] : iv_ruleLetVariableCS= ruleLetVariableCS EOF ;
public final EObject entryRuleLetVariableCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleLetVariableCS = null;
try {
// InternalOCLinEcore.g:9438:2: (iv_ruleLetVariableCS= ruleLetVariableCS EOF )
// InternalOCLinEcore.g:9439:2: iv_ruleLetVariableCS= ruleLetVariableCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVariableCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleLetVariableCS=ruleLetVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLetVariableCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLetVariableCS"
// $ANTLR start "ruleLetVariableCS"
// InternalOCLinEcore.g:9446:1: ruleLetVariableCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) ) ;
public final EObject ruleLetVariableCS() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_4=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedRoundBracketedClause_1_0 = null;
EObject lv_ownedType_3_0 = null;
EObject lv_ownedInitExpression_5_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:9449:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) ) )
// InternalOCLinEcore.g:9450:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )
{
// InternalOCLinEcore.g:9450:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )
// InternalOCLinEcore.g:9450:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
{
// InternalOCLinEcore.g:9450:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:9451:1: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:9451:1: (lv_name_0_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:9452:3: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_125);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:9468:2: ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )?
int alt217=2;
int LA217_0 = input.LA(1);
if ( (LA217_0==54) ) {
alt217=1;
}
switch (alt217) {
case 1 :
// InternalOCLinEcore.g:9469:1: (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS )
{
// InternalOCLinEcore.g:9469:1: (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS )
// InternalOCLinEcore.g:9470:3: lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedRoundBracketedClauseRoundBracketedClauseCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_105);
lv_ownedRoundBracketedClause_1_0=ruleRoundBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
}
set(
current,
"ownedRoundBracketedClause",
lv_ownedRoundBracketedClause_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.RoundBracketedClauseCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalOCLinEcore.g:9486:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )?
int alt218=2;
int LA218_0 = input.LA(1);
if ( (LA218_0==56) ) {
alt218=1;
}
switch (alt218) {
case 1 :
// InternalOCLinEcore.g:9486:5: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) )
{
otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getLetVariableCSAccess().getColonKeyword_2_0());
}
// InternalOCLinEcore.g:9490:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:9491:1: (lv_ownedType_3_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:9491:1: (lv_ownedType_3_0= ruleTypeExpCS )
// InternalOCLinEcore.g:9492:3: lv_ownedType_3_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_42);
lv_ownedType_3_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
}
set(
current,
"ownedType",
lv_ownedType_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_3());
}
// InternalOCLinEcore.g:9512:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
// InternalOCLinEcore.g:9513:1: (lv_ownedInitExpression_5_0= ruleExpCS )
{
// InternalOCLinEcore.g:9513:1: (lv_ownedInitExpression_5_0= ruleExpCS )
// InternalOCLinEcore.g:9514:3: lv_ownedInitExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedInitExpressionExpCSParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_5_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLetVariableCS"
// $ANTLR start "entryRuleNestedExpCS"
// InternalOCLinEcore.g:9538:1: entryRuleNestedExpCS returns [EObject current=null] : iv_ruleNestedExpCS= ruleNestedExpCS EOF ;
public final EObject entryRuleNestedExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNestedExpCS = null;
try {
// InternalOCLinEcore.g:9539:2: (iv_ruleNestedExpCS= ruleNestedExpCS EOF )
// InternalOCLinEcore.g:9540:2: iv_ruleNestedExpCS= ruleNestedExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNestedExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNestedExpCS=ruleNestedExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNestedExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNestedExpCS"
// $ANTLR start "ruleNestedExpCS"
// InternalOCLinEcore.g:9547:1: ruleNestedExpCS returns [EObject current=null] : (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' ) ;
public final EObject ruleNestedExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
EObject lv_ownedExpression_1_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:9550:28: ( (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' ) )
// InternalOCLinEcore.g:9551:1: (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' )
{
// InternalOCLinEcore.g:9551:1: (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' )
// InternalOCLinEcore.g:9551:3: otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')'
{
otherlv_0=(Token)match(input,54,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0());
}
// InternalOCLinEcore.g:9555:1: ( (lv_ownedExpression_1_0= ruleExpCS ) )
// InternalOCLinEcore.g:9556:1: (lv_ownedExpression_1_0= ruleExpCS )
{
// InternalOCLinEcore.g:9556:1: (lv_ownedExpression_1_0= ruleExpCS )
// InternalOCLinEcore.g:9557:3: lv_ownedExpression_1_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNestedExpCSAccess().getOwnedExpressionExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_ownedExpression_1_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNestedExpCSRule());
}
set(
current,
"ownedExpression",
lv_ownedExpression_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,55,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNestedExpCS"
// $ANTLR start "entryRuleSelfExpCS"
// InternalOCLinEcore.g:9585:1: entryRuleSelfExpCS returns [EObject current=null] : iv_ruleSelfExpCS= ruleSelfExpCS EOF ;
public final EObject entryRuleSelfExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleSelfExpCS = null;
try {
// InternalOCLinEcore.g:9586:2: (iv_ruleSelfExpCS= ruleSelfExpCS EOF )
// InternalOCLinEcore.g:9587:2: iv_ruleSelfExpCS= ruleSelfExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSelfExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSelfExpCS=ruleSelfExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSelfExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSelfExpCS"
// $ANTLR start "ruleSelfExpCS"
// InternalOCLinEcore.g:9594:1: ruleSelfExpCS returns [EObject current=null] : ( () otherlv_1= 'self' ) ;
public final EObject ruleSelfExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalOCLinEcore.g:9597:28: ( ( () otherlv_1= 'self' ) )
// InternalOCLinEcore.g:9598:1: ( () otherlv_1= 'self' )
{
// InternalOCLinEcore.g:9598:1: ( () otherlv_1= 'self' )
// InternalOCLinEcore.g:9598:2: () otherlv_1= 'self'
{
// InternalOCLinEcore.g:9598:2: ()
// InternalOCLinEcore.g:9599:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,140,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getSelfExpCSAccess().getSelfKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSelfExpCS"
// $ANTLR start "entryRuleMultiplicityBoundsCS"
// InternalOCLinEcore.g:9619:1: entryRuleMultiplicityBoundsCS returns [EObject current=null] : iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF ;
public final EObject entryRuleMultiplicityBoundsCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMultiplicityBoundsCS = null;
try {
// InternalOCLinEcore.g:9620:2: (iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF )
// InternalOCLinEcore.g:9621:2: iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityBoundsCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMultiplicityBoundsCS=ruleMultiplicityBoundsCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMultiplicityBoundsCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMultiplicityBoundsCS"
// $ANTLR start "ruleMultiplicityBoundsCS"
// InternalOCLinEcore.g:9628:1: ruleMultiplicityBoundsCS returns [EObject current=null] : ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) ;
public final EObject ruleMultiplicityBoundsCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_lowerBound_0_0 = null;
AntlrDatatypeRuleToken lv_upperBound_2_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:9631:28: ( ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) )
// InternalOCLinEcore.g:9632:1: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? )
{
// InternalOCLinEcore.g:9632:1: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? )
// InternalOCLinEcore.g:9632:2: ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )?
{
// InternalOCLinEcore.g:9632:2: ( (lv_lowerBound_0_0= ruleLOWER ) )
// InternalOCLinEcore.g:9633:1: (lv_lowerBound_0_0= ruleLOWER )
{
// InternalOCLinEcore.g:9633:1: (lv_lowerBound_0_0= ruleLOWER )
// InternalOCLinEcore.g:9634:3: lv_lowerBound_0_0= ruleLOWER
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_99);
lv_lowerBound_0_0=ruleLOWER();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMultiplicityBoundsCSRule());
}
set(
current,
"lowerBound",
lv_lowerBound_0_0,
"org.eclipse.ocl.xtext.base.Base.LOWER");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:9650:2: (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )?
int alt219=2;
int LA219_0 = input.LA(1);
if ( (LA219_0==119) ) {
alt219=1;
}
switch (alt219) {
case 1 :
// InternalOCLinEcore.g:9650:4: otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) )
{
otherlv_1=(Token)match(input,119,FollowSets000.FOLLOW_126); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0());
}
// InternalOCLinEcore.g:9654:1: ( (lv_upperBound_2_0= ruleUPPER ) )
// InternalOCLinEcore.g:9655:1: (lv_upperBound_2_0= ruleUPPER )
{
// InternalOCLinEcore.g:9655:1: (lv_upperBound_2_0= ruleUPPER )
// InternalOCLinEcore.g:9656:3: lv_upperBound_2_0= ruleUPPER
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_upperBound_2_0=ruleUPPER();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMultiplicityBoundsCSRule());
}
set(
current,
"upperBound",
lv_upperBound_2_0,
"org.eclipse.ocl.xtext.base.Base.UPPER");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMultiplicityBoundsCS"
// $ANTLR start "entryRuleMultiplicityCS"
// InternalOCLinEcore.g:9680:1: entryRuleMultiplicityCS returns [EObject current=null] : iv_ruleMultiplicityCS= ruleMultiplicityCS EOF ;
public final EObject entryRuleMultiplicityCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMultiplicityCS = null;
try {
// InternalOCLinEcore.g:9681:2: (iv_ruleMultiplicityCS= ruleMultiplicityCS EOF )
// InternalOCLinEcore.g:9682:2: iv_ruleMultiplicityCS= ruleMultiplicityCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMultiplicityCS=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMultiplicityCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMultiplicityCS"
// $ANTLR start "ruleMultiplicityCS"
// InternalOCLinEcore.g:9689:1: ruleMultiplicityCS returns [EObject current=null] : (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']' ) ;
public final EObject ruleMultiplicityCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token lv_isNullFree_4_0=null;
Token otherlv_5=null;
EObject this_MultiplicityBoundsCS_1 = null;
EObject this_MultiplicityStringCS_2 = null;
enterRule();
try {
// InternalOCLinEcore.g:9692:28: ( (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']' ) )
// InternalOCLinEcore.g:9693:1: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']' )
{
// InternalOCLinEcore.g:9693:1: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']' )
// InternalOCLinEcore.g:9693:3: otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']'
{
otherlv_0=(Token)match(input,130,FollowSets000.FOLLOW_127); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0());
}
// InternalOCLinEcore.g:9697:1: (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS )
int alt220=2;
int LA220_0 = input.LA(1);
if ( (LA220_0==RULE_INT) ) {
alt220=1;
}
else if ( (LA220_0==85||LA220_0==87||LA220_0==143) ) {
alt220=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 220, 0, input);
throw nvae;
}
switch (alt220) {
case 1 :
// InternalOCLinEcore.g:9698:2: this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_128);
this_MultiplicityBoundsCS_1=ruleMultiplicityBoundsCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_MultiplicityBoundsCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:9711:2: this_MultiplicityStringCS_2= ruleMultiplicityStringCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1());
}
pushFollow(FollowSets000.FOLLOW_128);
this_MultiplicityStringCS_2=ruleMultiplicityStringCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_MultiplicityStringCS_2;
afterParserOrEnumRuleCall();
}
}
break;
}
// InternalOCLinEcore.g:9722:2: (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )?
int alt221=3;
int LA221_0 = input.LA(1);
if ( (LA221_0==141) ) {
alt221=1;
}
else if ( (LA221_0==142) ) {
alt221=2;
}
switch (alt221) {
case 1 :
// InternalOCLinEcore.g:9722:4: otherlv_3= '|?'
{
otherlv_3=(Token)match(input,141,FollowSets000.FOLLOW_129); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getMultiplicityCSAccess().getVerticalLineQuestionMarkKeyword_2_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:9727:6: ( (lv_isNullFree_4_0= '|1' ) )
{
// InternalOCLinEcore.g:9727:6: ( (lv_isNullFree_4_0= '|1' ) )
// InternalOCLinEcore.g:9728:1: (lv_isNullFree_4_0= '|1' )
{
// InternalOCLinEcore.g:9728:1: (lv_isNullFree_4_0= '|1' )
// InternalOCLinEcore.g:9729:3: lv_isNullFree_4_0= '|1'
{
lv_isNullFree_4_0=(Token)match(input,142,FollowSets000.FOLLOW_129); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isNullFree_4_0, grammarAccess.getMultiplicityCSAccess().getIsNullFree1Keyword_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityCSRule());
}
setWithLastConsumed(current, "isNullFree", true, "|1");
}
}
}
}
break;
}
otherlv_5=(Token)match(input,131,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMultiplicityCS"
// $ANTLR start "entryRuleMultiplicityStringCS"
// InternalOCLinEcore.g:9754:1: entryRuleMultiplicityStringCS returns [EObject current=null] : iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF ;
public final EObject entryRuleMultiplicityStringCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMultiplicityStringCS = null;
try {
// InternalOCLinEcore.g:9755:2: (iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF )
// InternalOCLinEcore.g:9756:2: iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityStringCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMultiplicityStringCS=ruleMultiplicityStringCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMultiplicityStringCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMultiplicityStringCS"
// $ANTLR start "ruleMultiplicityStringCS"
// InternalOCLinEcore.g:9763:1: ruleMultiplicityStringCS returns [EObject current=null] : ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) ;
public final EObject ruleMultiplicityStringCS() throws RecognitionException {
EObject current = null;
Token lv_stringBounds_0_1=null;
Token lv_stringBounds_0_2=null;
Token lv_stringBounds_0_3=null;
enterRule();
try {
// InternalOCLinEcore.g:9766:28: ( ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) )
// InternalOCLinEcore.g:9767:1: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) )
{
// InternalOCLinEcore.g:9767:1: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) )
// InternalOCLinEcore.g:9768:1: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) )
{
// InternalOCLinEcore.g:9768:1: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) )
// InternalOCLinEcore.g:9769:1: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' )
{
// InternalOCLinEcore.g:9769:1: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' )
int alt222=3;
switch ( input.LA(1) ) {
case 85:
{
alt222=1;
}
break;
case 87:
{
alt222=2;
}
break;
case 143:
{
alt222=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 222, 0, input);
throw nvae;
}
switch (alt222) {
case 1 :
// InternalOCLinEcore.g:9770:3: lv_stringBounds_0_1= '*'
{
lv_stringBounds_0_1=(Token)match(input,85,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_stringBounds_0_1, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityStringCSRule());
}
setWithLastConsumed(current, "stringBounds", lv_stringBounds_0_1, null);
}
}
break;
case 2 :
// InternalOCLinEcore.g:9782:8: lv_stringBounds_0_2= '+'
{
lv_stringBounds_0_2=(Token)match(input,87,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_stringBounds_0_2, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityStringCSRule());
}
setWithLastConsumed(current, "stringBounds", lv_stringBounds_0_2, null);
}
}
break;
case 3 :
// InternalOCLinEcore.g:9794:8: lv_stringBounds_0_3= '?'
{
lv_stringBounds_0_3=(Token)match(input,143,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_stringBounds_0_3, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityStringCSRule());
}
setWithLastConsumed(current, "stringBounds", lv_stringBounds_0_3, null);
}
}
break;
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMultiplicityStringCS"
// $ANTLR start "entryRulePathNameCS"
// InternalOCLinEcore.g:9817:1: entryRulePathNameCS returns [EObject current=null] : iv_rulePathNameCS= rulePathNameCS EOF ;
public final EObject entryRulePathNameCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePathNameCS = null;
try {
// InternalOCLinEcore.g:9818:2: (iv_rulePathNameCS= rulePathNameCS EOF )
// InternalOCLinEcore.g:9819:2: iv_rulePathNameCS= rulePathNameCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPathNameCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePathNameCS=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePathNameCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePathNameCS"
// $ANTLR start "rulePathNameCS"
// InternalOCLinEcore.g:9826:1: rulePathNameCS returns [EObject current=null] : ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) ;
public final EObject rulePathNameCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedPathElements_0_0 = null;
EObject lv_ownedPathElements_2_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:9829:28: ( ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) )
// InternalOCLinEcore.g:9830:1: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
{
// InternalOCLinEcore.g:9830:1: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
// InternalOCLinEcore.g:9830:2: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
{
// InternalOCLinEcore.g:9830:2: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) )
// InternalOCLinEcore.g:9831:1: (lv_ownedPathElements_0_0= ruleFirstPathElementCS )
{
// InternalOCLinEcore.g:9831:1: (lv_ownedPathElements_0_0= ruleFirstPathElementCS )
// InternalOCLinEcore.g:9832:3: lv_ownedPathElements_0_0= ruleFirstPathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPathNameCSAccess().getOwnedPathElementsFirstPathElementCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_90);
lv_ownedPathElements_0_0=ruleFirstPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPathNameCSRule());
}
add(
current,
"ownedPathElements",
lv_ownedPathElements_0_0,
"org.eclipse.ocl.xtext.base.Base.FirstPathElementCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:9848:2: (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
loop223:
do {
int alt223=2;
int LA223_0 = input.LA(1);
if ( (LA223_0==105) ) {
alt223=1;
}
switch (alt223) {
case 1 :
// InternalOCLinEcore.g:9848:4: otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
{
otherlv_1=(Token)match(input,105,FollowSets000.FOLLOW_91); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0());
}
// InternalOCLinEcore.g:9852:1: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
// InternalOCLinEcore.g:9853:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
{
// InternalOCLinEcore.g:9853:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
// InternalOCLinEcore.g:9854:3: lv_ownedPathElements_2_0= ruleNextPathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPathNameCSAccess().getOwnedPathElementsNextPathElementCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_90);
lv_ownedPathElements_2_0=ruleNextPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPathNameCSRule());
}
add(
current,
"ownedPathElements",
lv_ownedPathElements_2_0,
"org.eclipse.ocl.xtext.base.Base.NextPathElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop223;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePathNameCS"
// $ANTLR start "entryRuleFirstPathElementCS"
// InternalOCLinEcore.g:9880:1: entryRuleFirstPathElementCS returns [EObject current=null] : iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF ;
public final EObject entryRuleFirstPathElementCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleFirstPathElementCS = null;
try {
// InternalOCLinEcore.g:9881:2: (iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF )
// InternalOCLinEcore.g:9882:2: iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFirstPathElementCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleFirstPathElementCS=ruleFirstPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleFirstPathElementCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFirstPathElementCS"
// $ANTLR start "ruleFirstPathElementCS"
// InternalOCLinEcore.g:9889:1: ruleFirstPathElementCS returns [EObject current=null] : ( ( ruleUnrestrictedName ) ) ;
public final EObject ruleFirstPathElementCS() throws RecognitionException {
EObject current = null;
enterRule();
try {
// InternalOCLinEcore.g:9892:28: ( ( ( ruleUnrestrictedName ) ) )
// InternalOCLinEcore.g:9893:1: ( ( ruleUnrestrictedName ) )
{
// InternalOCLinEcore.g:9893:1: ( ( ruleUnrestrictedName ) )
// InternalOCLinEcore.g:9894:1: ( ruleUnrestrictedName )
{
// InternalOCLinEcore.g:9894:1: ( ruleUnrestrictedName )
// InternalOCLinEcore.g:9895:3: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getFirstPathElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFirstPathElementCSAccess().getReferredElementNamedElementCrossReference_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFirstPathElementCS"
// $ANTLR start "entryRuleNextPathElementCS"
// InternalOCLinEcore.g:9919:1: entryRuleNextPathElementCS returns [EObject current=null] : iv_ruleNextPathElementCS= ruleNextPathElementCS EOF ;
public final EObject entryRuleNextPathElementCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNextPathElementCS = null;
try {
// InternalOCLinEcore.g:9920:2: (iv_ruleNextPathElementCS= ruleNextPathElementCS EOF )
// InternalOCLinEcore.g:9921:2: iv_ruleNextPathElementCS= ruleNextPathElementCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNextPathElementCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNextPathElementCS=ruleNextPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNextPathElementCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNextPathElementCS"
// $ANTLR start "ruleNextPathElementCS"
// InternalOCLinEcore.g:9928:1: ruleNextPathElementCS returns [EObject current=null] : ( ( ruleUnreservedName ) ) ;
public final EObject ruleNextPathElementCS() throws RecognitionException {
EObject current = null;
enterRule();
try {
// InternalOCLinEcore.g:9931:28: ( ( ( ruleUnreservedName ) ) )
// InternalOCLinEcore.g:9932:1: ( ( ruleUnreservedName ) )
{
// InternalOCLinEcore.g:9932:1: ( ( ruleUnreservedName ) )
// InternalOCLinEcore.g:9933:1: ( ruleUnreservedName )
{
// InternalOCLinEcore.g:9933:1: ( ruleUnreservedName )
// InternalOCLinEcore.g:9934:3: ruleUnreservedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getNextPathElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNextPathElementCSAccess().getReferredElementNamedElementCrossReference_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleUnreservedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNextPathElementCS"
// $ANTLR start "entryRuleTemplateBindingCS"
// InternalOCLinEcore.g:9958:1: entryRuleTemplateBindingCS returns [EObject current=null] : iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF ;
public final EObject entryRuleTemplateBindingCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTemplateBindingCS = null;
try {
// InternalOCLinEcore.g:9959:2: (iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF )
// InternalOCLinEcore.g:9960:2: iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateBindingCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTemplateBindingCS=ruleTemplateBindingCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTemplateBindingCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTemplateBindingCS"
// $ANTLR start "ruleTemplateBindingCS"
// InternalOCLinEcore.g:9967:1: ruleTemplateBindingCS returns [EObject current=null] : ( ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )* ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) ;
public final EObject ruleTemplateBindingCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedSubstitutions_0_0 = null;
EObject lv_ownedSubstitutions_2_0 = null;
EObject lv_ownedMultiplicity_3_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:9970:28: ( ( ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )* ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) )
// InternalOCLinEcore.g:9971:1: ( ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )* ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? )
{
// InternalOCLinEcore.g:9971:1: ( ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )* ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? )
// InternalOCLinEcore.g:9971:2: ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )* ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )?
{
// InternalOCLinEcore.g:9971:2: ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) )
// InternalOCLinEcore.g:9972:1: (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS )
{
// InternalOCLinEcore.g:9972:1: (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS )
// InternalOCLinEcore.g:9973:3: lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_130);
lv_ownedSubstitutions_0_0=ruleTemplateParameterSubstitutionCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateBindingCSRule());
}
add(
current,
"ownedSubstitutions",
lv_ownedSubstitutions_0_0,
"org.eclipse.ocl.xtext.base.Base.TemplateParameterSubstitutionCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:9989:2: (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )*
loop224:
do {
int alt224=2;
int LA224_0 = input.LA(1);
if ( (LA224_0==59) ) {
alt224=1;
}
switch (alt224) {
case 1 :
// InternalOCLinEcore.g:9989:4: otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) )
{
otherlv_1=(Token)match(input,59,FollowSets000.FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTemplateBindingCSAccess().getCommaKeyword_1_0());
}
// InternalOCLinEcore.g:9993:1: ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) )
// InternalOCLinEcore.g:9994:1: (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS )
{
// InternalOCLinEcore.g:9994:1: (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS )
// InternalOCLinEcore.g:9995:3: lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_130);
lv_ownedSubstitutions_2_0=ruleTemplateParameterSubstitutionCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateBindingCSRule());
}
add(
current,
"ownedSubstitutions",
lv_ownedSubstitutions_2_0,
"org.eclipse.ocl.xtext.base.Base.TemplateParameterSubstitutionCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop224;
}
} while (true);
// InternalOCLinEcore.g:10011:4: ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )?
int alt225=2;
int LA225_0 = input.LA(1);
if ( (LA225_0==130) ) {
alt225=1;
}
switch (alt225) {
case 1 :
// InternalOCLinEcore.g:10012:1: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS )
{
// InternalOCLinEcore.g:10012:1: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS )
// InternalOCLinEcore.g:10013:3: lv_ownedMultiplicity_3_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateBindingCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_3_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateBindingCSRule());
}
set(
current,
"ownedMultiplicity",
lv_ownedMultiplicity_3_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTemplateBindingCS"
// $ANTLR start "entryRuleTemplateParameterSubstitutionCS"
// InternalOCLinEcore.g:10037:1: entryRuleTemplateParameterSubstitutionCS returns [EObject current=null] : iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF ;
public final EObject entryRuleTemplateParameterSubstitutionCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTemplateParameterSubstitutionCS = null;
try {
// InternalOCLinEcore.g:10038:2: (iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF )
// InternalOCLinEcore.g:10039:2: iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateParameterSubstitutionCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTemplateParameterSubstitutionCS=ruleTemplateParameterSubstitutionCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTemplateParameterSubstitutionCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTemplateParameterSubstitutionCS"
// $ANTLR start "ruleTemplateParameterSubstitutionCS"
// InternalOCLinEcore.g:10046:1: ruleTemplateParameterSubstitutionCS returns [EObject current=null] : ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) ) ;
public final EObject ruleTemplateParameterSubstitutionCS() throws RecognitionException {
EObject current = null;
EObject lv_ownedActualParameter_0_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:10049:28: ( ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) ) )
// InternalOCLinEcore.g:10050:1: ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) )
{
// InternalOCLinEcore.g:10050:1: ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) )
// InternalOCLinEcore.g:10051:1: (lv_ownedActualParameter_0_0= ruleTypeRefCS )
{
// InternalOCLinEcore.g:10051:1: (lv_ownedActualParameter_0_0= ruleTypeRefCS )
// InternalOCLinEcore.g:10052:3: lv_ownedActualParameter_0_0= ruleTypeRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateParameterSubstitutionCSAccess().getOwnedActualParameterTypeRefCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedActualParameter_0_0=ruleTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateParameterSubstitutionCSRule());
}
set(
current,
"ownedActualParameter",
lv_ownedActualParameter_0_0,
"org.eclipse.ocl.xtext.base.Base.TypeRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTemplateParameterSubstitutionCS"
// $ANTLR start "entryRuleTypeParameterCS"
// InternalOCLinEcore.g:10076:1: entryRuleTypeParameterCS returns [EObject current=null] : iv_ruleTypeParameterCS= ruleTypeParameterCS EOF ;
public final EObject entryRuleTypeParameterCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeParameterCS = null;
try {
// InternalOCLinEcore.g:10077:2: (iv_ruleTypeParameterCS= ruleTypeParameterCS EOF )
// InternalOCLinEcore.g:10078:2: iv_ruleTypeParameterCS= ruleTypeParameterCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeParameterCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeParameterCS=ruleTypeParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeParameterCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeParameterCS"
// $ANTLR start "ruleTypeParameterCS"
// InternalOCLinEcore.g:10085:1: ruleTypeParameterCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? ) ;
public final EObject ruleTypeParameterCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedExtends_2_0 = null;
EObject lv_ownedExtends_4_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:10088:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? ) )
// InternalOCLinEcore.g:10089:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? )
{
// InternalOCLinEcore.g:10089:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? )
// InternalOCLinEcore.g:10089:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )?
{
// InternalOCLinEcore.g:10089:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalOCLinEcore.g:10090:1: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalOCLinEcore.g:10090:1: (lv_name_0_0= ruleUnrestrictedName )
// InternalOCLinEcore.g:10091:3: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeParameterCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_131);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeParameterCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:10107:2: (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )?
int alt227=2;
int LA227_0 = input.LA(1);
if ( (LA227_0==30) ) {
alt227=1;
}
switch (alt227) {
case 1 :
// InternalOCLinEcore.g:10107:4: otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )*
{
otherlv_1=(Token)match(input,30,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTypeParameterCSAccess().getExtendsKeyword_1_0());
}
// InternalOCLinEcore.g:10111:1: ( (lv_ownedExtends_2_0= ruleTypedRefCS ) )
// InternalOCLinEcore.g:10112:1: (lv_ownedExtends_2_0= ruleTypedRefCS )
{
// InternalOCLinEcore.g:10112:1: (lv_ownedExtends_2_0= ruleTypedRefCS )
// InternalOCLinEcore.g:10113:3: lv_ownedExtends_2_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_132);
lv_ownedExtends_2_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeParameterCSRule());
}
add(
current,
"ownedExtends",
lv_ownedExtends_2_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalOCLinEcore.g:10129:2: (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )*
loop226:
do {
int alt226=2;
int LA226_0 = input.LA(1);
if ( (LA226_0==144) ) {
alt226=1;
}
switch (alt226) {
case 1 :
// InternalOCLinEcore.g:10129:4: otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) )
{
otherlv_3=(Token)match(input,144,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getTypeParameterCSAccess().getAmpersandAmpersandKeyword_1_2_0());
}
// InternalOCLinEcore.g:10133:1: ( (lv_ownedExtends_4_0= ruleTypedRefCS ) )
// InternalOCLinEcore.g:10134:1: (lv_ownedExtends_4_0= ruleTypedRefCS )
{
// InternalOCLinEcore.g:10134:1: (lv_ownedExtends_4_0= ruleTypedRefCS )
// InternalOCLinEcore.g:10135:3: lv_ownedExtends_4_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_132);
lv_ownedExtends_4_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeParameterCSRule());
}
add(
current,
"ownedExtends",
lv_ownedExtends_4_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop226;
}
} while (true);
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeParameterCS"
// $ANTLR start "entryRuleTypeRefCS"
// InternalOCLinEcore.g:10159:1: entryRuleTypeRefCS returns [EObject current=null] : iv_ruleTypeRefCS= ruleTypeRefCS EOF ;
public final EObject entryRuleTypeRefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeRefCS = null;
try {
// InternalOCLinEcore.g:10160:2: (iv_ruleTypeRefCS= ruleTypeRefCS EOF )
// InternalOCLinEcore.g:10161:2: iv_ruleTypeRefCS= ruleTypeRefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeRefCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeRefCS=ruleTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeRefCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeRefCS"
// $ANTLR start "ruleTypeRefCS"
// InternalOCLinEcore.g:10168:1: ruleTypeRefCS returns [EObject current=null] : (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS ) ;
public final EObject ruleTypeRefCS() throws RecognitionException {
EObject current = null;
EObject this_TypedRefCS_0 = null;
EObject this_WildcardTypeRefCS_1 = null;
enterRule();
try {
// InternalOCLinEcore.g:10171:28: ( (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS ) )
// InternalOCLinEcore.g:10172:1: (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS )
{
// InternalOCLinEcore.g:10172:1: (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS )
int alt228=2;
int LA228_0 = input.LA(1);
if ( ((LA228_0>=RULE_SIMPLE_ID && LA228_0<=RULE_ESCAPED_ID)||LA228_0==17||(LA228_0>=19 && LA228_0<=53)||LA228_0==58||LA228_0==71||(LA228_0>=73 && LA228_0<=74)||LA228_0==76||LA228_0==80||(LA228_0>=103 && LA228_0<=104)||(LA228_0>=106 && LA228_0<=118)) ) {
alt228=1;
}
else if ( (LA228_0==143) ) {
alt228=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 228, 0, input);
throw nvae;
}
switch (alt228) {
case 1 :
// InternalOCLinEcore.g:10173:2: this_TypedRefCS_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeRefCSAccess().getTypedRefCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypedRefCS_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypedRefCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalOCLinEcore.g:10186:2: this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeRefCSAccess().getWildcardTypeRefCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_WildcardTypeRefCS_1=ruleWildcardTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_WildcardTypeRefCS_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeRefCS"
// $ANTLR start "entryRuleWildcardTypeRefCS"
// InternalOCLinEcore.g:10205:1: entryRuleWildcardTypeRefCS returns [EObject current=null] : iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF ;
public final EObject entryRuleWildcardTypeRefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleWildcardTypeRefCS = null;
try {
// InternalOCLinEcore.g:10206:2: (iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF )
// InternalOCLinEcore.g:10207:2: iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWildcardTypeRefCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleWildcardTypeRefCS=ruleWildcardTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleWildcardTypeRefCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleWildcardTypeRefCS"
// $ANTLR start "ruleWildcardTypeRefCS"
// InternalOCLinEcore.g:10214:1: ruleWildcardTypeRefCS returns [EObject current=null] : ( () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? ) ;
public final EObject ruleWildcardTypeRefCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
EObject lv_ownedExtends_3_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:10217:28: ( ( () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? ) )
// InternalOCLinEcore.g:10218:1: ( () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? )
{
// InternalOCLinEcore.g:10218:1: ( () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? )
// InternalOCLinEcore.g:10218:2: () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )?
{
// InternalOCLinEcore.g:10218:2: ()
// InternalOCLinEcore.g:10219:2:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getWildcardTypeRefCSAccess().getWildcardTypeRefCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,143,FollowSets000.FOLLOW_131); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getWildcardTypeRefCSAccess().getQuestionMarkKeyword_1());
}
// InternalOCLinEcore.g:10231:1: (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )?
int alt229=2;
int LA229_0 = input.LA(1);
if ( (LA229_0==30) ) {
alt229=1;
}
switch (alt229) {
case 1 :
// InternalOCLinEcore.g:10231:3: otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) )
{
otherlv_2=(Token)match(input,30,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getWildcardTypeRefCSAccess().getExtendsKeyword_2_0());
}
// InternalOCLinEcore.g:10235:1: ( (lv_ownedExtends_3_0= ruleTypedRefCS ) )
// InternalOCLinEcore.g:10236:1: (lv_ownedExtends_3_0= ruleTypedRefCS )
{
// InternalOCLinEcore.g:10236:1: (lv_ownedExtends_3_0= ruleTypedRefCS )
// InternalOCLinEcore.g:10237:3: lv_ownedExtends_3_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWildcardTypeRefCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedExtends_3_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getWildcardTypeRefCSRule());
}
set(
current,
"ownedExtends",
lv_ownedExtends_3_0,
"org.eclipse.ocl.xtext.oclinecore.OCLinEcore.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleWildcardTypeRefCS"
// $ANTLR start "entryRuleID"
// InternalOCLinEcore.g:10261:1: entryRuleID returns [String current=null] : iv_ruleID= ruleID EOF ;
public final String entryRuleID() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleID = null;
try {
// InternalOCLinEcore.g:10262:2: (iv_ruleID= ruleID EOF )
// InternalOCLinEcore.g:10263:2: iv_ruleID= ruleID EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIDRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleID=ruleID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleID.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleID"
// $ANTLR start "ruleID"
// InternalOCLinEcore.g:10270:1: ruleID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) ;
public final AntlrDatatypeRuleToken ruleID() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_SIMPLE_ID_0=null;
Token this_ESCAPED_ID_1=null;
enterRule();
try {
// InternalOCLinEcore.g:10273:28: ( (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) )
// InternalOCLinEcore.g:10274:1: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID )
{
// InternalOCLinEcore.g:10274:1: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID )
int alt230=2;
int LA230_0 = input.LA(1);
if ( (LA230_0==RULE_SIMPLE_ID) ) {
alt230=1;
}
else if ( (LA230_0==RULE_ESCAPED_ID) ) {
alt230=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 230, 0, input);
throw nvae;
}
switch (alt230) {
case 1 :
// InternalOCLinEcore.g:10274:6: this_SIMPLE_ID_0= RULE_SIMPLE_ID
{
this_SIMPLE_ID_0=(Token)match(input,RULE_SIMPLE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_SIMPLE_ID_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_SIMPLE_ID_0, grammarAccess.getIDAccess().getSIMPLE_IDTerminalRuleCall_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:10282:10: this_ESCAPED_ID_1= RULE_ESCAPED_ID
{
this_ESCAPED_ID_1=(Token)match(input,RULE_ESCAPED_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ESCAPED_ID_1);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ESCAPED_ID_1, grammarAccess.getIDAccess().getESCAPED_IDTerminalRuleCall_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleID"
// $ANTLR start "entryRuleIdentifier"
// InternalOCLinEcore.g:10297:1: entryRuleIdentifier returns [String current=null] : iv_ruleIdentifier= ruleIdentifier EOF ;
public final String entryRuleIdentifier() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleIdentifier = null;
try {
// InternalOCLinEcore.g:10298:2: (iv_ruleIdentifier= ruleIdentifier EOF )
// InternalOCLinEcore.g:10299:2: iv_ruleIdentifier= ruleIdentifier EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIdentifierRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleIdentifier=ruleIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIdentifier.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIdentifier"
// $ANTLR start "ruleIdentifier"
// InternalOCLinEcore.g:10306:1: ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= ruleID ;
public final AntlrDatatypeRuleToken ruleIdentifier() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_ID_0 = null;
enterRule();
try {
// InternalOCLinEcore.g:10309:28: (this_ID_0= ruleID )
// InternalOCLinEcore.g:10311:5: this_ID_0= ruleID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIdentifierAccess().getIDParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ID_0=ruleID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIdentifier"
// $ANTLR start "entryRuleLOWER"
// InternalOCLinEcore.g:10329:1: entryRuleLOWER returns [String current=null] : iv_ruleLOWER= ruleLOWER EOF ;
public final String entryRuleLOWER() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleLOWER = null;
try {
// InternalOCLinEcore.g:10330:2: (iv_ruleLOWER= ruleLOWER EOF )
// InternalOCLinEcore.g:10331:2: iv_ruleLOWER= ruleLOWER EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLOWERRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleLOWER=ruleLOWER();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLOWER.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLOWER"
// $ANTLR start "ruleLOWER"
// InternalOCLinEcore.g:10338:1: ruleLOWER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_INT_0= RULE_INT ;
public final AntlrDatatypeRuleToken ruleLOWER() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_INT_0=null;
enterRule();
try {
// InternalOCLinEcore.g:10341:28: (this_INT_0= RULE_INT )
// InternalOCLinEcore.g:10342:5: this_INT_0= RULE_INT
{
this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_0, grammarAccess.getLOWERAccess().getINTTerminalRuleCall());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLOWER"
// $ANTLR start "entryRuleNUMBER_LITERAL"
// InternalOCLinEcore.g:10357:1: entryRuleNUMBER_LITERAL returns [String current=null] : iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF ;
public final String entryRuleNUMBER_LITERAL() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleNUMBER_LITERAL = null;
try {
// InternalOCLinEcore.g:10358:2: (iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF )
// InternalOCLinEcore.g:10359:2: iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNUMBER_LITERALRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNUMBER_LITERAL=ruleNUMBER_LITERAL();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNUMBER_LITERAL.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNUMBER_LITERAL"
// $ANTLR start "ruleNUMBER_LITERAL"
// InternalOCLinEcore.g:10366:1: ruleNUMBER_LITERAL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_INT_0= RULE_INT ;
public final AntlrDatatypeRuleToken ruleNUMBER_LITERAL() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_INT_0=null;
enterRule();
try {
// InternalOCLinEcore.g:10369:28: (this_INT_0= RULE_INT )
// InternalOCLinEcore.g:10370:5: this_INT_0= RULE_INT
{
this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_0, grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNUMBER_LITERAL"
// $ANTLR start "entryRuleStringLiteral"
// InternalOCLinEcore.g:10385:1: entryRuleStringLiteral returns [String current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
public final String entryRuleStringLiteral() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleStringLiteral = null;
try {
// InternalOCLinEcore.g:10386:2: (iv_ruleStringLiteral= ruleStringLiteral EOF )
// InternalOCLinEcore.g:10387:2: iv_ruleStringLiteral= ruleStringLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStringLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleStringLiteral=ruleStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleStringLiteral.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStringLiteral"
// $ANTLR start "ruleStringLiteral"
// InternalOCLinEcore.g:10394:1: ruleStringLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING ;
public final AntlrDatatypeRuleToken ruleStringLiteral() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_SINGLE_QUOTED_STRING_0=null;
enterRule();
try {
// InternalOCLinEcore.g:10397:28: (this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING )
// InternalOCLinEcore.g:10398:5: this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING
{
this_SINGLE_QUOTED_STRING_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_SINGLE_QUOTED_STRING_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_SINGLE_QUOTED_STRING_0, grammarAccess.getStringLiteralAccess().getSINGLE_QUOTED_STRINGTerminalRuleCall());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleStringLiteral"
// $ANTLR start "entryRuleUPPER"
// InternalOCLinEcore.g:10413:1: entryRuleUPPER returns [String current=null] : iv_ruleUPPER= ruleUPPER EOF ;
public final String entryRuleUPPER() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleUPPER = null;
try {
// InternalOCLinEcore.g:10414:2: (iv_ruleUPPER= ruleUPPER EOF )
// InternalOCLinEcore.g:10415:2: iv_ruleUPPER= ruleUPPER EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUPPERRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUPPER=ruleUPPER();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUPPER.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUPPER"
// $ANTLR start "ruleUPPER"
// InternalOCLinEcore.g:10422:1: ruleUPPER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ;
public final AntlrDatatypeRuleToken ruleUPPER() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_INT_0=null;
Token kw=null;
enterRule();
try {
// InternalOCLinEcore.g:10425:28: ( (this_INT_0= RULE_INT | kw= '*' ) )
// InternalOCLinEcore.g:10426:1: (this_INT_0= RULE_INT | kw= '*' )
{
// InternalOCLinEcore.g:10426:1: (this_INT_0= RULE_INT | kw= '*' )
int alt231=2;
int LA231_0 = input.LA(1);
if ( (LA231_0==RULE_INT) ) {
alt231=1;
}
else if ( (LA231_0==85) ) {
alt231=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 231, 0, input);
throw nvae;
}
switch (alt231) {
case 1 :
// InternalOCLinEcore.g:10426:6: this_INT_0= RULE_INT
{
this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_0, grammarAccess.getUPPERAccess().getINTTerminalRuleCall_0());
}
}
break;
case 2 :
// InternalOCLinEcore.g:10435:2: kw= '*'
{
kw=(Token)match(input,85,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUPPERAccess().getAsteriskKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleUPPER"
// $ANTLR start "entryRuleURI"
// InternalOCLinEcore.g:10448:1: entryRuleURI returns [String current=null] : iv_ruleURI= ruleURI EOF ;
public final String entryRuleURI() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleURI = null;
try {
// InternalOCLinEcore.g:10449:2: (iv_ruleURI= ruleURI EOF )
// InternalOCLinEcore.g:10450:2: iv_ruleURI= ruleURI EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleURI=ruleURI();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleURI.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleURI"
// $ANTLR start "ruleURI"
// InternalOCLinEcore.g:10457:1: ruleURI returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING ;
public final AntlrDatatypeRuleToken ruleURI() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_SINGLE_QUOTED_STRING_0=null;
enterRule();
try {
// InternalOCLinEcore.g:10460:28: (this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING )
// InternalOCLinEcore.g:10461:5: this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING
{
this_SINGLE_QUOTED_STRING_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_SINGLE_QUOTED_STRING_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_SINGLE_QUOTED_STRING_0, grammarAccess.getURIAccess().getSINGLE_QUOTED_STRINGTerminalRuleCall());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleURI"
// $ANTLR start synpred321_InternalOCLinEcore
public final void synpred321_InternalOCLinEcore_fragment() throws RecognitionException {
EObject this_TypeLiteralCS_1 = null;
// InternalOCLinEcore.g:7518:2: (this_TypeLiteralCS_1= ruleTypeLiteralCS )
// InternalOCLinEcore.g:7518:2: this_TypeLiteralCS_1= ruleTypeLiteralCS
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypeLiteralCS_1=ruleTypeLiteralCS();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred321_InternalOCLinEcore
// $ANTLR start synpred324_InternalOCLinEcore
public final void synpred324_InternalOCLinEcore_fragment() throws RecognitionException {
EObject this_PrefixedPrimaryExpCS_0 = null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedRight_3_0 = null;
// InternalOCLinEcore.g:7614:2: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) )
// InternalOCLinEcore.g:7614:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
{
// InternalOCLinEcore.g:7614:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
// InternalOCLinEcore.g:7615:2: this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_107);
this_PrefixedPrimaryExpCS_0=rulePrefixedPrimaryExpCS();
state._fsp--;
if (state.failed) return ;
// InternalOCLinEcore.g:7626:1: ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
int alt320=2;
int LA320_0 = input.LA(1);
if ( (LA320_0==18||LA320_0==62||(LA320_0>=81 && LA320_0<=82)||(LA320_0>=85 && LA320_0<=102)) ) {
alt320=1;
}
switch (alt320) {
case 1 :
// InternalOCLinEcore.g:7626:2: () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) )
{
// InternalOCLinEcore.g:7626:2: ()
// InternalOCLinEcore.g:7627:2:
{
if ( state.backtracking==0 ) {
/* */
}
}
// InternalOCLinEcore.g:7635:2: ( (lv_name_2_0= ruleBinaryOperatorName ) )
// InternalOCLinEcore.g:7636:1: (lv_name_2_0= ruleBinaryOperatorName )
{
// InternalOCLinEcore.g:7636:1: (lv_name_2_0= ruleBinaryOperatorName )
// InternalOCLinEcore.g:7637:3: lv_name_2_0= ruleBinaryOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getNameBinaryOperatorNameParserRuleCall_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_100);
lv_name_2_0=ruleBinaryOperatorName();
state._fsp--;
if (state.failed) return ;
}
}
// InternalOCLinEcore.g:7653:2: ( (lv_ownedRight_3_0= ruleExpCS ) )
// InternalOCLinEcore.g:7654:1: (lv_ownedRight_3_0= ruleExpCS )
{
// InternalOCLinEcore.g:7654:1: (lv_ownedRight_3_0= ruleExpCS )
// InternalOCLinEcore.g:7655:3: lv_ownedRight_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getOwnedRightExpCSParserRuleCall_0_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedRight_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred324_InternalOCLinEcore
// $ANTLR start synpred331_InternalOCLinEcore
public final void synpred331_InternalOCLinEcore_fragment() throws RecognitionException {
EObject this_TupleLiteralExpCS_4 = null;
// InternalOCLinEcore.g:7916:2: (this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS )
// InternalOCLinEcore.g:7916:2: this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_2);
this_TupleLiteralExpCS_4=ruleTupleLiteralExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred331_InternalOCLinEcore
// $ANTLR start synpred332_InternalOCLinEcore
public final void synpred332_InternalOCLinEcore_fragment() throws RecognitionException {
EObject this_MapLiteralExpCS_5 = null;
// InternalOCLinEcore.g:7929:2: (this_MapLiteralExpCS_5= ruleMapLiteralExpCS )
// InternalOCLinEcore.g:7929:2: this_MapLiteralExpCS_5= ruleMapLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_2);
this_MapLiteralExpCS_5=ruleMapLiteralExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred332_InternalOCLinEcore
// $ANTLR start synpred333_InternalOCLinEcore
public final void synpred333_InternalOCLinEcore_fragment() throws RecognitionException {
EObject this_CollectionLiteralExpCS_6 = null;
// InternalOCLinEcore.g:7942:2: (this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS )
// InternalOCLinEcore.g:7942:2: this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_2);
this_CollectionLiteralExpCS_6=ruleCollectionLiteralExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred333_InternalOCLinEcore
// $ANTLR start synpred335_InternalOCLinEcore
public final void synpred335_InternalOCLinEcore_fragment() throws RecognitionException {
EObject this_TypeLiteralExpCS_8 = null;
// InternalOCLinEcore.g:7968:2: (this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS )
// InternalOCLinEcore.g:7968:2: this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypeLiteralExpCS_8=ruleTypeLiteralExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred335_InternalOCLinEcore
// $ANTLR start synpred349_InternalOCLinEcore
public final void synpred349_InternalOCLinEcore_fragment() throws RecognitionException {
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedCoIterator_3_0 = null;
EObject lv_ownedInitExpression_5_0 = null;
// InternalOCLinEcore.g:8397:3: ( ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) )
// InternalOCLinEcore.g:8397:3: ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
{
// InternalOCLinEcore.g:8397:3: ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
// InternalOCLinEcore.g:8397:4: (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
{
// InternalOCLinEcore.g:8397:4: (otherlv_1= 'with' | otherlv_2= '<-' )
int alt325=2;
int LA325_0 = input.LA(1);
if ( (LA325_0==122) ) {
alt325=1;
}
else if ( (LA325_0==123) ) {
alt325=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 325, 0, input);
throw nvae;
}
switch (alt325) {
case 1 :
// InternalOCLinEcore.g:8397:6: otherlv_1= 'with'
{
otherlv_1=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
case 2 :
// InternalOCLinEcore.g:8402:7: otherlv_2= '<-'
{
otherlv_2=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
}
// InternalOCLinEcore.g:8406:2: ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8407:1: (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8407:1: (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8408:3: lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_ownedCoIterator_3_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
// InternalOCLinEcore.g:8424:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
int alt326=2;
int LA326_0 = input.LA(1);
if ( (LA326_0==62) ) {
alt326=1;
}
switch (alt326) {
case 1 :
// InternalOCLinEcore.g:8424:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
{
otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return ;
// InternalOCLinEcore.g:8428:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
// InternalOCLinEcore.g:8429:1: (lv_ownedInitExpression_5_0= ruleExpCS )
{
// InternalOCLinEcore.g:8429:1: (lv_ownedInitExpression_5_0= ruleExpCS )
// InternalOCLinEcore.g:8430:3: lv_ownedInitExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_0_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred349_InternalOCLinEcore
// $ANTLR start synpred353_InternalOCLinEcore
public final void synpred353_InternalOCLinEcore_fragment() throws RecognitionException {
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_11=null;
EObject lv_ownedType_7_0 = null;
EObject lv_ownedCoIterator_10_0 = null;
EObject lv_ownedInitExpression_12_0 = null;
// InternalOCLinEcore.g:8447:6: ( (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? ) )
// InternalOCLinEcore.g:8447:6: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? )
{
// InternalOCLinEcore.g:8447:6: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? )
// InternalOCLinEcore.g:8447:8: otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )?
{
otherlv_6=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return ;
// InternalOCLinEcore.g:8451:1: ( (lv_ownedType_7_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:8452:1: (lv_ownedType_7_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:8452:1: (lv_ownedType_7_0= ruleTypeExpCS )
// InternalOCLinEcore.g:8453:3: lv_ownedType_7_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_0_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_117);
lv_ownedType_7_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// InternalOCLinEcore.g:8469:2: ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )?
int alt329=2;
int LA329_0 = input.LA(1);
if ( ((LA329_0>=122 && LA329_0<=123)) ) {
alt329=1;
}
switch (alt329) {
case 1 :
// InternalOCLinEcore.g:8469:3: (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) )
{
// InternalOCLinEcore.g:8469:3: (otherlv_8= 'with' | otherlv_9= '<-' )
int alt328=2;
int LA328_0 = input.LA(1);
if ( (LA328_0==122) ) {
alt328=1;
}
else if ( (LA328_0==123) ) {
alt328=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 328, 0, input);
throw nvae;
}
switch (alt328) {
case 1 :
// InternalOCLinEcore.g:8469:5: otherlv_8= 'with'
{
otherlv_8=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
case 2 :
// InternalOCLinEcore.g:8474:7: otherlv_9= '<-'
{
otherlv_9=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
}
// InternalOCLinEcore.g:8478:2: ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8479:1: (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8479:1: (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8480:3: lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_ownedCoIterator_10_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
// InternalOCLinEcore.g:8496:4: (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )?
int alt330=2;
int LA330_0 = input.LA(1);
if ( (LA330_0==62) ) {
alt330=1;
}
switch (alt330) {
case 1 :
// InternalOCLinEcore.g:8496:6: otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) )
{
otherlv_11=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return ;
// InternalOCLinEcore.g:8500:1: ( (lv_ownedInitExpression_12_0= ruleExpCS ) )
// InternalOCLinEcore.g:8501:1: (lv_ownedInitExpression_12_0= ruleExpCS )
{
// InternalOCLinEcore.g:8501:1: (lv_ownedInitExpression_12_0= ruleExpCS )
// InternalOCLinEcore.g:8502:3: lv_ownedInitExpression_12_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_1_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_12_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred353_InternalOCLinEcore
// $ANTLR start synpred357_InternalOCLinEcore
public final void synpred357_InternalOCLinEcore_fragment() throws RecognitionException {
Token otherlv_13=null;
Token otherlv_15=null;
Token otherlv_16=null;
Token otherlv_18=null;
EObject lv_ownedType_14_0 = null;
EObject lv_ownedCoIterator_17_0 = null;
EObject lv_ownedInitExpression_19_0 = null;
// InternalOCLinEcore.g:8519:6: ( ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) ) )
// InternalOCLinEcore.g:8519:6: ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) )
{
// InternalOCLinEcore.g:8519:6: ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) )
// InternalOCLinEcore.g:8519:7: (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) )
{
// InternalOCLinEcore.g:8519:7: (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )?
int alt332=2;
int LA332_0 = input.LA(1);
if ( (LA332_0==56) ) {
alt332=1;
}
switch (alt332) {
case 1 :
// InternalOCLinEcore.g:8519:9: otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) )
{
otherlv_13=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return ;
// InternalOCLinEcore.g:8523:1: ( (lv_ownedType_14_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:8524:1: (lv_ownedType_14_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:8524:1: (lv_ownedType_14_0= ruleTypeExpCS )
// InternalOCLinEcore.g:8525:3: lv_ownedType_14_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_0_1_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_118);
lv_ownedType_14_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
// InternalOCLinEcore.g:8541:4: ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )?
int alt334=2;
int LA334_0 = input.LA(1);
if ( ((LA334_0>=122 && LA334_0<=123)) ) {
alt334=1;
}
switch (alt334) {
case 1 :
// InternalOCLinEcore.g:8541:5: (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) )
{
// InternalOCLinEcore.g:8541:5: (otherlv_15= 'with' | otherlv_16= '<-' )
int alt333=2;
int LA333_0 = input.LA(1);
if ( (LA333_0==122) ) {
alt333=1;
}
else if ( (LA333_0==123) ) {
alt333=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 333, 0, input);
throw nvae;
}
switch (alt333) {
case 1 :
// InternalOCLinEcore.g:8541:7: otherlv_15= 'with'
{
otherlv_15=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
case 2 :
// InternalOCLinEcore.g:8546:7: otherlv_16= '<-'
{
otherlv_16=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
}
// InternalOCLinEcore.g:8550:2: ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8551:1: (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8551:1: (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8552:3: lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_119);
lv_ownedCoIterator_17_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
otherlv_18=(Token)match(input,132,FollowSets000.FOLLOW_100); if (state.failed) return ;
// InternalOCLinEcore.g:8572:1: ( (lv_ownedInitExpression_19_0= ruleExpCS ) )
// InternalOCLinEcore.g:8573:1: (lv_ownedInitExpression_19_0= ruleExpCS )
{
// InternalOCLinEcore.g:8573:1: (lv_ownedInitExpression_19_0= ruleExpCS )
// InternalOCLinEcore.g:8574:3: lv_ownedInitExpression_19_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_2_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_19_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred357_InternalOCLinEcore
// $ANTLR start synpred363_InternalOCLinEcore
public final void synpred363_InternalOCLinEcore_fragment() throws RecognitionException {
Token otherlv_2=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_ownedCoIterator_4_0 = null;
EObject lv_ownedInitExpression_6_0 = null;
// InternalOCLinEcore.g:8765:3: ( ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? ) )
// InternalOCLinEcore.g:8765:3: ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? )
{
// InternalOCLinEcore.g:8765:3: ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? )
// InternalOCLinEcore.g:8765:4: (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )?
{
// InternalOCLinEcore.g:8765:4: (otherlv_2= 'with' | otherlv_3= '<-' )
int alt345=2;
int LA345_0 = input.LA(1);
if ( (LA345_0==122) ) {
alt345=1;
}
else if ( (LA345_0==123) ) {
alt345=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 345, 0, input);
throw nvae;
}
switch (alt345) {
case 1 :
// InternalOCLinEcore.g:8765:6: otherlv_2= 'with'
{
otherlv_2=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
case 2 :
// InternalOCLinEcore.g:8770:7: otherlv_3= '<-'
{
otherlv_3=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
}
// InternalOCLinEcore.g:8774:2: ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8775:1: (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8775:1: (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8776:3: lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_ownedCoIterator_4_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
// InternalOCLinEcore.g:8792:2: (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )?
int alt346=2;
int LA346_0 = input.LA(1);
if ( (LA346_0==62) ) {
alt346=1;
}
switch (alt346) {
case 1 :
// InternalOCLinEcore.g:8792:4: otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) )
{
otherlv_5=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return ;
// InternalOCLinEcore.g:8796:1: ( (lv_ownedInitExpression_6_0= ruleExpCS ) )
// InternalOCLinEcore.g:8797:1: (lv_ownedInitExpression_6_0= ruleExpCS )
{
// InternalOCLinEcore.g:8797:1: (lv_ownedInitExpression_6_0= ruleExpCS )
// InternalOCLinEcore.g:8798:3: lv_ownedInitExpression_6_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_0_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_6_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred363_InternalOCLinEcore
// $ANTLR start synpred367_InternalOCLinEcore
public final void synpred367_InternalOCLinEcore_fragment() throws RecognitionException {
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_10=null;
Token otherlv_12=null;
EObject lv_ownedType_8_0 = null;
EObject lv_ownedCoIterator_11_0 = null;
EObject lv_ownedInitExpression_13_0 = null;
// InternalOCLinEcore.g:8815:6: ( (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? ) )
// InternalOCLinEcore.g:8815:6: (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? )
{
// InternalOCLinEcore.g:8815:6: (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? )
// InternalOCLinEcore.g:8815:8: otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )?
{
otherlv_7=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return ;
// InternalOCLinEcore.g:8819:1: ( (lv_ownedType_8_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:8820:1: (lv_ownedType_8_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:8820:1: (lv_ownedType_8_0= ruleTypeExpCS )
// InternalOCLinEcore.g:8821:3: lv_ownedType_8_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_117);
lv_ownedType_8_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// InternalOCLinEcore.g:8837:2: ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )?
int alt349=2;
int LA349_0 = input.LA(1);
if ( ((LA349_0>=122 && LA349_0<=123)) ) {
alt349=1;
}
switch (alt349) {
case 1 :
// InternalOCLinEcore.g:8837:3: (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) )
{
// InternalOCLinEcore.g:8837:3: (otherlv_9= 'with' | otherlv_10= '<-' )
int alt348=2;
int LA348_0 = input.LA(1);
if ( (LA348_0==122) ) {
alt348=1;
}
else if ( (LA348_0==123) ) {
alt348=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 348, 0, input);
throw nvae;
}
switch (alt348) {
case 1 :
// InternalOCLinEcore.g:8837:5: otherlv_9= 'with'
{
otherlv_9=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
case 2 :
// InternalOCLinEcore.g:8842:7: otherlv_10= '<-'
{
otherlv_10=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
}
// InternalOCLinEcore.g:8846:2: ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8847:1: (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8847:1: (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8848:3: lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_ownedCoIterator_11_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
// InternalOCLinEcore.g:8864:4: (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )?
int alt350=2;
int LA350_0 = input.LA(1);
if ( (LA350_0==62) ) {
alt350=1;
}
switch (alt350) {
case 1 :
// InternalOCLinEcore.g:8864:6: otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) )
{
otherlv_12=(Token)match(input,62,FollowSets000.FOLLOW_100); if (state.failed) return ;
// InternalOCLinEcore.g:8868:1: ( (lv_ownedInitExpression_13_0= ruleExpCS ) )
// InternalOCLinEcore.g:8869:1: (lv_ownedInitExpression_13_0= ruleExpCS )
{
// InternalOCLinEcore.g:8869:1: (lv_ownedInitExpression_13_0= ruleExpCS )
// InternalOCLinEcore.g:8870:3: lv_ownedInitExpression_13_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_1_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_13_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred367_InternalOCLinEcore
// $ANTLR start synpred371_InternalOCLinEcore
public final void synpred371_InternalOCLinEcore_fragment() throws RecognitionException {
Token otherlv_14=null;
Token otherlv_16=null;
Token otherlv_17=null;
Token otherlv_19=null;
EObject lv_ownedType_15_0 = null;
EObject lv_ownedCoIterator_18_0 = null;
EObject lv_ownedInitExpression_20_0 = null;
// InternalOCLinEcore.g:8887:6: ( ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) ) )
// InternalOCLinEcore.g:8887:6: ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) )
{
// InternalOCLinEcore.g:8887:6: ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) )
// InternalOCLinEcore.g:8887:7: (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) )
{
// InternalOCLinEcore.g:8887:7: (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )?
int alt352=2;
int LA352_0 = input.LA(1);
if ( (LA352_0==56) ) {
alt352=1;
}
switch (alt352) {
case 1 :
// InternalOCLinEcore.g:8887:9: otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) )
{
otherlv_14=(Token)match(input,56,FollowSets000.FOLLOW_29); if (state.failed) return ;
// InternalOCLinEcore.g:8891:1: ( (lv_ownedType_15_0= ruleTypeExpCS ) )
// InternalOCLinEcore.g:8892:1: (lv_ownedType_15_0= ruleTypeExpCS )
{
// InternalOCLinEcore.g:8892:1: (lv_ownedType_15_0= ruleTypeExpCS )
// InternalOCLinEcore.g:8893:3: lv_ownedType_15_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_118);
lv_ownedType_15_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
// InternalOCLinEcore.g:8909:4: ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )?
int alt354=2;
int LA354_0 = input.LA(1);
if ( ((LA354_0>=122 && LA354_0<=123)) ) {
alt354=1;
}
switch (alt354) {
case 1 :
// InternalOCLinEcore.g:8909:5: (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) )
{
// InternalOCLinEcore.g:8909:5: (otherlv_16= 'with' | otherlv_17= '<-' )
int alt353=2;
int LA353_0 = input.LA(1);
if ( (LA353_0==122) ) {
alt353=1;
}
else if ( (LA353_0==123) ) {
alt353=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 353, 0, input);
throw nvae;
}
switch (alt353) {
case 1 :
// InternalOCLinEcore.g:8909:7: otherlv_16= 'with'
{
otherlv_16=(Token)match(input,122,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
case 2 :
// InternalOCLinEcore.g:8914:7: otherlv_17= '<-'
{
otherlv_17=(Token)match(input,123,FollowSets000.FOLLOW_3); if (state.failed) return ;
}
break;
}
// InternalOCLinEcore.g:8918:2: ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) )
// InternalOCLinEcore.g:8919:1: (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS )
{
// InternalOCLinEcore.g:8919:1: (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS )
// InternalOCLinEcore.g:8920:3: lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_119);
lv_ownedCoIterator_18_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
otherlv_19=(Token)match(input,132,FollowSets000.FOLLOW_100); if (state.failed) return ;
// InternalOCLinEcore.g:8940:1: ( (lv_ownedInitExpression_20_0= ruleExpCS ) )
// InternalOCLinEcore.g:8941:1: (lv_ownedInitExpression_20_0= ruleExpCS )
{
// InternalOCLinEcore.g:8941:1: (lv_ownedInitExpression_20_0= ruleExpCS )
// InternalOCLinEcore.g:8942:3: lv_ownedInitExpression_20_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_20_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred371_InternalOCLinEcore
// Delegated rules
public final boolean synpred321_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred321_InternalOCLinEcore_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_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred363_InternalOCLinEcore_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 synpred332_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred332_InternalOCLinEcore_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_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred357_InternalOCLinEcore_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 synpred324_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred324_InternalOCLinEcore_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 synpred331_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred331_InternalOCLinEcore_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_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred371_InternalOCLinEcore_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 synpred349_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred349_InternalOCLinEcore_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 synpred333_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred333_InternalOCLinEcore_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_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred353_InternalOCLinEcore_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 synpred335_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred335_InternalOCLinEcore_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 synpred367_InternalOCLinEcore() {
state.backtracking++;
int start = input.mark();
try {
synpred367_InternalOCLinEcore_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 DFA65 dfa65 = new DFA65(this);
protected DFA67 dfa67 = new DFA67(this);
protected DFA125 dfa125 = new DFA125(this);
protected DFA155 dfa155 = new DFA155(this);
protected DFA158 dfa158 = new DFA158(this);
protected DFA173 dfa173 = new DFA173(this);
protected DFA176 dfa176 = new DFA176(this);
protected DFA179 dfa179 = new DFA179(this);
protected DFA198 dfa198 = new DFA198(this);
protected DFA210 dfa210 = new DFA210(this);
protected DFA214 dfa214 = new DFA214(this);
static final String dfa_1s = "\57\uffff";
static final String dfa_2s = "\1\5\54\70\2\uffff";
static final String dfa_3s = "\1\120\54\151\2\uffff";
static final String dfa_4s = "\55\uffff\1\2\1\1";
static final String dfa_5s = "\57\uffff}>";
static final String[] dfa_6s = {
"\1\55\2\uffff\1\1\1\2\7\uffff\1\25\1\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\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\50\4\uffff\1\46\14\uffff\1\53\1\uffff\1\47\1\51\1\uffff\1\52\3\uffff\1\54",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"\1\56\1\55\21\uffff\1\55\35\uffff\1\55",
"",
""
};
static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s);
static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s);
static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
class DFA65 extends DFA {
public DFA65(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 65;
this.eot = dfa_1;
this.eof = dfa_1;
this.min = dfa_2;
this.max = dfa_3;
this.accept = dfa_4;
this.special = dfa_5;
this.transition = dfa_6;
}
public String getDescription() {
return "2363:2: ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )?";
}
}
static final String dfa_7s = "\23\uffff";
static final String dfa_8s = "\1\10\1\27\1\10\1\31\2\10\1\uffff\1\10\1\24\3\10\1\24\2\uffff\1\24\2\uffff\1\24";
static final String dfa_9s = "\1\112\1\76\1\120\1\76\2\120\1\uffff\1\120\1\76\1\121\2\120\1\76\2\uffff\1\53\2\uffff\1\53";
static final String dfa_10s = "\6\uffff\1\2\6\uffff\1\1\1\5\1\uffff\1\3\1\4\1\uffff";
static final String dfa_11s = "\23\uffff}>";
static final String[] dfa_12s = {
"\2\6\7\uffff\1\6\1\uffff\1\1\1\7\2\6\1\2\1\6\1\4\1\10\2\6\1\5\7\6\1\11\1\6\1\12\2\6\1\3\1\13\3\6\1\14\5\6\25\uffff\1\6",
"\1\15\40\uffff\2\6\2\uffff\1\6\1\uffff\1\6",
"\2\15\7\uffff\1\15\1\uffff\43\15\2\uffff\2\6\1\15\1\uffff\1\6\1\uffff\1\6\10\uffff\1\15\1\uffff\2\15\1\uffff\1\15\3\uffff\1\15",
"\1\15\36\uffff\2\6\2\uffff\1\6\1\uffff\1\6",
"\2\15\7\uffff\1\15\1\uffff\43\15\2\uffff\2\6\1\15\1\uffff\1\6\1\uffff\1\6\10\uffff\1\15\1\uffff\2\15\1\uffff\1\15\3\uffff\1\15",
"\2\15\7\uffff\1\15\1\uffff\43\15\2\uffff\2\6\1\15\1\uffff\1\6\1\uffff\1\6\10\uffff\1\15\1\uffff\2\15\1\uffff\1\15\3\uffff\1\15",
"",
"\2\16\7\uffff\1\16\1\uffff\43\16\2\uffff\2\6\1\16\1\uffff\1\6\1\uffff\1\6\10\uffff\1\16\1\uffff\2\16\1\uffff\1\16\3\uffff\1\16",
"\1\16\20\uffff\1\20\5\uffff\1\16\3\uffff\1\17\10\uffff\2\6\2\uffff\1\6\1\uffff\1\6",
"\2\20\7\uffff\1\20\1\uffff\44\20\1\uffff\2\6\1\20\1\uffff\1\6\1\uffff\1\6\10\uffff\1\20\1\uffff\2\20\1\uffff\1\20\3\uffff\2\20",
"\2\21\7\uffff\1\21\1\uffff\43\21\2\uffff\2\6\1\21\1\uffff\1\6\1\uffff\1\6\10\uffff\1\21\1\uffff\2\21\1\uffff\1\21\3\uffff\1\21",
"\2\16\7\uffff\1\16\1\uffff\43\16\2\uffff\2\6\1\16\1\uffff\1\6\1\uffff\1\6\10\uffff\1\16\1\uffff\2\16\1\uffff\1\16\3\uffff\1\16",
"\1\16\5\uffff\1\22\12\uffff\1\20\5\uffff\1\16\14\uffff\2\6\2\uffff\1\6\1\uffff\1\6",
"",
"",
"\1\16\20\uffff\1\20\5\uffff\1\16",
"",
"",
"\1\16\20\uffff\1\20\5\uffff\1\16"
};
static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s);
static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s);
static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s);
static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s);
static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s);
static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s);
class DFA67 extends DFA {
public DFA67(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 67;
this.eot = dfa_7;
this.eof = dfa_7;
this.min = dfa_8;
this.max = dfa_9;
this.accept = dfa_10;
this.special = dfa_11;
this.transition = dfa_12;
}
public String getDescription() {
return "2443:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS )";
}
}
static final String dfa_13s = "\12\uffff";
static final String dfa_14s = "\1\24\2\uffff\2\24\3\uffff\2\24";
static final String dfa_15s = "\1\120\2\uffff\1\53\1\57\3\uffff\2\53";
static final String dfa_16s = "\1\uffff\1\5\1\1\2\uffff\1\2\1\3\1\4\2\uffff";
static final String dfa_17s = "\12\uffff}>";
static final String[] dfa_18s = {
"\1\6\1\uffff\1\7\3\uffff\1\4\12\uffff\1\5\5\uffff\1\6\3\uffff\1\3\5\uffff\1\7\4\uffff\1\2\2\uffff\1\1\13\uffff\1\2\6\uffff\1\2",
"",
"",
"\1\6\5\uffff\1\10\12\uffff\1\5\5\uffff\1\6",
"\1\6\20\uffff\1\5\5\uffff\1\6\3\uffff\1\11",
"",
"",
"",
"\1\6\20\uffff\1\5\5\uffff\1\6",
"\1\6\20\uffff\1\5\5\uffff\1\6"
};
static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s);
static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s);
static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s);
static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s);
static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s);
static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s);
class DFA125 extends DFA {
public DFA125(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 125;
this.eot = dfa_13;
this.eof = dfa_13;
this.min = dfa_14;
this.max = dfa_15;
this.accept = dfa_16;
this.special = dfa_17;
this.transition = dfa_18;
}
public String getDescription() {
return "()* loopback of 4381:1: ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )*";
}
}
static final String dfa_19s = "\2\uffff\54\1\1\uffff";
static final String dfa_20s = "\1\4\1\uffff\54\22\1\uffff";
static final String dfa_21s = "\1\u008c\1\uffff\54\u0082\1\uffff";
static final String dfa_22s = "\1\uffff\1\1\54\uffff\1\2";
static final String[] dfa_23s = {
"\2\1\2\uffff\1\2\1\3\7\uffff\1\26\1\1\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\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\51\1\1\1\uffff\1\56\1\uffff\1\47\14\uffff\1\54\1\uffff\1\50\1\52\1\uffff\1\53\3\uffff\1\55\2\uffff\3\1\21\uffff\2\1\1\uffff\15\1\2\uffff\1\1\2\uffff\4\1\6\uffff\1\1\4\uffff\2\1",
"",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\15\uffff\1\1\10\uffff\1\1\1\uffff\1\1",
""
};
static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s);
static final char[] dfa_20 = DFA.unpackEncodedStringToUnsignedChars(dfa_20s);
static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s);
static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s);
static final short[][] dfa_23 = unpackEncodedStringArray(dfa_23s);
class DFA155 extends DFA {
public DFA155(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 155;
this.eot = dfa_1;
this.eof = dfa_19;
this.min = dfa_20;
this.max = dfa_21;
this.accept = dfa_22;
this.special = dfa_5;
this.transition = dfa_23;
}
public String getDescription() {
return "6221:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )";
}
}
static final String[] dfa_24s = {
"\2\1\2\uffff\1\2\1\3\7\uffff\1\26\1\1\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\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\51\1\1\1\uffff\1\56\1\uffff\1\47\14\uffff\1\54\1\uffff\1\50\1\52\1\uffff\1\53\3\uffff\1\55\2\uffff\3\1\21\uffff\2\1\1\uffff\15\1\2\uffff\1\1\2\uffff\4\1\6\uffff\1\1\4\uffff\2\1",
"",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\2\uffff\4\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1",
""
};
static final short[][] dfa_24 = unpackEncodedStringArray(dfa_24s);
class DFA158 extends DFA {
public DFA158(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 158;
this.eot = dfa_1;
this.eof = dfa_19;
this.min = dfa_20;
this.max = dfa_21;
this.accept = dfa_22;
this.special = dfa_5;
this.transition = dfa_24;
}
public String getDescription() {
return "6434:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )";
}
}
static final String dfa_25s = "\75\uffff";
static final String dfa_26s = "\1\10\64\uffff\5\0\3\uffff";
static final String dfa_27s = "\1\166\64\uffff\5\0\3\uffff";
static final String dfa_28s = "\1\uffff\1\1\53\uffff\1\2\16\uffff\1\3";
static final String dfa_29s = "\65\uffff\1\0\1\1\1\2\1\3\1\4\3\uffff}>";
static final String[] dfa_30s = {
"\2\1\7\uffff\1\1\1\uffff\43\1\4\uffff\1\1\14\uffff\1\1\1\uffff\2\1\1\uffff\1\1\3\uffff\1\1\26\uffff\2\55\1\uffff\10\55\1\65\1\66\1\67\1\70\1\71",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
""
};
static final short[] dfa_25 = DFA.unpackEncodedString(dfa_25s);
static final char[] dfa_26 = DFA.unpackEncodedStringToUnsignedChars(dfa_26s);
static final char[] dfa_27 = DFA.unpackEncodedStringToUnsignedChars(dfa_27s);
static final short[] dfa_28 = DFA.unpackEncodedString(dfa_28s);
static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s);
static final short[][] dfa_30 = unpackEncodedStringArray(dfa_30s);
class DFA173 extends DFA {
public DFA173(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 173;
this.eot = dfa_25;
this.eof = dfa_25;
this.min = dfa_26;
this.max = dfa_27;
this.accept = dfa_28;
this.special = dfa_29;
this.transition = dfa_30;
}
public String getDescription() {
return "7504:1: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA173_53 = input.LA(1);
int index173_53 = input.index();
input.rewind();
s = -1;
if ( (synpred321_InternalOCLinEcore()) ) {s = 45;}
else if ( (true) ) {s = 60;}
input.seek(index173_53);
if ( s>=0 ) return s;
break;
case 1 :
int LA173_54 = input.LA(1);
int index173_54 = input.index();
input.rewind();
s = -1;
if ( (synpred321_InternalOCLinEcore()) ) {s = 45;}
else if ( (true) ) {s = 60;}
input.seek(index173_54);
if ( s>=0 ) return s;
break;
case 2 :
int LA173_55 = input.LA(1);
int index173_55 = input.index();
input.rewind();
s = -1;
if ( (synpred321_InternalOCLinEcore()) ) {s = 45;}
else if ( (true) ) {s = 60;}
input.seek(index173_55);
if ( s>=0 ) return s;
break;
case 3 :
int LA173_56 = input.LA(1);
int index173_56 = input.index();
input.rewind();
s = -1;
if ( (synpred321_InternalOCLinEcore()) ) {s = 45;}
else if ( (true) ) {s = 60;}
input.seek(index173_56);
if ( s>=0 ) return s;
break;
case 4 :
int LA173_57 = input.LA(1);
int index173_57 = input.index();
input.rewind();
s = -1;
if ( (synpred321_InternalOCLinEcore()) ) {s = 45;}
else if ( (true) ) {s = 60;}
input.seek(index173_57);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 173, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_31s = "\113\uffff";
static final String dfa_32s = "\1\4\3\0\107\uffff";
static final String dfa_33s = "\1\u008c\3\0\107\uffff";
static final String dfa_34s = "\4\uffff\1\1\105\uffff\1\2";
static final String dfa_35s = "\1\uffff\1\0\1\1\1\2\107\uffff}>";
static final String[] dfa_36s = {
"\2\4\2\uffff\2\4\7\uffff\1\4\1\1\44\4\3\uffff\1\4\14\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\1\4\2\uffff\1\2\1\3\1\4\21\uffff\2\4\1\uffff\15\4\2\uffff\1\4\2\uffff\4\4\6\uffff\1\4\4\uffff\1\112\1\4",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s);
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 DFA176 extends DFA {
public DFA176(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 176;
this.eot = dfa_31;
this.eof = dfa_31;
this.min = dfa_32;
this.max = dfa_33;
this.accept = dfa_34;
this.special = dfa_35;
this.transition = dfa_36;
}
public String getDescription() {
return "7614:1: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA176_1 = input.LA(1);
int index176_1 = input.index();
input.rewind();
s = -1;
if ( (synpred324_InternalOCLinEcore()) ) {s = 4;}
else if ( (true) ) {s = 74;}
input.seek(index176_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA176_2 = input.LA(1);
int index176_2 = input.index();
input.rewind();
s = -1;
if ( (synpred324_InternalOCLinEcore()) ) {s = 4;}
else if ( (true) ) {s = 74;}
input.seek(index176_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA176_3 = input.LA(1);
int index176_3 = input.index();
input.rewind();
s = -1;
if ( (synpred324_InternalOCLinEcore()) ) {s = 4;}
else if ( (true) ) {s = 74;}
input.seek(index176_3);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 176, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_37s = "\112\uffff";
static final String dfa_38s = "\1\4\12\uffff\7\0\70\uffff";
static final String dfa_39s = "\1\u008c\12\uffff\7\0\70\uffff";
static final String dfa_40s = "\1\uffff\1\1\1\2\1\3\1\4\15\uffff\1\10\1\11\7\uffff\1\12\53\uffff\1\5\1\6\1\7";
static final String dfa_41s = "\13\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\70\uffff}>";
static final String[] dfa_42s = {
"\2\4\2\uffff\2\33\7\uffff\1\33\1\uffff\43\33\1\1\3\uffff\1\33\14\uffff\1\33\1\uffff\2\33\1\uffff\1\33\3\uffff\1\33\4\uffff\1\4\21\uffff\1\14\1\13\1\uffff\10\23\1\15\1\16\1\17\1\20\1\21\2\uffff\1\22\2\uffff\4\4\6\uffff\1\2\5\uffff\1\3",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s);
static final char[] dfa_38 = DFA.unpackEncodedStringToUnsignedChars(dfa_38s);
static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s);
static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s);
static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s);
static final short[][] dfa_42 = unpackEncodedStringArray(dfa_42s);
class DFA179 extends DFA {
public DFA179(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 179;
this.eot = dfa_37;
this.eof = dfa_37;
this.min = dfa_38;
this.max = dfa_39;
this.accept = dfa_40;
this.special = dfa_41;
this.transition = dfa_42;
}
public String getDescription() {
return "7863:1: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_MapLiteralExpCS_5= ruleMapLiteralExpCS | this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS | this_NameExpCS_9= ruleNameExpCS )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA179_11 = input.LA(1);
int index179_11 = input.index();
input.rewind();
s = -1;
if ( (synpred331_InternalOCLinEcore()) ) {s = 71;}
else if ( (synpred335_InternalOCLinEcore()) ) {s = 19;}
input.seek(index179_11);
if ( s>=0 ) return s;
break;
case 1 :
int LA179_12 = input.LA(1);
int index179_12 = input.index();
input.rewind();
s = -1;
if ( (synpred332_InternalOCLinEcore()) ) {s = 72;}
else if ( (synpred335_InternalOCLinEcore()) ) {s = 19;}
input.seek(index179_12);
if ( s>=0 ) return s;
break;
case 2 :
int LA179_13 = input.LA(1);
int index179_13 = input.index();
input.rewind();
s = -1;
if ( (synpred333_InternalOCLinEcore()) ) {s = 73;}
else if ( (synpred335_InternalOCLinEcore()) ) {s = 19;}
input.seek(index179_13);
if ( s>=0 ) return s;
break;
case 3 :
int LA179_14 = input.LA(1);
int index179_14 = input.index();
input.rewind();
s = -1;
if ( (synpred333_InternalOCLinEcore()) ) {s = 73;}
else if ( (synpred335_InternalOCLinEcore()) ) {s = 19;}
input.seek(index179_14);
if ( s>=0 ) return s;
break;
case 4 :
int LA179_15 = input.LA(1);
int index179_15 = input.index();
input.rewind();
s = -1;
if ( (synpred333_InternalOCLinEcore()) ) {s = 73;}
else if ( (synpred335_InternalOCLinEcore()) ) {s = 19;}
input.seek(index179_15);
if ( s>=0 ) return s;
break;
case 5 :
int LA179_16 = input.LA(1);
int index179_16 = input.index();
input.rewind();
s = -1;
if ( (synpred333_InternalOCLinEcore()) ) {s = 73;}
else if ( (synpred335_InternalOCLinEcore()) ) {s = 19;}
input.seek(index179_16);
if ( s>=0 ) return s;
break;
case 6 :
int LA179_17 = input.LA(1);
int index179_17 = input.index();
input.rewind();
s = -1;
if ( (synpred333_InternalOCLinEcore()) ) {s = 73;}
else if ( (synpred335_InternalOCLinEcore()) ) {s = 19;}
input.seek(index179_17);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 179, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_43s = "\14\uffff";
static final String dfa_44s = "\1\5\13\uffff";
static final String dfa_45s = "\1\67\3\0\10\uffff";
static final String dfa_46s = "\1\u0085\3\0\10\uffff";
static final String dfa_47s = "\4\uffff\1\3\1\4\4\uffff\1\1\1\2";
static final String dfa_48s = "\1\uffff\1\0\1\1\1\2\10\uffff}>";
static final String[] dfa_49s = {
"\1\5\1\3\1\5\1\uffff\1\5\76\uffff\1\1\1\2\10\uffff\1\4\1\5",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_43 = DFA.unpackEncodedString(dfa_43s);
static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s);
static final char[] dfa_45 = DFA.unpackEncodedStringToUnsignedChars(dfa_45s);
static final char[] dfa_46 = DFA.unpackEncodedStringToUnsignedChars(dfa_46s);
static final short[] dfa_47 = DFA.unpackEncodedString(dfa_47s);
static final short[] dfa_48 = DFA.unpackEncodedString(dfa_48s);
static final short[][] dfa_49 = unpackEncodedStringArray(dfa_49s);
class DFA198 extends DFA {
public DFA198(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 198;
this.eot = dfa_43;
this.eof = dfa_44;
this.min = dfa_45;
this.max = dfa_46;
this.accept = dfa_47;
this.special = dfa_48;
this.transition = dfa_49;
}
public String getDescription() {
return "8397:2: ( ( (otherlv_1= 'with' | otherlv_2= '<-' ) ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) ( (otherlv_8= 'with' | otherlv_9= '<-' ) ( (lv_ownedCoIterator_10_0= ruleCoIteratorVariableCS ) ) )? (otherlv_11= '=' ( (lv_ownedInitExpression_12_0= ruleExpCS ) ) )? ) | ( (otherlv_13= ':' ( (lv_ownedType_14_0= ruleTypeExpCS ) ) )? ( (otherlv_15= 'with' | otherlv_16= '<-' ) ( (lv_ownedCoIterator_17_0= ruleCoIteratorVariableCS ) ) )? otherlv_18= 'in' ( (lv_ownedInitExpression_19_0= ruleExpCS ) ) ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA198_1 = input.LA(1);
int index198_1 = input.index();
input.rewind();
s = -1;
if ( (synpred349_InternalOCLinEcore()) ) {s = 10;}
else if ( (synpred357_InternalOCLinEcore()) ) {s = 4;}
input.seek(index198_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA198_2 = input.LA(1);
int index198_2 = input.index();
input.rewind();
s = -1;
if ( (synpred349_InternalOCLinEcore()) ) {s = 10;}
else if ( (synpred357_InternalOCLinEcore()) ) {s = 4;}
input.seek(index198_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA198_3 = input.LA(1);
int index198_3 = input.index();
input.rewind();
s = -1;
if ( (synpred353_InternalOCLinEcore()) ) {s = 11;}
else if ( (synpred357_InternalOCLinEcore()) ) {s = 4;}
input.seek(index198_3);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 198, _s, input);
error(nvae);
throw nvae;
}
}
class DFA210 extends DFA {
public DFA210(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 210;
this.eot = dfa_43;
this.eof = dfa_44;
this.min = dfa_45;
this.max = dfa_46;
this.accept = dfa_47;
this.special = dfa_48;
this.transition = dfa_49;
}
public String getDescription() {
return "8765:2: ( ( (otherlv_2= 'with' | otherlv_3= '<-' ) ( (lv_ownedCoIterator_4_0= ruleCoIteratorVariableCS ) ) (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ( (otherlv_9= 'with' | otherlv_10= '<-' ) ( (lv_ownedCoIterator_11_0= ruleCoIteratorVariableCS ) ) )? (otherlv_12= '=' ( (lv_ownedInitExpression_13_0= ruleExpCS ) ) )? ) | ( (otherlv_14= ':' ( (lv_ownedType_15_0= ruleTypeExpCS ) ) )? ( (otherlv_16= 'with' | otherlv_17= '<-' ) ( (lv_ownedCoIterator_18_0= ruleCoIteratorVariableCS ) ) )? otherlv_19= 'in' ( (lv_ownedInitExpression_20_0= ruleExpCS ) ) ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA210_1 = input.LA(1);
int index210_1 = input.index();
input.rewind();
s = -1;
if ( (synpred363_InternalOCLinEcore()) ) {s = 10;}
else if ( (synpred371_InternalOCLinEcore()) ) {s = 4;}
input.seek(index210_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA210_2 = input.LA(1);
int index210_2 = input.index();
input.rewind();
s = -1;
if ( (synpred363_InternalOCLinEcore()) ) {s = 10;}
else if ( (synpred371_InternalOCLinEcore()) ) {s = 4;}
input.seek(index210_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA210_3 = input.LA(1);
int index210_3 = input.index();
input.rewind();
s = -1;
if ( (synpred367_InternalOCLinEcore()) ) {s = 11;}
else if ( (synpred371_InternalOCLinEcore()) ) {s = 4;}
input.seek(index210_3);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 210, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_50s = "\1\u008c\1\uffff\54\u0087\1\uffff";
static final String[] dfa_51s = {
"\2\1\2\uffff\1\2\1\3\7\uffff\1\26\1\1\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\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\51\1\1\1\uffff\1\56\1\uffff\1\47\14\uffff\1\54\1\uffff\1\50\1\52\1\uffff\1\53\3\uffff\1\55\2\uffff\3\1\21\uffff\2\1\1\uffff\15\1\2\uffff\1\1\2\uffff\4\1\6\uffff\1\1\4\uffff\2\1",
"",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\1\43\uffff\1\1\1\uffff\1\56\3\uffff\1\1\1\uffff\1\1\22\uffff\2\1\2\uffff\22\1\2\uffff\1\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
""
};
static final char[] dfa_50 = DFA.unpackEncodedStringToUnsignedChars(dfa_50s);
static final short[][] dfa_51 = unpackEncodedStringArray(dfa_51s);
class DFA214 extends DFA {
public DFA214(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 214;
this.eot = dfa_1;
this.eof = dfa_1;
this.min = dfa_20;
this.max = dfa_50;
this.accept = dfa_22;
this.special = dfa_5;
this.transition = dfa_51;
}
public String getDescription() {
return "9177:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )";
}
}
private static class FollowSets000 {
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[]{0x043FFFFFFFFA0300L,0x0000000000011680L});
public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000009100000002L});
public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000008000000002L});
public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0020000000000000L});
public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x073FFFFFFFFA0300L,0x0000000000011680L});
public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0340000000000000L});
public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x047FFFFFFFFE03B0L,0xF27FFD8000391680L,0x0000000000001840L});
public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0080000000000000L});
public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0300000000000000L});
public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x067FFFFFFFFE03B0L,0xF27FFD8000391680L,0x0000000000001840L});
public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0200000000000000L});
public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x053FFFFFFFFA0300L,0x0000000000011680L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0140000000000000L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0100000000000000L});
public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x167FFFFFFFFA0320L,0x0000000000011680L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x1240000000000000L});
public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x043FFFFFFFFA0320L,0x0000000000011680L});
public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0880000000000000L});
public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x1200000000000000L});
public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x041FFFFFFFFA0300L,0x0000000000010600L});
public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x241FFFFFFFFA0300L,0x0000000000010600L});
public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000004100000L});
public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000800000100000L});
public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x5300000000000000L});
public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0xF27FFD8000391680L,0x0000000000001040L});
public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x5200000000000000L});
public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000020L});
public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x801E104090000000L,0x000000000000007FL});
public static final BitSet FOLLOW_33 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL});
public static final BitSet FOLLOW_34 = new BitSet(new long[]{0xA01E104090000000L,0x000000000000007FL});
public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x2400000208000000L,0x0000000000010200L});
public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x1340000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x1300000000000000L});
public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000180L});
public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x2000000000000000L});
public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x2420000000400000L,0x0000000000010200L});
public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x4000000000000000L});
public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000062L});
public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0240000000000020L});
public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0240000000000000L});
public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x243FFFFFFFFA0300L,0x0000000000010600L});
public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000040010L});
public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x2400000000000000L,0x0000000000010200L});
public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000800L});
public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000002004000000L});
public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000002000000000L});
public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000802000000000L});
public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x047FFFFFFFFA0300L,0x0000000000031680L});
public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0040000000000000L});
public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x04BFFFFFFFFA0300L,0x0000000000011680L});
public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x1301000000000000L});
public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x1201000000000000L});
public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x1A00000000000000L});
public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x8006004010000000L,0x000000000000001AL});
public static final BitSet FOLLOW_60 = new BitSet(new long[]{0xA806004010000000L,0x000000000000001AL});
public static final BitSet FOLLOW_61 = new BitSet(new long[]{0xA006004010000000L,0x000000000000001AL});
public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x2400030000200000L,0x0000000000010200L});
public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x2400048022880000L,0x0000000000010200L});
public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x1100000000000002L});
public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x1000000000000002L});
public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0004004000000000L,0x0000000000000012L});
public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x2804004000000000L,0x0000000000000012L});
public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x2004004000000000L,0x0000000000000012L});
public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000080004000000L});
public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000880000000000L});
public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x5300000000000000L,0x0000000000002000L});
public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x801E504011000000L,0x000000000000C07EL});
public static final BitSet FOLLOW_74 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000C07EL});
public static final BitSet FOLLOW_75 = new BitSet(new long[]{0xA01E504011000000L,0x000000000000C07EL});
public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x2400000A08000000L,0x0000000000011200L});
public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0A00000000000000L});
public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x1340000040000000L,0x0000000000020000L});
public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x1300000040000000L});
public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x1B00000000000000L});
public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x2000000400000000L});
public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x143FFFFFFFFA0320L,0x0000000000011680L});
public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x243FFFFFFFFA0320L,0x0000000000011680L});
public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0800000000000000L,0x0000000000040000L});
public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0040000000000002L,0x0000000000020000L});
public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0xF27FFD8000391680L,0x0000000000009040L});
public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000000002L,0x0000020000000000L});
public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x007FFD8000011680L});
public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0040000000000002L});
public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0080000000000000L,0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0800000000000000L});
public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x1000000000000000L});
public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x257FFFFFFFFE0330L,0xF27FFD8000391680L,0x0000000000001840L});
public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x2800000000000000L});
public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x057FFFFFFFFE0330L,0xF27FFD8000391680L,0x0000000000001840L});
public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L});
public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0xF27FFD8000391680L,0x0000000000001840L});
public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0800000000000000L,0x0100000000000000L});
public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000300L});
public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x247FFFFFFFFE0330L,0xF27FFD8000391680L,0x0000000000001840L});
public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000000L,0x0C00000000000000L});
public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x4100000000000000L});
public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000022L});
public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x4000000000040002L,0x0000007FFFE60000L});
public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x1040000000000002L,0x0000000000000000L,0x0000000000000005L});
public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x1000000000000002L,0x0000000000000000L,0x0000000000000001L});
public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000001L});
public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x05FFFFFFFFFE0330L,0xF27FFD8000391680L,0x0000000000001840L});
public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0A80000000000000L,0x0000000000000000L,0x0000000000000020L});
public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0800000000000000L,0x0000000000000000L,0x0000000000000008L});
public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0100000000000002L,0x0C00000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x4000000000000002L});
public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x4000000000000002L,0x0C00000000000000L});
public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000000000000L,0x0C00000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0100000000000002L});
public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000500L});
public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0800000000000000L,0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x4140000000000000L});
public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000000010L,0x0000000000200000L});
public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x0000000000000010L,0x0000000000A00000L,0x0000000000008000L});
public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000006008L});
public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x0800000000000002L,0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x0000000040000002L});
public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000010000L});
}
}