blob: af85d6856153ab156ce2b130312435718d3f41bf [file] [log] [blame]
package org.eclipse.qvtd.doc.parser.antlr.internal;
import org.antlr.runtime.BitSet;
import org.antlr.runtime.NoViableAltException;
import org.antlr.runtime.RecognitionException;
import org.antlr.runtime.RecognizerSharedState;
import org.antlr.runtime.Token;
import org.antlr.runtime.TokenStream;
import org.eclipse.emf.common.util.Enumerator;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.qvtd.doc.services.MiniOCLCSGrammarAccess;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
@SuppressWarnings("all")
public class InternalMiniOCLCSParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "'{'", "'}'", "'class'", "'extends'", "'datatype'", "':'", "';'", "'attribute'", "'containment'", "'cross_reference'", "'['", "'?'", "'*'", "'..'", "']'", "'op'", "'('", "','", "')'", "'='", "'context'", "'inv'", "'<>'", "'.'", "'->'", "'self'", "'collect'", "'|'", "'iterate'", "'true'", "'false'", "'null'", "'let'", "'in'", "'::'", "'Collection'"
};
public static final int T__19=19;
public static final int T__15=15;
public static final int T__16=16;
public static final int T__17=17;
public static final int T__18=18;
public static final int T__11=11;
public static final int T__12=12;
public static final int T__13=13;
public static final int T__14=14;
public static final int RULE_ID=4;
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 RULE_INT=6;
public static final int T__29=29;
public static final int T__22=22;
public static final int RULE_ML_COMMENT=7;
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 RULE_STRING=5;
public static final int RULE_SL_COMMENT=8;
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 EOF=-1;
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_WS=9;
public static final int RULE_ANY_OTHER=10;
public static final int T__44=44;
public static final int T__45=45;
public static final int T__46=46;
public static final int T__47=47;
public static final int T__40=40;
public static final int T__41=41;
public static final int T__42=42;
public static final int T__43=43;
// delegates
// delegators
public InternalMiniOCLCSParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalMiniOCLCSParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalMiniOCLCSParser.tokenNames; }
public String getGrammarFileName() { return "InternalMiniOCLCS.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 MiniOCLCSGrammarAccess grammarAccess;
public InternalMiniOCLCSParser(TokenStream input, MiniOCLCSGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "RootCS";
}
@Override
protected MiniOCLCSGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleRootCS"
// InternalMiniOCLCS.g:71:1: entryRuleRootCS returns [EObject current=null] : iv_ruleRootCS= ruleRootCS EOF ;
public final EObject entryRuleRootCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleRootCS = null;
try {
// InternalMiniOCLCS.g:71:47: (iv_ruleRootCS= ruleRootCS EOF )
// InternalMiniOCLCS.g:72:2: iv_ruleRootCS= ruleRootCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRootCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleRootCS=ruleRootCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRootCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRootCS"
// $ANTLR start "ruleRootCS"
// InternalMiniOCLCS.g:78:1: ruleRootCS returns [EObject current=null] : ( ( (lv_packages_0_0= rulePackageCS ) ) | ( (lv_contraints_1_0= ruleConstraintsDefCS ) ) )* ;
public final EObject ruleRootCS() throws RecognitionException {
EObject current = null;
EObject lv_packages_0_0 = null;
EObject lv_contraints_1_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:84:2: ( ( ( (lv_packages_0_0= rulePackageCS ) ) | ( (lv_contraints_1_0= ruleConstraintsDefCS ) ) )* )
// InternalMiniOCLCS.g:85:2: ( ( (lv_packages_0_0= rulePackageCS ) ) | ( (lv_contraints_1_0= ruleConstraintsDefCS ) ) )*
{
// InternalMiniOCLCS.g:85:2: ( ( (lv_packages_0_0= rulePackageCS ) ) | ( (lv_contraints_1_0= ruleConstraintsDefCS ) ) )*
loop1:
do {
int alt1=3;
int LA1_0 = input.LA(1);
if ( (LA1_0==11) ) {
alt1=1;
}
else if ( (LA1_0==32) ) {
alt1=2;
}
switch (alt1) {
case 1 :
// InternalMiniOCLCS.g:86:3: ( (lv_packages_0_0= rulePackageCS ) )
{
// InternalMiniOCLCS.g:86:3: ( (lv_packages_0_0= rulePackageCS ) )
// InternalMiniOCLCS.g:87:4: (lv_packages_0_0= rulePackageCS )
{
// InternalMiniOCLCS.g:87:4: (lv_packages_0_0= rulePackageCS )
// InternalMiniOCLCS.g:88:5: lv_packages_0_0= rulePackageCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRootCSAccess().getPackagesPackageCSParserRuleCall_0_0());
}
pushFollow(FOLLOW_3);
lv_packages_0_0=rulePackageCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRootCSRule());
}
add(
current,
"packages",
lv_packages_0_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PackageCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalMiniOCLCS.g:106:3: ( (lv_contraints_1_0= ruleConstraintsDefCS ) )
{
// InternalMiniOCLCS.g:106:3: ( (lv_contraints_1_0= ruleConstraintsDefCS ) )
// InternalMiniOCLCS.g:107:4: (lv_contraints_1_0= ruleConstraintsDefCS )
{
// InternalMiniOCLCS.g:107:4: (lv_contraints_1_0= ruleConstraintsDefCS )
// InternalMiniOCLCS.g:108:5: lv_contraints_1_0= ruleConstraintsDefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRootCSAccess().getContraintsConstraintsDefCSParserRuleCall_1_0());
}
pushFollow(FOLLOW_3);
lv_contraints_1_0=ruleConstraintsDefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRootCSRule());
}
add(
current,
"contraints",
lv_contraints_1_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ConstraintsDefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop1;
}
} while (true);
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRootCS"
// $ANTLR start "entryRulePackageCS"
// InternalMiniOCLCS.g:129:1: entryRulePackageCS returns [EObject current=null] : iv_rulePackageCS= rulePackageCS EOF ;
public final EObject entryRulePackageCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePackageCS = null;
try {
// InternalMiniOCLCS.g:129:50: (iv_rulePackageCS= rulePackageCS EOF )
// InternalMiniOCLCS.g:130:2: iv_rulePackageCS= rulePackageCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageCSRule());
}
pushFollow(FOLLOW_1);
iv_rulePackageCS=rulePackageCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePackageCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePackageCS"
// $ANTLR start "rulePackageCS"
// InternalMiniOCLCS.g:136:1: rulePackageCS returns [EObject current=null] : (otherlv_0= 'package' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( (lv_packages_3_0= rulePackageCS ) ) | ( (lv_classifiers_4_0= ruleClassifierCS ) ) )* otherlv_5= '}' ) ;
public final EObject rulePackageCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token otherlv_5=null;
EObject lv_packages_3_0 = null;
EObject lv_classifiers_4_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:142:2: ( (otherlv_0= 'package' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( (lv_packages_3_0= rulePackageCS ) ) | ( (lv_classifiers_4_0= ruleClassifierCS ) ) )* otherlv_5= '}' ) )
// InternalMiniOCLCS.g:143:2: (otherlv_0= 'package' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( (lv_packages_3_0= rulePackageCS ) ) | ( (lv_classifiers_4_0= ruleClassifierCS ) ) )* otherlv_5= '}' )
{
// InternalMiniOCLCS.g:143:2: (otherlv_0= 'package' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( (lv_packages_3_0= rulePackageCS ) ) | ( (lv_classifiers_4_0= ruleClassifierCS ) ) )* otherlv_5= '}' )
// InternalMiniOCLCS.g:144:3: otherlv_0= 'package' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( (lv_packages_3_0= rulePackageCS ) ) | ( (lv_classifiers_4_0= ruleClassifierCS ) ) )* otherlv_5= '}'
{
otherlv_0=(Token)match(input,11,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getPackageCSAccess().getPackageKeyword_0());
}
// InternalMiniOCLCS.g:148:3: ( (lv_name_1_0= RULE_ID ) )
// InternalMiniOCLCS.g:149:4: (lv_name_1_0= RULE_ID )
{
// InternalMiniOCLCS.g:149:4: (lv_name_1_0= RULE_ID )
// InternalMiniOCLCS.g:150:5: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getPackageCSAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getPackageCSRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
otherlv_2=(Token)match(input,12,FOLLOW_6); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getPackageCSAccess().getLeftCurlyBracketKeyword_2());
}
// InternalMiniOCLCS.g:170:3: ( ( (lv_packages_3_0= rulePackageCS ) ) | ( (lv_classifiers_4_0= ruleClassifierCS ) ) )*
loop2:
do {
int alt2=3;
int LA2_0 = input.LA(1);
if ( (LA2_0==11) ) {
alt2=1;
}
else if ( (LA2_0==14||LA2_0==16) ) {
alt2=2;
}
switch (alt2) {
case 1 :
// InternalMiniOCLCS.g:171:4: ( (lv_packages_3_0= rulePackageCS ) )
{
// InternalMiniOCLCS.g:171:4: ( (lv_packages_3_0= rulePackageCS ) )
// InternalMiniOCLCS.g:172:5: (lv_packages_3_0= rulePackageCS )
{
// InternalMiniOCLCS.g:172:5: (lv_packages_3_0= rulePackageCS )
// InternalMiniOCLCS.g:173:6: lv_packages_3_0= rulePackageCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageCSAccess().getPackagesPackageCSParserRuleCall_3_0_0());
}
pushFollow(FOLLOW_6);
lv_packages_3_0=rulePackageCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPackageCSRule());
}
add(
current,
"packages",
lv_packages_3_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PackageCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalMiniOCLCS.g:191:4: ( (lv_classifiers_4_0= ruleClassifierCS ) )
{
// InternalMiniOCLCS.g:191:4: ( (lv_classifiers_4_0= ruleClassifierCS ) )
// InternalMiniOCLCS.g:192:5: (lv_classifiers_4_0= ruleClassifierCS )
{
// InternalMiniOCLCS.g:192:5: (lv_classifiers_4_0= ruleClassifierCS )
// InternalMiniOCLCS.g:193:6: lv_classifiers_4_0= ruleClassifierCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageCSAccess().getClassifiersClassifierCSParserRuleCall_3_1_0());
}
pushFollow(FOLLOW_6);
lv_classifiers_4_0=ruleClassifierCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPackageCSRule());
}
add(
current,
"classifiers",
lv_classifiers_4_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ClassifierCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop2;
}
} while (true);
otherlv_5=(Token)match(input,13,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getPackageCSAccess().getRightCurlyBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePackageCS"
// $ANTLR start "entryRuleClassifierCS"
// InternalMiniOCLCS.g:219:1: entryRuleClassifierCS returns [EObject current=null] : iv_ruleClassifierCS= ruleClassifierCS EOF ;
public final EObject entryRuleClassifierCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleClassifierCS = null;
try {
// InternalMiniOCLCS.g:219:53: (iv_ruleClassifierCS= ruleClassifierCS EOF )
// InternalMiniOCLCS.g:220:2: iv_ruleClassifierCS= ruleClassifierCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassifierCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleClassifierCS=ruleClassifierCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleClassifierCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleClassifierCS"
// $ANTLR start "ruleClassifierCS"
// InternalMiniOCLCS.g:226:1: ruleClassifierCS returns [EObject current=null] : (this_ClassCS_0= ruleClassCS | this_DatatypeCS_1= ruleDatatypeCS ) ;
public final EObject ruleClassifierCS() throws RecognitionException {
EObject current = null;
EObject this_ClassCS_0 = null;
EObject this_DatatypeCS_1 = null;
enterRule();
try {
// InternalMiniOCLCS.g:232:2: ( (this_ClassCS_0= ruleClassCS | this_DatatypeCS_1= ruleDatatypeCS ) )
// InternalMiniOCLCS.g:233:2: (this_ClassCS_0= ruleClassCS | this_DatatypeCS_1= ruleDatatypeCS )
{
// InternalMiniOCLCS.g:233:2: (this_ClassCS_0= ruleClassCS | this_DatatypeCS_1= ruleDatatypeCS )
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==14) ) {
alt3=1;
}
else if ( (LA3_0==16) ) {
alt3=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 3, 0, input);
throw nvae;
}
switch (alt3) {
case 1 :
// InternalMiniOCLCS.g:234:3: this_ClassCS_0= ruleClassCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassifierCSAccess().getClassCSParserRuleCall_0());
}
pushFollow(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 :
// InternalMiniOCLCS.g:246:3: this_DatatypeCS_1= ruleDatatypeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassifierCSAccess().getDatatypeCSParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_DatatypeCS_1=ruleDatatypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_DatatypeCS_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleClassifierCS"
// $ANTLR start "entryRuleClassCS"
// InternalMiniOCLCS.g:261:1: entryRuleClassCS returns [EObject current=null] : iv_ruleClassCS= ruleClassCS EOF ;
public final EObject entryRuleClassCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleClassCS = null;
try {
// InternalMiniOCLCS.g:261:48: (iv_ruleClassCS= ruleClassCS EOF )
// InternalMiniOCLCS.g:262:2: iv_ruleClassCS= ruleClassCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleClassCS=ruleClassCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleClassCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleClassCS"
// $ANTLR start "ruleClassCS"
// InternalMiniOCLCS.g:268:1: ruleClassCS returns [EObject current=null] : (otherlv_0= 'class' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_extends_3_0= rulePathNameCS ) ) )? otherlv_4= '{' ( ( (lv_properties_5_0= rulePropertyCS ) ) | ( (lv_operations_6_0= ruleOperationCS ) ) )* otherlv_7= '}' ) ;
public final EObject ruleClassCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_7=null;
EObject lv_extends_3_0 = null;
EObject lv_properties_5_0 = null;
EObject lv_operations_6_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:274:2: ( (otherlv_0= 'class' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_extends_3_0= rulePathNameCS ) ) )? otherlv_4= '{' ( ( (lv_properties_5_0= rulePropertyCS ) ) | ( (lv_operations_6_0= ruleOperationCS ) ) )* otherlv_7= '}' ) )
// InternalMiniOCLCS.g:275:2: (otherlv_0= 'class' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_extends_3_0= rulePathNameCS ) ) )? otherlv_4= '{' ( ( (lv_properties_5_0= rulePropertyCS ) ) | ( (lv_operations_6_0= ruleOperationCS ) ) )* otherlv_7= '}' )
{
// InternalMiniOCLCS.g:275:2: (otherlv_0= 'class' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_extends_3_0= rulePathNameCS ) ) )? otherlv_4= '{' ( ( (lv_properties_5_0= rulePropertyCS ) ) | ( (lv_operations_6_0= ruleOperationCS ) ) )* otherlv_7= '}' )
// InternalMiniOCLCS.g:276:3: otherlv_0= 'class' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_extends_3_0= rulePathNameCS ) ) )? otherlv_4= '{' ( ( (lv_properties_5_0= rulePropertyCS ) ) | ( (lv_operations_6_0= ruleOperationCS ) ) )* otherlv_7= '}'
{
otherlv_0=(Token)match(input,14,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getClassCSAccess().getClassKeyword_0());
}
// InternalMiniOCLCS.g:280:3: ( (lv_name_1_0= RULE_ID ) )
// InternalMiniOCLCS.g:281:4: (lv_name_1_0= RULE_ID )
{
// InternalMiniOCLCS.g:281:4: (lv_name_1_0= RULE_ID )
// InternalMiniOCLCS.g:282:5: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_7); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getClassCSAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getClassCSRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
// InternalMiniOCLCS.g:298:3: (otherlv_2= 'extends' ( (lv_extends_3_0= rulePathNameCS ) ) )?
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==15) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// InternalMiniOCLCS.g:299:4: otherlv_2= 'extends' ( (lv_extends_3_0= rulePathNameCS ) )
{
otherlv_2=(Token)match(input,15,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getClassCSAccess().getExtendsKeyword_2_0());
}
// InternalMiniOCLCS.g:303:4: ( (lv_extends_3_0= rulePathNameCS ) )
// InternalMiniOCLCS.g:304:5: (lv_extends_3_0= rulePathNameCS )
{
// InternalMiniOCLCS.g:304:5: (lv_extends_3_0= rulePathNameCS )
// InternalMiniOCLCS.g:305:6: lv_extends_3_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSAccess().getExtendsPathNameCSParserRuleCall_2_1_0());
}
pushFollow(FOLLOW_5);
lv_extends_3_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getClassCSRule());
}
set(
current,
"extends",
lv_extends_3_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_4=(Token)match(input,12,FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getClassCSAccess().getLeftCurlyBracketKeyword_3());
}
// InternalMiniOCLCS.g:327:3: ( ( (lv_properties_5_0= rulePropertyCS ) ) | ( (lv_operations_6_0= ruleOperationCS ) ) )*
loop5:
do {
int alt5=3;
int LA5_0 = input.LA(1);
if ( ((LA5_0>=19 && LA5_0<=21)) ) {
alt5=1;
}
else if ( (LA5_0==27) ) {
alt5=2;
}
switch (alt5) {
case 1 :
// InternalMiniOCLCS.g:328:4: ( (lv_properties_5_0= rulePropertyCS ) )
{
// InternalMiniOCLCS.g:328:4: ( (lv_properties_5_0= rulePropertyCS ) )
// InternalMiniOCLCS.g:329:5: (lv_properties_5_0= rulePropertyCS )
{
// InternalMiniOCLCS.g:329:5: (lv_properties_5_0= rulePropertyCS )
// InternalMiniOCLCS.g:330:6: lv_properties_5_0= rulePropertyCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSAccess().getPropertiesPropertyCSParserRuleCall_4_0_0());
}
pushFollow(FOLLOW_8);
lv_properties_5_0=rulePropertyCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getClassCSRule());
}
add(
current,
"properties",
lv_properties_5_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PropertyCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalMiniOCLCS.g:348:4: ( (lv_operations_6_0= ruleOperationCS ) )
{
// InternalMiniOCLCS.g:348:4: ( (lv_operations_6_0= ruleOperationCS ) )
// InternalMiniOCLCS.g:349:5: (lv_operations_6_0= ruleOperationCS )
{
// InternalMiniOCLCS.g:349:5: (lv_operations_6_0= ruleOperationCS )
// InternalMiniOCLCS.g:350:6: lv_operations_6_0= ruleOperationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSAccess().getOperationsOperationCSParserRuleCall_4_1_0());
}
pushFollow(FOLLOW_8);
lv_operations_6_0=ruleOperationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getClassCSRule());
}
add(
current,
"operations",
lv_operations_6_0,
"org.eclipse.qvtd.doc.MiniOCLCS.OperationCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop5;
}
} while (true);
otherlv_7=(Token)match(input,13,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getClassCSAccess().getRightCurlyBracketKeyword_5());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleClassCS"
// $ANTLR start "entryRuleDatatypeCS"
// InternalMiniOCLCS.g:376:1: entryRuleDatatypeCS returns [EObject current=null] : iv_ruleDatatypeCS= ruleDatatypeCS EOF ;
public final EObject entryRuleDatatypeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleDatatypeCS = null;
try {
// InternalMiniOCLCS.g:376:51: (iv_ruleDatatypeCS= ruleDatatypeCS EOF )
// InternalMiniOCLCS.g:377:2: iv_ruleDatatypeCS= ruleDatatypeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDatatypeCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleDatatypeCS=ruleDatatypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDatatypeCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDatatypeCS"
// $ANTLR start "ruleDatatypeCS"
// InternalMiniOCLCS.g:383:1: ruleDatatypeCS returns [EObject current=null] : (otherlv_0= 'datatype' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_typeName_3_0= RULE_STRING ) ) otherlv_4= ';' ) ;
public final EObject ruleDatatypeCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token lv_typeName_3_0=null;
Token otherlv_4=null;
enterRule();
try {
// InternalMiniOCLCS.g:389:2: ( (otherlv_0= 'datatype' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_typeName_3_0= RULE_STRING ) ) otherlv_4= ';' ) )
// InternalMiniOCLCS.g:390:2: (otherlv_0= 'datatype' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_typeName_3_0= RULE_STRING ) ) otherlv_4= ';' )
{
// InternalMiniOCLCS.g:390:2: (otherlv_0= 'datatype' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_typeName_3_0= RULE_STRING ) ) otherlv_4= ';' )
// InternalMiniOCLCS.g:391:3: otherlv_0= 'datatype' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_typeName_3_0= RULE_STRING ) ) otherlv_4= ';'
{
otherlv_0=(Token)match(input,16,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getDatatypeCSAccess().getDatatypeKeyword_0());
}
// InternalMiniOCLCS.g:395:3: ( (lv_name_1_0= RULE_ID ) )
// InternalMiniOCLCS.g:396:4: (lv_name_1_0= RULE_ID )
{
// InternalMiniOCLCS.g:396:4: (lv_name_1_0= RULE_ID )
// InternalMiniOCLCS.g:397:5: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getDatatypeCSAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDatatypeCSRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
otherlv_2=(Token)match(input,17,FOLLOW_10); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getDatatypeCSAccess().getColonKeyword_2());
}
// InternalMiniOCLCS.g:417:3: ( (lv_typeName_3_0= RULE_STRING ) )
// InternalMiniOCLCS.g:418:4: (lv_typeName_3_0= RULE_STRING )
{
// InternalMiniOCLCS.g:418:4: (lv_typeName_3_0= RULE_STRING )
// InternalMiniOCLCS.g:419:5: lv_typeName_3_0= RULE_STRING
{
lv_typeName_3_0=(Token)match(input,RULE_STRING,FOLLOW_11); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_typeName_3_0, grammarAccess.getDatatypeCSAccess().getTypeNameSTRINGTerminalRuleCall_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDatatypeCSRule());
}
setWithLastConsumed(
current,
"typeName",
lv_typeName_3_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
otherlv_4=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getDatatypeCSAccess().getSemicolonKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDatatypeCS"
// $ANTLR start "entryRulePropertyCS"
// InternalMiniOCLCS.g:443:1: entryRulePropertyCS returns [EObject current=null] : iv_rulePropertyCS= rulePropertyCS EOF ;
public final EObject entryRulePropertyCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePropertyCS = null;
try {
// InternalMiniOCLCS.g:443:51: (iv_rulePropertyCS= rulePropertyCS EOF )
// InternalMiniOCLCS.g:444:2: iv_rulePropertyCS= rulePropertyCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPropertyCSRule());
}
pushFollow(FOLLOW_1);
iv_rulePropertyCS=rulePropertyCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePropertyCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePropertyCS"
// $ANTLR start "rulePropertyCS"
// InternalMiniOCLCS.g:450:1: rulePropertyCS returns [EObject current=null] : ( (otherlv_0= 'attribute' | otherlv_1= 'containment' | otherlv_2= 'cross_reference' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_typeRef_5_0= rulePathNameCS ) ) ( (lv_multiplicity_6_0= ruleMultiplicityCS ) )? otherlv_7= ';' ) ;
public final EObject rulePropertyCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_2=null;
Token lv_name_3_0=null;
Token otherlv_4=null;
Token otherlv_7=null;
EObject lv_typeRef_5_0 = null;
EObject lv_multiplicity_6_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:456:2: ( ( (otherlv_0= 'attribute' | otherlv_1= 'containment' | otherlv_2= 'cross_reference' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_typeRef_5_0= rulePathNameCS ) ) ( (lv_multiplicity_6_0= ruleMultiplicityCS ) )? otherlv_7= ';' ) )
// InternalMiniOCLCS.g:457:2: ( (otherlv_0= 'attribute' | otherlv_1= 'containment' | otherlv_2= 'cross_reference' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_typeRef_5_0= rulePathNameCS ) ) ( (lv_multiplicity_6_0= ruleMultiplicityCS ) )? otherlv_7= ';' )
{
// InternalMiniOCLCS.g:457:2: ( (otherlv_0= 'attribute' | otherlv_1= 'containment' | otherlv_2= 'cross_reference' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_typeRef_5_0= rulePathNameCS ) ) ( (lv_multiplicity_6_0= ruleMultiplicityCS ) )? otherlv_7= ';' )
// InternalMiniOCLCS.g:458:3: (otherlv_0= 'attribute' | otherlv_1= 'containment' | otherlv_2= 'cross_reference' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_typeRef_5_0= rulePathNameCS ) ) ( (lv_multiplicity_6_0= ruleMultiplicityCS ) )? otherlv_7= ';'
{
// InternalMiniOCLCS.g:458:3: (otherlv_0= 'attribute' | otherlv_1= 'containment' | otherlv_2= 'cross_reference' )
int alt6=3;
switch ( input.LA(1) ) {
case 19:
{
alt6=1;
}
break;
case 20:
{
alt6=2;
}
break;
case 21:
{
alt6=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1 :
// InternalMiniOCLCS.g:459:4: otherlv_0= 'attribute'
{
otherlv_0=(Token)match(input,19,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getPropertyCSAccess().getAttributeKeyword_0_0());
}
}
break;
case 2 :
// InternalMiniOCLCS.g:464:4: otherlv_1= 'containment'
{
otherlv_1=(Token)match(input,20,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPropertyCSAccess().getContainmentKeyword_0_1());
}
}
break;
case 3 :
// InternalMiniOCLCS.g:469:4: otherlv_2= 'cross_reference'
{
otherlv_2=(Token)match(input,21,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getPropertyCSAccess().getCross_referenceKeyword_0_2());
}
}
break;
}
// InternalMiniOCLCS.g:474:3: ( (lv_name_3_0= RULE_ID ) )
// InternalMiniOCLCS.g:475:4: (lv_name_3_0= RULE_ID )
{
// InternalMiniOCLCS.g:475:4: (lv_name_3_0= RULE_ID )
// InternalMiniOCLCS.g:476:5: lv_name_3_0= RULE_ID
{
lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_3_0, grammarAccess.getPropertyCSAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getPropertyCSRule());
}
setWithLastConsumed(
current,
"name",
lv_name_3_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
otherlv_4=(Token)match(input,17,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getPropertyCSAccess().getColonKeyword_2());
}
// InternalMiniOCLCS.g:496:3: ( (lv_typeRef_5_0= rulePathNameCS ) )
// InternalMiniOCLCS.g:497:4: (lv_typeRef_5_0= rulePathNameCS )
{
// InternalMiniOCLCS.g:497:4: (lv_typeRef_5_0= rulePathNameCS )
// InternalMiniOCLCS.g:498:5: lv_typeRef_5_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPropertyCSAccess().getTypeRefPathNameCSParserRuleCall_3_0());
}
pushFollow(FOLLOW_12);
lv_typeRef_5_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPropertyCSRule());
}
set(
current,
"typeRef",
lv_typeRef_5_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalMiniOCLCS.g:515:3: ( (lv_multiplicity_6_0= ruleMultiplicityCS ) )?
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==22) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// InternalMiniOCLCS.g:516:4: (lv_multiplicity_6_0= ruleMultiplicityCS )
{
// InternalMiniOCLCS.g:516:4: (lv_multiplicity_6_0= ruleMultiplicityCS )
// InternalMiniOCLCS.g:517:5: lv_multiplicity_6_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPropertyCSAccess().getMultiplicityMultiplicityCSParserRuleCall_4_0());
}
pushFollow(FOLLOW_11);
lv_multiplicity_6_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPropertyCSRule());
}
set(
current,
"multiplicity",
lv_multiplicity_6_0,
"org.eclipse.qvtd.doc.MiniOCLCS.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_7=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getPropertyCSAccess().getSemicolonKeyword_5());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePropertyCS"
// $ANTLR start "entryRuleMultiplicityCS"
// InternalMiniOCLCS.g:542:1: entryRuleMultiplicityCS returns [EObject current=null] : iv_ruleMultiplicityCS= ruleMultiplicityCS EOF ;
public final EObject entryRuleMultiplicityCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMultiplicityCS = null;
try {
// InternalMiniOCLCS.g:542:55: (iv_ruleMultiplicityCS= ruleMultiplicityCS EOF )
// InternalMiniOCLCS.g:543:2: iv_ruleMultiplicityCS= ruleMultiplicityCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleMultiplicityCS=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMultiplicityCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMultiplicityCS"
// $ANTLR start "ruleMultiplicityCS"
// InternalMiniOCLCS.g:549:1: ruleMultiplicityCS returns [EObject current=null] : (otherlv_0= '[' ( ( (lv_opt_1_0= '?' ) ) | ( (lv_mult_2_0= '*' ) ) | ( ( (lv_lower_3_0= RULE_INT ) ) otherlv_4= '..' ( ( (lv_upperInt_5_0= RULE_INT ) ) | ( (lv_upperMult_6_0= '*' ) ) ) ) ) otherlv_7= ']' ) ;
public final EObject ruleMultiplicityCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_opt_1_0=null;
Token lv_mult_2_0=null;
Token lv_lower_3_0=null;
Token otherlv_4=null;
Token lv_upperInt_5_0=null;
Token lv_upperMult_6_0=null;
Token otherlv_7=null;
enterRule();
try {
// InternalMiniOCLCS.g:555:2: ( (otherlv_0= '[' ( ( (lv_opt_1_0= '?' ) ) | ( (lv_mult_2_0= '*' ) ) | ( ( (lv_lower_3_0= RULE_INT ) ) otherlv_4= '..' ( ( (lv_upperInt_5_0= RULE_INT ) ) | ( (lv_upperMult_6_0= '*' ) ) ) ) ) otherlv_7= ']' ) )
// InternalMiniOCLCS.g:556:2: (otherlv_0= '[' ( ( (lv_opt_1_0= '?' ) ) | ( (lv_mult_2_0= '*' ) ) | ( ( (lv_lower_3_0= RULE_INT ) ) otherlv_4= '..' ( ( (lv_upperInt_5_0= RULE_INT ) ) | ( (lv_upperMult_6_0= '*' ) ) ) ) ) otherlv_7= ']' )
{
// InternalMiniOCLCS.g:556:2: (otherlv_0= '[' ( ( (lv_opt_1_0= '?' ) ) | ( (lv_mult_2_0= '*' ) ) | ( ( (lv_lower_3_0= RULE_INT ) ) otherlv_4= '..' ( ( (lv_upperInt_5_0= RULE_INT ) ) | ( (lv_upperMult_6_0= '*' ) ) ) ) ) otherlv_7= ']' )
// InternalMiniOCLCS.g:557:3: otherlv_0= '[' ( ( (lv_opt_1_0= '?' ) ) | ( (lv_mult_2_0= '*' ) ) | ( ( (lv_lower_3_0= RULE_INT ) ) otherlv_4= '..' ( ( (lv_upperInt_5_0= RULE_INT ) ) | ( (lv_upperMult_6_0= '*' ) ) ) ) ) otherlv_7= ']'
{
otherlv_0=(Token)match(input,22,FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0());
}
// InternalMiniOCLCS.g:561:3: ( ( (lv_opt_1_0= '?' ) ) | ( (lv_mult_2_0= '*' ) ) | ( ( (lv_lower_3_0= RULE_INT ) ) otherlv_4= '..' ( ( (lv_upperInt_5_0= RULE_INT ) ) | ( (lv_upperMult_6_0= '*' ) ) ) ) )
int alt9=3;
switch ( input.LA(1) ) {
case 23:
{
alt9=1;
}
break;
case 24:
{
alt9=2;
}
break;
case RULE_INT:
{
alt9=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 9, 0, input);
throw nvae;
}
switch (alt9) {
case 1 :
// InternalMiniOCLCS.g:562:4: ( (lv_opt_1_0= '?' ) )
{
// InternalMiniOCLCS.g:562:4: ( (lv_opt_1_0= '?' ) )
// InternalMiniOCLCS.g:563:5: (lv_opt_1_0= '?' )
{
// InternalMiniOCLCS.g:563:5: (lv_opt_1_0= '?' )
// InternalMiniOCLCS.g:564:6: lv_opt_1_0= '?'
{
lv_opt_1_0=(Token)match(input,23,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_opt_1_0, grammarAccess.getMultiplicityCSAccess().getOptQuestionMarkKeyword_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityCSRule());
}
setWithLastConsumed(current, "opt", true, "?");
}
}
}
}
break;
case 2 :
// InternalMiniOCLCS.g:577:4: ( (lv_mult_2_0= '*' ) )
{
// InternalMiniOCLCS.g:577:4: ( (lv_mult_2_0= '*' ) )
// InternalMiniOCLCS.g:578:5: (lv_mult_2_0= '*' )
{
// InternalMiniOCLCS.g:578:5: (lv_mult_2_0= '*' )
// InternalMiniOCLCS.g:579:6: lv_mult_2_0= '*'
{
lv_mult_2_0=(Token)match(input,24,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_mult_2_0, grammarAccess.getMultiplicityCSAccess().getMultAsteriskKeyword_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityCSRule());
}
setWithLastConsumed(current, "mult", true, "*");
}
}
}
}
break;
case 3 :
// InternalMiniOCLCS.g:592:4: ( ( (lv_lower_3_0= RULE_INT ) ) otherlv_4= '..' ( ( (lv_upperInt_5_0= RULE_INT ) ) | ( (lv_upperMult_6_0= '*' ) ) ) )
{
// InternalMiniOCLCS.g:592:4: ( ( (lv_lower_3_0= RULE_INT ) ) otherlv_4= '..' ( ( (lv_upperInt_5_0= RULE_INT ) ) | ( (lv_upperMult_6_0= '*' ) ) ) )
// InternalMiniOCLCS.g:593:5: ( (lv_lower_3_0= RULE_INT ) ) otherlv_4= '..' ( ( (lv_upperInt_5_0= RULE_INT ) ) | ( (lv_upperMult_6_0= '*' ) ) )
{
// InternalMiniOCLCS.g:593:5: ( (lv_lower_3_0= RULE_INT ) )
// InternalMiniOCLCS.g:594:6: (lv_lower_3_0= RULE_INT )
{
// InternalMiniOCLCS.g:594:6: (lv_lower_3_0= RULE_INT )
// InternalMiniOCLCS.g:595:7: lv_lower_3_0= RULE_INT
{
lv_lower_3_0=(Token)match(input,RULE_INT,FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_lower_3_0, grammarAccess.getMultiplicityCSAccess().getLowerINTTerminalRuleCall_1_2_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityCSRule());
}
setWithLastConsumed(
current,
"lower",
lv_lower_3_0,
"org.eclipse.xtext.common.Terminals.INT");
}
}
}
otherlv_4=(Token)match(input,25,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getMultiplicityCSAccess().getFullStopFullStopKeyword_1_2_1());
}
// InternalMiniOCLCS.g:615:5: ( ( (lv_upperInt_5_0= RULE_INT ) ) | ( (lv_upperMult_6_0= '*' ) ) )
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==RULE_INT) ) {
alt8=1;
}
else if ( (LA8_0==24) ) {
alt8=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 8, 0, input);
throw nvae;
}
switch (alt8) {
case 1 :
// InternalMiniOCLCS.g:616:6: ( (lv_upperInt_5_0= RULE_INT ) )
{
// InternalMiniOCLCS.g:616:6: ( (lv_upperInt_5_0= RULE_INT ) )
// InternalMiniOCLCS.g:617:7: (lv_upperInt_5_0= RULE_INT )
{
// InternalMiniOCLCS.g:617:7: (lv_upperInt_5_0= RULE_INT )
// InternalMiniOCLCS.g:618:8: lv_upperInt_5_0= RULE_INT
{
lv_upperInt_5_0=(Token)match(input,RULE_INT,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_upperInt_5_0, grammarAccess.getMultiplicityCSAccess().getUpperIntINTTerminalRuleCall_1_2_2_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityCSRule());
}
setWithLastConsumed(
current,
"upperInt",
lv_upperInt_5_0,
"org.eclipse.xtext.common.Terminals.INT");
}
}
}
}
break;
case 2 :
// InternalMiniOCLCS.g:635:6: ( (lv_upperMult_6_0= '*' ) )
{
// InternalMiniOCLCS.g:635:6: ( (lv_upperMult_6_0= '*' ) )
// InternalMiniOCLCS.g:636:7: (lv_upperMult_6_0= '*' )
{
// InternalMiniOCLCS.g:636:7: (lv_upperMult_6_0= '*' )
// InternalMiniOCLCS.g:637:8: lv_upperMult_6_0= '*'
{
lv_upperMult_6_0=(Token)match(input,24,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_upperMult_6_0, grammarAccess.getMultiplicityCSAccess().getUpperMultAsteriskKeyword_1_2_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityCSRule());
}
setWithLastConsumed(current, "upperMult", true, "*");
}
}
}
}
break;
}
}
}
break;
}
otherlv_7=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMultiplicityCS"
// $ANTLR start "entryRuleOperationCS"
// InternalMiniOCLCS.g:660:1: entryRuleOperationCS returns [EObject current=null] : iv_ruleOperationCS= ruleOperationCS EOF ;
public final EObject entryRuleOperationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleOperationCS = null;
try {
// InternalMiniOCLCS.g:660:52: (iv_ruleOperationCS= ruleOperationCS EOF )
// InternalMiniOCLCS.g:661:2: iv_ruleOperationCS= ruleOperationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleOperationCS=ruleOperationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOperationCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOperationCS"
// $ANTLR start "ruleOperationCS"
// InternalMiniOCLCS.g:667:1: ruleOperationCS returns [EObject current=null] : (otherlv_0= 'op' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '(' ( ( (lv_params_3_0= ruleParameterCS ) ) (otherlv_4= ',' ( (lv_params_5_0= ruleParameterCS ) ) )* )? otherlv_6= ')' otherlv_7= ':' ( (lv_resultRef_8_0= rulePathNameCS ) ) otherlv_9= '=' ( (lv_body_10_0= ruleExpCS ) ) otherlv_11= ';' ) ;
public final EObject ruleOperationCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_11=null;
EObject lv_params_3_0 = null;
EObject lv_params_5_0 = null;
EObject lv_resultRef_8_0 = null;
EObject lv_body_10_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:673:2: ( (otherlv_0= 'op' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '(' ( ( (lv_params_3_0= ruleParameterCS ) ) (otherlv_4= ',' ( (lv_params_5_0= ruleParameterCS ) ) )* )? otherlv_6= ')' otherlv_7= ':' ( (lv_resultRef_8_0= rulePathNameCS ) ) otherlv_9= '=' ( (lv_body_10_0= ruleExpCS ) ) otherlv_11= ';' ) )
// InternalMiniOCLCS.g:674:2: (otherlv_0= 'op' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '(' ( ( (lv_params_3_0= ruleParameterCS ) ) (otherlv_4= ',' ( (lv_params_5_0= ruleParameterCS ) ) )* )? otherlv_6= ')' otherlv_7= ':' ( (lv_resultRef_8_0= rulePathNameCS ) ) otherlv_9= '=' ( (lv_body_10_0= ruleExpCS ) ) otherlv_11= ';' )
{
// InternalMiniOCLCS.g:674:2: (otherlv_0= 'op' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '(' ( ( (lv_params_3_0= ruleParameterCS ) ) (otherlv_4= ',' ( (lv_params_5_0= ruleParameterCS ) ) )* )? otherlv_6= ')' otherlv_7= ':' ( (lv_resultRef_8_0= rulePathNameCS ) ) otherlv_9= '=' ( (lv_body_10_0= ruleExpCS ) ) otherlv_11= ';' )
// InternalMiniOCLCS.g:675:3: otherlv_0= 'op' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '(' ( ( (lv_params_3_0= ruleParameterCS ) ) (otherlv_4= ',' ( (lv_params_5_0= ruleParameterCS ) ) )* )? otherlv_6= ')' otherlv_7= ':' ( (lv_resultRef_8_0= rulePathNameCS ) ) otherlv_9= '=' ( (lv_body_10_0= ruleExpCS ) ) otherlv_11= ';'
{
otherlv_0=(Token)match(input,27,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getOperationCSAccess().getOpKeyword_0());
}
// InternalMiniOCLCS.g:679:3: ( (lv_name_1_0= RULE_ID ) )
// InternalMiniOCLCS.g:680:4: (lv_name_1_0= RULE_ID )
{
// InternalMiniOCLCS.g:680:4: (lv_name_1_0= RULE_ID )
// InternalMiniOCLCS.g:681:5: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getOperationCSAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
otherlv_2=(Token)match(input,28,FOLLOW_18); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getOperationCSAccess().getLeftParenthesisKeyword_2());
}
// InternalMiniOCLCS.g:701:3: ( ( (lv_params_3_0= ruleParameterCS ) ) (otherlv_4= ',' ( (lv_params_5_0= ruleParameterCS ) ) )* )?
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==RULE_ID) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// InternalMiniOCLCS.g:702:4: ( (lv_params_3_0= ruleParameterCS ) ) (otherlv_4= ',' ( (lv_params_5_0= ruleParameterCS ) ) )*
{
// InternalMiniOCLCS.g:702:4: ( (lv_params_3_0= ruleParameterCS ) )
// InternalMiniOCLCS.g:703:5: (lv_params_3_0= ruleParameterCS )
{
// InternalMiniOCLCS.g:703:5: (lv_params_3_0= ruleParameterCS )
// InternalMiniOCLCS.g:704:6: lv_params_3_0= ruleParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getParamsParameterCSParserRuleCall_3_0_0());
}
pushFollow(FOLLOW_19);
lv_params_3_0=ruleParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"params",
lv_params_3_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ParameterCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalMiniOCLCS.g:721:4: (otherlv_4= ',' ( (lv_params_5_0= ruleParameterCS ) ) )*
loop10:
do {
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==29) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// InternalMiniOCLCS.g:722:5: otherlv_4= ',' ( (lv_params_5_0= ruleParameterCS ) )
{
otherlv_4=(Token)match(input,29,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getOperationCSAccess().getCommaKeyword_3_1_0());
}
// InternalMiniOCLCS.g:726:5: ( (lv_params_5_0= ruleParameterCS ) )
// InternalMiniOCLCS.g:727:6: (lv_params_5_0= ruleParameterCS )
{
// InternalMiniOCLCS.g:727:6: (lv_params_5_0= ruleParameterCS )
// InternalMiniOCLCS.g:728:7: lv_params_5_0= ruleParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getParamsParameterCSParserRuleCall_3_1_1_0());
}
pushFollow(FOLLOW_19);
lv_params_5_0=ruleParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"params",
lv_params_5_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ParameterCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop10;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,30,FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getOperationCSAccess().getRightParenthesisKeyword_4());
}
otherlv_7=(Token)match(input,17,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getOperationCSAccess().getColonKeyword_5());
}
// InternalMiniOCLCS.g:755:3: ( (lv_resultRef_8_0= rulePathNameCS ) )
// InternalMiniOCLCS.g:756:4: (lv_resultRef_8_0= rulePathNameCS )
{
// InternalMiniOCLCS.g:756:4: (lv_resultRef_8_0= rulePathNameCS )
// InternalMiniOCLCS.g:757:5: lv_resultRef_8_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getResultRefPathNameCSParserRuleCall_6_0());
}
pushFollow(FOLLOW_20);
lv_resultRef_8_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
set(
current,
"resultRef",
lv_resultRef_8_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_9=(Token)match(input,31,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getOperationCSAccess().getEqualsSignKeyword_7());
}
// InternalMiniOCLCS.g:778:3: ( (lv_body_10_0= ruleExpCS ) )
// InternalMiniOCLCS.g:779:4: (lv_body_10_0= ruleExpCS )
{
// InternalMiniOCLCS.g:779:4: (lv_body_10_0= ruleExpCS )
// InternalMiniOCLCS.g:780:5: lv_body_10_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getBodyExpCSParserRuleCall_8_0());
}
pushFollow(FOLLOW_11);
lv_body_10_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
set(
current,
"body",
lv_body_10_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_11=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getOperationCSAccess().getSemicolonKeyword_9());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOperationCS"
// $ANTLR start "entryRuleParameterCS"
// InternalMiniOCLCS.g:805:1: entryRuleParameterCS returns [EObject current=null] : iv_ruleParameterCS= ruleParameterCS EOF ;
public final EObject entryRuleParameterCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleParameterCS = null;
try {
// InternalMiniOCLCS.g:805:52: (iv_ruleParameterCS= ruleParameterCS EOF )
// InternalMiniOCLCS.g:806:2: iv_ruleParameterCS= ruleParameterCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleParameterCS=ruleParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleParameterCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleParameterCS"
// $ANTLR start "ruleParameterCS"
// InternalMiniOCLCS.g:812:1: ruleParameterCS returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) ) ) ;
public final EObject ruleParameterCS() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
Token otherlv_1=null;
EObject lv_typeRef_2_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:818:2: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) ) ) )
// InternalMiniOCLCS.g:819:2: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) ) )
{
// InternalMiniOCLCS.g:819:2: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) ) )
// InternalMiniOCLCS.g:820:3: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) )
{
// InternalMiniOCLCS.g:820:3: ( (lv_name_0_0= RULE_ID ) )
// InternalMiniOCLCS.g:821:4: (lv_name_0_0= RULE_ID )
{
// InternalMiniOCLCS.g:821:4: (lv_name_0_0= RULE_ID )
// InternalMiniOCLCS.g:822:5: lv_name_0_0= RULE_ID
{
lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_0_0, grammarAccess.getParameterCSAccess().getNameIDTerminalRuleCall_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterCSRule());
}
setWithLastConsumed(
current,
"name",
lv_name_0_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
otherlv_1=(Token)match(input,17,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getParameterCSAccess().getColonKeyword_1());
}
// InternalMiniOCLCS.g:842:3: ( (lv_typeRef_2_0= rulePathNameCS ) )
// InternalMiniOCLCS.g:843:4: (lv_typeRef_2_0= rulePathNameCS )
{
// InternalMiniOCLCS.g:843:4: (lv_typeRef_2_0= rulePathNameCS )
// InternalMiniOCLCS.g:844:5: lv_typeRef_2_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterCSAccess().getTypeRefPathNameCSParserRuleCall_2_0());
}
pushFollow(FOLLOW_2);
lv_typeRef_2_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterCSRule());
}
set(
current,
"typeRef",
lv_typeRef_2_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleParameterCS"
// $ANTLR start "entryRuleConstraintsDefCS"
// InternalMiniOCLCS.g:865:1: entryRuleConstraintsDefCS returns [EObject current=null] : iv_ruleConstraintsDefCS= ruleConstraintsDefCS EOF ;
public final EObject entryRuleConstraintsDefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleConstraintsDefCS = null;
try {
// InternalMiniOCLCS.g:865:57: (iv_ruleConstraintsDefCS= ruleConstraintsDefCS EOF )
// InternalMiniOCLCS.g:866:2: iv_ruleConstraintsDefCS= ruleConstraintsDefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getConstraintsDefCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleConstraintsDefCS=ruleConstraintsDefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleConstraintsDefCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleConstraintsDefCS"
// $ANTLR start "ruleConstraintsDefCS"
// InternalMiniOCLCS.g:872:1: ruleConstraintsDefCS returns [EObject current=null] : (otherlv_0= 'context' ( (lv_typeRef_1_0= rulePathNameCS ) ) otherlv_2= '{' ( (lv_invariants_3_0= ruleInvariantCS ) )* otherlv_4= '}' ) ;
public final EObject ruleConstraintsDefCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_typeRef_1_0 = null;
EObject lv_invariants_3_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:878:2: ( (otherlv_0= 'context' ( (lv_typeRef_1_0= rulePathNameCS ) ) otherlv_2= '{' ( (lv_invariants_3_0= ruleInvariantCS ) )* otherlv_4= '}' ) )
// InternalMiniOCLCS.g:879:2: (otherlv_0= 'context' ( (lv_typeRef_1_0= rulePathNameCS ) ) otherlv_2= '{' ( (lv_invariants_3_0= ruleInvariantCS ) )* otherlv_4= '}' )
{
// InternalMiniOCLCS.g:879:2: (otherlv_0= 'context' ( (lv_typeRef_1_0= rulePathNameCS ) ) otherlv_2= '{' ( (lv_invariants_3_0= ruleInvariantCS ) )* otherlv_4= '}' )
// InternalMiniOCLCS.g:880:3: otherlv_0= 'context' ( (lv_typeRef_1_0= rulePathNameCS ) ) otherlv_2= '{' ( (lv_invariants_3_0= ruleInvariantCS ) )* otherlv_4= '}'
{
otherlv_0=(Token)match(input,32,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getConstraintsDefCSAccess().getContextKeyword_0());
}
// InternalMiniOCLCS.g:884:3: ( (lv_typeRef_1_0= rulePathNameCS ) )
// InternalMiniOCLCS.g:885:4: (lv_typeRef_1_0= rulePathNameCS )
{
// InternalMiniOCLCS.g:885:4: (lv_typeRef_1_0= rulePathNameCS )
// InternalMiniOCLCS.g:886:5: lv_typeRef_1_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getConstraintsDefCSAccess().getTypeRefPathNameCSParserRuleCall_1_0());
}
pushFollow(FOLLOW_5);
lv_typeRef_1_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getConstraintsDefCSRule());
}
set(
current,
"typeRef",
lv_typeRef_1_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,12,FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getConstraintsDefCSAccess().getLeftCurlyBracketKeyword_2());
}
// InternalMiniOCLCS.g:907:3: ( (lv_invariants_3_0= ruleInvariantCS ) )*
loop12:
do {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==33) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// InternalMiniOCLCS.g:908:4: (lv_invariants_3_0= ruleInvariantCS )
{
// InternalMiniOCLCS.g:908:4: (lv_invariants_3_0= ruleInvariantCS )
// InternalMiniOCLCS.g:909:5: lv_invariants_3_0= ruleInvariantCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getConstraintsDefCSAccess().getInvariantsInvariantCSParserRuleCall_3_0());
}
pushFollow(FOLLOW_22);
lv_invariants_3_0=ruleInvariantCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getConstraintsDefCSRule());
}
add(
current,
"invariants",
lv_invariants_3_0,
"org.eclipse.qvtd.doc.MiniOCLCS.InvariantCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop12;
}
} while (true);
otherlv_4=(Token)match(input,13,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getConstraintsDefCSAccess().getRightCurlyBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleConstraintsDefCS"
// $ANTLR start "entryRuleInvariantCS"
// InternalMiniOCLCS.g:934:1: entryRuleInvariantCS returns [EObject current=null] : iv_ruleInvariantCS= ruleInvariantCS EOF ;
public final EObject entryRuleInvariantCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleInvariantCS = null;
try {
// InternalMiniOCLCS.g:934:52: (iv_ruleInvariantCS= ruleInvariantCS EOF )
// InternalMiniOCLCS.g:935:2: iv_ruleInvariantCS= ruleInvariantCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInvariantCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleInvariantCS=ruleInvariantCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleInvariantCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInvariantCS"
// $ANTLR start "ruleInvariantCS"
// InternalMiniOCLCS.g:941:1: ruleInvariantCS returns [EObject current=null] : (otherlv_0= 'inv' otherlv_1= ':' ( (lv_exp_2_0= ruleExpCS ) ) otherlv_3= ';' ) ;
public final EObject ruleInvariantCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_exp_2_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:947:2: ( (otherlv_0= 'inv' otherlv_1= ':' ( (lv_exp_2_0= ruleExpCS ) ) otherlv_3= ';' ) )
// InternalMiniOCLCS.g:948:2: (otherlv_0= 'inv' otherlv_1= ':' ( (lv_exp_2_0= ruleExpCS ) ) otherlv_3= ';' )
{
// InternalMiniOCLCS.g:948:2: (otherlv_0= 'inv' otherlv_1= ':' ( (lv_exp_2_0= ruleExpCS ) ) otherlv_3= ';' )
// InternalMiniOCLCS.g:949:3: otherlv_0= 'inv' otherlv_1= ':' ( (lv_exp_2_0= ruleExpCS ) ) otherlv_3= ';'
{
otherlv_0=(Token)match(input,33,FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getInvariantCSAccess().getInvKeyword_0());
}
otherlv_1=(Token)match(input,17,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getInvariantCSAccess().getColonKeyword_1());
}
// InternalMiniOCLCS.g:957:3: ( (lv_exp_2_0= ruleExpCS ) )
// InternalMiniOCLCS.g:958:4: (lv_exp_2_0= ruleExpCS )
{
// InternalMiniOCLCS.g:958:4: (lv_exp_2_0= ruleExpCS )
// InternalMiniOCLCS.g:959:5: lv_exp_2_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInvariantCSAccess().getExpExpCSParserRuleCall_2_0());
}
pushFollow(FOLLOW_11);
lv_exp_2_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInvariantCSRule());
}
set(
current,
"exp",
lv_exp_2_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getInvariantCSAccess().getSemicolonKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInvariantCS"
// $ANTLR start "entryRuleExpCS"
// InternalMiniOCLCS.g:984:1: entryRuleExpCS returns [EObject current=null] : iv_ruleExpCS= ruleExpCS EOF ;
public final EObject entryRuleExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleExpCS = null;
try {
// InternalMiniOCLCS.g:984:46: (iv_ruleExpCS= ruleExpCS EOF )
// InternalMiniOCLCS.g:985:2: iv_ruleExpCS= ruleExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleExpCS=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExpCS"
// $ANTLR start "ruleExpCS"
// InternalMiniOCLCS.g:991:1: ruleExpCS returns [EObject current=null] : this_LogicExpCS_0= ruleLogicExpCS ;
public final EObject ruleExpCS() throws RecognitionException {
EObject current = null;
EObject this_LogicExpCS_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:997:2: (this_LogicExpCS_0= ruleLogicExpCS )
// InternalMiniOCLCS.g:998:2: this_LogicExpCS_0= ruleLogicExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getLogicExpCSParserRuleCall());
}
pushFollow(FOLLOW_2);
this_LogicExpCS_0=ruleLogicExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_LogicExpCS_0;
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExpCS"
// $ANTLR start "entryRuleLogicExpCS"
// InternalMiniOCLCS.g:1012:1: entryRuleLogicExpCS returns [EObject current=null] : iv_ruleLogicExpCS= ruleLogicExpCS EOF ;
public final EObject entryRuleLogicExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleLogicExpCS = null;
try {
// InternalMiniOCLCS.g:1012:51: (iv_ruleLogicExpCS= ruleLogicExpCS EOF )
// InternalMiniOCLCS.g:1013:2: iv_ruleLogicExpCS= ruleLogicExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLogicExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleLogicExpCS=ruleLogicExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLogicExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLogicExpCS"
// $ANTLR start "ruleLogicExpCS"
// InternalMiniOCLCS.g:1019:1: ruleLogicExpCS returns [EObject current=null] : (this_CallExpCS_0= ruleCallExpCS ( () ( ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) ) ) ( (lv_right_3_0= ruleCallExpCS ) ) )* ) ;
public final EObject ruleLogicExpCS() throws RecognitionException {
EObject current = null;
Token lv_op_2_1=null;
Token lv_op_2_2=null;
EObject this_CallExpCS_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1025:2: ( (this_CallExpCS_0= ruleCallExpCS ( () ( ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) ) ) ( (lv_right_3_0= ruleCallExpCS ) ) )* ) )
// InternalMiniOCLCS.g:1026:2: (this_CallExpCS_0= ruleCallExpCS ( () ( ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) ) ) ( (lv_right_3_0= ruleCallExpCS ) ) )* )
{
// InternalMiniOCLCS.g:1026:2: (this_CallExpCS_0= ruleCallExpCS ( () ( ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) ) ) ( (lv_right_3_0= ruleCallExpCS ) ) )* )
// InternalMiniOCLCS.g:1027:3: this_CallExpCS_0= ruleCallExpCS ( () ( ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) ) ) ( (lv_right_3_0= ruleCallExpCS ) ) )*
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLogicExpCSAccess().getCallExpCSParserRuleCall_0());
}
pushFollow(FOLLOW_23);
this_CallExpCS_0=ruleCallExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_CallExpCS_0;
afterParserOrEnumRuleCall();
}
// InternalMiniOCLCS.g:1038:3: ( () ( ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) ) ) ( (lv_right_3_0= ruleCallExpCS ) ) )*
loop14:
do {
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==31) ) {
int LA14_2 = input.LA(2);
if ( (synpred19_InternalMiniOCLCS()) ) {
alt14=1;
}
}
else if ( (LA14_0==34) ) {
int LA14_3 = input.LA(2);
if ( (synpred19_InternalMiniOCLCS()) ) {
alt14=1;
}
}
switch (alt14) {
case 1 :
// InternalMiniOCLCS.g:1039:4: () ( ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) ) ) ( (lv_right_3_0= ruleCallExpCS ) )
{
// InternalMiniOCLCS.g:1039:4: ()
// InternalMiniOCLCS.g:1040:5:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getLogicExpCSAccess().getLogicExpCSLeftAction_1_0(),
current);
}
}
// InternalMiniOCLCS.g:1049:4: ( ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) ) )
// InternalMiniOCLCS.g:1050:5: ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) )
{
// InternalMiniOCLCS.g:1050:5: ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) )
// InternalMiniOCLCS.g:1051:6: (lv_op_2_1= '=' | lv_op_2_2= '<>' )
{
// InternalMiniOCLCS.g:1051:6: (lv_op_2_1= '=' | lv_op_2_2= '<>' )
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==31) ) {
alt13=1;
}
else if ( (LA13_0==34) ) {
alt13=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 13, 0, input);
throw nvae;
}
switch (alt13) {
case 1 :
// InternalMiniOCLCS.g:1052:7: lv_op_2_1= '='
{
lv_op_2_1=(Token)match(input,31,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_op_2_1, grammarAccess.getLogicExpCSAccess().getOpEqualsSignKeyword_1_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLogicExpCSRule());
}
setWithLastConsumed(current, "op", lv_op_2_1, null);
}
}
break;
case 2 :
// InternalMiniOCLCS.g:1063:7: lv_op_2_2= '<>'
{
lv_op_2_2=(Token)match(input,34,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_op_2_2, grammarAccess.getLogicExpCSAccess().getOpLessThanSignGreaterThanSignKeyword_1_1_0_1());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLogicExpCSRule());
}
setWithLastConsumed(current, "op", lv_op_2_2, null);
}
}
break;
}
}
}
// InternalMiniOCLCS.g:1076:4: ( (lv_right_3_0= ruleCallExpCS ) )
// InternalMiniOCLCS.g:1077:5: (lv_right_3_0= ruleCallExpCS )
{
// InternalMiniOCLCS.g:1077:5: (lv_right_3_0= ruleCallExpCS )
// InternalMiniOCLCS.g:1078:6: lv_right_3_0= ruleCallExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLogicExpCSAccess().getRightCallExpCSParserRuleCall_1_2_0());
}
pushFollow(FOLLOW_23);
lv_right_3_0=ruleCallExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLogicExpCSRule());
}
set(
current,
"right",
lv_right_3_0,
"org.eclipse.qvtd.doc.MiniOCLCS.CallExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop14;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLogicExpCS"
// $ANTLR start "entryRuleCallExpCS"
// InternalMiniOCLCS.g:1100:1: entryRuleCallExpCS returns [EObject current=null] : iv_ruleCallExpCS= ruleCallExpCS EOF ;
public final EObject entryRuleCallExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCallExpCS = null;
try {
// InternalMiniOCLCS.g:1100:50: (iv_ruleCallExpCS= ruleCallExpCS EOF )
// InternalMiniOCLCS.g:1101:2: iv_ruleCallExpCS= ruleCallExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCallExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleCallExpCS=ruleCallExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCallExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCallExpCS"
// $ANTLR start "ruleCallExpCS"
// InternalMiniOCLCS.g:1107:1: ruleCallExpCS returns [EObject current=null] : (this_PrimaryExpCS_0= rulePrimaryExpCS ( () ( ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) ) ) ( (lv_navExp_3_0= ruleNavigationExpCS ) ) )* ) ;
public final EObject ruleCallExpCS() throws RecognitionException {
EObject current = null;
Token lv_op_2_1=null;
Token lv_op_2_2=null;
EObject this_PrimaryExpCS_0 = null;
EObject lv_navExp_3_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1113:2: ( (this_PrimaryExpCS_0= rulePrimaryExpCS ( () ( ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) ) ) ( (lv_navExp_3_0= ruleNavigationExpCS ) ) )* ) )
// InternalMiniOCLCS.g:1114:2: (this_PrimaryExpCS_0= rulePrimaryExpCS ( () ( ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) ) ) ( (lv_navExp_3_0= ruleNavigationExpCS ) ) )* )
{
// InternalMiniOCLCS.g:1114:2: (this_PrimaryExpCS_0= rulePrimaryExpCS ( () ( ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) ) ) ( (lv_navExp_3_0= ruleNavigationExpCS ) ) )* )
// InternalMiniOCLCS.g:1115:3: this_PrimaryExpCS_0= rulePrimaryExpCS ( () ( ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) ) ) ( (lv_navExp_3_0= ruleNavigationExpCS ) ) )*
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCallExpCSAccess().getPrimaryExpCSParserRuleCall_0());
}
pushFollow(FOLLOW_24);
this_PrimaryExpCS_0=rulePrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrimaryExpCS_0;
afterParserOrEnumRuleCall();
}
// InternalMiniOCLCS.g:1126:3: ( () ( ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) ) ) ( (lv_navExp_3_0= ruleNavigationExpCS ) ) )*
loop16:
do {
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==35) ) {
int LA16_2 = input.LA(2);
if ( (synpred21_InternalMiniOCLCS()) ) {
alt16=1;
}
}
else if ( (LA16_0==36) ) {
int LA16_3 = input.LA(2);
if ( (synpred21_InternalMiniOCLCS()) ) {
alt16=1;
}
}
switch (alt16) {
case 1 :
// InternalMiniOCLCS.g:1127:4: () ( ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) ) ) ( (lv_navExp_3_0= ruleNavigationExpCS ) )
{
// InternalMiniOCLCS.g:1127:4: ()
// InternalMiniOCLCS.g:1128:5:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getCallExpCSAccess().getCallExpCSSourceAction_1_0(),
current);
}
}
// InternalMiniOCLCS.g:1137:4: ( ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) ) )
// InternalMiniOCLCS.g:1138:5: ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) )
{
// InternalMiniOCLCS.g:1138:5: ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) )
// InternalMiniOCLCS.g:1139:6: (lv_op_2_1= '.' | lv_op_2_2= '->' )
{
// InternalMiniOCLCS.g:1139:6: (lv_op_2_1= '.' | lv_op_2_2= '->' )
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==35) ) {
alt15=1;
}
else if ( (LA15_0==36) ) {
alt15=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 15, 0, input);
throw nvae;
}
switch (alt15) {
case 1 :
// InternalMiniOCLCS.g:1140:7: lv_op_2_1= '.'
{
lv_op_2_1=(Token)match(input,35,FOLLOW_25); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_op_2_1, grammarAccess.getCallExpCSAccess().getOpFullStopKeyword_1_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getCallExpCSRule());
}
setWithLastConsumed(current, "op", lv_op_2_1, null);
}
}
break;
case 2 :
// InternalMiniOCLCS.g:1151:7: lv_op_2_2= '->'
{
lv_op_2_2=(Token)match(input,36,FOLLOW_25); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_op_2_2, grammarAccess.getCallExpCSAccess().getOpHyphenMinusGreaterThanSignKeyword_1_1_0_1());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getCallExpCSRule());
}
setWithLastConsumed(current, "op", lv_op_2_2, null);
}
}
break;
}
}
}
// InternalMiniOCLCS.g:1164:4: ( (lv_navExp_3_0= ruleNavigationExpCS ) )
// InternalMiniOCLCS.g:1165:5: (lv_navExp_3_0= ruleNavigationExpCS )
{
// InternalMiniOCLCS.g:1165:5: (lv_navExp_3_0= ruleNavigationExpCS )
// InternalMiniOCLCS.g:1166:6: lv_navExp_3_0= ruleNavigationExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCallExpCSAccess().getNavExpNavigationExpCSParserRuleCall_1_2_0());
}
pushFollow(FOLLOW_24);
lv_navExp_3_0=ruleNavigationExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCallExpCSRule());
}
set(
current,
"navExp",
lv_navExp_3_0,
"org.eclipse.qvtd.doc.MiniOCLCS.NavigationExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop16;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCallExpCS"
// $ANTLR start "entryRulePrimaryExpCS"
// InternalMiniOCLCS.g:1188:1: entryRulePrimaryExpCS returns [EObject current=null] : iv_rulePrimaryExpCS= rulePrimaryExpCS EOF ;
public final EObject entryRulePrimaryExpCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimaryExpCS = null;
try {
// InternalMiniOCLCS.g:1188:53: (iv_rulePrimaryExpCS= rulePrimaryExpCS EOF )
// InternalMiniOCLCS.g:1189:2: iv_rulePrimaryExpCS= rulePrimaryExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSRule());
}
pushFollow(FOLLOW_1);
iv_rulePrimaryExpCS=rulePrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimaryExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimaryExpCS"
// $ANTLR start "rulePrimaryExpCS"
// InternalMiniOCLCS.g:1195:1: rulePrimaryExpCS returns [EObject current=null] : (this_SelfExpCS_0= ruleSelfExpCS | this_NameExpCS_1= ruleNameExpCS | this_LiteralExpCS_2= ruleLiteralExpCS | this_LetExpCS_3= ruleLetExpCS ) ;
public final EObject rulePrimaryExpCS() throws RecognitionException {
EObject current = null;
EObject this_SelfExpCS_0 = null;
EObject this_NameExpCS_1 = null;
EObject this_LiteralExpCS_2 = null;
EObject this_LetExpCS_3 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1201:2: ( (this_SelfExpCS_0= ruleSelfExpCS | this_NameExpCS_1= ruleNameExpCS | this_LiteralExpCS_2= ruleLiteralExpCS | this_LetExpCS_3= ruleLetExpCS ) )
// InternalMiniOCLCS.g:1202:2: (this_SelfExpCS_0= ruleSelfExpCS | this_NameExpCS_1= ruleNameExpCS | this_LiteralExpCS_2= ruleLiteralExpCS | this_LetExpCS_3= ruleLetExpCS )
{
// InternalMiniOCLCS.g:1202:2: (this_SelfExpCS_0= ruleSelfExpCS | this_NameExpCS_1= ruleNameExpCS | this_LiteralExpCS_2= ruleLiteralExpCS | this_LetExpCS_3= ruleLetExpCS )
int alt17=4;
switch ( input.LA(1) ) {
case 37:
{
alt17=1;
}
break;
case RULE_ID:
{
alt17=2;
}
break;
case RULE_INT:
case 41:
case 42:
case 43:
case 47:
{
alt17=3;
}
break;
case 44:
{
alt17=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 17, 0, input);
throw nvae;
}
switch (alt17) {
case 1 :
// InternalMiniOCLCS.g:1203:3: this_SelfExpCS_0= ruleSelfExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_SelfExpCS_0=ruleSelfExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_SelfExpCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalMiniOCLCS.g:1215:3: this_NameExpCS_1= ruleNameExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNameExpCSParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_NameExpCS_1=ruleNameExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_NameExpCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalMiniOCLCS.g:1227:3: this_LiteralExpCS_2= ruleLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getLiteralExpCSParserRuleCall_2());
}
pushFollow(FOLLOW_2);
this_LiteralExpCS_2=ruleLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_LiteralExpCS_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalMiniOCLCS.g:1239:3: this_LetExpCS_3= ruleLetExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getLetExpCSParserRuleCall_3());
}
pushFollow(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 "rulePrimaryExpCS"
// $ANTLR start "entryRuleSelfExpCS"
// InternalMiniOCLCS.g:1254:1: entryRuleSelfExpCS returns [EObject current=null] : iv_ruleSelfExpCS= ruleSelfExpCS EOF ;
public final EObject entryRuleSelfExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleSelfExpCS = null;
try {
// InternalMiniOCLCS.g:1254:50: (iv_ruleSelfExpCS= ruleSelfExpCS EOF )
// InternalMiniOCLCS.g:1255:2: iv_ruleSelfExpCS= ruleSelfExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSelfExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleSelfExpCS=ruleSelfExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSelfExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSelfExpCS"
// $ANTLR start "ruleSelfExpCS"
// InternalMiniOCLCS.g:1261:1: ruleSelfExpCS returns [EObject current=null] : ( () otherlv_1= 'self' ) ;
public final EObject ruleSelfExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalMiniOCLCS.g:1267:2: ( ( () otherlv_1= 'self' ) )
// InternalMiniOCLCS.g:1268:2: ( () otherlv_1= 'self' )
{
// InternalMiniOCLCS.g:1268:2: ( () otherlv_1= 'self' )
// InternalMiniOCLCS.g:1269:3: () otherlv_1= 'self'
{
// InternalMiniOCLCS.g:1269:3: ()
// InternalMiniOCLCS.g:1270:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,37,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 "entryRuleNavigationExpCS"
// InternalMiniOCLCS.g:1287:1: entryRuleNavigationExpCS returns [EObject current=null] : iv_ruleNavigationExpCS= ruleNavigationExpCS EOF ;
public final EObject entryRuleNavigationExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNavigationExpCS = null;
try {
// InternalMiniOCLCS.g:1287:56: (iv_ruleNavigationExpCS= ruleNavigationExpCS EOF )
// InternalMiniOCLCS.g:1288:2: iv_ruleNavigationExpCS= ruleNavigationExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigationExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleNavigationExpCS=ruleNavigationExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigationExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigationExpCS"
// $ANTLR start "ruleNavigationExpCS"
// InternalMiniOCLCS.g:1294:1: ruleNavigationExpCS returns [EObject current=null] : (this_LoopExpCS_0= ruleLoopExpCS | this_NameExpCS_1= ruleNameExpCS ) ;
public final EObject ruleNavigationExpCS() throws RecognitionException {
EObject current = null;
EObject this_LoopExpCS_0 = null;
EObject this_NameExpCS_1 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1300:2: ( (this_LoopExpCS_0= ruleLoopExpCS | this_NameExpCS_1= ruleNameExpCS ) )
// InternalMiniOCLCS.g:1301:2: (this_LoopExpCS_0= ruleLoopExpCS | this_NameExpCS_1= ruleNameExpCS )
{
// InternalMiniOCLCS.g:1301:2: (this_LoopExpCS_0= ruleLoopExpCS | this_NameExpCS_1= ruleNameExpCS )
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==38||LA18_0==40) ) {
alt18=1;
}
else if ( (LA18_0==RULE_ID) ) {
alt18=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 18, 0, input);
throw nvae;
}
switch (alt18) {
case 1 :
// InternalMiniOCLCS.g:1302:3: this_LoopExpCS_0= ruleLoopExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigationExpCSAccess().getLoopExpCSParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_LoopExpCS_0=ruleLoopExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_LoopExpCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalMiniOCLCS.g:1314:3: this_NameExpCS_1= ruleNameExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigationExpCSAccess().getNameExpCSParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_NameExpCS_1=ruleNameExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_NameExpCS_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNavigationExpCS"
// $ANTLR start "entryRuleLoopExpCS"
// InternalMiniOCLCS.g:1329:1: entryRuleLoopExpCS returns [EObject current=null] : iv_ruleLoopExpCS= ruleLoopExpCS EOF ;
public final EObject entryRuleLoopExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleLoopExpCS = null;
try {
// InternalMiniOCLCS.g:1329:50: (iv_ruleLoopExpCS= ruleLoopExpCS EOF )
// InternalMiniOCLCS.g:1330:2: iv_ruleLoopExpCS= ruleLoopExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLoopExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleLoopExpCS=ruleLoopExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLoopExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLoopExpCS"
// $ANTLR start "ruleLoopExpCS"
// InternalMiniOCLCS.g:1336:1: ruleLoopExpCS returns [EObject current=null] : (this_CollectExpCS_0= ruleCollectExpCS | this_IterateExpCS_1= ruleIterateExpCS ) ;
public final EObject ruleLoopExpCS() throws RecognitionException {
EObject current = null;
EObject this_CollectExpCS_0 = null;
EObject this_IterateExpCS_1 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1342:2: ( (this_CollectExpCS_0= ruleCollectExpCS | this_IterateExpCS_1= ruleIterateExpCS ) )
// InternalMiniOCLCS.g:1343:2: (this_CollectExpCS_0= ruleCollectExpCS | this_IterateExpCS_1= ruleIterateExpCS )
{
// InternalMiniOCLCS.g:1343:2: (this_CollectExpCS_0= ruleCollectExpCS | this_IterateExpCS_1= ruleIterateExpCS )
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==38) ) {
alt19=1;
}
else if ( (LA19_0==40) ) {
alt19=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 19, 0, input);
throw nvae;
}
switch (alt19) {
case 1 :
// InternalMiniOCLCS.g:1344:3: this_CollectExpCS_0= ruleCollectExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLoopExpCSAccess().getCollectExpCSParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_CollectExpCS_0=ruleCollectExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_CollectExpCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalMiniOCLCS.g:1356:3: this_IterateExpCS_1= ruleIterateExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLoopExpCSAccess().getIterateExpCSParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_IterateExpCS_1=ruleIterateExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_IterateExpCS_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLoopExpCS"
// $ANTLR start "entryRuleCollectExpCS"
// InternalMiniOCLCS.g:1371:1: entryRuleCollectExpCS returns [EObject current=null] : iv_ruleCollectExpCS= ruleCollectExpCS EOF ;
public final EObject entryRuleCollectExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectExpCS = null;
try {
// InternalMiniOCLCS.g:1371:53: (iv_ruleCollectExpCS= ruleCollectExpCS EOF )
// InternalMiniOCLCS.g:1372:2: iv_ruleCollectExpCS= ruleCollectExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleCollectExpCS=ruleCollectExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectExpCS"
// $ANTLR start "ruleCollectExpCS"
// InternalMiniOCLCS.g:1378:1: ruleCollectExpCS returns [EObject current=null] : (otherlv_0= 'collect' otherlv_1= '(' ( ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= '|' )? ( (lv_exp_4_0= ruleExpCS ) ) otherlv_5= ')' ) ;
public final EObject ruleCollectExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_itVar_2_0 = null;
EObject lv_exp_4_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1384:2: ( (otherlv_0= 'collect' otherlv_1= '(' ( ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= '|' )? ( (lv_exp_4_0= ruleExpCS ) ) otherlv_5= ')' ) )
// InternalMiniOCLCS.g:1385:2: (otherlv_0= 'collect' otherlv_1= '(' ( ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= '|' )? ( (lv_exp_4_0= ruleExpCS ) ) otherlv_5= ')' )
{
// InternalMiniOCLCS.g:1385:2: (otherlv_0= 'collect' otherlv_1= '(' ( ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= '|' )? ( (lv_exp_4_0= ruleExpCS ) ) otherlv_5= ')' )
// InternalMiniOCLCS.g:1386:3: otherlv_0= 'collect' otherlv_1= '(' ( ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= '|' )? ( (lv_exp_4_0= ruleExpCS ) ) otherlv_5= ')'
{
otherlv_0=(Token)match(input,38,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getCollectExpCSAccess().getCollectKeyword_0());
}
otherlv_1=(Token)match(input,28,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectExpCSAccess().getLeftParenthesisKeyword_1());
}
// InternalMiniOCLCS.g:1394:3: ( ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= '|' )?
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==RULE_ID) ) {
int LA20_1 = input.LA(2);
if ( (LA20_1==17||LA20_1==39) ) {
alt20=1;
}
}
switch (alt20) {
case 1 :
// InternalMiniOCLCS.g:1395:4: ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= '|'
{
// InternalMiniOCLCS.g:1395:4: ( (lv_itVar_2_0= ruleIteratorVarCS ) )
// InternalMiniOCLCS.g:1396:5: (lv_itVar_2_0= ruleIteratorVarCS )
{
// InternalMiniOCLCS.g:1396:5: (lv_itVar_2_0= ruleIteratorVarCS )
// InternalMiniOCLCS.g:1397:6: lv_itVar_2_0= ruleIteratorVarCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectExpCSAccess().getItVarIteratorVarCSParserRuleCall_2_0_0());
}
pushFollow(FOLLOW_26);
lv_itVar_2_0=ruleIteratorVarCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectExpCSRule());
}
set(
current,
"itVar",
lv_itVar_2_0,
"org.eclipse.qvtd.doc.MiniOCLCS.IteratorVarCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,39,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getCollectExpCSAccess().getVerticalLineKeyword_2_1());
}
}
break;
}
// InternalMiniOCLCS.g:1419:3: ( (lv_exp_4_0= ruleExpCS ) )
// InternalMiniOCLCS.g:1420:4: (lv_exp_4_0= ruleExpCS )
{
// InternalMiniOCLCS.g:1420:4: (lv_exp_4_0= ruleExpCS )
// InternalMiniOCLCS.g:1421:5: lv_exp_4_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectExpCSAccess().getExpExpCSParserRuleCall_3_0());
}
pushFollow(FOLLOW_27);
lv_exp_4_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectExpCSRule());
}
set(
current,
"exp",
lv_exp_4_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_5=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getCollectExpCSAccess().getRightParenthesisKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectExpCS"
// $ANTLR start "entryRuleIteratorVarCS"
// InternalMiniOCLCS.g:1446:1: entryRuleIteratorVarCS returns [EObject current=null] : iv_ruleIteratorVarCS= ruleIteratorVarCS EOF ;
public final EObject entryRuleIteratorVarCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleIteratorVarCS = null;
try {
// InternalMiniOCLCS.g:1446:54: (iv_ruleIteratorVarCS= ruleIteratorVarCS EOF )
// InternalMiniOCLCS.g:1447:2: iv_ruleIteratorVarCS= ruleIteratorVarCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIteratorVarCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleIteratorVarCS=ruleIteratorVarCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIteratorVarCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIteratorVarCS"
// $ANTLR start "ruleIteratorVarCS"
// InternalMiniOCLCS.g:1453:1: ruleIteratorVarCS returns [EObject current=null] : ( ( (lv_itName_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_itType_2_0= rulePathNameCS ) ) )? ) ;
public final EObject ruleIteratorVarCS() throws RecognitionException {
EObject current = null;
Token lv_itName_0_0=null;
Token otherlv_1=null;
EObject lv_itType_2_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1459:2: ( ( ( (lv_itName_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_itType_2_0= rulePathNameCS ) ) )? ) )
// InternalMiniOCLCS.g:1460:2: ( ( (lv_itName_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_itType_2_0= rulePathNameCS ) ) )? )
{
// InternalMiniOCLCS.g:1460:2: ( ( (lv_itName_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_itType_2_0= rulePathNameCS ) ) )? )
// InternalMiniOCLCS.g:1461:3: ( (lv_itName_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_itType_2_0= rulePathNameCS ) ) )?
{
// InternalMiniOCLCS.g:1461:3: ( (lv_itName_0_0= RULE_ID ) )
// InternalMiniOCLCS.g:1462:4: (lv_itName_0_0= RULE_ID )
{
// InternalMiniOCLCS.g:1462:4: (lv_itName_0_0= RULE_ID )
// InternalMiniOCLCS.g:1463:5: lv_itName_0_0= RULE_ID
{
lv_itName_0_0=(Token)match(input,RULE_ID,FOLLOW_28); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_itName_0_0, grammarAccess.getIteratorVarCSAccess().getItNameIDTerminalRuleCall_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIteratorVarCSRule());
}
setWithLastConsumed(
current,
"itName",
lv_itName_0_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
// InternalMiniOCLCS.g:1479:3: (otherlv_1= ':' ( (lv_itType_2_0= rulePathNameCS ) ) )?
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==17) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// InternalMiniOCLCS.g:1480:4: otherlv_1= ':' ( (lv_itType_2_0= rulePathNameCS ) )
{
otherlv_1=(Token)match(input,17,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getIteratorVarCSAccess().getColonKeyword_1_0());
}
// InternalMiniOCLCS.g:1484:4: ( (lv_itType_2_0= rulePathNameCS ) )
// InternalMiniOCLCS.g:1485:5: (lv_itType_2_0= rulePathNameCS )
{
// InternalMiniOCLCS.g:1485:5: (lv_itType_2_0= rulePathNameCS )
// InternalMiniOCLCS.g:1486:6: lv_itType_2_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIteratorVarCSAccess().getItTypePathNameCSParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_2);
lv_itType_2_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIteratorVarCSRule());
}
set(
current,
"itType",
lv_itType_2_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIteratorVarCS"
// $ANTLR start "entryRuleIterateExpCS"
// InternalMiniOCLCS.g:1508:1: entryRuleIterateExpCS returns [EObject current=null] : iv_ruleIterateExpCS= ruleIterateExpCS EOF ;
public final EObject entryRuleIterateExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleIterateExpCS = null;
try {
// InternalMiniOCLCS.g:1508:53: (iv_ruleIterateExpCS= ruleIterateExpCS EOF )
// InternalMiniOCLCS.g:1509:2: iv_ruleIterateExpCS= ruleIterateExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIterateExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleIterateExpCS=ruleIterateExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIterateExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIterateExpCS"
// $ANTLR start "ruleIterateExpCS"
// InternalMiniOCLCS.g:1515:1: ruleIterateExpCS returns [EObject current=null] : (otherlv_0= 'iterate' otherlv_1= '(' ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= ';' ( (lv_accVar_4_0= ruleAccVarCS ) ) otherlv_5= '|' ( (lv_exp_6_0= ruleExpCS ) ) otherlv_7= ')' ) ;
public final EObject ruleIterateExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
EObject lv_itVar_2_0 = null;
EObject lv_accVar_4_0 = null;
EObject lv_exp_6_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1521:2: ( (otherlv_0= 'iterate' otherlv_1= '(' ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= ';' ( (lv_accVar_4_0= ruleAccVarCS ) ) otherlv_5= '|' ( (lv_exp_6_0= ruleExpCS ) ) otherlv_7= ')' ) )
// InternalMiniOCLCS.g:1522:2: (otherlv_0= 'iterate' otherlv_1= '(' ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= ';' ( (lv_accVar_4_0= ruleAccVarCS ) ) otherlv_5= '|' ( (lv_exp_6_0= ruleExpCS ) ) otherlv_7= ')' )
{
// InternalMiniOCLCS.g:1522:2: (otherlv_0= 'iterate' otherlv_1= '(' ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= ';' ( (lv_accVar_4_0= ruleAccVarCS ) ) otherlv_5= '|' ( (lv_exp_6_0= ruleExpCS ) ) otherlv_7= ')' )
// InternalMiniOCLCS.g:1523:3: otherlv_0= 'iterate' otherlv_1= '(' ( (lv_itVar_2_0= ruleIteratorVarCS ) ) otherlv_3= ';' ( (lv_accVar_4_0= ruleAccVarCS ) ) otherlv_5= '|' ( (lv_exp_6_0= ruleExpCS ) ) otherlv_7= ')'
{
otherlv_0=(Token)match(input,40,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getIterateExpCSAccess().getIterateKeyword_0());
}
otherlv_1=(Token)match(input,28,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getIterateExpCSAccess().getLeftParenthesisKeyword_1());
}
// InternalMiniOCLCS.g:1531:3: ( (lv_itVar_2_0= ruleIteratorVarCS ) )
// InternalMiniOCLCS.g:1532:4: (lv_itVar_2_0= ruleIteratorVarCS )
{
// InternalMiniOCLCS.g:1532:4: (lv_itVar_2_0= ruleIteratorVarCS )
// InternalMiniOCLCS.g:1533:5: lv_itVar_2_0= ruleIteratorVarCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIterateExpCSAccess().getItVarIteratorVarCSParserRuleCall_2_0());
}
pushFollow(FOLLOW_11);
lv_itVar_2_0=ruleIteratorVarCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIterateExpCSRule());
}
set(
current,
"itVar",
lv_itVar_2_0,
"org.eclipse.qvtd.doc.MiniOCLCS.IteratorVarCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,18,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getIterateExpCSAccess().getSemicolonKeyword_3());
}
// InternalMiniOCLCS.g:1554:3: ( (lv_accVar_4_0= ruleAccVarCS ) )
// InternalMiniOCLCS.g:1555:4: (lv_accVar_4_0= ruleAccVarCS )
{
// InternalMiniOCLCS.g:1555:4: (lv_accVar_4_0= ruleAccVarCS )
// InternalMiniOCLCS.g:1556:5: lv_accVar_4_0= ruleAccVarCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIterateExpCSAccess().getAccVarAccVarCSParserRuleCall_4_0());
}
pushFollow(FOLLOW_26);
lv_accVar_4_0=ruleAccVarCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIterateExpCSRule());
}
set(
current,
"accVar",
lv_accVar_4_0,
"org.eclipse.qvtd.doc.MiniOCLCS.AccVarCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_5=(Token)match(input,39,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getIterateExpCSAccess().getVerticalLineKeyword_5());
}
// InternalMiniOCLCS.g:1577:3: ( (lv_exp_6_0= ruleExpCS ) )
// InternalMiniOCLCS.g:1578:4: (lv_exp_6_0= ruleExpCS )
{
// InternalMiniOCLCS.g:1578:4: (lv_exp_6_0= ruleExpCS )
// InternalMiniOCLCS.g:1579:5: lv_exp_6_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIterateExpCSAccess().getExpExpCSParserRuleCall_6_0());
}
pushFollow(FOLLOW_27);
lv_exp_6_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIterateExpCSRule());
}
set(
current,
"exp",
lv_exp_6_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_7=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getIterateExpCSAccess().getRightParenthesisKeyword_7());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIterateExpCS"
// $ANTLR start "entryRuleAccVarCS"
// InternalMiniOCLCS.g:1604:1: entryRuleAccVarCS returns [EObject current=null] : iv_ruleAccVarCS= ruleAccVarCS EOF ;
public final EObject entryRuleAccVarCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleAccVarCS = null;
try {
// InternalMiniOCLCS.g:1604:49: (iv_ruleAccVarCS= ruleAccVarCS EOF )
// InternalMiniOCLCS.g:1605:2: iv_ruleAccVarCS= ruleAccVarCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAccVarCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleAccVarCS=ruleAccVarCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAccVarCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAccVarCS"
// $ANTLR start "ruleAccVarCS"
// InternalMiniOCLCS.g:1611:1: ruleAccVarCS returns [EObject current=null] : ( ( (lv_accName_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_accType_2_0= rulePathNameCS ) ) )? otherlv_3= '=' ( (lv_accInitExp_4_0= ruleExpCS ) ) ) ;
public final EObject ruleAccVarCS() throws RecognitionException {
EObject current = null;
Token lv_accName_0_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_accType_2_0 = null;
EObject lv_accInitExp_4_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1617:2: ( ( ( (lv_accName_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_accType_2_0= rulePathNameCS ) ) )? otherlv_3= '=' ( (lv_accInitExp_4_0= ruleExpCS ) ) ) )
// InternalMiniOCLCS.g:1618:2: ( ( (lv_accName_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_accType_2_0= rulePathNameCS ) ) )? otherlv_3= '=' ( (lv_accInitExp_4_0= ruleExpCS ) ) )
{
// InternalMiniOCLCS.g:1618:2: ( ( (lv_accName_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_accType_2_0= rulePathNameCS ) ) )? otherlv_3= '=' ( (lv_accInitExp_4_0= ruleExpCS ) ) )
// InternalMiniOCLCS.g:1619:3: ( (lv_accName_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_accType_2_0= rulePathNameCS ) ) )? otherlv_3= '=' ( (lv_accInitExp_4_0= ruleExpCS ) )
{
// InternalMiniOCLCS.g:1619:3: ( (lv_accName_0_0= RULE_ID ) )
// InternalMiniOCLCS.g:1620:4: (lv_accName_0_0= RULE_ID )
{
// InternalMiniOCLCS.g:1620:4: (lv_accName_0_0= RULE_ID )
// InternalMiniOCLCS.g:1621:5: lv_accName_0_0= RULE_ID
{
lv_accName_0_0=(Token)match(input,RULE_ID,FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_accName_0_0, grammarAccess.getAccVarCSAccess().getAccNameIDTerminalRuleCall_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAccVarCSRule());
}
setWithLastConsumed(
current,
"accName",
lv_accName_0_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
// InternalMiniOCLCS.g:1637:3: (otherlv_1= ':' ( (lv_accType_2_0= rulePathNameCS ) ) )?
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==17) ) {
alt22=1;
}
switch (alt22) {
case 1 :
// InternalMiniOCLCS.g:1638:4: otherlv_1= ':' ( (lv_accType_2_0= rulePathNameCS ) )
{
otherlv_1=(Token)match(input,17,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getAccVarCSAccess().getColonKeyword_1_0());
}
// InternalMiniOCLCS.g:1642:4: ( (lv_accType_2_0= rulePathNameCS ) )
// InternalMiniOCLCS.g:1643:5: (lv_accType_2_0= rulePathNameCS )
{
// InternalMiniOCLCS.g:1643:5: (lv_accType_2_0= rulePathNameCS )
// InternalMiniOCLCS.g:1644:6: lv_accType_2_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAccVarCSAccess().getAccTypePathNameCSParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_20);
lv_accType_2_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAccVarCSRule());
}
set(
current,
"accType",
lv_accType_2_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_3=(Token)match(input,31,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getAccVarCSAccess().getEqualsSignKeyword_2());
}
// InternalMiniOCLCS.g:1666:3: ( (lv_accInitExp_4_0= ruleExpCS ) )
// InternalMiniOCLCS.g:1667:4: (lv_accInitExp_4_0= ruleExpCS )
{
// InternalMiniOCLCS.g:1667:4: (lv_accInitExp_4_0= ruleExpCS )
// InternalMiniOCLCS.g:1668:5: lv_accInitExp_4_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAccVarCSAccess().getAccInitExpExpCSParserRuleCall_3_0());
}
pushFollow(FOLLOW_2);
lv_accInitExp_4_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAccVarCSRule());
}
set(
current,
"accInitExp",
lv_accInitExp_4_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAccVarCS"
// $ANTLR start "entryRuleNameExpCS"
// InternalMiniOCLCS.g:1689:1: entryRuleNameExpCS returns [EObject current=null] : iv_ruleNameExpCS= ruleNameExpCS EOF ;
public final EObject entryRuleNameExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNameExpCS = null;
try {
// InternalMiniOCLCS.g:1689:50: (iv_ruleNameExpCS= ruleNameExpCS EOF )
// InternalMiniOCLCS.g:1690:2: iv_ruleNameExpCS= ruleNameExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleNameExpCS=ruleNameExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNameExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNameExpCS"
// $ANTLR start "ruleNameExpCS"
// InternalMiniOCLCS.g:1696:1: ruleNameExpCS returns [EObject current=null] : ( ( (lv_expName_0_0= rulePathNameCS ) ) ( (lv_roundedBrackets_1_0= ruleRoundedBracketClauseCS ) )? ) ;
public final EObject ruleNameExpCS() throws RecognitionException {
EObject current = null;
EObject lv_expName_0_0 = null;
EObject lv_roundedBrackets_1_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1702:2: ( ( ( (lv_expName_0_0= rulePathNameCS ) ) ( (lv_roundedBrackets_1_0= ruleRoundedBracketClauseCS ) )? ) )
// InternalMiniOCLCS.g:1703:2: ( ( (lv_expName_0_0= rulePathNameCS ) ) ( (lv_roundedBrackets_1_0= ruleRoundedBracketClauseCS ) )? )
{
// InternalMiniOCLCS.g:1703:2: ( ( (lv_expName_0_0= rulePathNameCS ) ) ( (lv_roundedBrackets_1_0= ruleRoundedBracketClauseCS ) )? )
// InternalMiniOCLCS.g:1704:3: ( (lv_expName_0_0= rulePathNameCS ) ) ( (lv_roundedBrackets_1_0= ruleRoundedBracketClauseCS ) )?
{
// InternalMiniOCLCS.g:1704:3: ( (lv_expName_0_0= rulePathNameCS ) )
// InternalMiniOCLCS.g:1705:4: (lv_expName_0_0= rulePathNameCS )
{
// InternalMiniOCLCS.g:1705:4: (lv_expName_0_0= rulePathNameCS )
// InternalMiniOCLCS.g:1706:5: lv_expName_0_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSAccess().getExpNamePathNameCSParserRuleCall_0_0());
}
pushFollow(FOLLOW_30);
lv_expName_0_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNameExpCSRule());
}
set(
current,
"expName",
lv_expName_0_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalMiniOCLCS.g:1723:3: ( (lv_roundedBrackets_1_0= ruleRoundedBracketClauseCS ) )?
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==28) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// InternalMiniOCLCS.g:1724:4: (lv_roundedBrackets_1_0= ruleRoundedBracketClauseCS )
{
// InternalMiniOCLCS.g:1724:4: (lv_roundedBrackets_1_0= ruleRoundedBracketClauseCS )
// InternalMiniOCLCS.g:1725:5: lv_roundedBrackets_1_0= ruleRoundedBracketClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSAccess().getRoundedBracketsRoundedBracketClauseCSParserRuleCall_1_0());
}
pushFollow(FOLLOW_2);
lv_roundedBrackets_1_0=ruleRoundedBracketClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNameExpCSRule());
}
set(
current,
"roundedBrackets",
lv_roundedBrackets_1_0,
"org.eclipse.qvtd.doc.MiniOCLCS.RoundedBracketClauseCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNameExpCS"
// $ANTLR start "entryRuleRoundedBracketClauseCS"
// InternalMiniOCLCS.g:1746:1: entryRuleRoundedBracketClauseCS returns [EObject current=null] : iv_ruleRoundedBracketClauseCS= ruleRoundedBracketClauseCS EOF ;
public final EObject entryRuleRoundedBracketClauseCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleRoundedBracketClauseCS = null;
try {
// InternalMiniOCLCS.g:1746:63: (iv_ruleRoundedBracketClauseCS= ruleRoundedBracketClauseCS EOF )
// InternalMiniOCLCS.g:1747:2: iv_ruleRoundedBracketClauseCS= ruleRoundedBracketClauseCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundedBracketClauseCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleRoundedBracketClauseCS=ruleRoundedBracketClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRoundedBracketClauseCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRoundedBracketClauseCS"
// $ANTLR start "ruleRoundedBracketClauseCS"
// InternalMiniOCLCS.g:1753:1: ruleRoundedBracketClauseCS returns [EObject current=null] : ( () otherlv_1= '(' ( ( (lv_args_2_0= ruleExpCS ) ) (otherlv_3= ',' ( (lv_args_4_0= ruleExpCS ) ) )* )? otherlv_5= ')' ) ;
public final EObject ruleRoundedBracketClauseCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_args_2_0 = null;
EObject lv_args_4_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1759:2: ( ( () otherlv_1= '(' ( ( (lv_args_2_0= ruleExpCS ) ) (otherlv_3= ',' ( (lv_args_4_0= ruleExpCS ) ) )* )? otherlv_5= ')' ) )
// InternalMiniOCLCS.g:1760:2: ( () otherlv_1= '(' ( ( (lv_args_2_0= ruleExpCS ) ) (otherlv_3= ',' ( (lv_args_4_0= ruleExpCS ) ) )* )? otherlv_5= ')' )
{
// InternalMiniOCLCS.g:1760:2: ( () otherlv_1= '(' ( ( (lv_args_2_0= ruleExpCS ) ) (otherlv_3= ',' ( (lv_args_4_0= ruleExpCS ) ) )* )? otherlv_5= ')' )
// InternalMiniOCLCS.g:1761:3: () otherlv_1= '(' ( ( (lv_args_2_0= ruleExpCS ) ) (otherlv_3= ',' ( (lv_args_4_0= ruleExpCS ) ) )* )? otherlv_5= ')'
{
// InternalMiniOCLCS.g:1761:3: ()
// InternalMiniOCLCS.g:1762:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getRoundedBracketClauseCSAccess().getRoundedBracketClauseCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,28,FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getRoundedBracketClauseCSAccess().getLeftParenthesisKeyword_1());
}
// InternalMiniOCLCS.g:1775:3: ( ( (lv_args_2_0= ruleExpCS ) ) (otherlv_3= ',' ( (lv_args_4_0= ruleExpCS ) ) )* )?
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==RULE_ID||LA25_0==RULE_INT||LA25_0==37||(LA25_0>=41 && LA25_0<=44)||LA25_0==47) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// InternalMiniOCLCS.g:1776:4: ( (lv_args_2_0= ruleExpCS ) ) (otherlv_3= ',' ( (lv_args_4_0= ruleExpCS ) ) )*
{
// InternalMiniOCLCS.g:1776:4: ( (lv_args_2_0= ruleExpCS ) )
// InternalMiniOCLCS.g:1777:5: (lv_args_2_0= ruleExpCS )
{
// InternalMiniOCLCS.g:1777:5: (lv_args_2_0= ruleExpCS )
// InternalMiniOCLCS.g:1778:6: lv_args_2_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundedBracketClauseCSAccess().getArgsExpCSParserRuleCall_2_0_0());
}
pushFollow(FOLLOW_19);
lv_args_2_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRoundedBracketClauseCSRule());
}
add(
current,
"args",
lv_args_2_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalMiniOCLCS.g:1795:4: (otherlv_3= ',' ( (lv_args_4_0= ruleExpCS ) ) )*
loop24:
do {
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==29) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// InternalMiniOCLCS.g:1796:5: otherlv_3= ',' ( (lv_args_4_0= ruleExpCS ) )
{
otherlv_3=(Token)match(input,29,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getRoundedBracketClauseCSAccess().getCommaKeyword_2_1_0());
}
// InternalMiniOCLCS.g:1800:5: ( (lv_args_4_0= ruleExpCS ) )
// InternalMiniOCLCS.g:1801:6: (lv_args_4_0= ruleExpCS )
{
// InternalMiniOCLCS.g:1801:6: (lv_args_4_0= ruleExpCS )
// InternalMiniOCLCS.g:1802:7: lv_args_4_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundedBracketClauseCSAccess().getArgsExpCSParserRuleCall_2_1_1_0());
}
pushFollow(FOLLOW_19);
lv_args_4_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRoundedBracketClauseCSRule());
}
add(
current,
"args",
lv_args_4_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop24;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getRoundedBracketClauseCSAccess().getRightParenthesisKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRoundedBracketClauseCS"
// $ANTLR start "entryRuleLiteralExpCS"
// InternalMiniOCLCS.g:1829:1: entryRuleLiteralExpCS returns [EObject current=null] : iv_ruleLiteralExpCS= ruleLiteralExpCS EOF ;
public final EObject entryRuleLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleLiteralExpCS = null;
try {
// InternalMiniOCLCS.g:1829:53: (iv_ruleLiteralExpCS= ruleLiteralExpCS EOF )
// InternalMiniOCLCS.g:1830:2: iv_ruleLiteralExpCS= ruleLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLiteralExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleLiteralExpCS=ruleLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLiteralExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLiteralExpCS"
// $ANTLR start "ruleLiteralExpCS"
// InternalMiniOCLCS.g:1836:1: ruleLiteralExpCS returns [EObject current=null] : (this_IntLiteralExpCS_0= ruleIntLiteralExpCS | this_BooleanLiteralExpCS_1= ruleBooleanLiteralExpCS | this_NullLiteralExpCS_2= ruleNullLiteralExpCS | this_CollectionLiteralExpCS_3= ruleCollectionLiteralExpCS ) ;
public final EObject ruleLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject this_IntLiteralExpCS_0 = null;
EObject this_BooleanLiteralExpCS_1 = null;
EObject this_NullLiteralExpCS_2 = null;
EObject this_CollectionLiteralExpCS_3 = null;
enterRule();
try {
// InternalMiniOCLCS.g:1842:2: ( (this_IntLiteralExpCS_0= ruleIntLiteralExpCS | this_BooleanLiteralExpCS_1= ruleBooleanLiteralExpCS | this_NullLiteralExpCS_2= ruleNullLiteralExpCS | this_CollectionLiteralExpCS_3= ruleCollectionLiteralExpCS ) )
// InternalMiniOCLCS.g:1843:2: (this_IntLiteralExpCS_0= ruleIntLiteralExpCS | this_BooleanLiteralExpCS_1= ruleBooleanLiteralExpCS | this_NullLiteralExpCS_2= ruleNullLiteralExpCS | this_CollectionLiteralExpCS_3= ruleCollectionLiteralExpCS )
{
// InternalMiniOCLCS.g:1843:2: (this_IntLiteralExpCS_0= ruleIntLiteralExpCS | this_BooleanLiteralExpCS_1= ruleBooleanLiteralExpCS | this_NullLiteralExpCS_2= ruleNullLiteralExpCS | this_CollectionLiteralExpCS_3= ruleCollectionLiteralExpCS )
int alt26=4;
switch ( input.LA(1) ) {
case RULE_INT:
{
alt26=1;
}
break;
case 41:
case 42:
{
alt26=2;
}
break;
case 43:
{
alt26=3;
}
break;
case 47:
{
alt26=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 26, 0, input);
throw nvae;
}
switch (alt26) {
case 1 :
// InternalMiniOCLCS.g:1844:3: this_IntLiteralExpCS_0= ruleIntLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLiteralExpCSAccess().getIntLiteralExpCSParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_IntLiteralExpCS_0=ruleIntLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_IntLiteralExpCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalMiniOCLCS.g:1856:3: this_BooleanLiteralExpCS_1= ruleBooleanLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_BooleanLiteralExpCS_1=ruleBooleanLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_BooleanLiteralExpCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalMiniOCLCS.g:1868:3: this_NullLiteralExpCS_2= ruleNullLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_2());
}
pushFollow(FOLLOW_2);
this_NullLiteralExpCS_2=ruleNullLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_NullLiteralExpCS_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalMiniOCLCS.g:1880:3: this_CollectionLiteralExpCS_3= ruleCollectionLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLiteralExpCSAccess().getCollectionLiteralExpCSParserRuleCall_3());
}
pushFollow(FOLLOW_2);
this_CollectionLiteralExpCS_3=ruleCollectionLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_CollectionLiteralExpCS_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLiteralExpCS"
// $ANTLR start "entryRuleIntLiteralExpCS"
// InternalMiniOCLCS.g:1895:1: entryRuleIntLiteralExpCS returns [EObject current=null] : iv_ruleIntLiteralExpCS= ruleIntLiteralExpCS EOF ;
public final EObject entryRuleIntLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleIntLiteralExpCS = null;
try {
// InternalMiniOCLCS.g:1895:56: (iv_ruleIntLiteralExpCS= ruleIntLiteralExpCS EOF )
// InternalMiniOCLCS.g:1896:2: iv_ruleIntLiteralExpCS= ruleIntLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIntLiteralExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleIntLiteralExpCS=ruleIntLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIntLiteralExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIntLiteralExpCS"
// $ANTLR start "ruleIntLiteralExpCS"
// InternalMiniOCLCS.g:1902:1: ruleIntLiteralExpCS returns [EObject current=null] : ( (lv_intSymbol_0_0= RULE_INT ) ) ;
public final EObject ruleIntLiteralExpCS() throws RecognitionException {
EObject current = null;
Token lv_intSymbol_0_0=null;
enterRule();
try {
// InternalMiniOCLCS.g:1908:2: ( ( (lv_intSymbol_0_0= RULE_INT ) ) )
// InternalMiniOCLCS.g:1909:2: ( (lv_intSymbol_0_0= RULE_INT ) )
{
// InternalMiniOCLCS.g:1909:2: ( (lv_intSymbol_0_0= RULE_INT ) )
// InternalMiniOCLCS.g:1910:3: (lv_intSymbol_0_0= RULE_INT )
{
// InternalMiniOCLCS.g:1910:3: (lv_intSymbol_0_0= RULE_INT )
// InternalMiniOCLCS.g:1911:4: lv_intSymbol_0_0= RULE_INT
{
lv_intSymbol_0_0=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_intSymbol_0_0, grammarAccess.getIntLiteralExpCSAccess().getIntSymbolINTTerminalRuleCall_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIntLiteralExpCSRule());
}
setWithLastConsumed(
current,
"intSymbol",
lv_intSymbol_0_0,
"org.eclipse.xtext.common.Terminals.INT");
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIntLiteralExpCS"
// $ANTLR start "entryRuleBooleanLiteralExpCS"
// InternalMiniOCLCS.g:1930:1: entryRuleBooleanLiteralExpCS returns [EObject current=null] : iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF ;
public final EObject entryRuleBooleanLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleBooleanLiteralExpCS = null;
try {
// InternalMiniOCLCS.g:1930:60: (iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF )
// InternalMiniOCLCS.g:1931:2: iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBooleanLiteralExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleBooleanLiteralExpCS=ruleBooleanLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBooleanLiteralExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBooleanLiteralExpCS"
// $ANTLR start "ruleBooleanLiteralExpCS"
// InternalMiniOCLCS.g:1937:1: ruleBooleanLiteralExpCS returns [EObject current=null] : ( () ( ( (lv_boolSymbol_1_0= 'true' ) ) | otherlv_2= 'false' ) ) ;
public final EObject ruleBooleanLiteralExpCS() throws RecognitionException {
EObject current = null;
Token lv_boolSymbol_1_0=null;
Token otherlv_2=null;
enterRule();
try {
// InternalMiniOCLCS.g:1943:2: ( ( () ( ( (lv_boolSymbol_1_0= 'true' ) ) | otherlv_2= 'false' ) ) )
// InternalMiniOCLCS.g:1944:2: ( () ( ( (lv_boolSymbol_1_0= 'true' ) ) | otherlv_2= 'false' ) )
{
// InternalMiniOCLCS.g:1944:2: ( () ( ( (lv_boolSymbol_1_0= 'true' ) ) | otherlv_2= 'false' ) )
// InternalMiniOCLCS.g:1945:3: () ( ( (lv_boolSymbol_1_0= 'true' ) ) | otherlv_2= 'false' )
{
// InternalMiniOCLCS.g:1945:3: ()
// InternalMiniOCLCS.g:1946:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getBooleanLiteralExpCSAccess().getBooleanExpCSAction_0(),
current);
}
}
// InternalMiniOCLCS.g:1955:3: ( ( (lv_boolSymbol_1_0= 'true' ) ) | otherlv_2= 'false' )
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==41) ) {
alt27=1;
}
else if ( (LA27_0==42) ) {
alt27=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 27, 0, input);
throw nvae;
}
switch (alt27) {
case 1 :
// InternalMiniOCLCS.g:1956:4: ( (lv_boolSymbol_1_0= 'true' ) )
{
// InternalMiniOCLCS.g:1956:4: ( (lv_boolSymbol_1_0= 'true' ) )
// InternalMiniOCLCS.g:1957:5: (lv_boolSymbol_1_0= 'true' )
{
// InternalMiniOCLCS.g:1957:5: (lv_boolSymbol_1_0= 'true' )
// InternalMiniOCLCS.g:1958:6: lv_boolSymbol_1_0= 'true'
{
lv_boolSymbol_1_0=(Token)match(input,41,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_boolSymbol_1_0, grammarAccess.getBooleanLiteralExpCSAccess().getBoolSymbolTrueKeyword_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBooleanLiteralExpCSRule());
}
setWithLastConsumed(current, "boolSymbol", true, "true");
}
}
}
}
break;
case 2 :
// InternalMiniOCLCS.g:1971:4: otherlv_2= 'false'
{
otherlv_2=(Token)match(input,42,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getBooleanLiteralExpCSAccess().getFalseKeyword_1_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBooleanLiteralExpCS"
// $ANTLR start "entryRuleNullLiteralExpCS"
// InternalMiniOCLCS.g:1980:1: entryRuleNullLiteralExpCS returns [EObject current=null] : iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF ;
public final EObject entryRuleNullLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNullLiteralExpCS = null;
try {
// InternalMiniOCLCS.g:1980:57: (iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF )
// InternalMiniOCLCS.g:1981:2: iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNullLiteralExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleNullLiteralExpCS=ruleNullLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNullLiteralExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNullLiteralExpCS"
// $ANTLR start "ruleNullLiteralExpCS"
// InternalMiniOCLCS.g:1987:1: ruleNullLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
public final EObject ruleNullLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalMiniOCLCS.g:1993:2: ( ( () otherlv_1= 'null' ) )
// InternalMiniOCLCS.g:1994:2: ( () otherlv_1= 'null' )
{
// InternalMiniOCLCS.g:1994:2: ( () otherlv_1= 'null' )
// InternalMiniOCLCS.g:1995:3: () otherlv_1= 'null'
{
// InternalMiniOCLCS.g:1995:3: ()
// InternalMiniOCLCS.g:1996:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,43,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 "entryRuleCollectionLiteralExpCS"
// InternalMiniOCLCS.g:2013:1: entryRuleCollectionLiteralExpCS returns [EObject current=null] : iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF ;
public final EObject entryRuleCollectionLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectionLiteralExpCS = null;
try {
// InternalMiniOCLCS.g:2013:63: (iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF )
// InternalMiniOCLCS.g:2014:2: iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleCollectionLiteralExpCS=ruleCollectionLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionLiteralExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionLiteralExpCS"
// $ANTLR start "ruleCollectionLiteralExpCS"
// InternalMiniOCLCS.g:2020:1: ruleCollectionLiteralExpCS returns [EObject current=null] : ( ( (lv_kind_0_0= ruleCollectionKindCS ) ) otherlv_1= '{' ( (lv_parts_2_0= ruleCollectionLiteralPartCS ) )* otherlv_3= '}' ) ;
public final EObject ruleCollectionLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Enumerator lv_kind_0_0 = null;
EObject lv_parts_2_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:2026:2: ( ( ( (lv_kind_0_0= ruleCollectionKindCS ) ) otherlv_1= '{' ( (lv_parts_2_0= ruleCollectionLiteralPartCS ) )* otherlv_3= '}' ) )
// InternalMiniOCLCS.g:2027:2: ( ( (lv_kind_0_0= ruleCollectionKindCS ) ) otherlv_1= '{' ( (lv_parts_2_0= ruleCollectionLiteralPartCS ) )* otherlv_3= '}' )
{
// InternalMiniOCLCS.g:2027:2: ( ( (lv_kind_0_0= ruleCollectionKindCS ) ) otherlv_1= '{' ( (lv_parts_2_0= ruleCollectionLiteralPartCS ) )* otherlv_3= '}' )
// InternalMiniOCLCS.g:2028:3: ( (lv_kind_0_0= ruleCollectionKindCS ) ) otherlv_1= '{' ( (lv_parts_2_0= ruleCollectionLiteralPartCS ) )* otherlv_3= '}'
{
// InternalMiniOCLCS.g:2028:3: ( (lv_kind_0_0= ruleCollectionKindCS ) )
// InternalMiniOCLCS.g:2029:4: (lv_kind_0_0= ruleCollectionKindCS )
{
// InternalMiniOCLCS.g:2029:4: (lv_kind_0_0= ruleCollectionKindCS )
// InternalMiniOCLCS.g:2030:5: lv_kind_0_0= ruleCollectionKindCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getKindCollectionKindCSEnumRuleCall_0_0());
}
pushFollow(FOLLOW_5);
lv_kind_0_0=ruleCollectionKindCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule());
}
set(
current,
"kind",
lv_kind_0_0,
"org.eclipse.qvtd.doc.MiniOCLCS.CollectionKindCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,12,FOLLOW_32); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalMiniOCLCS.g:2051:3: ( (lv_parts_2_0= ruleCollectionLiteralPartCS ) )*
loop28:
do {
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==RULE_ID||LA28_0==RULE_INT||LA28_0==37||(LA28_0>=41 && LA28_0<=44)||LA28_0==47) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// InternalMiniOCLCS.g:2052:4: (lv_parts_2_0= ruleCollectionLiteralPartCS )
{
// InternalMiniOCLCS.g:2052:4: (lv_parts_2_0= ruleCollectionLiteralPartCS )
// InternalMiniOCLCS.g:2053:5: lv_parts_2_0= ruleCollectionLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getPartsCollectionLiteralPartCSParserRuleCall_2_0());
}
pushFollow(FOLLOW_32);
lv_parts_2_0=ruleCollectionLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule());
}
add(
current,
"parts",
lv_parts_2_0,
"org.eclipse.qvtd.doc.MiniOCLCS.CollectionLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop28;
}
} while (true);
otherlv_3=(Token)match(input,13,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, 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"
// InternalMiniOCLCS.g:2078:1: entryRuleCollectionLiteralPartCS returns [EObject current=null] : iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF ;
public final EObject entryRuleCollectionLiteralPartCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectionLiteralPartCS = null;
try {
// InternalMiniOCLCS.g:2078:64: (iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF )
// InternalMiniOCLCS.g:2079:2: iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralPartCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleCollectionLiteralPartCS=ruleCollectionLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionLiteralPartCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionLiteralPartCS"
// $ANTLR start "ruleCollectionLiteralPartCS"
// InternalMiniOCLCS.g:2085:1: ruleCollectionLiteralPartCS returns [EObject current=null] : ( ( (lv_first_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_last_2_0= ruleExpCS ) ) )? ) ;
public final EObject ruleCollectionLiteralPartCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_first_0_0 = null;
EObject lv_last_2_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:2091:2: ( ( ( (lv_first_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_last_2_0= ruleExpCS ) ) )? ) )
// InternalMiniOCLCS.g:2092:2: ( ( (lv_first_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_last_2_0= ruleExpCS ) ) )? )
{
// InternalMiniOCLCS.g:2092:2: ( ( (lv_first_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_last_2_0= ruleExpCS ) ) )? )
// InternalMiniOCLCS.g:2093:3: ( (lv_first_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_last_2_0= ruleExpCS ) ) )?
{
// InternalMiniOCLCS.g:2093:3: ( (lv_first_0_0= ruleExpCS ) )
// InternalMiniOCLCS.g:2094:4: (lv_first_0_0= ruleExpCS )
{
// InternalMiniOCLCS.g:2094:4: (lv_first_0_0= ruleExpCS )
// InternalMiniOCLCS.g:2095:5: lv_first_0_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getFirstExpCSParserRuleCall_0_0());
}
pushFollow(FOLLOW_33);
lv_first_0_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
}
set(
current,
"first",
lv_first_0_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalMiniOCLCS.g:2112:3: (otherlv_1= '..' ( (lv_last_2_0= ruleExpCS ) ) )?
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==25) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// InternalMiniOCLCS.g:2113:4: otherlv_1= '..' ( (lv_last_2_0= ruleExpCS ) )
{
otherlv_1=(Token)match(input,25,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_1_0());
}
// InternalMiniOCLCS.g:2117:4: ( (lv_last_2_0= ruleExpCS ) )
// InternalMiniOCLCS.g:2118:5: (lv_last_2_0= ruleExpCS )
{
// InternalMiniOCLCS.g:2118:5: (lv_last_2_0= ruleExpCS )
// InternalMiniOCLCS.g:2119:6: lv_last_2_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpCSParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_2);
lv_last_2_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
}
set(
current,
"last",
lv_last_2_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectionLiteralPartCS"
// $ANTLR start "entryRuleLetExpCS"
// InternalMiniOCLCS.g:2141:1: entryRuleLetExpCS returns [EObject current=null] : iv_ruleLetExpCS= ruleLetExpCS EOF ;
public final EObject entryRuleLetExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleLetExpCS = null;
try {
// InternalMiniOCLCS.g:2141:49: (iv_ruleLetExpCS= ruleLetExpCS EOF )
// InternalMiniOCLCS.g:2142:2: iv_ruleLetExpCS= ruleLetExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleLetExpCS=ruleLetExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLetExpCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLetExpCS"
// $ANTLR start "ruleLetExpCS"
// InternalMiniOCLCS.g:2148:1: ruleLetExpCS returns [EObject current=null] : (otherlv_0= 'let' ( (lv_letVars_1_0= ruleLetVarCS ) ) (otherlv_2= ',' ( (lv_letVars_3_0= ruleLetVarCS ) ) )* otherlv_4= 'in' ( (lv_inExp_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_letVars_1_0 = null;
EObject lv_letVars_3_0 = null;
EObject lv_inExp_5_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:2154:2: ( (otherlv_0= 'let' ( (lv_letVars_1_0= ruleLetVarCS ) ) (otherlv_2= ',' ( (lv_letVars_3_0= ruleLetVarCS ) ) )* otherlv_4= 'in' ( (lv_inExp_5_0= ruleExpCS ) ) ) )
// InternalMiniOCLCS.g:2155:2: (otherlv_0= 'let' ( (lv_letVars_1_0= ruleLetVarCS ) ) (otherlv_2= ',' ( (lv_letVars_3_0= ruleLetVarCS ) ) )* otherlv_4= 'in' ( (lv_inExp_5_0= ruleExpCS ) ) )
{
// InternalMiniOCLCS.g:2155:2: (otherlv_0= 'let' ( (lv_letVars_1_0= ruleLetVarCS ) ) (otherlv_2= ',' ( (lv_letVars_3_0= ruleLetVarCS ) ) )* otherlv_4= 'in' ( (lv_inExp_5_0= ruleExpCS ) ) )
// InternalMiniOCLCS.g:2156:3: otherlv_0= 'let' ( (lv_letVars_1_0= ruleLetVarCS ) ) (otherlv_2= ',' ( (lv_letVars_3_0= ruleLetVarCS ) ) )* otherlv_4= 'in' ( (lv_inExp_5_0= ruleExpCS ) )
{
otherlv_0=(Token)match(input,44,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getLetExpCSAccess().getLetKeyword_0());
}
// InternalMiniOCLCS.g:2160:3: ( (lv_letVars_1_0= ruleLetVarCS ) )
// InternalMiniOCLCS.g:2161:4: (lv_letVars_1_0= ruleLetVarCS )
{
// InternalMiniOCLCS.g:2161:4: (lv_letVars_1_0= ruleLetVarCS )
// InternalMiniOCLCS.g:2162:5: lv_letVars_1_0= ruleLetVarCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSAccess().getLetVarsLetVarCSParserRuleCall_1_0());
}
pushFollow(FOLLOW_34);
lv_letVars_1_0=ruleLetVarCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetExpCSRule());
}
add(
current,
"letVars",
lv_letVars_1_0,
"org.eclipse.qvtd.doc.MiniOCLCS.LetVarCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalMiniOCLCS.g:2179:3: (otherlv_2= ',' ( (lv_letVars_3_0= ruleLetVarCS ) ) )*
loop30:
do {
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==29) ) {
alt30=1;
}
switch (alt30) {
case 1 :
// InternalMiniOCLCS.g:2180:4: otherlv_2= ',' ( (lv_letVars_3_0= ruleLetVarCS ) )
{
otherlv_2=(Token)match(input,29,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0());
}
// InternalMiniOCLCS.g:2184:4: ( (lv_letVars_3_0= ruleLetVarCS ) )
// InternalMiniOCLCS.g:2185:5: (lv_letVars_3_0= ruleLetVarCS )
{
// InternalMiniOCLCS.g:2185:5: (lv_letVars_3_0= ruleLetVarCS )
// InternalMiniOCLCS.g:2186:6: lv_letVars_3_0= ruleLetVarCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSAccess().getLetVarsLetVarCSParserRuleCall_2_1_0());
}
pushFollow(FOLLOW_34);
lv_letVars_3_0=ruleLetVarCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetExpCSRule());
}
add(
current,
"letVars",
lv_letVars_3_0,
"org.eclipse.qvtd.doc.MiniOCLCS.LetVarCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop30;
}
} while (true);
otherlv_4=(Token)match(input,45,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getLetExpCSAccess().getInKeyword_3());
}
// InternalMiniOCLCS.g:2208:3: ( (lv_inExp_5_0= ruleExpCS ) )
// InternalMiniOCLCS.g:2209:4: (lv_inExp_5_0= ruleExpCS )
{
// InternalMiniOCLCS.g:2209:4: (lv_inExp_5_0= ruleExpCS )
// InternalMiniOCLCS.g:2210:5: lv_inExp_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSAccess().getInExpExpCSParserRuleCall_4_0());
}
pushFollow(FOLLOW_2);
lv_inExp_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetExpCSRule());
}
set(
current,
"inExp",
lv_inExp_5_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLetExpCS"
// $ANTLR start "entryRuleLetVarCS"
// InternalMiniOCLCS.g:2231:1: entryRuleLetVarCS returns [EObject current=null] : iv_ruleLetVarCS= ruleLetVarCS EOF ;
public final EObject entryRuleLetVarCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleLetVarCS = null;
try {
// InternalMiniOCLCS.g:2231:49: (iv_ruleLetVarCS= ruleLetVarCS EOF )
// InternalMiniOCLCS.g:2232:2: iv_ruleLetVarCS= ruleLetVarCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVarCSRule());
}
pushFollow(FOLLOW_1);
iv_ruleLetVarCS=ruleLetVarCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLetVarCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLetVarCS"
// $ANTLR start "ruleLetVarCS"
// InternalMiniOCLCS.g:2238:1: ruleLetVarCS returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) ) )? otherlv_3= '=' ( (lv_initExp_4_0= ruleExpCS ) ) ) ;
public final EObject ruleLetVarCS() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_typeRef_2_0 = null;
EObject lv_initExp_4_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:2244:2: ( ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) ) )? otherlv_3= '=' ( (lv_initExp_4_0= ruleExpCS ) ) ) )
// InternalMiniOCLCS.g:2245:2: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) ) )? otherlv_3= '=' ( (lv_initExp_4_0= ruleExpCS ) ) )
{
// InternalMiniOCLCS.g:2245:2: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) ) )? otherlv_3= '=' ( (lv_initExp_4_0= ruleExpCS ) ) )
// InternalMiniOCLCS.g:2246:3: ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) ) )? otherlv_3= '=' ( (lv_initExp_4_0= ruleExpCS ) )
{
// InternalMiniOCLCS.g:2246:3: ( (lv_name_0_0= RULE_ID ) )
// InternalMiniOCLCS.g:2247:4: (lv_name_0_0= RULE_ID )
{
// InternalMiniOCLCS.g:2247:4: (lv_name_0_0= RULE_ID )
// InternalMiniOCLCS.g:2248:5: lv_name_0_0= RULE_ID
{
lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_0_0, grammarAccess.getLetVarCSAccess().getNameIDTerminalRuleCall_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLetVarCSRule());
}
setWithLastConsumed(
current,
"name",
lv_name_0_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
// InternalMiniOCLCS.g:2264:3: (otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) ) )?
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==17) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// InternalMiniOCLCS.g:2265:4: otherlv_1= ':' ( (lv_typeRef_2_0= rulePathNameCS ) )
{
otherlv_1=(Token)match(input,17,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getLetVarCSAccess().getColonKeyword_1_0());
}
// InternalMiniOCLCS.g:2269:4: ( (lv_typeRef_2_0= rulePathNameCS ) )
// InternalMiniOCLCS.g:2270:5: (lv_typeRef_2_0= rulePathNameCS )
{
// InternalMiniOCLCS.g:2270:5: (lv_typeRef_2_0= rulePathNameCS )
// InternalMiniOCLCS.g:2271:6: lv_typeRef_2_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVarCSAccess().getTypeRefPathNameCSParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_20);
lv_typeRef_2_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetVarCSRule());
}
set(
current,
"typeRef",
lv_typeRef_2_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_3=(Token)match(input,31,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getLetVarCSAccess().getEqualsSignKeyword_2());
}
// InternalMiniOCLCS.g:2293:3: ( (lv_initExp_4_0= ruleExpCS ) )
// InternalMiniOCLCS.g:2294:4: (lv_initExp_4_0= ruleExpCS )
{
// InternalMiniOCLCS.g:2294:4: (lv_initExp_4_0= ruleExpCS )
// InternalMiniOCLCS.g:2295:5: lv_initExp_4_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVarCSAccess().getInitExpExpCSParserRuleCall_3_0());
}
pushFollow(FOLLOW_2);
lv_initExp_4_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetVarCSRule());
}
set(
current,
"initExp",
lv_initExp_4_0,
"org.eclipse.qvtd.doc.MiniOCLCS.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLetVarCS"
// $ANTLR start "entryRulePathNameCS"
// InternalMiniOCLCS.g:2316:1: entryRulePathNameCS returns [EObject current=null] : iv_rulePathNameCS= rulePathNameCS EOF ;
public final EObject entryRulePathNameCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePathNameCS = null;
try {
// InternalMiniOCLCS.g:2316:51: (iv_rulePathNameCS= rulePathNameCS EOF )
// InternalMiniOCLCS.g:2317:2: iv_rulePathNameCS= rulePathNameCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPathNameCSRule());
}
pushFollow(FOLLOW_1);
iv_rulePathNameCS=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePathNameCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePathNameCS"
// $ANTLR start "rulePathNameCS"
// InternalMiniOCLCS.g:2323:1: rulePathNameCS returns [EObject current=null] : ( ( (lv_pathElements_0_0= rulePathElementCS ) ) (otherlv_1= '::' ( (lv_pathElements_2_0= rulePathElementCS ) ) )* ) ;
public final EObject rulePathNameCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_pathElements_0_0 = null;
EObject lv_pathElements_2_0 = null;
enterRule();
try {
// InternalMiniOCLCS.g:2329:2: ( ( ( (lv_pathElements_0_0= rulePathElementCS ) ) (otherlv_1= '::' ( (lv_pathElements_2_0= rulePathElementCS ) ) )* ) )
// InternalMiniOCLCS.g:2330:2: ( ( (lv_pathElements_0_0= rulePathElementCS ) ) (otherlv_1= '::' ( (lv_pathElements_2_0= rulePathElementCS ) ) )* )
{
// InternalMiniOCLCS.g:2330:2: ( ( (lv_pathElements_0_0= rulePathElementCS ) ) (otherlv_1= '::' ( (lv_pathElements_2_0= rulePathElementCS ) ) )* )
// InternalMiniOCLCS.g:2331:3: ( (lv_pathElements_0_0= rulePathElementCS ) ) (otherlv_1= '::' ( (lv_pathElements_2_0= rulePathElementCS ) ) )*
{
// InternalMiniOCLCS.g:2331:3: ( (lv_pathElements_0_0= rulePathElementCS ) )
// InternalMiniOCLCS.g:2332:4: (lv_pathElements_0_0= rulePathElementCS )
{
// InternalMiniOCLCS.g:2332:4: (lv_pathElements_0_0= rulePathElementCS )
// InternalMiniOCLCS.g:2333:5: lv_pathElements_0_0= rulePathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPathNameCSAccess().getPathElementsPathElementCSParserRuleCall_0_0());
}
pushFollow(FOLLOW_35);
lv_pathElements_0_0=rulePathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPathNameCSRule());
}
add(
current,
"pathElements",
lv_pathElements_0_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PathElementCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalMiniOCLCS.g:2350:3: (otherlv_1= '::' ( (lv_pathElements_2_0= rulePathElementCS ) ) )*
loop32:
do {
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==46) ) {
alt32=1;
}
switch (alt32) {
case 1 :
// InternalMiniOCLCS.g:2351:4: otherlv_1= '::' ( (lv_pathElements_2_0= rulePathElementCS ) )
{
otherlv_1=(Token)match(input,46,FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0());
}
// InternalMiniOCLCS.g:2355:4: ( (lv_pathElements_2_0= rulePathElementCS ) )
// InternalMiniOCLCS.g:2356:5: (lv_pathElements_2_0= rulePathElementCS )
{
// InternalMiniOCLCS.g:2356:5: (lv_pathElements_2_0= rulePathElementCS )
// InternalMiniOCLCS.g:2357:6: lv_pathElements_2_0= rulePathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPathNameCSAccess().getPathElementsPathElementCSParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_35);
lv_pathElements_2_0=rulePathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPathNameCSRule());
}
add(
current,
"pathElements",
lv_pathElements_2_0,
"org.eclipse.qvtd.doc.MiniOCLCS.PathElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop32;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePathNameCS"
// $ANTLR start "entryRulePathElementCS"
// InternalMiniOCLCS.g:2379:1: entryRulePathElementCS returns [EObject current=null] : iv_rulePathElementCS= rulePathElementCS EOF ;
public final EObject entryRulePathElementCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePathElementCS = null;
try {
// InternalMiniOCLCS.g:2379:54: (iv_rulePathElementCS= rulePathElementCS EOF )
// InternalMiniOCLCS.g:2380:2: iv_rulePathElementCS= rulePathElementCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPathElementCSRule());
}
pushFollow(FOLLOW_1);
iv_rulePathElementCS=rulePathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePathElementCS;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePathElementCS"
// $ANTLR start "rulePathElementCS"
// InternalMiniOCLCS.g:2386:1: rulePathElementCS returns [EObject current=null] : ( (lv_elementName_0_0= RULE_ID ) ) ;
public final EObject rulePathElementCS() throws RecognitionException {
EObject current = null;
Token lv_elementName_0_0=null;
enterRule();
try {
// InternalMiniOCLCS.g:2392:2: ( ( (lv_elementName_0_0= RULE_ID ) ) )
// InternalMiniOCLCS.g:2393:2: ( (lv_elementName_0_0= RULE_ID ) )
{
// InternalMiniOCLCS.g:2393:2: ( (lv_elementName_0_0= RULE_ID ) )
// InternalMiniOCLCS.g:2394:3: (lv_elementName_0_0= RULE_ID )
{
// InternalMiniOCLCS.g:2394:3: (lv_elementName_0_0= RULE_ID )
// InternalMiniOCLCS.g:2395:4: lv_elementName_0_0= RULE_ID
{
lv_elementName_0_0=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_elementName_0_0, grammarAccess.getPathElementCSAccess().getElementNameIDTerminalRuleCall_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getPathElementCSRule());
}
setWithLastConsumed(
current,
"elementName",
lv_elementName_0_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePathElementCS"
// $ANTLR start "ruleCollectionKindCS"
// InternalMiniOCLCS.g:2414:1: ruleCollectionKindCS returns [Enumerator current=null] : (enumLiteral_0= 'Collection' ) ;
public final Enumerator ruleCollectionKindCS() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// InternalMiniOCLCS.g:2420:2: ( (enumLiteral_0= 'Collection' ) )
// InternalMiniOCLCS.g:2421:2: (enumLiteral_0= 'Collection' )
{
// InternalMiniOCLCS.g:2421:2: (enumLiteral_0= 'Collection' )
// InternalMiniOCLCS.g:2422:3: enumLiteral_0= 'Collection'
{
enumLiteral_0=(Token)match(input,47,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getCollectionKindCSAccess().getCollectionEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getCollectionKindCSAccess().getCollectionEnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectionKindCS"
// $ANTLR start synpred19_InternalMiniOCLCS
public final void synpred19_InternalMiniOCLCS_fragment() throws RecognitionException {
Token lv_op_2_1=null;
Token lv_op_2_2=null;
EObject lv_right_3_0 = null;
// InternalMiniOCLCS.g:1039:4: ( () ( ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) ) ) ( (lv_right_3_0= ruleCallExpCS ) ) )
// InternalMiniOCLCS.g:1039:4: () ( ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) ) ) ( (lv_right_3_0= ruleCallExpCS ) )
{
// InternalMiniOCLCS.g:1039:4: ()
// InternalMiniOCLCS.g:1040:5:
{
if ( state.backtracking==0 ) {
/* */
}
}
// InternalMiniOCLCS.g:1049:4: ( ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) ) )
// InternalMiniOCLCS.g:1050:5: ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) )
{
// InternalMiniOCLCS.g:1050:5: ( (lv_op_2_1= '=' | lv_op_2_2= '<>' ) )
// InternalMiniOCLCS.g:1051:6: (lv_op_2_1= '=' | lv_op_2_2= '<>' )
{
// InternalMiniOCLCS.g:1051:6: (lv_op_2_1= '=' | lv_op_2_2= '<>' )
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==31) ) {
alt34=1;
}
else if ( (LA34_0==34) ) {
alt34=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 34, 0, input);
throw nvae;
}
switch (alt34) {
case 1 :
// InternalMiniOCLCS.g:1052:7: lv_op_2_1= '='
{
lv_op_2_1=(Token)match(input,31,FOLLOW_21); if (state.failed) return ;
}
break;
case 2 :
// InternalMiniOCLCS.g:1063:7: lv_op_2_2= '<>'
{
lv_op_2_2=(Token)match(input,34,FOLLOW_21); if (state.failed) return ;
}
break;
}
}
}
// InternalMiniOCLCS.g:1076:4: ( (lv_right_3_0= ruleCallExpCS ) )
// InternalMiniOCLCS.g:1077:5: (lv_right_3_0= ruleCallExpCS )
{
// InternalMiniOCLCS.g:1077:5: (lv_right_3_0= ruleCallExpCS )
// InternalMiniOCLCS.g:1078:6: lv_right_3_0= ruleCallExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLogicExpCSAccess().getRightCallExpCSParserRuleCall_1_2_0());
}
pushFollow(FOLLOW_2);
lv_right_3_0=ruleCallExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
}
// $ANTLR end synpred19_InternalMiniOCLCS
// $ANTLR start synpred21_InternalMiniOCLCS
public final void synpred21_InternalMiniOCLCS_fragment() throws RecognitionException {
Token lv_op_2_1=null;
Token lv_op_2_2=null;
EObject lv_navExp_3_0 = null;
// InternalMiniOCLCS.g:1127:4: ( () ( ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) ) ) ( (lv_navExp_3_0= ruleNavigationExpCS ) ) )
// InternalMiniOCLCS.g:1127:4: () ( ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) ) ) ( (lv_navExp_3_0= ruleNavigationExpCS ) )
{
// InternalMiniOCLCS.g:1127:4: ()
// InternalMiniOCLCS.g:1128:5:
{
if ( state.backtracking==0 ) {
/* */
}
}
// InternalMiniOCLCS.g:1137:4: ( ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) ) )
// InternalMiniOCLCS.g:1138:5: ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) )
{
// InternalMiniOCLCS.g:1138:5: ( (lv_op_2_1= '.' | lv_op_2_2= '->' ) )
// InternalMiniOCLCS.g:1139:6: (lv_op_2_1= '.' | lv_op_2_2= '->' )
{
// InternalMiniOCLCS.g:1139:6: (lv_op_2_1= '.' | lv_op_2_2= '->' )
int alt35=2;
int LA35_0 = input.LA(1);
if ( (LA35_0==35) ) {
alt35=1;
}
else if ( (LA35_0==36) ) {
alt35=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 35, 0, input);
throw nvae;
}
switch (alt35) {
case 1 :
// InternalMiniOCLCS.g:1140:7: lv_op_2_1= '.'
{
lv_op_2_1=(Token)match(input,35,FOLLOW_25); if (state.failed) return ;
}
break;
case 2 :
// InternalMiniOCLCS.g:1151:7: lv_op_2_2= '->'
{
lv_op_2_2=(Token)match(input,36,FOLLOW_25); if (state.failed) return ;
}
break;
}
}
}
// InternalMiniOCLCS.g:1164:4: ( (lv_navExp_3_0= ruleNavigationExpCS ) )
// InternalMiniOCLCS.g:1165:5: (lv_navExp_3_0= ruleNavigationExpCS )
{
// InternalMiniOCLCS.g:1165:5: (lv_navExp_3_0= ruleNavigationExpCS )
// InternalMiniOCLCS.g:1166:6: lv_navExp_3_0= ruleNavigationExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCallExpCSAccess().getNavExpNavigationExpCSParserRuleCall_1_2_0());
}
pushFollow(FOLLOW_2);
lv_navExp_3_0=ruleNavigationExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
}
// $ANTLR end synpred21_InternalMiniOCLCS
// Delegated rules
public final boolean synpred19_InternalMiniOCLCS() {
state.backtracking++;
int start = input.mark();
try {
synpred19_InternalMiniOCLCS_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 synpred21_InternalMiniOCLCS() {
state.backtracking++;
int start = input.mark();
try {
synpred21_InternalMiniOCLCS_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 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[]{0x0000000100000802L});
public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000016800L});
public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000009000L});
public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000008382000L});
public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000020L});
public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000440000L});
public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000001800040L});
public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000001000040L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000010000000L});
public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000040000010L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000060000000L});
public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000080000000L});
public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x00009E2000000050L});
public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000200002000L});
public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000480000002L});
public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000001800000002L});
public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000014000000010L});
public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000008000000000L});
public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000040000000L});
public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000020002L});
public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000080020000L});
public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x00009E2040000050L});
public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x00009E2000002050L});
public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000002000002L});
public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000200020000000L});
public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000400000000002L});
}