package org.eclipse.emf.ecore.xcore.parser.antlr.internal;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import org.eclipse.emf.ecore.xcore.services.XcoreGrammarAccess;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
@SuppressWarnings("all")
public class InternalXcoreParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_HEX", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "'@'", "'('", "','", "')'", "'='", "'import'", "'annotation'", "'as'", "'type'", "'<'", "'>'", "'wraps'", "'create'", "'convert'", "'enum'", "'{'", "'}'", "'-'", "'abstract'", "'class'", "'interface'", "'extends'", "'unordered'", "'unique'", "'readonly'", "'transient'", "'volatile'", "'unsettable'", "'derived'", "'id'", "'get'", "'set'", "'isSet'", "'unset'", "'contains'", "'resolving'", "'container'", "'refers'", "'local'", "'opposite'", "'keys'", "'op'", "'void'", "'throws'", "'&'", "'['", "'?'", "'*'", "'+'", "'..'", "']'", "';'", "'super'", "'.'", "'extension'", "'static'", "'+='", "'-='", "'*='", "'/='", "'%='", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'=>'", "'<>'", "'?:'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'::'", "'?.'", "'#'", "'|'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'var'", "'val'", "'new'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'"
};
public static final int RULE_HEX=7;
public static final int T__50=50;
public static final int T__59=59;
public static final int T__55=55;
public static final int T__56=56;
public static final int T__57=57;
public static final int T__58=58;
public static final int T__51=51;
public static final int T__52=52;
public static final int T__53=53;
public static final int T__54=54;
public static final int T__60=60;
public static final int T__61=61;
public static final int RULE_ID=5;
public static final int RULE_INT=6;
public static final int T__66=66;
public static final int RULE_ML_COMMENT=9;
public static final int T__67=67;
public static final int T__68=68;
public static final int T__69=69;
public static final int T__62=62;
public static final int T__63=63;
public static final int T__64=64;
public static final int T__65=65;
public static final int T__37=37;
public static final int T__38=38;
public static final int T__39=39;
public static final int T__33=33;
public static final int T__34=34;
public static final int T__35=35;
public static final int T__36=36;
public static final int T__30=30;
public static final int T__31=31;
public static final int T__32=32;
public static final int T__48=48;
public static final int T__49=49;
public static final int T__44=44;
public static final int T__45=45;
public static final int T__46=46;
public static final int T__47=47;
public static final int T__40=40;
public static final int T__41=41;
public static final int T__42=42;
public static final int T__43=43;
public static final int T__91=91;
public static final int T__100=100;
public static final int T__92=92;
public static final int T__93=93;
public static final int T__102=102;
public static final int T__94=94;
public static final int T__101=101;
public static final int T__90=90;
public static final int 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__99=99;
public static final int T__13=13;
public static final int T__14=14;
public static final int T__95=95;
public static final int T__96=96;
public static final int T__97=97;
public static final int T__98=98;
public static final int RULE_DECIMAL=8;
public static final int T__26=26;
public static final int T__27=27;
public static final int T__28=28;
public static final int T__29=29;
public static final int T__22=22;
public static final int T__23=23;
public static final int T__24=24;
public static final int T__25=25;
public static final int T__20=20;
public static final int T__21=21;
public static final int T__70=70;
public static final int T__71=71;
public static final int T__72=72;
public static final int RULE_STRING=4;
public static final int RULE_SL_COMMENT=10;
public static final int T__77=77;
public static final int T__119=119;
public static final int T__78=78;
public static final int T__118=118;
public static final int T__79=79;
public static final int T__73=73;
public static final int T__115=115;
public static final int EOF=-1;
public static final int T__74=74;
public static final int T__114=114;
public static final int T__75=75;
public static final int T__117=117;
public static final int T__76=76;
public static final int T__116=116;
public static final int T__80=80;
public static final int T__111=111;
public static final int T__81=81;
public static final int T__110=110;
public static final int T__82=82;
public static final int T__113=113;
public static final int T__83=83;
public static final int T__112=112;
public static final int RULE_WS=11;
public static final int RULE_ANY_OTHER=12;
public static final int T__88=88;
public static final int T__108=108;
public static final int T__89=89;
public static final int T__107=107;
public static final int T__109=109;
public static final int T__84=84;
public static final int T__104=104;
public static final int T__85=85;
public static final int T__103=103;
public static final int T__86=86;
public static final int T__106=106;
public static final int T__87=87;
public static final int T__105=105;
// delegates
// delegators
public InternalXcoreParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalXcoreParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalXcoreParser.tokenNames; }
public String getGrammarFileName() { return "InternalXcore.g"; }
private XcoreGrammarAccess grammarAccess;
public InternalXcoreParser(TokenStream input, XcoreGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "XPackage";
}
@Override
protected XcoreGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleXPackage"
// InternalXcore.g:67:1: entryRuleXPackage returns [EObject current=null] : iv_ruleXPackage= ruleXPackage EOF ;
public final EObject entryRuleXPackage() throws RecognitionException {
EObject current = null;
EObject iv_ruleXPackage = null;
try {
// InternalXcore.g:68:2: (iv_ruleXPackage= ruleXPackage EOF )
// InternalXcore.g:69:2: iv_ruleXPackage= ruleXPackage EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPackageRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXPackage=ruleXPackage();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXPackage;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXPackage"
// $ANTLR start "ruleXPackage"
// InternalXcore.g:76:1: ruleXPackage returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'package' ( (lv_name_3_0= ruleQualifiedName ) ) ( (lv_importDirectives_4_0= ruleXImportDirective ) )* ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )* ( (lv_classifiers_6_0= ruleXClassifier ) )* ) ;
public final EObject ruleXPackage() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
EObject lv_annotations_1_0 = null;
AntlrDatatypeRuleToken lv_name_3_0 = null;
EObject lv_importDirectives_4_0 = null;
EObject lv_annotationDirectives_5_0 = null;
EObject lv_classifiers_6_0 = null;
enterRule();
try {
// InternalXcore.g:79:28: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'package' ( (lv_name_3_0= ruleQualifiedName ) ) ( (lv_importDirectives_4_0= ruleXImportDirective ) )* ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )* ( (lv_classifiers_6_0= ruleXClassifier ) )* ) )
// InternalXcore.g:80:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'package' ( (lv_name_3_0= ruleQualifiedName ) ) ( (lv_importDirectives_4_0= ruleXImportDirective ) )* ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )* ( (lv_classifiers_6_0= ruleXClassifier ) )* )
{
// InternalXcore.g:80:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'package' ( (lv_name_3_0= ruleQualifiedName ) ) ( (lv_importDirectives_4_0= ruleXImportDirective ) )* ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )* ( (lv_classifiers_6_0= ruleXClassifier ) )* )
// InternalXcore.g:80:2: () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'package' ( (lv_name_3_0= ruleQualifiedName ) ) ( (lv_importDirectives_4_0= ruleXImportDirective ) )* ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )* ( (lv_classifiers_6_0= ruleXClassifier ) )*
{
// InternalXcore.g:80:2: ()
// InternalXcore.g:81:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXPackageAccess().getXPackageAction_0(),
current);
}
}
// InternalXcore.g:86:2: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop1:
do {
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==14) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// InternalXcore.g:87:1: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalXcore.g:87:1: (lv_annotations_1_0= ruleXAnnotation )
// InternalXcore.g:88:3: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPackageAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_3);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXPackageRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.emf.ecore.xcore.Xcore.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop1;
}
} while (true);
otherlv_2=(Token)match(input,13,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXPackageAccess().getPackageKeyword_2());
}
// InternalXcore.g:108:1: ( (lv_name_3_0= ruleQualifiedName ) )
// InternalXcore.g:109:1: (lv_name_3_0= ruleQualifiedName )
{
// InternalXcore.g:109:1: (lv_name_3_0= ruleQualifiedName )
// InternalXcore.g:110:3: lv_name_3_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPackageAccess().getNameQualifiedNameParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_5);
lv_name_3_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXPackageRule());
}
set(
current,
"name",
lv_name_3_0,
"org.eclipse.xtext.xbase.Xbase.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:126:2: ( (lv_importDirectives_4_0= ruleXImportDirective ) )*
loop2:
do {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==19) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// InternalXcore.g:127:1: (lv_importDirectives_4_0= ruleXImportDirective )
{
// InternalXcore.g:127:1: (lv_importDirectives_4_0= ruleXImportDirective )
// InternalXcore.g:128:3: lv_importDirectives_4_0= ruleXImportDirective
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPackageAccess().getImportDirectivesXImportDirectiveParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_5);
lv_importDirectives_4_0=ruleXImportDirective();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXPackageRule());
}
add(
current,
"importDirectives",
lv_importDirectives_4_0,
"org.eclipse.emf.ecore.xcore.Xcore.XImportDirective");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop2;
}
} while (true);
// InternalXcore.g:144:3: ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )*
loop3:
do {
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==20) && (synpred1_InternalXcore())) {
alt3=1;
}
switch (alt3) {
case 1 :
// InternalXcore.g:144:4: ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective )
{
// InternalXcore.g:151:1: (lv_annotationDirectives_5_0= ruleXAnnotationDirective )
// InternalXcore.g:152:3: lv_annotationDirectives_5_0= ruleXAnnotationDirective
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPackageAccess().getAnnotationDirectivesXAnnotationDirectiveParserRuleCall_5_0());
}
pushFollow(FollowSets000.FOLLOW_6);
lv_annotationDirectives_5_0=ruleXAnnotationDirective();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXPackageRule());
}
add(
current,
"annotationDirectives",
lv_annotationDirectives_5_0,
"org.eclipse.emf.ecore.xcore.Xcore.XAnnotationDirective");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop3;
}
} while (true);
// InternalXcore.g:168:3: ( (lv_classifiers_6_0= ruleXClassifier ) )*
loop4:
do {
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==14||LA4_0==22||LA4_0==28||(LA4_0>=32 && LA4_0<=34)) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// InternalXcore.g:169:1: (lv_classifiers_6_0= ruleXClassifier )
{
// InternalXcore.g:169:1: (lv_classifiers_6_0= ruleXClassifier )
// InternalXcore.g:170:3: lv_classifiers_6_0= ruleXClassifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPackageAccess().getClassifiersXClassifierParserRuleCall_6_0());
}
pushFollow(FollowSets000.FOLLOW_7);
lv_classifiers_6_0=ruleXClassifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXPackageRule());
}
add(
current,
"classifiers",
lv_classifiers_6_0,
"org.eclipse.emf.ecore.xcore.Xcore.XClassifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop4;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXPackage"
// $ANTLR start "entryRuleXAnnotation"
// InternalXcore.g:194:1: entryRuleXAnnotation returns [EObject current=null] : iv_ruleXAnnotation= ruleXAnnotation EOF ;
public final EObject entryRuleXAnnotation() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAnnotation = null;
try {
// InternalXcore.g:195:2: (iv_ruleXAnnotation= ruleXAnnotation EOF )
// InternalXcore.g:196:2: iv_ruleXAnnotation= ruleXAnnotation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXAnnotation=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAnnotation;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAnnotation"
// $ANTLR start "ruleXAnnotation"
// InternalXcore.g:203:1: ruleXAnnotation returns [EObject current=null] : (otherlv_0= '@' ( ( ruleXQualifiedName ) ) (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )? ) ;
public final EObject ruleXAnnotation() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_details_3_0 = null;
EObject lv_details_5_0 = null;
enterRule();
try {
// InternalXcore.g:206:28: ( (otherlv_0= '@' ( ( ruleXQualifiedName ) ) (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )? ) )
// InternalXcore.g:207:1: (otherlv_0= '@' ( ( ruleXQualifiedName ) ) (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )? )
{
// InternalXcore.g:207:1: (otherlv_0= '@' ( ( ruleXQualifiedName ) ) (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )? )
// InternalXcore.g:207:3: otherlv_0= '@' ( ( ruleXQualifiedName ) ) (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )?
{
otherlv_0=(Token)match(input,14,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_0());
}
// InternalXcore.g:211:1: ( ( ruleXQualifiedName ) )
// InternalXcore.g:212:1: ( ruleXQualifiedName )
{
// InternalXcore.g:212:1: ( ruleXQualifiedName )
// InternalXcore.g:213:3: ruleXQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAnnotationRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationAccess().getSourceXAnnotationDirectiveCrossReference_1_0());
}
pushFollow(FollowSets000.FOLLOW_9);
ruleXQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:226:2: (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )?
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==15) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// InternalXcore.g:226:4: otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')'
{
otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_2_0());
}
// InternalXcore.g:230:1: ( (lv_details_3_0= ruleXStringToStringMapEntry ) )
// InternalXcore.g:231:1: (lv_details_3_0= ruleXStringToStringMapEntry )
{
// InternalXcore.g:231:1: (lv_details_3_0= ruleXStringToStringMapEntry )
// InternalXcore.g:232:3: lv_details_3_0= ruleXStringToStringMapEntry
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationAccess().getDetailsXStringToStringMapEntryParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_details_3_0=ruleXStringToStringMapEntry();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationRule());
}
add(
current,
"details",
lv_details_3_0,
"org.eclipse.emf.ecore.xcore.Xcore.XStringToStringMapEntry");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:248:2: (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )*
loop5:
do {
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==16) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// InternalXcore.g:248:4: otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) )
{
otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXAnnotationAccess().getCommaKeyword_2_2_0());
}
// InternalXcore.g:252:1: ( (lv_details_5_0= ruleXStringToStringMapEntry ) )
// InternalXcore.g:253:1: (lv_details_5_0= ruleXStringToStringMapEntry )
{
// InternalXcore.g:253:1: (lv_details_5_0= ruleXStringToStringMapEntry )
// InternalXcore.g:254:3: lv_details_5_0= ruleXStringToStringMapEntry
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationAccess().getDetailsXStringToStringMapEntryParserRuleCall_2_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_details_5_0=ruleXStringToStringMapEntry();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationRule());
}
add(
current,
"details",
lv_details_5_0,
"org.eclipse.emf.ecore.xcore.Xcore.XStringToStringMapEntry");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop5;
}
} while (true);
otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_2_3());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAnnotation"
// $ANTLR start "entryRuleXStringToStringMapEntry"
// InternalXcore.g:282:1: entryRuleXStringToStringMapEntry returns [EObject current=null] : iv_ruleXStringToStringMapEntry= ruleXStringToStringMapEntry EOF ;
public final EObject entryRuleXStringToStringMapEntry() throws RecognitionException {
EObject current = null;
EObject iv_ruleXStringToStringMapEntry = null;
try {
// InternalXcore.g:283:2: (iv_ruleXStringToStringMapEntry= ruleXStringToStringMapEntry EOF )
// InternalXcore.g:284:2: iv_ruleXStringToStringMapEntry= ruleXStringToStringMapEntry EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXStringToStringMapEntryRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXStringToStringMapEntry=ruleXStringToStringMapEntry();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXStringToStringMapEntry;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXStringToStringMapEntry"
// $ANTLR start "ruleXStringToStringMapEntry"
// InternalXcore.g:291:1: ruleXStringToStringMapEntry returns [EObject current=null] : ( ( (lv_key_0_0= ruleQualifiedName ) ) otherlv_1= '=' ( (lv_value_2_0= RULE_STRING ) ) ) ;
public final EObject ruleXStringToStringMapEntry() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_value_2_0=null;
AntlrDatatypeRuleToken lv_key_0_0 = null;
enterRule();
try {
// InternalXcore.g:294:28: ( ( ( (lv_key_0_0= ruleQualifiedName ) ) otherlv_1= '=' ( (lv_value_2_0= RULE_STRING ) ) ) )
// InternalXcore.g:295:1: ( ( (lv_key_0_0= ruleQualifiedName ) ) otherlv_1= '=' ( (lv_value_2_0= RULE_STRING ) ) )
{
// InternalXcore.g:295:1: ( ( (lv_key_0_0= ruleQualifiedName ) ) otherlv_1= '=' ( (lv_value_2_0= RULE_STRING ) ) )
// InternalXcore.g:295:2: ( (lv_key_0_0= ruleQualifiedName ) ) otherlv_1= '=' ( (lv_value_2_0= RULE_STRING ) )
{
// InternalXcore.g:295:2: ( (lv_key_0_0= ruleQualifiedName ) )
// InternalXcore.g:296:1: (lv_key_0_0= ruleQualifiedName )
{
// InternalXcore.g:296:1: (lv_key_0_0= ruleQualifiedName )
// InternalXcore.g:297:3: lv_key_0_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXStringToStringMapEntryAccess().getKeyQualifiedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_key_0_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXStringToStringMapEntryRule());
}
set(
current,
"key",
lv_key_0_0,
"org.eclipse.xtext.xbase.Xbase.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_12); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXStringToStringMapEntryAccess().getEqualsSignKeyword_1());
}
// InternalXcore.g:317:1: ( (lv_value_2_0= RULE_STRING ) )
// InternalXcore.g:318:1: (lv_value_2_0= RULE_STRING )
{
// InternalXcore.g:318:1: (lv_value_2_0= RULE_STRING )
// InternalXcore.g:319:3: lv_value_2_0= RULE_STRING
{
lv_value_2_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_value_2_0, grammarAccess.getXStringToStringMapEntryAccess().getValueSTRINGTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXStringToStringMapEntryRule());
}
setWithLastConsumed(
current,
"value",
lv_value_2_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXStringToStringMapEntry"
// $ANTLR start "entryRuleXImportDirective"
// InternalXcore.g:343:1: entryRuleXImportDirective returns [EObject current=null] : iv_ruleXImportDirective= ruleXImportDirective EOF ;
public final EObject entryRuleXImportDirective() throws RecognitionException {
EObject current = null;
EObject iv_ruleXImportDirective = null;
try {
// InternalXcore.g:344:2: (iv_ruleXImportDirective= ruleXImportDirective EOF )
// InternalXcore.g:345:2: iv_ruleXImportDirective= ruleXImportDirective EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDirectiveRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXImportDirective=ruleXImportDirective();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXImportDirective;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXImportDirective"
// $ANTLR start "ruleXImportDirective"
// InternalXcore.g:352:1: ruleXImportDirective returns [EObject current=null] : ( () otherlv_1= 'import' ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) ) ) ;
public final EObject ruleXImportDirective() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_importedNamespace_2_0 = null;
enterRule();
try {
// InternalXcore.g:355:28: ( ( () otherlv_1= 'import' ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) ) ) )
// InternalXcore.g:356:1: ( () otherlv_1= 'import' ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) ) )
{
// InternalXcore.g:356:1: ( () otherlv_1= 'import' ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) ) )
// InternalXcore.g:356:2: () otherlv_1= 'import' ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) )
{
// InternalXcore.g:356:2: ()
// InternalXcore.g:357:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXImportDirectiveAccess().getXImportDirectiveAction_0(),
current);
}
}
otherlv_1=(Token)match(input,19,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXImportDirectiveAccess().getImportKeyword_1());
}
// InternalXcore.g:366:1: ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) )
int alt7=2;
alt7 = dfa7.predict(input);
switch (alt7) {
case 1 :
// InternalXcore.g:366:2: ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) )
{
// InternalXcore.g:366:2: ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) )
// InternalXcore.g:367:1: (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard )
{
// InternalXcore.g:367:1: (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard )
// InternalXcore.g:368:3: lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDirectiveAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_importedNamespace_2_0=ruleQualifiedNameWithWildcard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXImportDirectiveRule());
}
set(
current,
"importedNamespace",
lv_importedNamespace_2_0,
"org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalXcore.g:385:6: ( ( ruleQualifiedName ) )
{
// InternalXcore.g:385:6: ( ( ruleQualifiedName ) )
// InternalXcore.g:386:1: ( ruleQualifiedName )
{
// InternalXcore.g:386:1: ( ruleQualifiedName )
// InternalXcore.g:387:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXImportDirectiveRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDirectiveAccess().getImportedObjectEObjectCrossReference_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXImportDirective"
// $ANTLR start "entryRuleXAnnotationDirective"
// InternalXcore.g:408:1: entryRuleXAnnotationDirective returns [EObject current=null] : iv_ruleXAnnotationDirective= ruleXAnnotationDirective EOF ;
public final EObject entryRuleXAnnotationDirective() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAnnotationDirective = null;
try {
// InternalXcore.g:409:2: (iv_ruleXAnnotationDirective= ruleXAnnotationDirective EOF )
// InternalXcore.g:410:2: iv_ruleXAnnotationDirective= ruleXAnnotationDirective EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationDirectiveRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXAnnotationDirective=ruleXAnnotationDirective();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAnnotationDirective;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAnnotationDirective"
// $ANTLR start "ruleXAnnotationDirective"
// InternalXcore.g:417:1: ruleXAnnotationDirective returns [EObject current=null] : ( ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleValidID ) ) ) ;
public final EObject ruleXAnnotationDirective() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_sourceURI_1_0=null;
Token otherlv_2=null;
AntlrDatatypeRuleToken lv_name_3_0 = null;
enterRule();
try {
// InternalXcore.g:420:28: ( ( ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleValidID ) ) ) )
// InternalXcore.g:421:1: ( ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleValidID ) ) )
{
// InternalXcore.g:421:1: ( ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleValidID ) ) )
// InternalXcore.g:421:2: ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleValidID ) )
{
// InternalXcore.g:421:2: ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) )
// InternalXcore.g:421:3: ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) )
{
// InternalXcore.g:427:6: (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) )
// InternalXcore.g:427:8: otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) )
{
otherlv_0=(Token)match(input,20,FollowSets000.FOLLOW_12); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXAnnotationDirectiveAccess().getAnnotationKeyword_0_0_0());
}
// InternalXcore.g:431:1: ( (lv_sourceURI_1_0= RULE_STRING ) )
// InternalXcore.g:432:1: (lv_sourceURI_1_0= RULE_STRING )
{
// InternalXcore.g:432:1: (lv_sourceURI_1_0= RULE_STRING )
// InternalXcore.g:433:3: lv_sourceURI_1_0= RULE_STRING
{
lv_sourceURI_1_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_sourceURI_1_0, grammarAccess.getXAnnotationDirectiveAccess().getSourceURISTRINGTerminalRuleCall_0_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAnnotationDirectiveRule());
}
setWithLastConsumed(
current,
"sourceURI",
lv_sourceURI_1_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
}
otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXAnnotationDirectiveAccess().getAsKeyword_1());
}
// InternalXcore.g:453:1: ( (lv_name_3_0= ruleValidID ) )
// InternalXcore.g:454:1: (lv_name_3_0= ruleValidID )
{
// InternalXcore.g:454:1: (lv_name_3_0= ruleValidID )
// InternalXcore.g:455:3: lv_name_3_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationDirectiveAccess().getNameValidIDParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_name_3_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationDirectiveRule());
}
set(
current,
"name",
lv_name_3_0,
"org.eclipse.emf.ecore.xcore.Xcore.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAnnotationDirective"
// $ANTLR start "entryRuleXClassifier"
// InternalXcore.g:479:1: entryRuleXClassifier returns [EObject current=null] : iv_ruleXClassifier= ruleXClassifier EOF ;
public final EObject entryRuleXClassifier() throws RecognitionException {
EObject current = null;
EObject iv_ruleXClassifier = null;
try {
// InternalXcore.g:480:2: (iv_ruleXClassifier= ruleXClassifier EOF )
// InternalXcore.g:481:2: iv_ruleXClassifier= ruleXClassifier EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassifierRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXClassifier=ruleXClassifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXClassifier;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXClassifier"
// $ANTLR start "ruleXClassifier"
// InternalXcore.g:488:1: ruleXClassifier returns [EObject current=null] : (this_XClass_0= ruleXClass | this_XDataType_1= ruleXDataType | this_XEnum_2= ruleXEnum ) ;
public final EObject ruleXClassifier() throws RecognitionException {
EObject current = null;
EObject this_XClass_0 = null;
EObject this_XDataType_1 = null;
EObject this_XEnum_2 = null;
enterRule();
try {
// InternalXcore.g:491:28: ( (this_XClass_0= ruleXClass | this_XDataType_1= ruleXDataType | this_XEnum_2= ruleXEnum ) )
// InternalXcore.g:492:1: (this_XClass_0= ruleXClass | this_XDataType_1= ruleXDataType | this_XEnum_2= ruleXEnum )
{
// InternalXcore.g:492:1: (this_XClass_0= ruleXClass | this_XDataType_1= ruleXDataType | this_XEnum_2= ruleXEnum )
int alt8=3;
alt8 = dfa8.predict(input);
switch (alt8) {
case 1 :
// InternalXcore.g:493:5: this_XClass_0= ruleXClass
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassifierAccess().getXClassParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XClass_0=ruleXClass();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XClass_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalXcore.g:503:5: this_XDataType_1= ruleXDataType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassifierAccess().getXDataTypeParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XDataType_1=ruleXDataType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XDataType_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalXcore.g:513:5: this_XEnum_2= ruleXEnum
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassifierAccess().getXEnumParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XEnum_2=ruleXEnum();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XEnum_2;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXClassifier"
// $ANTLR start "entryRuleXDataType"
// InternalXcore.g:529:1: entryRuleXDataType returns [EObject current=null] : iv_ruleXDataType= ruleXDataType EOF ;
public final EObject entryRuleXDataType() throws RecognitionException {
EObject current = null;
EObject iv_ruleXDataType = null;
try {
// InternalXcore.g:530:2: (iv_ruleXDataType= ruleXDataType EOF )
// InternalXcore.g:531:2: iv_ruleXDataType= ruleXDataType EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDataTypeRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXDataType=ruleXDataType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXDataType;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXDataType"
// $ANTLR start "ruleXDataType"
// InternalXcore.g:538:1: ruleXDataType returns [EObject current=null] : ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'type' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )? otherlv_8= 'wraps' ( (lv_instanceType_9_0= ruleJvmTypeReference ) ) ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) ;
public final EObject ruleXDataType() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_name_2_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token lv_serializable_11_0=null;
Token otherlv_13=null;
EObject lv_annotations_0_0 = null;
EObject lv_typeParameters_4_0 = null;
EObject lv_typeParameters_6_0 = null;
EObject lv_instanceType_9_0 = null;
EObject lv_createBody_12_0 = null;
EObject lv_convertBody_14_0 = null;
enterRule();
try {
// InternalXcore.g:541:28: ( ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'type' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )? otherlv_8= 'wraps' ( (lv_instanceType_9_0= ruleJvmTypeReference ) ) ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) )
// InternalXcore.g:542:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'type' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )? otherlv_8= 'wraps' ( (lv_instanceType_9_0= ruleJvmTypeReference ) ) ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) )
{
// InternalXcore.g:542:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'type' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )? otherlv_8= 'wraps' ( (lv_instanceType_9_0= ruleJvmTypeReference ) ) ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) )
// InternalXcore.g:542:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'type' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )? otherlv_8= 'wraps' ( (lv_instanceType_9_0= ruleJvmTypeReference ) ) ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) )
{
// InternalXcore.g:542:2: ( (lv_annotations_0_0= ruleXAnnotation ) )*
loop9:
do {
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==14) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// InternalXcore.g:543:1: (lv_annotations_0_0= ruleXAnnotation )
{
// InternalXcore.g:543:1: (lv_annotations_0_0= ruleXAnnotation )
// InternalXcore.g:544:3: lv_annotations_0_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDataTypeAccess().getAnnotationsXAnnotationParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_14);
lv_annotations_0_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXDataTypeRule());
}
add(
current,
"annotations",
lv_annotations_0_0,
"org.eclipse.emf.ecore.xcore.Xcore.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop9;
}
} while (true);
otherlv_1=(Token)match(input,22,FollowSets000.FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXDataTypeAccess().getTypeKeyword_1());
}
// InternalXcore.g:564:1: ( (lv_name_2_0= RULE_ID ) )
// InternalXcore.g:565:1: (lv_name_2_0= RULE_ID )
{
// InternalXcore.g:565:1: (lv_name_2_0= RULE_ID )
// InternalXcore.g:566:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getXDataTypeAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXDataTypeRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"org.eclipse.xtext.xbase.Xtype.ID");
}
}
}
// InternalXcore.g:582:2: (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )?
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==23) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// InternalXcore.g:582:4: otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>'
{
otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXDataTypeAccess().getLessThanSignKeyword_3_0());
}
// InternalXcore.g:586:1: ( (lv_typeParameters_4_0= ruleXTypeParameter ) )
// InternalXcore.g:587:1: (lv_typeParameters_4_0= ruleXTypeParameter )
{
// InternalXcore.g:587:1: (lv_typeParameters_4_0= ruleXTypeParameter )
// InternalXcore.g:588:3: lv_typeParameters_4_0= ruleXTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDataTypeAccess().getTypeParametersXTypeParameterParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeParameters_4_0=ruleXTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXDataTypeRule());
}
add(
current,
"typeParameters",
lv_typeParameters_4_0,
"org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:604:2: (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )*
loop10:
do {
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==16) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// InternalXcore.g:604:4: otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) )
{
otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXDataTypeAccess().getCommaKeyword_3_2_0());
}
// InternalXcore.g:608:1: ( (lv_typeParameters_6_0= ruleXTypeParameter ) )
// InternalXcore.g:609:1: (lv_typeParameters_6_0= ruleXTypeParameter )
{
// InternalXcore.g:609:1: (lv_typeParameters_6_0= ruleXTypeParameter )
// InternalXcore.g:610:3: lv_typeParameters_6_0= ruleXTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDataTypeAccess().getTypeParametersXTypeParameterParserRuleCall_3_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeParameters_6_0=ruleXTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXDataTypeRule());
}
add(
current,
"typeParameters",
lv_typeParameters_6_0,
"org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop10;
}
} while (true);
otherlv_7=(Token)match(input,24,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getXDataTypeAccess().getGreaterThanSignKeyword_3_3());
}
}
break;
}
otherlv_8=(Token)match(input,25,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXDataTypeAccess().getWrapsKeyword_4());
}
// InternalXcore.g:634:1: ( (lv_instanceType_9_0= ruleJvmTypeReference ) )
// InternalXcore.g:635:1: (lv_instanceType_9_0= ruleJvmTypeReference )
{
// InternalXcore.g:635:1: (lv_instanceType_9_0= ruleJvmTypeReference )
// InternalXcore.g:636:3: lv_instanceType_9_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDataTypeAccess().getInstanceTypeJvmTypeReferenceParserRuleCall_5_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_instanceType_9_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXDataTypeRule());
}
set(
current,
"instanceType",
lv_instanceType_9_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:652:2: ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) )
// InternalXcore.g:654:1: ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) )
{
// InternalXcore.g:654:1: ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) )
// InternalXcore.g:655:2: ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6());
// InternalXcore.g:658:2: ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* )
// InternalXcore.g:659:3: ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )*
{
// InternalXcore.g:659:3: ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )*
loop12:
do {
int alt12=3;
int LA12_0 = input.LA(1);
if ( LA12_0 == 26 && getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 0) ) {
alt12=1;
}
else if ( LA12_0 == 27 && getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 1) ) {
alt12=2;
}
switch (alt12) {
case 1 :
// InternalXcore.g:661:4: ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) )
{
// InternalXcore.g:661:4: ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) )
// InternalXcore.g:662:5: {...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXDataType", "getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 0)");
}
// InternalXcore.g:662:106: ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) )
// InternalXcore.g:663:6: ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 0);
// InternalXcore.g:666:6: ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) )
// InternalXcore.g:666:7: {...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXDataType", "true");
}
// InternalXcore.g:666:16: ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) )
// InternalXcore.g:666:17: ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) )
{
// InternalXcore.g:666:17: ( (lv_serializable_11_0= 'create' ) )
// InternalXcore.g:667:1: (lv_serializable_11_0= 'create' )
{
// InternalXcore.g:667:1: (lv_serializable_11_0= 'create' )
// InternalXcore.g:668:3: lv_serializable_11_0= 'create'
{
lv_serializable_11_0=(Token)match(input,26,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_serializable_11_0, grammarAccess.getXDataTypeAccess().getSerializableCreateKeyword_6_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXDataTypeRule());
}
setWithLastConsumed(current, "serializable", true, "create");
}
}
}
// InternalXcore.g:681:2: ( (lv_createBody_12_0= ruleXBlockExpression ) )
// InternalXcore.g:682:1: (lv_createBody_12_0= ruleXBlockExpression )
{
// InternalXcore.g:682:1: (lv_createBody_12_0= ruleXBlockExpression )
// InternalXcore.g:683:3: lv_createBody_12_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDataTypeAccess().getCreateBodyXBlockExpressionParserRuleCall_6_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_createBody_12_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXDataTypeRule());
}
set(
current,
"createBody",
lv_createBody_12_0,
"org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6());
}
}
}
break;
case 2 :
// InternalXcore.g:706:4: ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) )
{
// InternalXcore.g:706:4: ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) )
// InternalXcore.g:707:5: {...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXDataType", "getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 1)");
}
// InternalXcore.g:707:106: ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) )
// InternalXcore.g:708:6: ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 1);
// InternalXcore.g:711:6: ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) )
// InternalXcore.g:711:7: {...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXDataType", "true");
}
// InternalXcore.g:711:16: (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) )
// InternalXcore.g:711:18: otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) )
{
otherlv_13=(Token)match(input,27,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXDataTypeAccess().getConvertKeyword_6_1_0());
}
// InternalXcore.g:715:1: ( (lv_convertBody_14_0= ruleXBlockExpression ) )
// InternalXcore.g:716:1: (lv_convertBody_14_0= ruleXBlockExpression )
{
// InternalXcore.g:716:1: (lv_convertBody_14_0= ruleXBlockExpression )
// InternalXcore.g:717:3: lv_convertBody_14_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDataTypeAccess().getConvertBodyXBlockExpressionParserRuleCall_6_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_convertBody_14_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXDataTypeRule());
}
set(
current,
"convertBody",
lv_convertBody_14_0,
"org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6());
}
}
}
break;
default :
break loop12;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXDataType"
// $ANTLR start "entryRuleXEnum"
// InternalXcore.g:755:1: entryRuleXEnum returns [EObject current=null] : iv_ruleXEnum= ruleXEnum EOF ;
public final EObject entryRuleXEnum() throws RecognitionException {
EObject current = null;
EObject iv_ruleXEnum = null;
try {
// InternalXcore.g:756:2: (iv_ruleXEnum= ruleXEnum EOF )
// InternalXcore.g:757:2: iv_ruleXEnum= ruleXEnum EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEnumRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXEnum=ruleXEnum();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXEnum;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXEnum"
// $ANTLR start "ruleXEnum"
// InternalXcore.g:764:1: ruleXEnum returns [EObject current=null] : ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'enum' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )? otherlv_7= '}' ) ;
public final EObject ruleXEnum() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_name_2_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
EObject lv_annotations_0_0 = null;
EObject lv_literals_4_0 = null;
EObject lv_literals_6_0 = null;
enterRule();
try {
// InternalXcore.g:767:28: ( ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'enum' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )? otherlv_7= '}' ) )
// InternalXcore.g:768:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'enum' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )? otherlv_7= '}' )
{
// InternalXcore.g:768:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'enum' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )? otherlv_7= '}' )
// InternalXcore.g:768:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'enum' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )? otherlv_7= '}'
{
// InternalXcore.g:768:2: ( (lv_annotations_0_0= ruleXAnnotation ) )*
loop13:
do {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==14) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// InternalXcore.g:769:1: (lv_annotations_0_0= ruleXAnnotation )
{
// InternalXcore.g:769:1: (lv_annotations_0_0= ruleXAnnotation )
// InternalXcore.g:770:3: lv_annotations_0_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEnumAccess().getAnnotationsXAnnotationParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_23);
lv_annotations_0_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXEnumRule());
}
add(
current,
"annotations",
lv_annotations_0_0,
"org.eclipse.emf.ecore.xcore.Xcore.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop13;
}
} while (true);
otherlv_1=(Token)match(input,28,FollowSets000.FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXEnumAccess().getEnumKeyword_1());
}
// InternalXcore.g:790:1: ( (lv_name_2_0= RULE_ID ) )
// InternalXcore.g:791:1: (lv_name_2_0= RULE_ID )
{
// InternalXcore.g:791:1: (lv_name_2_0= RULE_ID )
// InternalXcore.g:792:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getXEnumAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXEnumRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"org.eclipse.xtext.xbase.Xtype.ID");
}
}
}
otherlv_3=(Token)match(input,29,FollowSets000.FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXEnumAccess().getLeftCurlyBracketKeyword_3());
}
// InternalXcore.g:812:1: ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )?
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==RULE_ID||LA16_0==14) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// InternalXcore.g:812:2: ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )*
{
// InternalXcore.g:812:2: ( (lv_literals_4_0= ruleXEnumLiteral ) )
// InternalXcore.g:813:1: (lv_literals_4_0= ruleXEnumLiteral )
{
// InternalXcore.g:813:1: (lv_literals_4_0= ruleXEnumLiteral )
// InternalXcore.g:814:3: lv_literals_4_0= ruleXEnumLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEnumAccess().getLiteralsXEnumLiteralParserRuleCall_4_0_0());
}
pushFollow(FollowSets000.FOLLOW_25);
lv_literals_4_0=ruleXEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXEnumRule());
}
add(
current,
"literals",
lv_literals_4_0,
"org.eclipse.emf.ecore.xcore.Xcore.XEnumLiteral");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:830:2: ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )*
loop15:
do {
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==RULE_ID||LA15_0==14||LA15_0==16) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// InternalXcore.g:830:3: (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) )
{
// InternalXcore.g:830:3: (otherlv_5= ',' )?
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==16) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// InternalXcore.g:830:5: otherlv_5= ','
{
otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXEnumAccess().getCommaKeyword_4_1_0());
}
}
break;
}
// InternalXcore.g:834:3: ( (lv_literals_6_0= ruleXEnumLiteral ) )
// InternalXcore.g:835:1: (lv_literals_6_0= ruleXEnumLiteral )
{
// InternalXcore.g:835:1: (lv_literals_6_0= ruleXEnumLiteral )
// InternalXcore.g:836:3: lv_literals_6_0= ruleXEnumLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEnumAccess().getLiteralsXEnumLiteralParserRuleCall_4_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_25);
lv_literals_6_0=ruleXEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXEnumRule());
}
add(
current,
"literals",
lv_literals_6_0,
"org.eclipse.emf.ecore.xcore.Xcore.XEnumLiteral");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop15;
}
} while (true);
}
break;
}
otherlv_7=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getXEnumAccess().getRightCurlyBracketKeyword_5());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXEnum"
// $ANTLR start "entryRuleXEnumLiteral"
// InternalXcore.g:864:1: entryRuleXEnumLiteral returns [EObject current=null] : iv_ruleXEnumLiteral= ruleXEnumLiteral EOF ;
public final EObject entryRuleXEnumLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXEnumLiteral = null;
try {
// InternalXcore.g:865:2: (iv_ruleXEnumLiteral= ruleXEnumLiteral EOF )
// InternalXcore.g:866:2: iv_ruleXEnumLiteral= ruleXEnumLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEnumLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXEnumLiteral=ruleXEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXEnumLiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXEnumLiteral"
// $ANTLR start "ruleXEnumLiteral"
// InternalXcore.g:873:1: ruleXEnumLiteral returns [EObject current=null] : ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )? (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )? ) ;
public final EObject ruleXEnumLiteral() throws RecognitionException {
EObject current = null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token lv_literal_3_0=null;
Token otherlv_4=null;
EObject lv_annotations_0_0 = null;
AntlrDatatypeRuleToken lv_value_5_0 = null;
enterRule();
try {
// InternalXcore.g:876:28: ( ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )? (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )? ) )
// InternalXcore.g:877:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )? (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )? )
{
// InternalXcore.g:877:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )? (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )? )
// InternalXcore.g:877:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )? (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )?
{
// InternalXcore.g:877:2: ( (lv_annotations_0_0= ruleXAnnotation ) )*
loop17:
do {
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==14) ) {
alt17=1;
}
switch (alt17) {
case 1 :
// InternalXcore.g:878:1: (lv_annotations_0_0= ruleXAnnotation )
{
// InternalXcore.g:878:1: (lv_annotations_0_0= ruleXAnnotation )
// InternalXcore.g:879:3: lv_annotations_0_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEnumLiteralAccess().getAnnotationsXAnnotationParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_annotations_0_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXEnumLiteralRule());
}
add(
current,
"annotations",
lv_annotations_0_0,
"org.eclipse.emf.ecore.xcore.Xcore.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop17;
}
} while (true);
// InternalXcore.g:895:3: ( (lv_name_1_0= RULE_ID ) )
// InternalXcore.g:896:1: (lv_name_1_0= RULE_ID )
{
// InternalXcore.g:896:1: (lv_name_1_0= RULE_ID )
// InternalXcore.g:897:3: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_26); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getXEnumLiteralAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXEnumLiteralRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.xbase.Xtype.ID");
}
}
}
// InternalXcore.g:913:2: (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )?
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==21) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// InternalXcore.g:913:4: otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) )
{
otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_12); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXEnumLiteralAccess().getAsKeyword_2_0());
}
// InternalXcore.g:917:1: ( (lv_literal_3_0= RULE_STRING ) )
// InternalXcore.g:918:1: (lv_literal_3_0= RULE_STRING )
{
// InternalXcore.g:918:1: (lv_literal_3_0= RULE_STRING )
// InternalXcore.g:919:3: lv_literal_3_0= RULE_STRING
{
lv_literal_3_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_literal_3_0, grammarAccess.getXEnumLiteralAccess().getLiteralSTRINGTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXEnumLiteralRule());
}
setWithLastConsumed(
current,
"literal",
lv_literal_3_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
}
// InternalXcore.g:935:4: (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )?
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==18) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// InternalXcore.g:935:6: otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) )
{
otherlv_4=(Token)match(input,18,FollowSets000.FOLLOW_28); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXEnumLiteralAccess().getEqualsSignKeyword_3_0());
}
// InternalXcore.g:939:1: ( (lv_value_5_0= ruleSignedInt ) )
// InternalXcore.g:940:1: (lv_value_5_0= ruleSignedInt )
{
// InternalXcore.g:940:1: (lv_value_5_0= ruleSignedInt )
// InternalXcore.g:941:3: lv_value_5_0= ruleSignedInt
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEnumLiteralAccess().getValueSignedIntParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_value_5_0=ruleSignedInt();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXEnumLiteralRule());
}
set(
current,
"value",
lv_value_5_0,
"org.eclipse.emf.ecore.xcore.Xcore.SignedInt");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXEnumLiteral"
// $ANTLR start "entryRuleSignedInt"
// InternalXcore.g:965:1: entryRuleSignedInt returns [String current=null] : iv_ruleSignedInt= ruleSignedInt EOF ;
public final String entryRuleSignedInt() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleSignedInt = null;
try {
// InternalXcore.g:966:2: (iv_ruleSignedInt= ruleSignedInt EOF )
// InternalXcore.g:967:2: iv_ruleSignedInt= ruleSignedInt EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSignedIntRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSignedInt=ruleSignedInt();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSignedInt.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSignedInt"
// $ANTLR start "ruleSignedInt"
// InternalXcore.g:974:1: ruleSignedInt returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ;
public final AntlrDatatypeRuleToken ruleSignedInt() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
Token this_INT_1=null;
enterRule();
try {
// InternalXcore.g:977:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) )
// InternalXcore.g:978:1: ( (kw= '-' )? this_INT_1= RULE_INT )
{
// InternalXcore.g:978:1: ( (kw= '-' )? this_INT_1= RULE_INT )
// InternalXcore.g:978:2: (kw= '-' )? this_INT_1= RULE_INT
{
// InternalXcore.g:978:2: (kw= '-' )?
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==31) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// InternalXcore.g:979:2: kw= '-'
{
kw=(Token)match(input,31,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getSignedIntAccess().getHyphenMinusKeyword_0());
}
}
break;
}
this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_1);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_1, grammarAccess.getSignedIntAccess().getINTTerminalRuleCall_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSignedInt"
// $ANTLR start "entryRuleXClass"
// InternalXcore.g:999:1: entryRuleXClass returns [EObject current=null] : iv_ruleXClass= ruleXClass EOF ;
public final EObject entryRuleXClass() throws RecognitionException {
EObject current = null;
EObject iv_ruleXClass = null;
try {
// InternalXcore.g:1000:2: (iv_ruleXClass= ruleXClass EOF )
// InternalXcore.g:1001:2: iv_ruleXClass= ruleXClass EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXClass=ruleXClass();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXClass;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXClass"
// $ANTLR start "ruleXClass"
// InternalXcore.g:1008:1: ruleXClass returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) ) ( (lv_name_5_0= RULE_ID ) ) (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )? (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )? (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )? otherlv_17= '{' ( (lv_members_18_0= ruleXMember ) )* otherlv_19= '}' ) ;
public final EObject ruleXClass() throws RecognitionException {
EObject current = null;
Token lv_abstract_2_0=null;
Token otherlv_3=null;
Token lv_interface_4_0=null;
Token lv_name_5_0=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_11=null;
Token otherlv_13=null;
Token otherlv_15=null;
Token otherlv_17=null;
Token otherlv_19=null;
EObject lv_annotations_1_0 = null;
EObject lv_typeParameters_7_0 = null;
EObject lv_typeParameters_9_0 = null;
EObject lv_superTypes_12_0 = null;
EObject lv_superTypes_14_0 = null;
EObject lv_instanceType_16_0 = null;
EObject lv_members_18_0 = null;
enterRule();
try {
// InternalXcore.g:1011:28: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) ) ( (lv_name_5_0= RULE_ID ) ) (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )? (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )? (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )? otherlv_17= '{' ( (lv_members_18_0= ruleXMember ) )* otherlv_19= '}' ) )
// InternalXcore.g:1012:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) ) ( (lv_name_5_0= RULE_ID ) ) (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )? (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )? (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )? otherlv_17= '{' ( (lv_members_18_0= ruleXMember ) )* otherlv_19= '}' )
{
// InternalXcore.g:1012:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) ) ( (lv_name_5_0= RULE_ID ) ) (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )? (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )? (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )? otherlv_17= '{' ( (lv_members_18_0= ruleXMember ) )* otherlv_19= '}' )
// InternalXcore.g:1012:2: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) ) ( (lv_name_5_0= RULE_ID ) ) (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )? (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )? (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )? otherlv_17= '{' ( (lv_members_18_0= ruleXMember ) )* otherlv_19= '}'
{
// InternalXcore.g:1012:2: ()
// InternalXcore.g:1013:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXClassAccess().getXClassAction_0(),
current);
}
}
// InternalXcore.g:1018:2: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop21:
do {
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==14) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// InternalXcore.g:1019:1: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalXcore.g:1019:1: (lv_annotations_1_0= ruleXAnnotation )
// InternalXcore.g:1020:3: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_30);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClassRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.emf.ecore.xcore.Xcore.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop21;
}
} while (true);
// InternalXcore.g:1036:3: ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) )
int alt23=2;
int LA23_0 = input.LA(1);
if ( ((LA23_0>=32 && LA23_0<=33)) ) {
alt23=1;
}
else if ( (LA23_0==34) ) {
alt23=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 23, 0, input);
throw nvae;
}
switch (alt23) {
case 1 :
// InternalXcore.g:1036:4: ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' )
{
// InternalXcore.g:1036:4: ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' )
// InternalXcore.g:1036:5: ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class'
{
// InternalXcore.g:1036:5: ( (lv_abstract_2_0= 'abstract' ) )?
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==32) ) {
alt22=1;
}
switch (alt22) {
case 1 :
// InternalXcore.g:1037:1: (lv_abstract_2_0= 'abstract' )
{
// InternalXcore.g:1037:1: (lv_abstract_2_0= 'abstract' )
// InternalXcore.g:1038:3: lv_abstract_2_0= 'abstract'
{
lv_abstract_2_0=(Token)match(input,32,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_abstract_2_0, grammarAccess.getXClassAccess().getAbstractAbstractKeyword_2_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXClassRule());
}
setWithLastConsumed(current, "abstract", true, "abstract");
}
}
}
break;
}
otherlv_3=(Token)match(input,33,FollowSets000.FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXClassAccess().getClassKeyword_2_0_1());
}
}
}
break;
case 2 :
// InternalXcore.g:1056:6: ( (lv_interface_4_0= 'interface' ) )
{
// InternalXcore.g:1056:6: ( (lv_interface_4_0= 'interface' ) )
// InternalXcore.g:1057:1: (lv_interface_4_0= 'interface' )
{
// InternalXcore.g:1057:1: (lv_interface_4_0= 'interface' )
// InternalXcore.g:1058:3: lv_interface_4_0= 'interface'
{
lv_interface_4_0=(Token)match(input,34,FollowSets000.FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_interface_4_0, grammarAccess.getXClassAccess().getInterfaceInterfaceKeyword_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXClassRule());
}
setWithLastConsumed(current, "interface", true, "interface");
}
}
}
}
break;
}
// InternalXcore.g:1071:3: ( (lv_name_5_0= RULE_ID ) )
// InternalXcore.g:1072:1: (lv_name_5_0= RULE_ID )
{
// InternalXcore.g:1072:1: (lv_name_5_0= RULE_ID )
// InternalXcore.g:1073:3: lv_name_5_0= RULE_ID
{
lv_name_5_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_32); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_5_0, grammarAccess.getXClassAccess().getNameIDTerminalRuleCall_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXClassRule());
}
setWithLastConsumed(
current,
"name",
lv_name_5_0,
"org.eclipse.xtext.xbase.Xtype.ID");
}
}
}
// InternalXcore.g:1089:2: (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )?
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==23) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// InternalXcore.g:1089:4: otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>'
{
otherlv_6=(Token)match(input,23,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXClassAccess().getLessThanSignKeyword_4_0());
}
// InternalXcore.g:1093:1: ( (lv_typeParameters_7_0= ruleXTypeParameter ) )
// InternalXcore.g:1094:1: (lv_typeParameters_7_0= ruleXTypeParameter )
{
// InternalXcore.g:1094:1: (lv_typeParameters_7_0= ruleXTypeParameter )
// InternalXcore.g:1095:3: lv_typeParameters_7_0= ruleXTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassAccess().getTypeParametersXTypeParameterParserRuleCall_4_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeParameters_7_0=ruleXTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClassRule());
}
add(
current,
"typeParameters",
lv_typeParameters_7_0,
"org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:1111:2: (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )*
loop24:
do {
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==16) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// InternalXcore.g:1111:4: otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) )
{
otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXClassAccess().getCommaKeyword_4_2_0());
}
// InternalXcore.g:1115:1: ( (lv_typeParameters_9_0= ruleXTypeParameter ) )
// InternalXcore.g:1116:1: (lv_typeParameters_9_0= ruleXTypeParameter )
{
// InternalXcore.g:1116:1: (lv_typeParameters_9_0= ruleXTypeParameter )
// InternalXcore.g:1117:3: lv_typeParameters_9_0= ruleXTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassAccess().getTypeParametersXTypeParameterParserRuleCall_4_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeParameters_9_0=ruleXTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClassRule());
}
add(
current,
"typeParameters",
lv_typeParameters_9_0,
"org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop24;
}
} while (true);
otherlv_10=(Token)match(input,24,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXClassAccess().getGreaterThanSignKeyword_4_3());
}
}
break;
}
// InternalXcore.g:1137:3: (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )?
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==35) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// InternalXcore.g:1137:5: otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )*
{
otherlv_11=(Token)match(input,35,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getXClassAccess().getExtendsKeyword_5_0());
}
// InternalXcore.g:1141:1: ( (lv_superTypes_12_0= ruleXGenericType ) )
// InternalXcore.g:1142:1: (lv_superTypes_12_0= ruleXGenericType )
{
// InternalXcore.g:1142:1: (lv_superTypes_12_0= ruleXGenericType )
// InternalXcore.g:1143:3: lv_superTypes_12_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassAccess().getSuperTypesXGenericTypeParserRuleCall_5_1_0());
}
pushFollow(FollowSets000.FOLLOW_34);
lv_superTypes_12_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClassRule());
}
add(
current,
"superTypes",
lv_superTypes_12_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:1159:2: (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )*
loop26:
do {
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==16) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// InternalXcore.g:1159:4: otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) )
{
otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXClassAccess().getCommaKeyword_5_2_0());
}
// InternalXcore.g:1163:1: ( (lv_superTypes_14_0= ruleXGenericType ) )
// InternalXcore.g:1164:1: (lv_superTypes_14_0= ruleXGenericType )
{
// InternalXcore.g:1164:1: (lv_superTypes_14_0= ruleXGenericType )
// InternalXcore.g:1165:3: lv_superTypes_14_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassAccess().getSuperTypesXGenericTypeParserRuleCall_5_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_34);
lv_superTypes_14_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClassRule());
}
add(
current,
"superTypes",
lv_superTypes_14_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop26;
}
} while (true);
}
break;
}
// InternalXcore.g:1181:6: (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )?
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==25) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// InternalXcore.g:1181:8: otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) )
{
otherlv_15=(Token)match(input,25,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getXClassAccess().getWrapsKeyword_6_0());
}
// InternalXcore.g:1185:1: ( (lv_instanceType_16_0= ruleJvmTypeReference ) )
// InternalXcore.g:1186:1: (lv_instanceType_16_0= ruleJvmTypeReference )
{
// InternalXcore.g:1186:1: (lv_instanceType_16_0= ruleJvmTypeReference )
// InternalXcore.g:1187:3: lv_instanceType_16_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassAccess().getInstanceTypeJvmTypeReferenceParserRuleCall_6_1_0());
}
pushFollow(FollowSets000.FOLLOW_22);
lv_instanceType_16_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClassRule());
}
set(
current,
"instanceType",
lv_instanceType_16_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_17=(Token)match(input,29,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getXClassAccess().getLeftCurlyBracketKeyword_7());
}
// InternalXcore.g:1207:1: ( (lv_members_18_0= ruleXMember ) )*
loop29:
do {
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==RULE_ID||LA29_0==14||(LA29_0>=36 && LA29_0<=52)||LA29_0==55) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// InternalXcore.g:1208:1: (lv_members_18_0= ruleXMember )
{
// InternalXcore.g:1208:1: (lv_members_18_0= ruleXMember )
// InternalXcore.g:1209:3: lv_members_18_0= ruleXMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClassAccess().getMembersXMemberParserRuleCall_8_0());
}
pushFollow(FollowSets000.FOLLOW_35);
lv_members_18_0=ruleXMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClassRule());
}
add(
current,
"members",
lv_members_18_0,
"org.eclipse.emf.ecore.xcore.Xcore.XMember");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop29;
}
} while (true);
otherlv_19=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getXClassAccess().getRightCurlyBracketKeyword_9());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXClass"
// $ANTLR start "entryRuleXMember"
// InternalXcore.g:1237:1: entryRuleXMember returns [EObject current=null] : iv_ruleXMember= ruleXMember EOF ;
public final EObject entryRuleXMember() throws RecognitionException {
EObject current = null;
EObject iv_ruleXMember = null;
try {
// InternalXcore.g:1238:2: (iv_ruleXMember= ruleXMember EOF )
// InternalXcore.g:1239:2: iv_ruleXMember= ruleXMember EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXMember=ruleXMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXMember;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXMember"
// $ANTLR start "ruleXMember"
// InternalXcore.g:1246:1: ruleXMember returns [EObject current=null] : (this_XOperation_0= ruleXOperation | this_XAttribute_1= ruleXAttribute | this_XReference_2= ruleXReference ) ;
public final EObject ruleXMember() throws RecognitionException {
EObject current = null;
EObject this_XOperation_0 = null;
EObject this_XAttribute_1 = null;
EObject this_XReference_2 = null;
enterRule();
try {
// InternalXcore.g:1249:28: ( (this_XOperation_0= ruleXOperation | this_XAttribute_1= ruleXAttribute | this_XReference_2= ruleXReference ) )
// InternalXcore.g:1250:1: (this_XOperation_0= ruleXOperation | this_XAttribute_1= ruleXAttribute | this_XReference_2= ruleXReference )
{
// InternalXcore.g:1250:1: (this_XOperation_0= ruleXOperation | this_XAttribute_1= ruleXAttribute | this_XReference_2= ruleXReference )
int alt30=3;
alt30 = dfa30.predict(input);
switch (alt30) {
case 1 :
// InternalXcore.g:1251:5: this_XOperation_0= ruleXOperation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberAccess().getXOperationParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XOperation_0=ruleXOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XOperation_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalXcore.g:1261:5: this_XAttribute_1= ruleXAttribute
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberAccess().getXAttributeParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XAttribute_1=ruleXAttribute();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAttribute_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalXcore.g:1271:5: this_XReference_2= ruleXReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberAccess().getXReferenceParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XReference_2=ruleXReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XReference_2;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXMember"
// $ANTLR start "entryRuleXAttribute"
// InternalXcore.g:1287:1: entryRuleXAttribute returns [EObject current=null] : iv_ruleXAttribute= ruleXAttribute EOF ;
public final EObject entryRuleXAttribute() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAttribute = null;
try {
// InternalXcore.g:1288:2: (iv_ruleXAttribute= ruleXAttribute EOF )
// InternalXcore.g:1289:2: iv_ruleXAttribute= ruleXAttribute EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAttributeRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXAttribute=ruleXAttribute();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAttribute;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAttribute"
// $ANTLR start "ruleXAttribute"
// InternalXcore.g:1296:1: ruleXAttribute returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) ) ( (lv_type_11_0= ruleXGenericType ) ) ( (lv_multiplicity_12_0= ruleXMultiplicity ) )? ( (lv_name_13_0= RULE_ID ) ) (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) ;
public final EObject ruleXAttribute() throws RecognitionException {
EObject current = null;
Token lv_unordered_3_0=null;
Token lv_unique_4_0=null;
Token lv_readonly_5_0=null;
Token lv_transient_6_0=null;
Token lv_volatile_7_0=null;
Token lv_unsettable_8_0=null;
Token lv_derived_9_0=null;
Token lv_iD_10_0=null;
Token lv_name_13_0=null;
Token otherlv_14=null;
Token lv_defaultValueLiteral_15_0=null;
Token otherlv_17=null;
Token otherlv_19=null;
Token otherlv_21=null;
Token otherlv_23=null;
EObject lv_annotations_1_0 = null;
EObject lv_type_11_0 = null;
AntlrDatatypeRuleToken lv_multiplicity_12_0 = null;
EObject lv_getBody_18_0 = null;
EObject lv_setBody_20_0 = null;
EObject lv_isSetBody_22_0 = null;
EObject lv_unsetBody_24_0 = null;
enterRule();
try {
// InternalXcore.g:1299:28: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) ) ( (lv_type_11_0= ruleXGenericType ) ) ( (lv_multiplicity_12_0= ruleXMultiplicity ) )? ( (lv_name_13_0= RULE_ID ) ) (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) )
// InternalXcore.g:1300:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) ) ( (lv_type_11_0= ruleXGenericType ) ) ( (lv_multiplicity_12_0= ruleXMultiplicity ) )? ( (lv_name_13_0= RULE_ID ) ) (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) )
{
// InternalXcore.g:1300:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) ) ( (lv_type_11_0= ruleXGenericType ) ) ( (lv_multiplicity_12_0= ruleXMultiplicity ) )? ( (lv_name_13_0= RULE_ID ) ) (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) )
// InternalXcore.g:1300:2: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) ) ( (lv_type_11_0= ruleXGenericType ) ) ( (lv_multiplicity_12_0= ruleXMultiplicity ) )? ( (lv_name_13_0= RULE_ID ) ) (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) )
{
// InternalXcore.g:1300:2: ()
// InternalXcore.g:1301:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXAttributeAccess().getXAttributeAction_0(),
current);
}
}
// InternalXcore.g:1306:2: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop31:
do {
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==14) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// InternalXcore.g:1307:1: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalXcore.g:1307:1: (lv_annotations_1_0= ruleXAnnotation )
// InternalXcore.g:1308:3: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAttributeAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_36);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAttributeRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.emf.ecore.xcore.Xcore.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop31;
}
} while (true);
// InternalXcore.g:1324:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) )
// InternalXcore.g:1326:1: ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) )
{
// InternalXcore.g:1326:1: ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) )
// InternalXcore.g:1327:2: ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getXAttributeAccess().getUnorderedGroup_2());
// InternalXcore.g:1330:2: ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* )
// InternalXcore.g:1331:3: ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )*
{
// InternalXcore.g:1331:3: ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )*
loop32:
do {
int alt32=9;
alt32 = dfa32.predict(input);
switch (alt32) {
case 1 :
// InternalXcore.g:1333:4: ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) )
{
// InternalXcore.g:1333:4: ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) )
// InternalXcore.g:1334:5: {...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 0)");
}
// InternalXcore.g:1334:107: ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) )
// InternalXcore.g:1335:6: ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 0);
// InternalXcore.g:1338:6: ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) )
// InternalXcore.g:1338:7: {...}? => ( (lv_unordered_3_0= 'unordered' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1338:16: ( (lv_unordered_3_0= 'unordered' ) )
// InternalXcore.g:1339:1: (lv_unordered_3_0= 'unordered' )
{
// InternalXcore.g:1339:1: (lv_unordered_3_0= 'unordered' )
// InternalXcore.g:1340:3: lv_unordered_3_0= 'unordered'
{
lv_unordered_3_0=(Token)match(input,36,FollowSets000.FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unordered_3_0, grammarAccess.getXAttributeAccess().getUnorderedUnorderedKeyword_2_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAttributeRule());
}
setWithLastConsumed(current, "unordered", true, "unordered");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2());
}
}
}
break;
case 2 :
// InternalXcore.g:1360:4: ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) )
{
// InternalXcore.g:1360:4: ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) )
// InternalXcore.g:1361:5: {...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 1)");
}
// InternalXcore.g:1361:107: ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) )
// InternalXcore.g:1362:6: ({...}? => ( (lv_unique_4_0= 'unique' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 1);
// InternalXcore.g:1365:6: ({...}? => ( (lv_unique_4_0= 'unique' ) ) )
// InternalXcore.g:1365:7: {...}? => ( (lv_unique_4_0= 'unique' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1365:16: ( (lv_unique_4_0= 'unique' ) )
// InternalXcore.g:1366:1: (lv_unique_4_0= 'unique' )
{
// InternalXcore.g:1366:1: (lv_unique_4_0= 'unique' )
// InternalXcore.g:1367:3: lv_unique_4_0= 'unique'
{
lv_unique_4_0=(Token)match(input,37,FollowSets000.FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unique_4_0, grammarAccess.getXAttributeAccess().getUniqueUniqueKeyword_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAttributeRule());
}
setWithLastConsumed(current, "unique", true, "unique");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2());
}
}
}
break;
case 3 :
// InternalXcore.g:1387:4: ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) )
{
// InternalXcore.g:1387:4: ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) )
// InternalXcore.g:1388:5: {...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 2)");
}
// InternalXcore.g:1388:107: ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) )
// InternalXcore.g:1389:6: ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 2);
// InternalXcore.g:1392:6: ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) )
// InternalXcore.g:1392:7: {...}? => ( (lv_readonly_5_0= 'readonly' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1392:16: ( (lv_readonly_5_0= 'readonly' ) )
// InternalXcore.g:1393:1: (lv_readonly_5_0= 'readonly' )
{
// InternalXcore.g:1393:1: (lv_readonly_5_0= 'readonly' )
// InternalXcore.g:1394:3: lv_readonly_5_0= 'readonly'
{
lv_readonly_5_0=(Token)match(input,38,FollowSets000.FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_readonly_5_0, grammarAccess.getXAttributeAccess().getReadonlyReadonlyKeyword_2_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAttributeRule());
}
setWithLastConsumed(current, "readonly", true, "readonly");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2());
}
}
}
break;
case 4 :
// InternalXcore.g:1414:4: ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) )
{
// InternalXcore.g:1414:4: ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) )
// InternalXcore.g:1415:5: {...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 3)");
}
// InternalXcore.g:1415:107: ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) )
// InternalXcore.g:1416:6: ({...}? => ( (lv_transient_6_0= 'transient' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 3);
// InternalXcore.g:1419:6: ({...}? => ( (lv_transient_6_0= 'transient' ) ) )
// InternalXcore.g:1419:7: {...}? => ( (lv_transient_6_0= 'transient' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1419:16: ( (lv_transient_6_0= 'transient' ) )
// InternalXcore.g:1420:1: (lv_transient_6_0= 'transient' )
{
// InternalXcore.g:1420:1: (lv_transient_6_0= 'transient' )
// InternalXcore.g:1421:3: lv_transient_6_0= 'transient'
{
lv_transient_6_0=(Token)match(input,39,FollowSets000.FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_transient_6_0, grammarAccess.getXAttributeAccess().getTransientTransientKeyword_2_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAttributeRule());
}
setWithLastConsumed(current, "transient", true, "transient");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2());
}
}
}
break;
case 5 :
// InternalXcore.g:1441:4: ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) )
{
// InternalXcore.g:1441:4: ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) )
// InternalXcore.g:1442:5: {...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 4) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 4)");
}
// InternalXcore.g:1442:107: ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) )
// InternalXcore.g:1443:6: ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 4);
// InternalXcore.g:1446:6: ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) )
// InternalXcore.g:1446:7: {...}? => ( (lv_volatile_7_0= 'volatile' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1446:16: ( (lv_volatile_7_0= 'volatile' ) )
// InternalXcore.g:1447:1: (lv_volatile_7_0= 'volatile' )
{
// InternalXcore.g:1447:1: (lv_volatile_7_0= 'volatile' )
// InternalXcore.g:1448:3: lv_volatile_7_0= 'volatile'
{
lv_volatile_7_0=(Token)match(input,40,FollowSets000.FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_volatile_7_0, grammarAccess.getXAttributeAccess().getVolatileVolatileKeyword_2_4_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAttributeRule());
}
setWithLastConsumed(current, "volatile", true, "volatile");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2());
}
}
}
break;
case 6 :
// InternalXcore.g:1468:4: ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) )
{
// InternalXcore.g:1468:4: ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) )
// InternalXcore.g:1469:5: {...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 5) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 5)");
}
// InternalXcore.g:1469:107: ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) )
// InternalXcore.g:1470:6: ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 5);
// InternalXcore.g:1473:6: ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) )
// InternalXcore.g:1473:7: {...}? => ( (lv_unsettable_8_0= 'unsettable' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1473:16: ( (lv_unsettable_8_0= 'unsettable' ) )
// InternalXcore.g:1474:1: (lv_unsettable_8_0= 'unsettable' )
{
// InternalXcore.g:1474:1: (lv_unsettable_8_0= 'unsettable' )
// InternalXcore.g:1475:3: lv_unsettable_8_0= 'unsettable'
{
lv_unsettable_8_0=(Token)match(input,41,FollowSets000.FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unsettable_8_0, grammarAccess.getXAttributeAccess().getUnsettableUnsettableKeyword_2_5_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAttributeRule());
}
setWithLastConsumed(current, "unsettable", true, "unsettable");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2());
}
}
}
break;
case 7 :
// InternalXcore.g:1495:4: ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) )
{
// InternalXcore.g:1495:4: ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) )
// InternalXcore.g:1496:5: {...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 6) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 6)");
}
// InternalXcore.g:1496:107: ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) )
// InternalXcore.g:1497:6: ({...}? => ( (lv_derived_9_0= 'derived' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 6);
// InternalXcore.g:1500:6: ({...}? => ( (lv_derived_9_0= 'derived' ) ) )
// InternalXcore.g:1500:7: {...}? => ( (lv_derived_9_0= 'derived' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1500:16: ( (lv_derived_9_0= 'derived' ) )
// InternalXcore.g:1501:1: (lv_derived_9_0= 'derived' )
{
// InternalXcore.g:1501:1: (lv_derived_9_0= 'derived' )
// InternalXcore.g:1502:3: lv_derived_9_0= 'derived'
{
lv_derived_9_0=(Token)match(input,42,FollowSets000.FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_derived_9_0, grammarAccess.getXAttributeAccess().getDerivedDerivedKeyword_2_6_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAttributeRule());
}
setWithLastConsumed(current, "derived", true, "derived");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2());
}
}
}
break;
case 8 :
// InternalXcore.g:1522:4: ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) )
{
// InternalXcore.g:1522:4: ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) )
// InternalXcore.g:1523:5: {...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 7) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 7)");
}
// InternalXcore.g:1523:107: ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) )
// InternalXcore.g:1524:6: ({...}? => ( (lv_iD_10_0= 'id' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 7);
// InternalXcore.g:1527:6: ({...}? => ( (lv_iD_10_0= 'id' ) ) )
// InternalXcore.g:1527:7: {...}? => ( (lv_iD_10_0= 'id' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1527:16: ( (lv_iD_10_0= 'id' ) )
// InternalXcore.g:1528:1: (lv_iD_10_0= 'id' )
{
// InternalXcore.g:1528:1: (lv_iD_10_0= 'id' )
// InternalXcore.g:1529:3: lv_iD_10_0= 'id'
{
lv_iD_10_0=(Token)match(input,43,FollowSets000.FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_iD_10_0, grammarAccess.getXAttributeAccess().getIDIdKeyword_2_7_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAttributeRule());
}
setWithLastConsumed(current, "iD", true, "id");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2());
}
}
}
break;
default :
break loop32;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getXAttributeAccess().getUnorderedGroup_2());
}
// InternalXcore.g:1556:2: ( (lv_type_11_0= ruleXGenericType ) )
// InternalXcore.g:1557:1: (lv_type_11_0= ruleXGenericType )
{
// InternalXcore.g:1557:1: (lv_type_11_0= ruleXGenericType )
// InternalXcore.g:1558:3: lv_type_11_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAttributeAccess().getTypeXGenericTypeParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_type_11_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAttributeRule());
}
set(
current,
"type",
lv_type_11_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:1574:2: ( (lv_multiplicity_12_0= ruleXMultiplicity ) )?
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==59) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// InternalXcore.g:1575:1: (lv_multiplicity_12_0= ruleXMultiplicity )
{
// InternalXcore.g:1575:1: (lv_multiplicity_12_0= ruleXMultiplicity )
// InternalXcore.g:1576:3: lv_multiplicity_12_0= ruleXMultiplicity
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAttributeAccess().getMultiplicityXMultiplicityParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_15);
lv_multiplicity_12_0=ruleXMultiplicity();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAttributeRule());
}
set(
current,
"multiplicity",
lv_multiplicity_12_0,
"org.eclipse.emf.ecore.xcore.Xcore.XMultiplicity");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalXcore.g:1592:3: ( (lv_name_13_0= RULE_ID ) )
// InternalXcore.g:1593:1: (lv_name_13_0= RULE_ID )
{
// InternalXcore.g:1593:1: (lv_name_13_0= RULE_ID )
// InternalXcore.g:1594:3: lv_name_13_0= RULE_ID
{
lv_name_13_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_13_0, grammarAccess.getXAttributeAccess().getNameIDTerminalRuleCall_5_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAttributeRule());
}
setWithLastConsumed(
current,
"name",
lv_name_13_0,
"org.eclipse.xtext.xbase.Xtype.ID");
}
}
}
// InternalXcore.g:1610:2: (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )?
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==18) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// InternalXcore.g:1610:4: otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) )
{
otherlv_14=(Token)match(input,18,FollowSets000.FOLLOW_12); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getXAttributeAccess().getEqualsSignKeyword_6_0());
}
// InternalXcore.g:1614:1: ( (lv_defaultValueLiteral_15_0= RULE_STRING ) )
// InternalXcore.g:1615:1: (lv_defaultValueLiteral_15_0= RULE_STRING )
{
// InternalXcore.g:1615:1: (lv_defaultValueLiteral_15_0= RULE_STRING )
// InternalXcore.g:1616:3: lv_defaultValueLiteral_15_0= RULE_STRING
{
lv_defaultValueLiteral_15_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_defaultValueLiteral_15_0, grammarAccess.getXAttributeAccess().getDefaultValueLiteralSTRINGTerminalRuleCall_6_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAttributeRule());
}
setWithLastConsumed(
current,
"defaultValueLiteral",
lv_defaultValueLiteral_15_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
}
// InternalXcore.g:1632:4: ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) )
// InternalXcore.g:1634:1: ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) )
{
// InternalXcore.g:1634:1: ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) )
// InternalXcore.g:1635:2: ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getXAttributeAccess().getUnorderedGroup_7());
// InternalXcore.g:1638:2: ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* )
// InternalXcore.g:1639:3: ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )*
{
// InternalXcore.g:1639:3: ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )*
loop35:
do {
int alt35=5;
alt35 = dfa35.predict(input);
switch (alt35) {
case 1 :
// InternalXcore.g:1641:4: ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) )
{
// InternalXcore.g:1641:4: ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) )
// InternalXcore.g:1642:5: {...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 0)");
}
// InternalXcore.g:1642:107: ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) )
// InternalXcore.g:1643:6: ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 0);
// InternalXcore.g:1646:6: ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) )
// InternalXcore.g:1646:7: {...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1646:16: (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) )
// InternalXcore.g:1646:18: otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) )
{
otherlv_17=(Token)match(input,44,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getXAttributeAccess().getGetKeyword_7_0_0());
}
// InternalXcore.g:1650:1: ( (lv_getBody_18_0= ruleXBlockExpression ) )
// InternalXcore.g:1651:1: (lv_getBody_18_0= ruleXBlockExpression )
{
// InternalXcore.g:1651:1: (lv_getBody_18_0= ruleXBlockExpression )
// InternalXcore.g:1652:3: lv_getBody_18_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAttributeAccess().getGetBodyXBlockExpressionParserRuleCall_7_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_40);
lv_getBody_18_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAttributeRule());
}
set(
current,
"getBody",
lv_getBody_18_0,
"org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_7());
}
}
}
break;
case 2 :
// InternalXcore.g:1675:4: ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) )
{
// InternalXcore.g:1675:4: ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) )
// InternalXcore.g:1676:5: {...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 1)");
}
// InternalXcore.g:1676:107: ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) )
// InternalXcore.g:1677:6: ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 1);
// InternalXcore.g:1680:6: ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) )
// InternalXcore.g:1680:7: {...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1680:16: (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) )
// InternalXcore.g:1680:18: otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) )
{
otherlv_19=(Token)match(input,45,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getXAttributeAccess().getSetKeyword_7_1_0());
}
// InternalXcore.g:1684:1: ( (lv_setBody_20_0= ruleXBlockExpression ) )
// InternalXcore.g:1685:1: (lv_setBody_20_0= ruleXBlockExpression )
{
// InternalXcore.g:1685:1: (lv_setBody_20_0= ruleXBlockExpression )
// InternalXcore.g:1686:3: lv_setBody_20_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAttributeAccess().getSetBodyXBlockExpressionParserRuleCall_7_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_40);
lv_setBody_20_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAttributeRule());
}
set(
current,
"setBody",
lv_setBody_20_0,
"org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_7());
}
}
}
break;
case 3 :
// InternalXcore.g:1709:4: ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) )
{
// InternalXcore.g:1709:4: ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) )
// InternalXcore.g:1710:5: {...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 2)");
}
// InternalXcore.g:1710:107: ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) )
// InternalXcore.g:1711:6: ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 2);
// InternalXcore.g:1714:6: ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) )
// InternalXcore.g:1714:7: {...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1714:16: (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) )
// InternalXcore.g:1714:18: otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) )
{
otherlv_21=(Token)match(input,46,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getXAttributeAccess().getIsSetKeyword_7_2_0());
}
// InternalXcore.g:1718:1: ( (lv_isSetBody_22_0= ruleXBlockExpression ) )
// InternalXcore.g:1719:1: (lv_isSetBody_22_0= ruleXBlockExpression )
{
// InternalXcore.g:1719:1: (lv_isSetBody_22_0= ruleXBlockExpression )
// InternalXcore.g:1720:3: lv_isSetBody_22_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAttributeAccess().getIsSetBodyXBlockExpressionParserRuleCall_7_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_40);
lv_isSetBody_22_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAttributeRule());
}
set(
current,
"isSetBody",
lv_isSetBody_22_0,
"org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_7());
}
}
}
break;
case 4 :
// InternalXcore.g:1743:4: ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) )
{
// InternalXcore.g:1743:4: ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) )
// InternalXcore.g:1744:5: {...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 3)");
}
// InternalXcore.g:1744:107: ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) )
// InternalXcore.g:1745:6: ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 3);
// InternalXcore.g:1748:6: ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) )
// InternalXcore.g:1748:7: {...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXAttribute", "true");
}
// InternalXcore.g:1748:16: (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) )
// InternalXcore.g:1748:18: otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) )
{
otherlv_23=(Token)match(input,47,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_23, grammarAccess.getXAttributeAccess().getUnsetKeyword_7_3_0());
}
// InternalXcore.g:1752:1: ( (lv_unsetBody_24_0= ruleXBlockExpression ) )
// InternalXcore.g:1753:1: (lv_unsetBody_24_0= ruleXBlockExpression )
{
// InternalXcore.g:1753:1: (lv_unsetBody_24_0= ruleXBlockExpression )
// InternalXcore.g:1754:3: lv_unsetBody_24_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAttributeAccess().getUnsetBodyXBlockExpressionParserRuleCall_7_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_40);
lv_unsetBody_24_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAttributeRule());
}
set(
current,
"unsetBody",
lv_unsetBody_24_0,
"org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_7());
}
}
}
break;
default :
break loop35;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getXAttributeAccess().getUnorderedGroup_7());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAttribute"
// $ANTLR start "entryRuleXReference"
// InternalXcore.g:1792:1: entryRuleXReference returns [EObject current=null] : iv_ruleXReference= ruleXReference EOF ;
public final EObject entryRuleXReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleXReference = null;
try {
// InternalXcore.g:1793:2: (iv_ruleXReference= ruleXReference EOF )
// InternalXcore.g:1794:2: iv_ruleXReference= ruleXReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReferenceRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXReference=ruleXReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXReference;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXReference"
// $ANTLR start "ruleXReference"
// InternalXcore.g:1801:1: ruleXReference returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) ) ( (lv_type_22_0= ruleXGenericType ) ) ( (lv_multiplicity_23_0= ruleXMultiplicity ) )? ( (lv_name_24_0= RULE_ID ) ) (otherlv_25= 'opposite' ( ( ruleValidID ) ) )? (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) ;
public final EObject ruleXReference() throws RecognitionException {
EObject current = null;
Token lv_containment_2_0=null;
Token lv_resolveProxies_3_0=null;
Token lv_resolveProxies_4_0=null;
Token lv_containment_5_0=null;
Token lv_container_6_0=null;
Token lv_resolveProxies_7_0=null;
Token lv_resolveProxies_8_0=null;
Token lv_container_9_0=null;
Token otherlv_10=null;
Token lv_local_11_0=null;
Token lv_local_12_0=null;
Token otherlv_13=null;
Token lv_unordered_15_0=null;
Token lv_unique_16_0=null;
Token lv_readonly_17_0=null;
Token lv_transient_18_0=null;
Token lv_volatile_19_0=null;
Token lv_unsettable_20_0=null;
Token lv_derived_21_0=null;
Token lv_name_24_0=null;
Token otherlv_25=null;
Token otherlv_27=null;
Token otherlv_29=null;
Token otherlv_32=null;
Token otherlv_34=null;
Token otherlv_36=null;
Token otherlv_38=null;
EObject lv_annotations_1_0 = null;
EObject lv_type_22_0 = null;
AntlrDatatypeRuleToken lv_multiplicity_23_0 = null;
EObject lv_getBody_33_0 = null;
EObject lv_setBody_35_0 = null;
EObject lv_isSetBody_37_0 = null;
EObject lv_unsetBody_39_0 = null;
enterRule();
try {
// InternalXcore.g:1804:28: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) ) ( (lv_type_22_0= ruleXGenericType ) ) ( (lv_multiplicity_23_0= ruleXMultiplicity ) )? ( (lv_name_24_0= RULE_ID ) ) (otherlv_25= 'opposite' ( ( ruleValidID ) ) )? (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) )
// InternalXcore.g:1805:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) ) ( (lv_type_22_0= ruleXGenericType ) ) ( (lv_multiplicity_23_0= ruleXMultiplicity ) )? ( (lv_name_24_0= RULE_ID ) ) (otherlv_25= 'opposite' ( ( ruleValidID ) ) )? (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) )
{
// InternalXcore.g:1805:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) ) ( (lv_type_22_0= ruleXGenericType ) ) ( (lv_multiplicity_23_0= ruleXMultiplicity ) )? ( (lv_name_24_0= RULE_ID ) ) (otherlv_25= 'opposite' ( ( ruleValidID ) ) )? (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) )
// InternalXcore.g:1805:2: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) ) ( (lv_type_22_0= ruleXGenericType ) ) ( (lv_multiplicity_23_0= ruleXMultiplicity ) )? ( (lv_name_24_0= RULE_ID ) ) (otherlv_25= 'opposite' ( ( ruleValidID ) ) )? (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) )
{
// InternalXcore.g:1805:2: ()
// InternalXcore.g:1806:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXReferenceAccess().getXReferenceAction_0(),
current);
}
}
// InternalXcore.g:1811:2: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop36:
do {
int alt36=2;
int LA36_0 = input.LA(1);
if ( (LA36_0==14) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// InternalXcore.g:1812:1: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalXcore.g:1812:1: (lv_annotations_1_0= ruleXAnnotation )
// InternalXcore.g:1813:3: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReferenceAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXReferenceRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.emf.ecore.xcore.Xcore.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop36;
}
} while (true);
// InternalXcore.g:1829:3: ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) )
int alt40=6;
switch ( input.LA(1) ) {
case 48:
{
alt40=1;
}
break;
case 49:
{
int LA40_2 = input.LA(2);
if ( (LA40_2==48) ) {
alt40=2;
}
else if ( (LA40_2==50) ) {
alt40=4;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 40, 2, input);
throw nvae;
}
}
break;
case 50:
{
alt40=3;
}
break;
case 51:
{
alt40=5;
}
break;
case 52:
{
alt40=6;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 40, 0, input);
throw nvae;
}
switch (alt40) {
case 1 :
// InternalXcore.g:1829:4: ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? )
{
// InternalXcore.g:1829:4: ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? )
// InternalXcore.g:1829:5: ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )?
{
// InternalXcore.g:1829:5: ( (lv_containment_2_0= 'contains' ) )
// InternalXcore.g:1830:1: (lv_containment_2_0= 'contains' )
{
// InternalXcore.g:1830:1: (lv_containment_2_0= 'contains' )
// InternalXcore.g:1831:3: lv_containment_2_0= 'contains'
{
lv_containment_2_0=(Token)match(input,48,FollowSets000.FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_containment_2_0, grammarAccess.getXReferenceAccess().getContainmentContainsKeyword_2_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "containment", true, "contains");
}
}
}
// InternalXcore.g:1844:2: ( (lv_resolveProxies_3_0= 'resolving' ) )?
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==49) ) {
alt37=1;
}
switch (alt37) {
case 1 :
// InternalXcore.g:1845:1: (lv_resolveProxies_3_0= 'resolving' )
{
// InternalXcore.g:1845:1: (lv_resolveProxies_3_0= 'resolving' )
// InternalXcore.g:1846:3: lv_resolveProxies_3_0= 'resolving'
{
lv_resolveProxies_3_0=(Token)match(input,49,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_resolveProxies_3_0, grammarAccess.getXReferenceAccess().getResolveProxiesResolvingKeyword_2_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "resolveProxies", true, "resolving");
}
}
}
break;
}
}
}
break;
case 2 :
// InternalXcore.g:1860:6: ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) )
{
// InternalXcore.g:1860:6: ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) )
// InternalXcore.g:1860:7: ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) )
{
// InternalXcore.g:1860:7: ( (lv_resolveProxies_4_0= 'resolving' ) )
// InternalXcore.g:1861:1: (lv_resolveProxies_4_0= 'resolving' )
{
// InternalXcore.g:1861:1: (lv_resolveProxies_4_0= 'resolving' )
// InternalXcore.g:1862:3: lv_resolveProxies_4_0= 'resolving'
{
lv_resolveProxies_4_0=(Token)match(input,49,FollowSets000.FOLLOW_44); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_resolveProxies_4_0, grammarAccess.getXReferenceAccess().getResolveProxiesResolvingKeyword_2_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "resolveProxies", true, "resolving");
}
}
}
// InternalXcore.g:1875:2: ( (lv_containment_5_0= 'contains' ) )
// InternalXcore.g:1876:1: (lv_containment_5_0= 'contains' )
{
// InternalXcore.g:1876:1: (lv_containment_5_0= 'contains' )
// InternalXcore.g:1877:3: lv_containment_5_0= 'contains'
{
lv_containment_5_0=(Token)match(input,48,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_containment_5_0, grammarAccess.getXReferenceAccess().getContainmentContainsKeyword_2_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "containment", true, "contains");
}
}
}
}
}
break;
case 3 :
// InternalXcore.g:1891:6: ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? )
{
// InternalXcore.g:1891:6: ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? )
// InternalXcore.g:1891:7: ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )?
{
// InternalXcore.g:1891:7: ( (lv_container_6_0= 'container' ) )
// InternalXcore.g:1892:1: (lv_container_6_0= 'container' )
{
// InternalXcore.g:1892:1: (lv_container_6_0= 'container' )
// InternalXcore.g:1893:3: lv_container_6_0= 'container'
{
lv_container_6_0=(Token)match(input,50,FollowSets000.FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_container_6_0, grammarAccess.getXReferenceAccess().getContainerContainerKeyword_2_2_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "container", true, "container");
}
}
}
// InternalXcore.g:1906:2: ( (lv_resolveProxies_7_0= 'resolving' ) )?
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0==49) ) {
alt38=1;
}
switch (alt38) {
case 1 :
// InternalXcore.g:1907:1: (lv_resolveProxies_7_0= 'resolving' )
{
// InternalXcore.g:1907:1: (lv_resolveProxies_7_0= 'resolving' )
// InternalXcore.g:1908:3: lv_resolveProxies_7_0= 'resolving'
{
lv_resolveProxies_7_0=(Token)match(input,49,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_resolveProxies_7_0, grammarAccess.getXReferenceAccess().getResolveProxiesResolvingKeyword_2_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "resolveProxies", true, "resolving");
}
}
}
break;
}
}
}
break;
case 4 :
// InternalXcore.g:1922:6: ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) )
{
// InternalXcore.g:1922:6: ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) )
// InternalXcore.g:1922:7: ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) )
{
// InternalXcore.g:1922:7: ( (lv_resolveProxies_8_0= 'resolving' ) )
// InternalXcore.g:1923:1: (lv_resolveProxies_8_0= 'resolving' )
{
// InternalXcore.g:1923:1: (lv_resolveProxies_8_0= 'resolving' )
// InternalXcore.g:1924:3: lv_resolveProxies_8_0= 'resolving'
{
lv_resolveProxies_8_0=(Token)match(input,49,FollowSets000.FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_resolveProxies_8_0, grammarAccess.getXReferenceAccess().getResolveProxiesResolvingKeyword_2_3_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "resolveProxies", true, "resolving");
}
}
}
// InternalXcore.g:1937:2: ( (lv_container_9_0= 'container' ) )
// InternalXcore.g:1938:1: (lv_container_9_0= 'container' )
{
// InternalXcore.g:1938:1: (lv_container_9_0= 'container' )
// InternalXcore.g:1939:3: lv_container_9_0= 'container'
{
lv_container_9_0=(Token)match(input,50,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_container_9_0, grammarAccess.getXReferenceAccess().getContainerContainerKeyword_2_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "container", true, "container");
}
}
}
}
}
break;
case 5 :
// InternalXcore.g:1953:6: (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? )
{
// InternalXcore.g:1953:6: (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? )
// InternalXcore.g:1953:8: otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )?
{
otherlv_10=(Token)match(input,51,FollowSets000.FOLLOW_46); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXReferenceAccess().getRefersKeyword_2_4_0());
}
// InternalXcore.g:1957:1: ( (lv_local_11_0= 'local' ) )?
int alt39=2;
int LA39_0 = input.LA(1);
if ( (LA39_0==52) ) {
alt39=1;
}
switch (alt39) {
case 1 :
// InternalXcore.g:1958:1: (lv_local_11_0= 'local' )
{
// InternalXcore.g:1958:1: (lv_local_11_0= 'local' )
// InternalXcore.g:1959:3: lv_local_11_0= 'local'
{
lv_local_11_0=(Token)match(input,52,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_local_11_0, grammarAccess.getXReferenceAccess().getLocalLocalKeyword_2_4_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "local", true, "local");
}
}
}
break;
}
}
}
break;
case 6 :
// InternalXcore.g:1973:6: ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' )
{
// InternalXcore.g:1973:6: ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' )
// InternalXcore.g:1973:7: ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers'
{
// InternalXcore.g:1973:7: ( (lv_local_12_0= 'local' ) )
// InternalXcore.g:1974:1: (lv_local_12_0= 'local' )
{
// InternalXcore.g:1974:1: (lv_local_12_0= 'local' )
// InternalXcore.g:1975:3: lv_local_12_0= 'local'
{
lv_local_12_0=(Token)match(input,52,FollowSets000.FOLLOW_47); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_local_12_0, grammarAccess.getXReferenceAccess().getLocalLocalKeyword_2_5_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "local", true, "local");
}
}
}
otherlv_13=(Token)match(input,51,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXReferenceAccess().getRefersKeyword_2_5_1());
}
}
}
break;
}
// InternalXcore.g:1992:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) )
// InternalXcore.g:1994:1: ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) )
{
// InternalXcore.g:1994:1: ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) )
// InternalXcore.g:1995:2: ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getXReferenceAccess().getUnorderedGroup_3());
// InternalXcore.g:1998:2: ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* )
// InternalXcore.g:1999:3: ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )*
{
// InternalXcore.g:1999:3: ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )*
loop41:
do {
int alt41=8;
int LA41_0 = input.LA(1);
if ( LA41_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 0) ) {
alt41=1;
}
else if ( LA41_0 == 37 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 1) ) {
alt41=2;
}
else if ( LA41_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 2) ) {
alt41=3;
}
else if ( LA41_0 == 39 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 3) ) {
alt41=4;
}
else if ( LA41_0 == 40 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 4) ) {
alt41=5;
}
else if ( LA41_0 == 41 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 5) ) {
alt41=6;
}
else if ( LA41_0 == 42 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 6) ) {
alt41=7;
}
switch (alt41) {
case 1 :
// InternalXcore.g:2001:4: ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) )
{
// InternalXcore.g:2001:4: ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) )
// InternalXcore.g:2002:5: {...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 0)");
}
// InternalXcore.g:2002:107: ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) )
// InternalXcore.g:2003:6: ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 0);
// InternalXcore.g:2006:6: ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) )
// InternalXcore.g:2006:7: {...}? => ( (lv_unordered_15_0= 'unordered' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "true");
}
// InternalXcore.g:2006:16: ( (lv_unordered_15_0= 'unordered' ) )
// InternalXcore.g:2007:1: (lv_unordered_15_0= 'unordered' )
{
// InternalXcore.g:2007:1: (lv_unordered_15_0= 'unordered' )
// InternalXcore.g:2008:3: lv_unordered_15_0= 'unordered'
{
lv_unordered_15_0=(Token)match(input,36,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unordered_15_0, grammarAccess.getXReferenceAccess().getUnorderedUnorderedKeyword_3_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "unordered", true, "unordered");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3());
}
}
}
break;
case 2 :
// InternalXcore.g:2028:4: ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) )
{
// InternalXcore.g:2028:4: ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) )
// InternalXcore.g:2029:5: {...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 1)");
}
// InternalXcore.g:2029:107: ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) )
// InternalXcore.g:2030:6: ({...}? => ( (lv_unique_16_0= 'unique' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 1);
// InternalXcore.g:2033:6: ({...}? => ( (lv_unique_16_0= 'unique' ) ) )
// InternalXcore.g:2033:7: {...}? => ( (lv_unique_16_0= 'unique' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "true");
}
// InternalXcore.g:2033:16: ( (lv_unique_16_0= 'unique' ) )
// InternalXcore.g:2034:1: (lv_unique_16_0= 'unique' )
{
// InternalXcore.g:2034:1: (lv_unique_16_0= 'unique' )
// InternalXcore.g:2035:3: lv_unique_16_0= 'unique'
{
lv_unique_16_0=(Token)match(input,37,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unique_16_0, grammarAccess.getXReferenceAccess().getUniqueUniqueKeyword_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "unique", true, "unique");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3());
}
}
}
break;
case 3 :
// InternalXcore.g:2055:4: ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) )
{
// InternalXcore.g:2055:4: ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) )
// InternalXcore.g:2056:5: {...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 2)");
}
// InternalXcore.g:2056:107: ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) )
// InternalXcore.g:2057:6: ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 2);
// InternalXcore.g:2060:6: ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) )
// InternalXcore.g:2060:7: {...}? => ( (lv_readonly_17_0= 'readonly' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "true");
}
// InternalXcore.g:2060:16: ( (lv_readonly_17_0= 'readonly' ) )
// InternalXcore.g:2061:1: (lv_readonly_17_0= 'readonly' )
{
// InternalXcore.g:2061:1: (lv_readonly_17_0= 'readonly' )
// InternalXcore.g:2062:3: lv_readonly_17_0= 'readonly'
{
lv_readonly_17_0=(Token)match(input,38,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_readonly_17_0, grammarAccess.getXReferenceAccess().getReadonlyReadonlyKeyword_3_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "readonly", true, "readonly");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3());
}
}
}
break;
case 4 :
// InternalXcore.g:2082:4: ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) )
{
// InternalXcore.g:2082:4: ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) )
// InternalXcore.g:2083:5: {...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 3)");
}
// InternalXcore.g:2083:107: ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) )
// InternalXcore.g:2084:6: ({...}? => ( (lv_transient_18_0= 'transient' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 3);
// InternalXcore.g:2087:6: ({...}? => ( (lv_transient_18_0= 'transient' ) ) )
// InternalXcore.g:2087:7: {...}? => ( (lv_transient_18_0= 'transient' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "true");
}
// InternalXcore.g:2087:16: ( (lv_transient_18_0= 'transient' ) )
// InternalXcore.g:2088:1: (lv_transient_18_0= 'transient' )
{
// InternalXcore.g:2088:1: (lv_transient_18_0= 'transient' )
// InternalXcore.g:2089:3: lv_transient_18_0= 'transient'
{
lv_transient_18_0=(Token)match(input,39,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_transient_18_0, grammarAccess.getXReferenceAccess().getTransientTransientKeyword_3_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "transient", true, "transient");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3());
}
}
}
break;
case 5 :
// InternalXcore.g:2109:4: ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) )
{
// InternalXcore.g:2109:4: ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) )
// InternalXcore.g:2110:5: {...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 4) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 4)");
}
// InternalXcore.g:2110:107: ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) )
// InternalXcore.g:2111:6: ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 4);
// InternalXcore.g:2114:6: ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) )
// InternalXcore.g:2114:7: {...}? => ( (lv_volatile_19_0= 'volatile' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "true");
}
// InternalXcore.g:2114:16: ( (lv_volatile_19_0= 'volatile' ) )
// InternalXcore.g:2115:1: (lv_volatile_19_0= 'volatile' )
{
// InternalXcore.g:2115:1: (lv_volatile_19_0= 'volatile' )
// InternalXcore.g:2116:3: lv_volatile_19_0= 'volatile'
{
lv_volatile_19_0=(Token)match(input,40,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_volatile_19_0, grammarAccess.getXReferenceAccess().getVolatileVolatileKeyword_3_4_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "volatile", true, "volatile");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3());
}
}
}
break;
case 6 :
// InternalXcore.g:2136:4: ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) )
{
// InternalXcore.g:2136:4: ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) )
// InternalXcore.g:2137:5: {...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 5) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 5)");
}
// InternalXcore.g:2137:107: ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) )
// InternalXcore.g:2138:6: ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 5);
// InternalXcore.g:2141:6: ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) )
// InternalXcore.g:2141:7: {...}? => ( (lv_unsettable_20_0= 'unsettable' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "true");
}
// InternalXcore.g:2141:16: ( (lv_unsettable_20_0= 'unsettable' ) )
// InternalXcore.g:2142:1: (lv_unsettable_20_0= 'unsettable' )
{
// InternalXcore.g:2142:1: (lv_unsettable_20_0= 'unsettable' )
// InternalXcore.g:2143:3: lv_unsettable_20_0= 'unsettable'
{
lv_unsettable_20_0=(Token)match(input,41,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unsettable_20_0, grammarAccess.getXReferenceAccess().getUnsettableUnsettableKeyword_3_5_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "unsettable", true, "unsettable");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3());
}
}
}
break;
case 7 :
// InternalXcore.g:2163:4: ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) )
{
// InternalXcore.g:2163:4: ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) )
// InternalXcore.g:2164:5: {...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 6) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 6)");
}
// InternalXcore.g:2164:107: ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) )
// InternalXcore.g:2165:6: ({...}? => ( (lv_derived_21_0= 'derived' ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 6);
// InternalXcore.g:2168:6: ({...}? => ( (lv_derived_21_0= 'derived' ) ) )
// InternalXcore.g:2168:7: {...}? => ( (lv_derived_21_0= 'derived' ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "true");
}
// InternalXcore.g:2168:16: ( (lv_derived_21_0= 'derived' ) )
// InternalXcore.g:2169:1: (lv_derived_21_0= 'derived' )
{
// InternalXcore.g:2169:1: (lv_derived_21_0= 'derived' )
// InternalXcore.g:2170:3: lv_derived_21_0= 'derived'
{
lv_derived_21_0=(Token)match(input,42,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_derived_21_0, grammarAccess.getXReferenceAccess().getDerivedDerivedKeyword_3_6_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(current, "derived", true, "derived");
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3());
}
}
}
break;
default :
break loop41;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getXReferenceAccess().getUnorderedGroup_3());
}
// InternalXcore.g:2197:2: ( (lv_type_22_0= ruleXGenericType ) )
// InternalXcore.g:2198:1: (lv_type_22_0= ruleXGenericType )
{
// InternalXcore.g:2198:1: (lv_type_22_0= ruleXGenericType )
// InternalXcore.g:2199:3: lv_type_22_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReferenceAccess().getTypeXGenericTypeParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_type_22_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXReferenceRule());
}
set(
current,
"type",
lv_type_22_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:2215:2: ( (lv_multiplicity_23_0= ruleXMultiplicity ) )?
int alt42=2;
int LA42_0 = input.LA(1);
if ( (LA42_0==59) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// InternalXcore.g:2216:1: (lv_multiplicity_23_0= ruleXMultiplicity )
{
// InternalXcore.g:2216:1: (lv_multiplicity_23_0= ruleXMultiplicity )
// InternalXcore.g:2217:3: lv_multiplicity_23_0= ruleXMultiplicity
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReferenceAccess().getMultiplicityXMultiplicityParserRuleCall_5_0());
}
pushFollow(FollowSets000.FOLLOW_15);
lv_multiplicity_23_0=ruleXMultiplicity();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXReferenceRule());
}
set(
current,
"multiplicity",
lv_multiplicity_23_0,
"org.eclipse.emf.ecore.xcore.Xcore.XMultiplicity");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalXcore.g:2233:3: ( (lv_name_24_0= RULE_ID ) )
// InternalXcore.g:2234:1: (lv_name_24_0= RULE_ID )
{
// InternalXcore.g:2234:1: (lv_name_24_0= RULE_ID )
// InternalXcore.g:2235:3: lv_name_24_0= RULE_ID
{
lv_name_24_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_48); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_24_0, grammarAccess.getXReferenceAccess().getNameIDTerminalRuleCall_6_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
setWithLastConsumed(
current,
"name",
lv_name_24_0,
"org.eclipse.xtext.xbase.Xtype.ID");
}
}
}
// InternalXcore.g:2251:2: (otherlv_25= 'opposite' ( ( ruleValidID ) ) )?
int alt43=2;
int LA43_0 = input.LA(1);
if ( (LA43_0==53) ) {
alt43=1;
}
switch (alt43) {
case 1 :
// InternalXcore.g:2251:4: otherlv_25= 'opposite' ( ( ruleValidID ) )
{
otherlv_25=(Token)match(input,53,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_25, grammarAccess.getXReferenceAccess().getOppositeKeyword_7_0());
}
// InternalXcore.g:2255:1: ( ( ruleValidID ) )
// InternalXcore.g:2256:1: ( ruleValidID )
{
// InternalXcore.g:2256:1: ( ruleValidID )
// InternalXcore.g:2257:3: ruleValidID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReferenceAccess().getOppositeGenFeatureCrossReference_7_1_0());
}
pushFollow(FollowSets000.FOLLOW_49);
ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalXcore.g:2270:4: (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )?
int alt45=2;
int LA45_0 = input.LA(1);
if ( (LA45_0==54) ) {
alt45=1;
}
switch (alt45) {
case 1 :
// InternalXcore.g:2270:6: otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )*
{
otherlv_27=(Token)match(input,54,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getXReferenceAccess().getKeysKeyword_8_0());
}
// InternalXcore.g:2274:1: ( ( ruleValidID ) )
// InternalXcore.g:2275:1: ( ruleValidID )
{
// InternalXcore.g:2275:1: ( ruleValidID )
// InternalXcore.g:2276:3: ruleValidID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReferenceAccess().getKeysGenFeatureCrossReference_8_1_0());
}
pushFollow(FollowSets000.FOLLOW_50);
ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:2289:2: (otherlv_29= ',' ( ( ruleValidID ) ) )*
loop44:
do {
int alt44=2;
int LA44_0 = input.LA(1);
if ( (LA44_0==16) ) {
alt44=1;
}
switch (alt44) {
case 1 :
// InternalXcore.g:2289:4: otherlv_29= ',' ( ( ruleValidID ) )
{
otherlv_29=(Token)match(input,16,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getXReferenceAccess().getCommaKeyword_8_2_0());
}
// InternalXcore.g:2293:1: ( ( ruleValidID ) )
// InternalXcore.g:2294:1: ( ruleValidID )
{
// InternalXcore.g:2294:1: ( ruleValidID )
// InternalXcore.g:2295:3: ruleValidID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXReferenceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReferenceAccess().getKeysGenFeatureCrossReference_8_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_50);
ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop44;
}
} while (true);
}
break;
}
// InternalXcore.g:2308:6: ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) )
// InternalXcore.g:2310:1: ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) )
{
// InternalXcore.g:2310:1: ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) )
// InternalXcore.g:2311:2: ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getXReferenceAccess().getUnorderedGroup_9());
// InternalXcore.g:2314:2: ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* )
// InternalXcore.g:2315:3: ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )*
{
// InternalXcore.g:2315:3: ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )*
loop46:
do {
int alt46=5;
alt46 = dfa46.predict(input);
switch (alt46) {
case 1 :
// InternalXcore.g:2317:4: ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) )
{
// InternalXcore.g:2317:4: ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) )
// InternalXcore.g:2318:5: {...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 0)");
}
// InternalXcore.g:2318:107: ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) )
// InternalXcore.g:2319:6: ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 0);
// InternalXcore.g:2322:6: ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) )
// InternalXcore.g:2322:7: {...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "true");
}
// InternalXcore.g:2322:16: (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) )
// InternalXcore.g:2322:18: otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) )
{
otherlv_32=(Token)match(input,44,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_32, grammarAccess.getXReferenceAccess().getGetKeyword_9_0_0());
}
// InternalXcore.g:2326:1: ( (lv_getBody_33_0= ruleXBlockExpression ) )
// InternalXcore.g:2327:1: (lv_getBody_33_0= ruleXBlockExpression )
{
// InternalXcore.g:2327:1: (lv_getBody_33_0= ruleXBlockExpression )
// InternalXcore.g:2328:3: lv_getBody_33_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReferenceAccess().getGetBodyXBlockExpressionParserRuleCall_9_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_40);
lv_getBody_33_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXReferenceRule());
}
set(
current,
"getBody",
lv_getBody_33_0,
"org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_9());
}
}
}
break;
case 2 :
// InternalXcore.g:2351:4: ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) )
{
// InternalXcore.g:2351:4: ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) )
// InternalXcore.g:2352:5: {...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 1)");
}
// InternalXcore.g:2352:107: ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) )
// InternalXcore.g:2353:6: ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 1);
// InternalXcore.g:2356:6: ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) )
// InternalXcore.g:2356:7: {...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "true");
}
// InternalXcore.g:2356:16: (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) )
// InternalXcore.g:2356:18: otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) )
{
otherlv_34=(Token)match(input,45,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_34, grammarAccess.getXReferenceAccess().getSetKeyword_9_1_0());
}
// InternalXcore.g:2360:1: ( (lv_setBody_35_0= ruleXBlockExpression ) )
// InternalXcore.g:2361:1: (lv_setBody_35_0= ruleXBlockExpression )
{
// InternalXcore.g:2361:1: (lv_setBody_35_0= ruleXBlockExpression )
// InternalXcore.g:2362:3: lv_setBody_35_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReferenceAccess().getSetBodyXBlockExpressionParserRuleCall_9_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_40);
lv_setBody_35_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXReferenceRule());
}
set(
current,
"setBody",
lv_setBody_35_0,
"org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_9());
}
}
}
break;
case 3 :
// InternalXcore.g:2385:4: ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) )
{
// InternalXcore.g:2385:4: ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) )
// InternalXcore.g:2386:5: {...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 2)");
}
// InternalXcore.g:2386:107: ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) )
// InternalXcore.g:2387:6: ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 2);
// InternalXcore.g:2390:6: ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) )
// InternalXcore.g:2390:7: {...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "true");
}
// InternalXcore.g:2390:16: (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) )
// InternalXcore.g:2390:18: otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) )
{
otherlv_36=(Token)match(input,46,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_36, grammarAccess.getXReferenceAccess().getIsSetKeyword_9_2_0());
}
// InternalXcore.g:2394:1: ( (lv_isSetBody_37_0= ruleXBlockExpression ) )
// InternalXcore.g:2395:1: (lv_isSetBody_37_0= ruleXBlockExpression )
{
// InternalXcore.g:2395:1: (lv_isSetBody_37_0= ruleXBlockExpression )
// InternalXcore.g:2396:3: lv_isSetBody_37_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReferenceAccess().getIsSetBodyXBlockExpressionParserRuleCall_9_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_40);
lv_isSetBody_37_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXReferenceRule());
}
set(
current,
"isSetBody",
lv_isSetBody_37_0,
"org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_9());
}
}
}
break;
case 4 :
// InternalXcore.g:2419:4: ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) )
{
// InternalXcore.g:2419:4: ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) )
// InternalXcore.g:2420:5: {...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 3)");
}
// InternalXcore.g:2420:107: ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) )
// InternalXcore.g:2421:6: ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 3);
// InternalXcore.g:2424:6: ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) )
// InternalXcore.g:2424:7: {...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleXReference", "true");
}
// InternalXcore.g:2424:16: (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) )
// InternalXcore.g:2424:18: otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) )
{
otherlv_38=(Token)match(input,47,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_38, grammarAccess.getXReferenceAccess().getUnsetKeyword_9_3_0());
}
// InternalXcore.g:2428:1: ( (lv_unsetBody_39_0= ruleXBlockExpression ) )
// InternalXcore.g:2429:1: (lv_unsetBody_39_0= ruleXBlockExpression )
{
// InternalXcore.g:2429:1: (lv_unsetBody_39_0= ruleXBlockExpression )
// InternalXcore.g:2430:3: lv_unsetBody_39_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReferenceAccess().getUnsetBodyXBlockExpressionParserRuleCall_9_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_40);
lv_unsetBody_39_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXReferenceRule());
}
set(
current,
"unsetBody",
lv_unsetBody_39_0,
"org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_9());
}
}
}
break;
default :
break loop46;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getXReferenceAccess().getUnorderedGroup_9());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXReference"
// $ANTLR start "entryRuleXOperation"
// InternalXcore.g:2468:1: entryRuleXOperation returns [EObject current=null] : iv_ruleXOperation= ruleXOperation EOF ;
public final EObject entryRuleXOperation() throws RecognitionException {
EObject current = null;
EObject iv_ruleXOperation = null;
try {
// InternalXcore.g:2469:2: (iv_ruleXOperation= ruleXOperation EOF )
// InternalXcore.g:2470:2: iv_ruleXOperation= ruleXOperation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOperationRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXOperation=ruleXOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXOperation;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXOperation"
// $ANTLR start "ruleXOperation"
// InternalXcore.g:2477:1: ruleXOperation returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'op' ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )? (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )? ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' ) ( (lv_multiplicity_14_0= ruleXMultiplicity ) )? ( (lv_name_15_0= RULE_ID ) ) otherlv_16= '(' ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )? otherlv_20= ')' (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )? ( (lv_body_25_0= ruleXBlockExpression ) )? ) ;
public final EObject ruleXOperation() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token lv_unordered_3_0=null;
Token lv_unique_4_0=null;
Token lv_unique_5_0=null;
Token lv_unordered_6_0=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_13=null;
Token lv_name_15_0=null;
Token otherlv_16=null;
Token otherlv_18=null;
Token otherlv_20=null;
Token otherlv_21=null;
Token otherlv_23=null;
EObject lv_annotations_1_0 = null;
EObject lv_typeParameters_8_0 = null;
EObject lv_typeParameters_10_0 = null;
EObject lv_type_12_0 = null;
AntlrDatatypeRuleToken lv_multiplicity_14_0 = null;
EObject lv_parameters_17_0 = null;
EObject lv_parameters_19_0 = null;
EObject lv_exceptions_22_0 = null;
EObject lv_exceptions_24_0 = null;
EObject lv_body_25_0 = null;
enterRule();
try {
// InternalXcore.g:2480:28: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'op' ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )? (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )? ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' ) ( (lv_multiplicity_14_0= ruleXMultiplicity ) )? ( (lv_name_15_0= RULE_ID ) ) otherlv_16= '(' ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )? otherlv_20= ')' (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )? ( (lv_body_25_0= ruleXBlockExpression ) )? ) )
// InternalXcore.g:2481:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'op' ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )? (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )? ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' ) ( (lv_multiplicity_14_0= ruleXMultiplicity ) )? ( (lv_name_15_0= RULE_ID ) ) otherlv_16= '(' ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )? otherlv_20= ')' (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )? ( (lv_body_25_0= ruleXBlockExpression ) )? )
{
// InternalXcore.g:2481:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'op' ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )? (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )? ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' ) ( (lv_multiplicity_14_0= ruleXMultiplicity ) )? ( (lv_name_15_0= RULE_ID ) ) otherlv_16= '(' ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )? otherlv_20= ')' (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )? ( (lv_body_25_0= ruleXBlockExpression ) )? )
// InternalXcore.g:2481:2: () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'op' ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )? (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )? ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' ) ( (lv_multiplicity_14_0= ruleXMultiplicity ) )? ( (lv_name_15_0= RULE_ID ) ) otherlv_16= '(' ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )? otherlv_20= ')' (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )? ( (lv_body_25_0= ruleXBlockExpression ) )?
{
// InternalXcore.g:2481:2: ()
// InternalXcore.g:2482:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXOperationAccess().getXOperationAction_0(),
current);
}
}
// InternalXcore.g:2487:2: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop47:
do {
int alt47=2;
int LA47_0 = input.LA(1);
if ( (LA47_0==14) ) {
alt47=1;
}
switch (alt47) {
case 1 :
// InternalXcore.g:2488:1: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalXcore.g:2488:1: (lv_annotations_1_0= ruleXAnnotation )
// InternalXcore.g:2489:3: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOperationAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_51);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOperationRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.emf.ecore.xcore.Xcore.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop47;
}
} while (true);
otherlv_2=(Token)match(input,55,FollowSets000.FOLLOW_52); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXOperationAccess().getOpKeyword_2());
}
// InternalXcore.g:2509:1: ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )?
int alt50=3;
int LA50_0 = input.LA(1);
if ( (LA50_0==36) ) {
alt50=1;
}
else if ( (LA50_0==37) ) {
alt50=2;
}
switch (alt50) {
case 1 :
// InternalXcore.g:2509:2: ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? )
{
// InternalXcore.g:2509:2: ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? )
// InternalXcore.g:2509:3: ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )?
{
// InternalXcore.g:2509:3: ( (lv_unordered_3_0= 'unordered' ) )
// InternalXcore.g:2510:1: (lv_unordered_3_0= 'unordered' )
{
// InternalXcore.g:2510:1: (lv_unordered_3_0= 'unordered' )
// InternalXcore.g:2511:3: lv_unordered_3_0= 'unordered'
{
lv_unordered_3_0=(Token)match(input,36,FollowSets000.FOLLOW_53); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unordered_3_0, grammarAccess.getXOperationAccess().getUnorderedUnorderedKeyword_3_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXOperationRule());
}
setWithLastConsumed(current, "unordered", true, "unordered");
}
}
}
// InternalXcore.g:2524:2: ( (lv_unique_4_0= 'unique' ) )?
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0==37) ) {
alt48=1;
}
switch (alt48) {
case 1 :
// InternalXcore.g:2525:1: (lv_unique_4_0= 'unique' )
{
// InternalXcore.g:2525:1: (lv_unique_4_0= 'unique' )
// InternalXcore.g:2526:3: lv_unique_4_0= 'unique'
{
lv_unique_4_0=(Token)match(input,37,FollowSets000.FOLLOW_54); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unique_4_0, grammarAccess.getXOperationAccess().getUniqueUniqueKeyword_3_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXOperationRule());
}
setWithLastConsumed(current, "unique", true, "unique");
}
}
}
break;
}
}
}
break;
case 2 :
// InternalXcore.g:2540:6: ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? )
{
// InternalXcore.g:2540:6: ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? )
// InternalXcore.g:2540:7: ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )?
{
// InternalXcore.g:2540:7: ( (lv_unique_5_0= 'unique' ) )
// InternalXcore.g:2541:1: (lv_unique_5_0= 'unique' )
{
// InternalXcore.g:2541:1: (lv_unique_5_0= 'unique' )
// InternalXcore.g:2542:3: lv_unique_5_0= 'unique'
{
lv_unique_5_0=(Token)match(input,37,FollowSets000.FOLLOW_55); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unique_5_0, grammarAccess.getXOperationAccess().getUniqueUniqueKeyword_3_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXOperationRule());
}
setWithLastConsumed(current, "unique", true, "unique");
}
}
}
// InternalXcore.g:2555:2: ( (lv_unordered_6_0= 'unordered' ) )?
int alt49=2;
int LA49_0 = input.LA(1);
if ( (LA49_0==36) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// InternalXcore.g:2556:1: (lv_unordered_6_0= 'unordered' )
{
// InternalXcore.g:2556:1: (lv_unordered_6_0= 'unordered' )
// InternalXcore.g:2557:3: lv_unordered_6_0= 'unordered'
{
lv_unordered_6_0=(Token)match(input,36,FollowSets000.FOLLOW_54); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unordered_6_0, grammarAccess.getXOperationAccess().getUnorderedUnorderedKeyword_3_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXOperationRule());
}
setWithLastConsumed(current, "unordered", true, "unordered");
}
}
}
break;
}
}
}
break;
}
// InternalXcore.g:2570:6: (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )?
int alt52=2;
int LA52_0 = input.LA(1);
if ( (LA52_0==23) ) {
alt52=1;
}
switch (alt52) {
case 1 :
// InternalXcore.g:2570:8: otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>'
{
otherlv_7=(Token)match(input,23,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getXOperationAccess().getLessThanSignKeyword_4_0());
}
// InternalXcore.g:2574:1: ( (lv_typeParameters_8_0= ruleXTypeParameter ) )
// InternalXcore.g:2575:1: (lv_typeParameters_8_0= ruleXTypeParameter )
{
// InternalXcore.g:2575:1: (lv_typeParameters_8_0= ruleXTypeParameter )
// InternalXcore.g:2576:3: lv_typeParameters_8_0= ruleXTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOperationAccess().getTypeParametersXTypeParameterParserRuleCall_4_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeParameters_8_0=ruleXTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOperationRule());
}
add(
current,
"typeParameters",
lv_typeParameters_8_0,
"org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:2592:2: (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )*
loop51:
do {
int alt51=2;
int LA51_0 = input.LA(1);
if ( (LA51_0==16) ) {
alt51=1;
}
switch (alt51) {
case 1 :
// InternalXcore.g:2592:4: otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) )
{
otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getXOperationAccess().getCommaKeyword_4_2_0());
}
// InternalXcore.g:2596:1: ( (lv_typeParameters_10_0= ruleXTypeParameter ) )
// InternalXcore.g:2597:1: (lv_typeParameters_10_0= ruleXTypeParameter )
{
// InternalXcore.g:2597:1: (lv_typeParameters_10_0= ruleXTypeParameter )
// InternalXcore.g:2598:3: lv_typeParameters_10_0= ruleXTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOperationAccess().getTypeParametersXTypeParameterParserRuleCall_4_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeParameters_10_0=ruleXTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOperationRule());
}
add(
current,
"typeParameters",
lv_typeParameters_10_0,
"org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop51;
}
} while (true);
otherlv_11=(Token)match(input,24,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getXOperationAccess().getGreaterThanSignKeyword_4_3());
}
}
break;
}
// InternalXcore.g:2618:3: ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' )
int alt53=2;
int LA53_0 = input.LA(1);
if ( (LA53_0==RULE_ID||(LA53_0>=44 && LA53_0<=47)) ) {
alt53=1;
}
else if ( (LA53_0==56) ) {
alt53=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 53, 0, input);
throw nvae;
}
switch (alt53) {
case 1 :
// InternalXcore.g:2618:4: ( (lv_type_12_0= ruleXGenericType ) )
{
// InternalXcore.g:2618:4: ( (lv_type_12_0= ruleXGenericType ) )
// InternalXcore.g:2619:1: (lv_type_12_0= ruleXGenericType )
{
// InternalXcore.g:2619:1: (lv_type_12_0= ruleXGenericType )
// InternalXcore.g:2620:3: lv_type_12_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOperationAccess().getTypeXGenericTypeParserRuleCall_5_0_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_type_12_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOperationRule());
}
set(
current,
"type",
lv_type_12_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalXcore.g:2637:7: otherlv_13= 'void'
{
otherlv_13=(Token)match(input,56,FollowSets000.FOLLOW_38); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXOperationAccess().getVoidKeyword_5_1());
}
}
break;
}
// InternalXcore.g:2641:2: ( (lv_multiplicity_14_0= ruleXMultiplicity ) )?
int alt54=2;
int LA54_0 = input.LA(1);
if ( (LA54_0==59) ) {
alt54=1;
}
switch (alt54) {
case 1 :
// InternalXcore.g:2642:1: (lv_multiplicity_14_0= ruleXMultiplicity )
{
// InternalXcore.g:2642:1: (lv_multiplicity_14_0= ruleXMultiplicity )
// InternalXcore.g:2643:3: lv_multiplicity_14_0= ruleXMultiplicity
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOperationAccess().getMultiplicityXMultiplicityParserRuleCall_6_0());
}
pushFollow(FollowSets000.FOLLOW_15);
lv_multiplicity_14_0=ruleXMultiplicity();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOperationRule());
}
set(
current,
"multiplicity",
lv_multiplicity_14_0,
"org.eclipse.emf.ecore.xcore.Xcore.XMultiplicity");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalXcore.g:2659:3: ( (lv_name_15_0= RULE_ID ) )
// InternalXcore.g:2660:1: (lv_name_15_0= RULE_ID )
{
// InternalXcore.g:2660:1: (lv_name_15_0= RULE_ID )
// InternalXcore.g:2661:3: lv_name_15_0= RULE_ID
{
lv_name_15_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_15_0, grammarAccess.getXOperationAccess().getNameIDTerminalRuleCall_7_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXOperationRule());
}
setWithLastConsumed(
current,
"name",
lv_name_15_0,
"org.eclipse.xtext.xbase.Xtype.ID");
}
}
}
otherlv_16=(Token)match(input,15,FollowSets000.FOLLOW_57); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getXOperationAccess().getLeftParenthesisKeyword_8());
}
// InternalXcore.g:2681:1: ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )?
int alt56=2;
int LA56_0 = input.LA(1);
if ( (LA56_0==RULE_ID||LA56_0==14||(LA56_0>=36 && LA56_0<=37)||(LA56_0>=44 && LA56_0<=47)) ) {
alt56=1;
}
switch (alt56) {
case 1 :
// InternalXcore.g:2681:2: ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )*
{
// InternalXcore.g:2681:2: ( (lv_parameters_17_0= ruleXParameter ) )
// InternalXcore.g:2682:1: (lv_parameters_17_0= ruleXParameter )
{
// InternalXcore.g:2682:1: (lv_parameters_17_0= ruleXParameter )
// InternalXcore.g:2683:3: lv_parameters_17_0= ruleXParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOperationAccess().getParametersXParameterParserRuleCall_9_0_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_parameters_17_0=ruleXParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOperationRule());
}
add(
current,
"parameters",
lv_parameters_17_0,
"org.eclipse.emf.ecore.xcore.Xcore.XParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:2699:2: (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )*
loop55:
do {
int alt55=2;
int LA55_0 = input.LA(1);
if ( (LA55_0==16) ) {
alt55=1;
}
switch (alt55) {
case 1 :
// InternalXcore.g:2699:4: otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) )
{
otherlv_18=(Token)match(input,16,FollowSets000.FOLLOW_58); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getXOperationAccess().getCommaKeyword_9_1_0());
}
// InternalXcore.g:2703:1: ( (lv_parameters_19_0= ruleXParameter ) )
// InternalXcore.g:2704:1: (lv_parameters_19_0= ruleXParameter )
{
// InternalXcore.g:2704:1: (lv_parameters_19_0= ruleXParameter )
// InternalXcore.g:2705:3: lv_parameters_19_0= ruleXParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOperationAccess().getParametersXParameterParserRuleCall_9_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_parameters_19_0=ruleXParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOperationRule());
}
add(
current,
"parameters",
lv_parameters_19_0,
"org.eclipse.emf.ecore.xcore.Xcore.XParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop55;
}
} while (true);
}
break;
}
otherlv_20=(Token)match(input,17,FollowSets000.FOLLOW_59); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getXOperationAccess().getRightParenthesisKeyword_10());
}
// InternalXcore.g:2725:1: (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )?
int alt58=2;
int LA58_0 = input.LA(1);
if ( (LA58_0==57) ) {
alt58=1;
}
switch (alt58) {
case 1 :
// InternalXcore.g:2725:3: otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )*
{
otherlv_21=(Token)match(input,57,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getXOperationAccess().getThrowsKeyword_11_0());
}
// InternalXcore.g:2729:1: ( (lv_exceptions_22_0= ruleXGenericType ) )
// InternalXcore.g:2730:1: (lv_exceptions_22_0= ruleXGenericType )
{
// InternalXcore.g:2730:1: (lv_exceptions_22_0= ruleXGenericType )
// InternalXcore.g:2731:3: lv_exceptions_22_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOperationAccess().getExceptionsXGenericTypeParserRuleCall_11_1_0());
}
pushFollow(FollowSets000.FOLLOW_60);
lv_exceptions_22_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOperationRule());
}
add(
current,
"exceptions",
lv_exceptions_22_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:2747:2: (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )*
loop57:
do {
int alt57=2;
int LA57_0 = input.LA(1);
if ( (LA57_0==16) ) {
alt57=1;
}
switch (alt57) {
case 1 :
// InternalXcore.g:2747:4: otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) )
{
otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_23, grammarAccess.getXOperationAccess().getCommaKeyword_11_2_0());
}
// InternalXcore.g:2751:1: ( (lv_exceptions_24_0= ruleXGenericType ) )
// InternalXcore.g:2752:1: (lv_exceptions_24_0= ruleXGenericType )
{
// InternalXcore.g:2752:1: (lv_exceptions_24_0= ruleXGenericType )
// InternalXcore.g:2753:3: lv_exceptions_24_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOperationAccess().getExceptionsXGenericTypeParserRuleCall_11_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_60);
lv_exceptions_24_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOperationRule());
}
add(
current,
"exceptions",
lv_exceptions_24_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop57;
}
} while (true);
}
break;
}
// InternalXcore.g:2769:6: ( (lv_body_25_0= ruleXBlockExpression ) )?
int alt59=2;
int LA59_0 = input.LA(1);
if ( (LA59_0==29) ) {
alt59=1;
}
switch (alt59) {
case 1 :
// InternalXcore.g:2770:1: (lv_body_25_0= ruleXBlockExpression )
{
// InternalXcore.g:2770:1: (lv_body_25_0= ruleXBlockExpression )
// InternalXcore.g:2771:3: lv_body_25_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOperationAccess().getBodyXBlockExpressionParserRuleCall_12_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_body_25_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOperationRule());
}
set(
current,
"body",
lv_body_25_0,
"org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXOperation"
// $ANTLR start "entryRuleXParameter"
// InternalXcore.g:2795:1: entryRuleXParameter returns [EObject current=null] : iv_ruleXParameter= ruleXParameter EOF ;
public final EObject entryRuleXParameter() throws RecognitionException {
EObject current = null;
EObject iv_ruleXParameter = null;
try {
// InternalXcore.g:2796:2: (iv_ruleXParameter= ruleXParameter EOF )
// InternalXcore.g:2797:2: iv_ruleXParameter= ruleXParameter EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXParameterRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXParameter=ruleXParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXParameter;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXParameter"
// $ANTLR start "ruleXParameter"
// InternalXcore.g:2804:1: ruleXParameter returns [EObject current=null] : ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )? ( (lv_type_5_0= ruleXGenericType ) ) ( (lv_multiplicity_6_0= ruleXMultiplicity ) )? ( (lv_name_7_0= RULE_ID ) ) ) ;
public final EObject ruleXParameter() throws RecognitionException {
EObject current = null;
Token lv_unordered_1_0=null;
Token lv_unique_2_0=null;
Token lv_unique_3_0=null;
Token lv_unordered_4_0=null;
Token lv_name_7_0=null;
EObject lv_annotations_0_0 = null;
EObject lv_type_5_0 = null;
AntlrDatatypeRuleToken lv_multiplicity_6_0 = null;
enterRule();
try {
// InternalXcore.g:2807:28: ( ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )? ( (lv_type_5_0= ruleXGenericType ) ) ( (lv_multiplicity_6_0= ruleXMultiplicity ) )? ( (lv_name_7_0= RULE_ID ) ) ) )
// InternalXcore.g:2808:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )? ( (lv_type_5_0= ruleXGenericType ) ) ( (lv_multiplicity_6_0= ruleXMultiplicity ) )? ( (lv_name_7_0= RULE_ID ) ) )
{
// InternalXcore.g:2808:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )? ( (lv_type_5_0= ruleXGenericType ) ) ( (lv_multiplicity_6_0= ruleXMultiplicity ) )? ( (lv_name_7_0= RULE_ID ) ) )
// InternalXcore.g:2808:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )? ( (lv_type_5_0= ruleXGenericType ) ) ( (lv_multiplicity_6_0= ruleXMultiplicity ) )? ( (lv_name_7_0= RULE_ID ) )
{
// InternalXcore.g:2808:2: ( (lv_annotations_0_0= ruleXAnnotation ) )*
loop60:
do {
int alt60=2;
int LA60_0 = input.LA(1);
if ( (LA60_0==14) ) {
alt60=1;
}
switch (alt60) {
case 1 :
// InternalXcore.g:2809:1: (lv_annotations_0_0= ruleXAnnotation )
{
// InternalXcore.g:2809:1: (lv_annotations_0_0= ruleXAnnotation )
// InternalXcore.g:2810:3: lv_annotations_0_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXParameterAccess().getAnnotationsXAnnotationParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_58);
lv_annotations_0_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXParameterRule());
}
add(
current,
"annotations",
lv_annotations_0_0,
"org.eclipse.emf.ecore.xcore.Xcore.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop60;
}
} while (true);
// InternalXcore.g:2826:3: ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )?
int alt63=3;
int LA63_0 = input.LA(1);
if ( (LA63_0==36) ) {
alt63=1;
}
else if ( (LA63_0==37) ) {
alt63=2;
}
switch (alt63) {
case 1 :
// InternalXcore.g:2826:4: ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? )
{
// InternalXcore.g:2826:4: ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? )
// InternalXcore.g:2826:5: ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )?
{
// InternalXcore.g:2826:5: ( (lv_unordered_1_0= 'unordered' ) )
// InternalXcore.g:2827:1: (lv_unordered_1_0= 'unordered' )
{
// InternalXcore.g:2827:1: (lv_unordered_1_0= 'unordered' )
// InternalXcore.g:2828:3: lv_unordered_1_0= 'unordered'
{
lv_unordered_1_0=(Token)match(input,36,FollowSets000.FOLLOW_61); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unordered_1_0, grammarAccess.getXParameterAccess().getUnorderedUnorderedKeyword_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXParameterRule());
}
setWithLastConsumed(current, "unordered", true, "unordered");
}
}
}
// InternalXcore.g:2841:2: ( (lv_unique_2_0= 'unique' ) )?
int alt61=2;
int LA61_0 = input.LA(1);
if ( (LA61_0==37) ) {
alt61=1;
}
switch (alt61) {
case 1 :
// InternalXcore.g:2842:1: (lv_unique_2_0= 'unique' )
{
// InternalXcore.g:2842:1: (lv_unique_2_0= 'unique' )
// InternalXcore.g:2843:3: lv_unique_2_0= 'unique'
{
lv_unique_2_0=(Token)match(input,37,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unique_2_0, grammarAccess.getXParameterAccess().getUniqueUniqueKeyword_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXParameterRule());
}
setWithLastConsumed(current, "unique", true, "unique");
}
}
}
break;
}
}
}
break;
case 2 :
// InternalXcore.g:2857:6: ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? )
{
// InternalXcore.g:2857:6: ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? )
// InternalXcore.g:2857:7: ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )?
{
// InternalXcore.g:2857:7: ( (lv_unique_3_0= 'unique' ) )
// InternalXcore.g:2858:1: (lv_unique_3_0= 'unique' )
{
// InternalXcore.g:2858:1: (lv_unique_3_0= 'unique' )
// InternalXcore.g:2859:3: lv_unique_3_0= 'unique'
{
lv_unique_3_0=(Token)match(input,37,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unique_3_0, grammarAccess.getXParameterAccess().getUniqueUniqueKeyword_1_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXParameterRule());
}
setWithLastConsumed(current, "unique", true, "unique");
}
}
}
// InternalXcore.g:2872:2: ( (lv_unordered_4_0= 'unordered' ) )?
int alt62=2;
int LA62_0 = input.LA(1);
if ( (LA62_0==36) ) {
alt62=1;
}
switch (alt62) {
case 1 :
// InternalXcore.g:2873:1: (lv_unordered_4_0= 'unordered' )
{
// InternalXcore.g:2873:1: (lv_unordered_4_0= 'unordered' )
// InternalXcore.g:2874:3: lv_unordered_4_0= 'unordered'
{
lv_unordered_4_0=(Token)match(input,36,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_unordered_4_0, grammarAccess.getXParameterAccess().getUnorderedUnorderedKeyword_1_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXParameterRule());
}
setWithLastConsumed(current, "unordered", true, "unordered");
}
}
}
break;
}
}
}
break;
}
// InternalXcore.g:2887:6: ( (lv_type_5_0= ruleXGenericType ) )
// InternalXcore.g:2888:1: (lv_type_5_0= ruleXGenericType )
{
// InternalXcore.g:2888:1: (lv_type_5_0= ruleXGenericType )
// InternalXcore.g:2889:3: lv_type_5_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXParameterAccess().getTypeXGenericTypeParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_type_5_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXParameterRule());
}
set(
current,
"type",
lv_type_5_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:2905:2: ( (lv_multiplicity_6_0= ruleXMultiplicity ) )?
int alt64=2;
int LA64_0 = input.LA(1);
if ( (LA64_0==59) ) {
alt64=1;
}
switch (alt64) {
case 1 :
// InternalXcore.g:2906:1: (lv_multiplicity_6_0= ruleXMultiplicity )
{
// InternalXcore.g:2906:1: (lv_multiplicity_6_0= ruleXMultiplicity )
// InternalXcore.g:2907:3: lv_multiplicity_6_0= ruleXMultiplicity
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXParameterAccess().getMultiplicityXMultiplicityParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_15);
lv_multiplicity_6_0=ruleXMultiplicity();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXParameterRule());
}
set(
current,
"multiplicity",
lv_multiplicity_6_0,
"org.eclipse.emf.ecore.xcore.Xcore.XMultiplicity");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalXcore.g:2923:3: ( (lv_name_7_0= RULE_ID ) )
// InternalXcore.g:2924:1: (lv_name_7_0= RULE_ID )
{
// InternalXcore.g:2924:1: (lv_name_7_0= RULE_ID )
// InternalXcore.g:2925:3: lv_name_7_0= RULE_ID
{
lv_name_7_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_7_0, grammarAccess.getXParameterAccess().getNameIDTerminalRuleCall_4_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXParameterRule());
}
setWithLastConsumed(
current,
"name",
lv_name_7_0,
"org.eclipse.xtext.xbase.Xtype.ID");
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXParameter"
// $ANTLR start "entryRuleXTypeParameter"
// InternalXcore.g:2949:1: entryRuleXTypeParameter returns [EObject current=null] : iv_ruleXTypeParameter= ruleXTypeParameter EOF ;
public final EObject entryRuleXTypeParameter() throws RecognitionException {
EObject current = null;
EObject iv_ruleXTypeParameter = null;
try {
// InternalXcore.g:2950:2: (iv_ruleXTypeParameter= ruleXTypeParameter EOF )
// InternalXcore.g:2951:2: iv_ruleXTypeParameter= ruleXTypeParameter EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeParameterRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXTypeParameter=ruleXTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXTypeParameter;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXTypeParameter"
// $ANTLR start "ruleXTypeParameter"
// InternalXcore.g:2958:1: ruleXTypeParameter returns [EObject current=null] : ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )? ) ;
public final EObject ruleXTypeParameter() throws RecognitionException {
EObject current = null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_annotations_0_0 = null;
EObject lv_bounds_3_0 = null;
EObject lv_bounds_5_0 = null;
enterRule();
try {
// InternalXcore.g:2961:28: ( ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )? ) )
// InternalXcore.g:2962:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )? )
{
// InternalXcore.g:2962:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )? )
// InternalXcore.g:2962:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )?
{
// InternalXcore.g:2962:2: ( (lv_annotations_0_0= ruleXAnnotation ) )*
loop65:
do {
int alt65=2;
int LA65_0 = input.LA(1);
if ( (LA65_0==14) ) {
alt65=1;
}
switch (alt65) {
case 1 :
// InternalXcore.g:2963:1: (lv_annotations_0_0= ruleXAnnotation )
{
// InternalXcore.g:2963:1: (lv_annotations_0_0= ruleXAnnotation )
// InternalXcore.g:2964:3: lv_annotations_0_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeParameterAccess().getAnnotationsXAnnotationParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_annotations_0_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTypeParameterRule());
}
add(
current,
"annotations",
lv_annotations_0_0,
"org.eclipse.emf.ecore.xcore.Xcore.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop65;
}
} while (true);
// InternalXcore.g:2980:3: ( (lv_name_1_0= RULE_ID ) )
// InternalXcore.g:2981:1: (lv_name_1_0= RULE_ID )
{
// InternalXcore.g:2981:1: (lv_name_1_0= RULE_ID )
// InternalXcore.g:2982:3: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_63); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getXTypeParameterAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXTypeParameterRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.xbase.Xtype.ID");
}
}
}
// InternalXcore.g:2998:2: (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )?
int alt67=2;
int LA67_0 = input.LA(1);
if ( (LA67_0==35) ) {
alt67=1;
}
switch (alt67) {
case 1 :
// InternalXcore.g:2998:4: otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )*
{
otherlv_2=(Token)match(input,35,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXTypeParameterAccess().getExtendsKeyword_2_0());
}
// InternalXcore.g:3002:1: ( (lv_bounds_3_0= ruleXGenericType ) )
// InternalXcore.g:3003:1: (lv_bounds_3_0= ruleXGenericType )
{
// InternalXcore.g:3003:1: (lv_bounds_3_0= ruleXGenericType )
// InternalXcore.g:3004:3: lv_bounds_3_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeParameterAccess().getBoundsXGenericTypeParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_64);
lv_bounds_3_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTypeParameterRule());
}
add(
current,
"bounds",
lv_bounds_3_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:3020:2: (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )*
loop66:
do {
int alt66=2;
int LA66_0 = input.LA(1);
if ( (LA66_0==58) ) {
alt66=1;
}
switch (alt66) {
case 1 :
// InternalXcore.g:3020:4: otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) )
{
otherlv_4=(Token)match(input,58,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXTypeParameterAccess().getAmpersandKeyword_2_2_0());
}
// InternalXcore.g:3024:1: ( (lv_bounds_5_0= ruleXGenericType ) )
// InternalXcore.g:3025:1: (lv_bounds_5_0= ruleXGenericType )
{
// InternalXcore.g:3025:1: (lv_bounds_5_0= ruleXGenericType )
// InternalXcore.g:3026:3: lv_bounds_5_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeParameterAccess().getBoundsXGenericTypeParserRuleCall_2_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_64);
lv_bounds_5_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTypeParameterRule());
}
add(
current,
"bounds",
lv_bounds_5_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop66;
}
} while (true);
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXTypeParameter"
// $ANTLR start "entryRuleXMultiplicity"
// InternalXcore.g:3050:1: entryRuleXMultiplicity returns [String current=null] : iv_ruleXMultiplicity= ruleXMultiplicity EOF ;
public final String entryRuleXMultiplicity() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleXMultiplicity = null;
try {
// InternalXcore.g:3051:2: (iv_ruleXMultiplicity= ruleXMultiplicity EOF )
// InternalXcore.g:3052:2: iv_ruleXMultiplicity= ruleXMultiplicity EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicityRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXMultiplicity=ruleXMultiplicity();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXMultiplicity.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXMultiplicity"
// $ANTLR start "ruleXMultiplicity"
// InternalXcore.g:3059:1: ruleXMultiplicity returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )? kw= ']' ) ;
public final AntlrDatatypeRuleToken ruleXMultiplicity() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
Token this_INT_4=null;
Token this_INT_6=null;
enterRule();
try {
// InternalXcore.g:3062:28: ( (kw= '[' (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )? kw= ']' ) )
// InternalXcore.g:3063:1: (kw= '[' (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )? kw= ']' )
{
// InternalXcore.g:3063:1: (kw= '[' (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )? kw= ']' )
// InternalXcore.g:3064:2: kw= '[' (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )? kw= ']'
{
kw=(Token)match(input,59,FollowSets000.FOLLOW_65); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getLeftSquareBracketKeyword_0());
}
// InternalXcore.g:3069:1: (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )?
int alt70=5;
switch ( input.LA(1) ) {
case 60:
{
alt70=1;
}
break;
case 61:
{
alt70=2;
}
break;
case 62:
{
alt70=3;
}
break;
case RULE_INT:
{
alt70=4;
}
break;
}
switch (alt70) {
case 1 :
// InternalXcore.g:3070:2: kw= '?'
{
kw=(Token)match(input,60,FollowSets000.FOLLOW_66); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getQuestionMarkKeyword_1_0());
}
}
break;
case 2 :
// InternalXcore.g:3077:2: kw= '*'
{
kw=(Token)match(input,61,FollowSets000.FOLLOW_66); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getAsteriskKeyword_1_1());
}
}
break;
case 3 :
// InternalXcore.g:3084:2: kw= '+'
{
kw=(Token)match(input,62,FollowSets000.FOLLOW_66); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getPlusSignKeyword_1_2());
}
}
break;
case 4 :
// InternalXcore.g:3090:6: (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? )
{
// InternalXcore.g:3090:6: (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? )
// InternalXcore.g:3090:11: this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )?
{
this_INT_4=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_4);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_4, grammarAccess.getXMultiplicityAccess().getINTTerminalRuleCall_1_3_0());
}
// InternalXcore.g:3097:1: (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )?
int alt69=2;
int LA69_0 = input.LA(1);
if ( (LA69_0==63) ) {
alt69=1;
}
switch (alt69) {
case 1 :
// InternalXcore.g:3098:2: kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' )
{
kw=(Token)match(input,63,FollowSets000.FOLLOW_68); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getFullStopFullStopKeyword_1_3_1_0());
}
// InternalXcore.g:3103:1: (this_INT_6= RULE_INT | kw= '?' | kw= '*' )
int alt68=3;
switch ( input.LA(1) ) {
case RULE_INT:
{
alt68=1;
}
break;
case 60:
{
alt68=2;
}
break;
case 61:
{
alt68=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 68, 0, input);
throw nvae;
}
switch (alt68) {
case 1 :
// InternalXcore.g:3103:6: this_INT_6= RULE_INT
{
this_INT_6=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_66); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_6);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_6, grammarAccess.getXMultiplicityAccess().getINTTerminalRuleCall_1_3_1_1_0());
}
}
break;
case 2 :
// InternalXcore.g:3112:2: kw= '?'
{
kw=(Token)match(input,60,FollowSets000.FOLLOW_66); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getQuestionMarkKeyword_1_3_1_1_1());
}
}
break;
case 3 :
// InternalXcore.g:3119:2: kw= '*'
{
kw=(Token)match(input,61,FollowSets000.FOLLOW_66); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getAsteriskKeyword_1_3_1_1_2());
}
}
break;
}
}
break;
}
}
}
break;
}
kw=(Token)match(input,64,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getRightSquareBracketKeyword_2());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXMultiplicity"
// $ANTLR start "entryRuleXBlockExpression"
// InternalXcore.g:3138:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ;
public final EObject entryRuleXBlockExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXBlockExpression = null;
try {
// InternalXcore.g:3139:2: (iv_ruleXBlockExpression= ruleXBlockExpression EOF )
// InternalXcore.g:3140:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBlockExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXBlockExpression=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXBlockExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXBlockExpression"
// $ANTLR start "ruleXBlockExpression"
// InternalXcore.g:3147:1: ruleXBlockExpression returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ;
public final EObject ruleXBlockExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_4=null;
EObject lv_expressions_2_0 = null;
enterRule();
try {
// InternalXcore.g:3150:28: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) )
// InternalXcore.g:3151:1: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
{
// InternalXcore.g:3151:1: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
// InternalXcore.g:3151:2: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}'
{
// InternalXcore.g:3151:2: ()
// InternalXcore.g:3152:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,29,FollowSets000.FOLLOW_69); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1());
}
// InternalXcore.g:3161:1: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )*
loop72:
do {
int alt72=2;
int LA72_0 = input.LA(1);
if ( ((LA72_0>=RULE_STRING && LA72_0<=RULE_DECIMAL)||LA72_0==13||LA72_0==15||(LA72_0>=19 && LA72_0<=21)||LA72_0==23||(LA72_0>=25 && LA72_0<=29)||(LA72_0>=31 && LA72_0<=57)||LA72_0==59||LA72_0==62||LA72_0==66||(LA72_0>=68 && LA72_0<=69)||LA72_0==91||LA72_0==96||LA72_0==98||LA72_0==100||(LA72_0>=104 && LA72_0<=116)||LA72_0==118) ) {
alt72=1;
}
switch (alt72) {
case 1 :
// InternalXcore.g:3161:2: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )?
{
// InternalXcore.g:3161:2: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) )
// InternalXcore.g:3162:1: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
{
// InternalXcore.g:3162:1: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
// InternalXcore.g:3163:3: lv_expressions_2_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_70);
lv_expressions_2_0=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBlockExpressionRule());
}
add(
current,
"expressions",
lv_expressions_2_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:3179:2: (otherlv_3= ';' )?
int alt71=2;
int LA71_0 = input.LA(1);
if ( (LA71_0==65) ) {
alt71=1;
}
switch (alt71) {
case 1 :
// InternalXcore.g:3179:4: otherlv_3= ';'
{
otherlv_3=(Token)match(input,65,FollowSets000.FOLLOW_69); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1());
}
}
break;
}
}
break;
default :
break loop72;
}
} while (true);
otherlv_4=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXBlockExpression"
// $ANTLR start "entryRuleXGenericType"
// InternalXcore.g:3195:1: entryRuleXGenericType returns [EObject current=null] : iv_ruleXGenericType= ruleXGenericType EOF ;
public final EObject entryRuleXGenericType() throws RecognitionException {
EObject current = null;
EObject iv_ruleXGenericType = null;
try {
// InternalXcore.g:3196:2: (iv_ruleXGenericType= ruleXGenericType EOF )
// InternalXcore.g:3197:2: iv_ruleXGenericType= ruleXGenericType EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXGenericTypeRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXGenericType=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXGenericType;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXGenericType"
// $ANTLR start "ruleXGenericType"
// InternalXcore.g:3204:1: ruleXGenericType returns [EObject current=null] : ( ( ( ruleXQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )? ) ;
public final EObject ruleXGenericType() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_typeArguments_2_0 = null;
EObject lv_typeArguments_4_0 = null;
enterRule();
try {
// InternalXcore.g:3207:28: ( ( ( ( ruleXQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )? ) )
// InternalXcore.g:3208:1: ( ( ( ruleXQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )? )
{
// InternalXcore.g:3208:1: ( ( ( ruleXQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )? )
// InternalXcore.g:3208:2: ( ( ruleXQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )?
{
// InternalXcore.g:3208:2: ( ( ruleXQualifiedName ) )
// InternalXcore.g:3209:1: ( ruleXQualifiedName )
{
// InternalXcore.g:3209:1: ( ruleXQualifiedName )
// InternalXcore.g:3210:3: ruleXQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXGenericTypeRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXGenericTypeAccess().getTypeGenBaseCrossReference_0_0());
}
pushFollow(FollowSets000.FOLLOW_71);
ruleXQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:3223:2: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )?
int alt74=2;
int LA74_0 = input.LA(1);
if ( (LA74_0==23) && (synpred3_InternalXcore())) {
alt74=1;
}
switch (alt74) {
case 1 :
// InternalXcore.g:3223:3: ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>'
{
// InternalXcore.g:3223:3: ( ( '<' )=>otherlv_1= '<' )
// InternalXcore.g:3223:4: ( '<' )=>otherlv_1= '<'
{
otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXGenericTypeAccess().getLessThanSignKeyword_1_0());
}
}
// InternalXcore.g:3228:2: ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) )
// InternalXcore.g:3229:1: (lv_typeArguments_2_0= ruleXGenericTypeArgument )
{
// InternalXcore.g:3229:1: (lv_typeArguments_2_0= ruleXGenericTypeArgument )
// InternalXcore.g:3230:3: lv_typeArguments_2_0= ruleXGenericTypeArgument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXGenericTypeAccess().getTypeArgumentsXGenericTypeArgumentParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeArguments_2_0=ruleXGenericTypeArgument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXGenericTypeRule());
}
add(
current,
"typeArguments",
lv_typeArguments_2_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericTypeArgument");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:3246:2: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )*
loop73:
do {
int alt73=2;
int LA73_0 = input.LA(1);
if ( (LA73_0==16) ) {
alt73=1;
}
switch (alt73) {
case 1 :
// InternalXcore.g:3246:4: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) )
{
otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXGenericTypeAccess().getCommaKeyword_1_2_0());
}
// InternalXcore.g:3250:1: ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) )
// InternalXcore.g:3251:1: (lv_typeArguments_4_0= ruleXGenericTypeArgument )
{
// InternalXcore.g:3251:1: (lv_typeArguments_4_0= ruleXGenericTypeArgument )
// InternalXcore.g:3252:3: lv_typeArguments_4_0= ruleXGenericTypeArgument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXGenericTypeAccess().getTypeArgumentsXGenericTypeArgumentParserRuleCall_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeArguments_4_0=ruleXGenericTypeArgument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXGenericTypeRule());
}
add(
current,
"typeArguments",
lv_typeArguments_4_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericTypeArgument");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop73;
}
} while (true);
otherlv_5=(Token)match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXGenericTypeAccess().getGreaterThanSignKeyword_1_3());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXGenericType"
// $ANTLR start "entryRuleXGenericTypeArgument"
// InternalXcore.g:3280:1: entryRuleXGenericTypeArgument returns [EObject current=null] : iv_ruleXGenericTypeArgument= ruleXGenericTypeArgument EOF ;
public final EObject entryRuleXGenericTypeArgument() throws RecognitionException {
EObject current = null;
EObject iv_ruleXGenericTypeArgument = null;
try {
// InternalXcore.g:3281:2: (iv_ruleXGenericTypeArgument= ruleXGenericTypeArgument EOF )
// InternalXcore.g:3282:2: iv_ruleXGenericTypeArgument= ruleXGenericTypeArgument EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXGenericTypeArgumentRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXGenericTypeArgument=ruleXGenericTypeArgument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXGenericTypeArgument;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXGenericTypeArgument"
// $ANTLR start "ruleXGenericTypeArgument"
// InternalXcore.g:3289:1: ruleXGenericTypeArgument returns [EObject current=null] : (this_XGenericType_0= ruleXGenericType | this_XGenericWildcardTypeArgument_1= ruleXGenericWildcardTypeArgument ) ;
public final EObject ruleXGenericTypeArgument() throws RecognitionException {
EObject current = null;
EObject this_XGenericType_0 = null;
EObject this_XGenericWildcardTypeArgument_1 = null;
enterRule();
try {
// InternalXcore.g:3292:28: ( (this_XGenericType_0= ruleXGenericType | this_XGenericWildcardTypeArgument_1= ruleXGenericWildcardTypeArgument ) )
// InternalXcore.g:3293:1: (this_XGenericType_0= ruleXGenericType | this_XGenericWildcardTypeArgument_1= ruleXGenericWildcardTypeArgument )
{
// InternalXcore.g:3293:1: (this_XGenericType_0= ruleXGenericType | this_XGenericWildcardTypeArgument_1= ruleXGenericWildcardTypeArgument )
int alt75=2;
int LA75_0 = input.LA(1);
if ( (LA75_0==RULE_ID||(LA75_0>=44 && LA75_0<=47)) ) {
alt75=1;
}
else if ( (LA75_0==60) ) {
alt75=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 75, 0, input);
throw nvae;
}
switch (alt75) {
case 1 :
// InternalXcore.g:3294:5: this_XGenericType_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXGenericTypeArgumentAccess().getXGenericTypeParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XGenericType_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XGenericType_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalXcore.g:3304:5: this_XGenericWildcardTypeArgument_1= ruleXGenericWildcardTypeArgument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXGenericTypeArgumentAccess().getXGenericWildcardTypeArgumentParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XGenericWildcardTypeArgument_1=ruleXGenericWildcardTypeArgument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XGenericWildcardTypeArgument_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXGenericTypeArgument"
// $ANTLR start "entryRuleXGenericWildcardTypeArgument"
// InternalXcore.g:3320:1: entryRuleXGenericWildcardTypeArgument returns [EObject current=null] : iv_ruleXGenericWildcardTypeArgument= ruleXGenericWildcardTypeArgument EOF ;
public final EObject entryRuleXGenericWildcardTypeArgument() throws RecognitionException {
EObject current = null;
EObject iv_ruleXGenericWildcardTypeArgument = null;
try {
// InternalXcore.g:3321:2: (iv_ruleXGenericWildcardTypeArgument= ruleXGenericWildcardTypeArgument EOF )
// InternalXcore.g:3322:2: iv_ruleXGenericWildcardTypeArgument= ruleXGenericWildcardTypeArgument EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXGenericWildcardTypeArgumentRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXGenericWildcardTypeArgument=ruleXGenericWildcardTypeArgument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXGenericWildcardTypeArgument;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXGenericWildcardTypeArgument"
// $ANTLR start "ruleXGenericWildcardTypeArgument"
// InternalXcore.g:3329:1: ruleXGenericWildcardTypeArgument returns [EObject current=null] : ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )? ) ;
public final EObject ruleXGenericWildcardTypeArgument() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_upperBound_3_0 = null;
EObject lv_lowerBound_5_0 = null;
enterRule();
try {
// InternalXcore.g:3332:28: ( ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )? ) )
// InternalXcore.g:3333:1: ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )? )
{
// InternalXcore.g:3333:1: ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )? )
// InternalXcore.g:3333:2: () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )?
{
// InternalXcore.g:3333:2: ()
// InternalXcore.g:3334:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXGenericWildcardTypeArgumentAccess().getXGenericTypeAction_0(),
current);
}
}
otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_73); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXGenericWildcardTypeArgumentAccess().getQuestionMarkKeyword_1());
}
// InternalXcore.g:3343:1: ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )?
int alt76=3;
int LA76_0 = input.LA(1);
if ( (LA76_0==35) ) {
alt76=1;
}
else if ( (LA76_0==66) ) {
alt76=2;
}
switch (alt76) {
case 1 :
// InternalXcore.g:3343:2: (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) )
{
// InternalXcore.g:3343:2: (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) )
// InternalXcore.g:3343:4: otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) )
{
otherlv_2=(Token)match(input,35,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXGenericWildcardTypeArgumentAccess().getExtendsKeyword_2_0_0());
}
// InternalXcore.g:3347:1: ( (lv_upperBound_3_0= ruleXGenericType ) )
// InternalXcore.g:3348:1: (lv_upperBound_3_0= ruleXGenericType )
{
// InternalXcore.g:3348:1: (lv_upperBound_3_0= ruleXGenericType )
// InternalXcore.g:3349:3: lv_upperBound_3_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXGenericWildcardTypeArgumentAccess().getUpperBoundXGenericTypeParserRuleCall_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_upperBound_3_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXGenericWildcardTypeArgumentRule());
}
set(
current,
"upperBound",
lv_upperBound_3_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalXcore.g:3366:6: (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) )
{
// InternalXcore.g:3366:6: (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) )
// InternalXcore.g:3366:8: otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) )
{
otherlv_4=(Token)match(input,66,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXGenericWildcardTypeArgumentAccess().getSuperKeyword_2_1_0());
}
// InternalXcore.g:3370:1: ( (lv_lowerBound_5_0= ruleXGenericType ) )
// InternalXcore.g:3371:1: (lv_lowerBound_5_0= ruleXGenericType )
{
// InternalXcore.g:3371:1: (lv_lowerBound_5_0= ruleXGenericType )
// InternalXcore.g:3372:3: lv_lowerBound_5_0= ruleXGenericType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXGenericWildcardTypeArgumentAccess().getLowerBoundXGenericTypeParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_lowerBound_5_0=ruleXGenericType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXGenericWildcardTypeArgumentRule());
}
set(
current,
"lowerBound",
lv_lowerBound_5_0,
"org.eclipse.emf.ecore.xcore.Xcore.XGenericType");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXGenericWildcardTypeArgument"
// $ANTLR start "entryRuleXQualifiedName"
// InternalXcore.g:3396:1: entryRuleXQualifiedName returns [String current=null] : iv_ruleXQualifiedName= ruleXQualifiedName EOF ;
public final String entryRuleXQualifiedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleXQualifiedName = null;
try {
// InternalXcore.g:3397:2: (iv_ruleXQualifiedName= ruleXQualifiedName EOF )
// InternalXcore.g:3398:2: iv_ruleXQualifiedName= ruleXQualifiedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXQualifiedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXQualifiedName=ruleXQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXQualifiedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXQualifiedName"
// $ANTLR start "ruleXQualifiedName"
// InternalXcore.g:3405:1: ruleXQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_XID_0= ruleXID (kw= '.' this_XID_2= ruleXID )* ) ;
public final AntlrDatatypeRuleToken ruleXQualifiedName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_XID_0 = null;
AntlrDatatypeRuleToken this_XID_2 = null;
enterRule();
try {
// InternalXcore.g:3408:28: ( (this_XID_0= ruleXID (kw= '.' this_XID_2= ruleXID )* ) )
// InternalXcore.g:3409:1: (this_XID_0= ruleXID (kw= '.' this_XID_2= ruleXID )* )
{
// InternalXcore.g:3409:1: (this_XID_0= ruleXID (kw= '.' this_XID_2= ruleXID )* )
// InternalXcore.g:3410:5: this_XID_0= ruleXID (kw= '.' this_XID_2= ruleXID )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXQualifiedNameAccess().getXIDParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_74);
this_XID_0=ruleXID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_XID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
// InternalXcore.g:3420:1: (kw= '.' this_XID_2= ruleXID )*
loop77:
do {
int alt77=2;
int LA77_0 = input.LA(1);
if ( (LA77_0==67) ) {
alt77=1;
}
switch (alt77) {
case 1 :
// InternalXcore.g:3421:2: kw= '.' this_XID_2= ruleXID
{
kw=(Token)match(input,67,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXQualifiedNameAccess().getFullStopKeyword_1_0());
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXQualifiedNameAccess().getXIDParserRuleCall_1_1());
}
pushFollow(FollowSets000.FOLLOW_74);
this_XID_2=ruleXID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_XID_2);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop77;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXQualifiedName"
// $ANTLR start "entryRuleXID"
// InternalXcore.g:3445:1: entryRuleXID returns [String current=null] : iv_ruleXID= ruleXID EOF ;
public final String entryRuleXID() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleXID = null;
try {
// InternalXcore.g:3446:2: (iv_ruleXID= ruleXID EOF )
// InternalXcore.g:3447:2: iv_ruleXID= ruleXID EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIDRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXID=ruleXID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXID.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXID"
// $ANTLR start "ruleXID"
// InternalXcore.g:3454:1: ruleXID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | kw= 'get' | kw= 'isSet' | kw= 'set' | kw= 'unset' ) ;
public final AntlrDatatypeRuleToken ruleXID() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_ID_0=null;
Token kw=null;
enterRule();
try {
// InternalXcore.g:3457:28: ( (this_ID_0= RULE_ID | kw= 'get' | kw= 'isSet' | kw= 'set' | kw= 'unset' ) )
// InternalXcore.g:3458:1: (this_ID_0= RULE_ID | kw= 'get' | kw= 'isSet' | kw= 'set' | kw= 'unset' )
{
// InternalXcore.g:3458:1: (this_ID_0= RULE_ID | kw= 'get' | kw= 'isSet' | kw= 'set' | kw= 'unset' )
int alt78=5;
switch ( input.LA(1) ) {
case RULE_ID:
{
alt78=1;
}
break;
case 44:
{
alt78=2;
}
break;
case 46:
{
alt78=3;
}
break;
case 45:
{
alt78=4;
}
break;
case 47:
{
alt78=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 78, 0, input);
throw nvae;
}
switch (alt78) {
case 1 :
// InternalXcore.g:3458:6: this_ID_0= RULE_ID
{
this_ID_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_0, grammarAccess.getXIDAccess().getIDTerminalRuleCall_0());
}
}
break;
case 2 :
// InternalXcore.g:3467:2: kw= 'get'
{
kw=(Token)match(input,44,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXIDAccess().getGetKeyword_1());
}
}
break;
case 3 :
// InternalXcore.g:3474:2: kw= 'isSet'
{
kw=(Token)match(input,46,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXIDAccess().getIsSetKeyword_2());
}
}
break;
case 4 :
// InternalXcore.g:3481:2: kw= 'set'
{
kw=(Token)match(input,45,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXIDAccess().getSetKeyword_3());
}
}
break;
case 5 :
// InternalXcore.g:3488:2: kw= 'unset'
{
kw=(Token)match(input,47,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getXIDAccess().getUnsetKeyword_4());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXID"
// $ANTLR start "entryRuleValidID"
// InternalXcore.g:3501:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ;
public final String entryRuleValidID() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleValidID = null;
try {
// InternalXcore.g:3502:2: (iv_ruleValidID= ruleValidID EOF )
// InternalXcore.g:3503:2: iv_ruleValidID= ruleValidID EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValidIDRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleValidID=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleValidID.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleValidID"
// $ANTLR start "ruleValidID"
// InternalXcore.g:3510:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_XID_0= ruleXID | kw= 'void' ) ;
public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_XID_0 = null;
enterRule();
try {
// InternalXcore.g:3513:28: ( (this_XID_0= ruleXID | kw= 'void' ) )
// InternalXcore.g:3514:1: (this_XID_0= ruleXID | kw= 'void' )
{
// InternalXcore.g:3514:1: (this_XID_0= ruleXID | kw= 'void' )
int alt79=2;
int LA79_0 = input.LA(1);
if ( (LA79_0==RULE_ID||(LA79_0>=44 && LA79_0<=47)) ) {
alt79=1;
}
else if ( (LA79_0==56) ) {
alt79=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 79, 0, input);
throw nvae;
}
switch (alt79) {
case 1 :
// InternalXcore.g:3515:5: this_XID_0= ruleXID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValidIDAccess().getXIDParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XID_0=ruleXID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_XID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalXcore.g:3527:2: kw= 'void'
{
kw=(Token)match(input,56,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getValidIDAccess().getVoidKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleValidID"
// $ANTLR start "entryRuleFeatureCallID"
// InternalXcore.g:3540:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ;
public final String entryRuleFeatureCallID() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleFeatureCallID = null;
try {
// InternalXcore.g:3541:2: (iv_ruleFeatureCallID= ruleFeatureCallID EOF )
// InternalXcore.g:3542:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFeatureCallIDRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleFeatureCallID=ruleFeatureCallID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleFeatureCallID.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFeatureCallID"
// $ANTLR start "ruleFeatureCallID"
// InternalXcore.g:3549:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'abstract' | kw= 'annotation' | kw= 'as' | kw= 'class' | kw= 'container' | kw= 'contains' | kw= 'convert' | kw= 'create' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'extension' | kw= 'id' | kw= 'import' | kw= 'keys' | kw= 'interface' | kw= 'local' | kw= 'op' | kw= 'opposite' | kw= 'package' | kw= 'readonly' | kw= 'refers' | kw= 'resolving' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unordered' | kw= 'unsettable' | kw= 'volatile' | kw= 'wraps' ) ;
public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_ValidID_0 = null;
enterRule();
try {
// InternalXcore.g:3552:28: ( (this_ValidID_0= ruleValidID | kw= 'abstract' | kw= 'annotation' | kw= 'as' | kw= 'class' | kw= 'container' | kw= 'contains' | kw= 'convert' | kw= 'create' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'extension' | kw= 'id' | kw= 'import' | kw= 'keys' | kw= 'interface' | kw= 'local' | kw= 'op' | kw= 'opposite' | kw= 'package' | kw= 'readonly' | kw= 'refers' | kw= 'resolving' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unordered' | kw= 'unsettable' | kw= 'volatile' | kw= 'wraps' ) )
// InternalXcore.g:3553:1: (this_ValidID_0= ruleValidID | kw= 'abstract' | kw= 'annotation' | kw= 'as' | kw= 'class' | kw= 'container' | kw= 'contains' | kw= 'convert' | kw= 'create' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'extension' | kw= 'id' | kw= 'import' | kw= 'keys' | kw= 'interface' | kw= 'local' | kw= 'op' | kw= 'opposite' | kw= 'package' | kw= 'readonly' | kw= 'refers' | kw= 'resolving' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unordered' | kw= 'unsettable' | kw= 'volatile' | kw= 'wraps' )
{
// InternalXcore.g:3553:1: (this_ValidID_0= ruleValidID | kw= 'abstract' | kw= 'annotation' | kw= 'as' | kw= 'class' | kw= 'container' | kw= 'contains' | kw= 'convert' | kw= 'create' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'extension' | kw= 'id' | kw= 'import' | kw= 'keys' | kw= 'interface' | kw= 'local' | kw= 'op' | kw= 'opposite' | kw= 'package' | kw= 'readonly' | kw= 'refers' | kw= 'resolving' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unordered' | kw= 'unsettable' | kw= 'volatile' | kw= 'wraps' )
int alt80=32;
switch ( input.LA(1) ) {
case RULE_ID:
case 44:
case 45:
case 46:
case 47:
case 56:
{
alt80=1;
}
break;
case 32:
{
alt80=2;
}
break;
case 20:
{
alt80=3;
}
break;
case 21:
{
alt80=4;
}
break;
case 33:
{
alt80=5;
}
break;
case 50:
{
alt80=6;
}
break;
case 48:
{
alt80=7;
}
break;
case 27:
{
alt80=8;
}
break;
case 26:
{
alt80=9;
}
break;
case 42:
{
alt80=10;
}
break;
case 28:
{
alt80=11;
}
break;
case 35:
{
alt80=12;
}
break;
case 68:
{
alt80=13;
}
break;
case 43:
{
alt80=14;
}
break;
case 19:
{
alt80=15;
}
break;
case 54:
{
alt80=16;
}
break;
case 34:
{
alt80=17;
}
break;
case 52:
{
alt80=18;
}
break;
case 55:
{
alt80=19;
}
break;
case 53:
{
alt80=20;
}
break;
case 13:
{
alt80=21;
}
break;
case 38:
{
alt80=22;
}
break;
case 51:
{
alt80=23;
}
break;
case 49:
{
alt80=24;
}
break;
case 69:
{
alt80=25;
}
break;
case 57:
{
alt80=26;
}
break;
case 39:
{
alt80=27;
}
break;
case 37:
{
alt80=28;
}
break;
case 36:
{
alt80=29;
}
break;
case 41:
{
alt80=30;
}
break;
case 40:
{
alt80=31;
}
break;
case 25:
{
alt80=32;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 80, 0, input);
throw nvae;
}
switch (alt80) {
case 1 :
// InternalXcore.g:3554:5: this_ValidID_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ValidID_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ValidID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalXcore.g:3566:2: kw= 'abstract'
{
kw=(Token)match(input,32,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getAbstractKeyword_1());
}
}
break;
case 3 :
// InternalXcore.g:3573:2: kw= 'annotation'
{
kw=(Token)match(input,20,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getAnnotationKeyword_2());
}
}
break;
case 4 :
// InternalXcore.g:3580:2: kw= 'as'
{
kw=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getAsKeyword_3());
}
}
break;
case 5 :
// InternalXcore.g:3587:2: kw= 'class'
{
kw=(Token)match(input,33,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getClassKeyword_4());
}
}
break;
case 6 :
// InternalXcore.g:3594:2: kw= 'container'
{
kw=(Token)match(input,50,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getContainerKeyword_5());
}
}
break;
case 7 :
// InternalXcore.g:3601:2: kw= 'contains'
{
kw=(Token)match(input,48,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getContainsKeyword_6());
}
}
break;
case 8 :
// InternalXcore.g:3608:2: kw= 'convert'
{
kw=(Token)match(input,27,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getConvertKeyword_7());
}
}
break;
case 9 :
// InternalXcore.g:3615:2: kw= 'create'
{
kw=(Token)match(input,26,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getCreateKeyword_8());
}
}
break;
case 10 :
// InternalXcore.g:3622:2: kw= 'derived'
{
kw=(Token)match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getDerivedKeyword_9());
}
}
break;
case 11 :
// InternalXcore.g:3629:2: kw= 'enum'
{
kw=(Token)match(input,28,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getEnumKeyword_10());
}
}
break;
case 12 :
// InternalXcore.g:3636:2: kw= 'extends'
{
kw=(Token)match(input,35,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_11());
}
}
break;
case 13 :
// InternalXcore.g:3643:2: kw= 'extension'
{
kw=(Token)match(input,68,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_12());
}
}
break;
case 14 :
// InternalXcore.g:3650:2: kw= 'id'
{
kw=(Token)match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getIdKeyword_13());
}
}
break;
case 15 :
// InternalXcore.g:3657:2: kw= 'import'
{
kw=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_14());
}
}
break;
case 16 :
// InternalXcore.g:3664:2: kw= 'keys'
{
kw=(Token)match(input,54,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getKeysKeyword_15());
}
}
break;
case 17 :
// InternalXcore.g:3671:2: kw= 'interface'
{
kw=(Token)match(input,34,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getInterfaceKeyword_16());
}
}
break;
case 18 :
// InternalXcore.g:3678:2: kw= 'local'
{
kw=(Token)match(input,52,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getLocalKeyword_17());
}
}
break;
case 19 :
// InternalXcore.g:3685:2: kw= 'op'
{
kw=(Token)match(input,55,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getOpKeyword_18());
}
}
break;
case 20 :
// InternalXcore.g:3692:2: kw= 'opposite'
{
kw=(Token)match(input,53,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getOppositeKeyword_19());
}
}
break;
case 21 :
// InternalXcore.g:3699:2: kw= 'package'
{
kw=(Token)match(input,13,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getPackageKeyword_20());
}
}
break;
case 22 :
// InternalXcore.g:3706:2: kw= 'readonly'
{
kw=(Token)match(input,38,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getReadonlyKeyword_21());
}
}
break;
case 23 :
// InternalXcore.g:3713:2: kw= 'refers'
{
kw=(Token)match(input,51,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getRefersKeyword_22());
}
}
break;
case 24 :
// InternalXcore.g:3720:2: kw= 'resolving'
{
kw=(Token)match(input,49,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getResolvingKeyword_23());
}
}
break;
case 25 :
// InternalXcore.g:3727:2: kw= 'static'
{
kw=(Token)match(input,69,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_24());
}
}
break;
case 26 :
// InternalXcore.g:3734:2: kw= 'throws'
{
kw=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getThrowsKeyword_25());
}
}
break;
case 27 :
// InternalXcore.g:3741:2: kw= 'transient'
{
kw=(Token)match(input,39,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getTransientKeyword_26());
}
}
break;
case 28 :
// InternalXcore.g:3748:2: kw= 'unique'
{
kw=(Token)match(input,37,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getUniqueKeyword_27());
}
}
break;
case 29 :
// InternalXcore.g:3755:2: kw= 'unordered'
{
kw=(Token)match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getUnorderedKeyword_28());
}
}
break;
case 30 :
// InternalXcore.g:3762:2: kw= 'unsettable'
{
kw=(Token)match(input,41,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getUnsettableKeyword_29());
}
}
break;
case 31 :
// InternalXcore.g:3769:2: kw= 'volatile'
{
kw=(Token)match(input,40,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getVolatileKeyword_30());
}
}
break;
case 32 :
// InternalXcore.g:3776:2: kw= 'wraps'
{
kw=(Token)match(input,25,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getWrapsKeyword_31());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFeatureCallID"
// $ANTLR start "entryRuleXExpression"
// InternalXcore.g:3789:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ;
public final EObject entryRuleXExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXExpression = null;
try {
// InternalXcore.g:3790:2: (iv_ruleXExpression= ruleXExpression EOF )
// InternalXcore.g:3791:2: iv_ruleXExpression= ruleXExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXExpression=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXExpression"
// $ANTLR start "ruleXExpression"
// InternalXcore.g:3798:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ;
public final EObject ruleXExpression() throws RecognitionException {
EObject current = null;
EObject this_XAssignment_0 = null;
enterRule();
try {
// InternalXcore.g:3801:28: (this_XAssignment_0= ruleXAssignment )
// InternalXcore.g:3803:5: this_XAssignment_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XAssignment_0=ruleXAssignment();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAssignment_0;
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXExpression"
// $ANTLR start "entryRuleXAssignment"
// InternalXcore.g:3819:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ;
public final EObject entryRuleXAssignment() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAssignment = null;
try {
// InternalXcore.g:3820:2: (iv_ruleXAssignment= ruleXAssignment EOF )
// InternalXcore.g:3821:2: iv_ruleXAssignment= ruleXAssignment EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXAssignment=ruleXAssignment();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAssignment;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAssignment"
// $ANTLR start "ruleXAssignment"
// InternalXcore.g:3828:1: ruleXAssignment returns [EObject current=null] : ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ;
public final EObject ruleXAssignment() throws RecognitionException {
EObject current = null;
EObject lv_value_3_0 = null;
EObject this_XOrExpression_4 = null;
EObject lv_rightOperand_7_0 = null;
enterRule();
try {
// InternalXcore.g:3831:28: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) )
// InternalXcore.g:3832:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
{
// InternalXcore.g:3832:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
int alt82=2;
alt82 = dfa82.predict(input);
switch (alt82) {
case 1 :
// InternalXcore.g:3832:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
{
// InternalXcore.g:3832:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
// InternalXcore.g:3832:3: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) )
{
// InternalXcore.g:3832:3: ()
// InternalXcore.g:3833:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(),
current);
}
}
// InternalXcore.g:3838:2: ( ( ruleFeatureCallID ) )
// InternalXcore.g:3839:1: ( ruleFeatureCallID )
{
// InternalXcore.g:3839:1: ( ruleFeatureCallID )
// InternalXcore.g:3840:3: ruleFeatureCallID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAssignmentRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_11);
ruleFeatureCallID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2());
}
pushFollow(FollowSets000.FOLLOW_75);
ruleOpSingleAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
// InternalXcore.g:3861:1: ( (lv_value_3_0= ruleXAssignment ) )
// InternalXcore.g:3862:1: (lv_value_3_0= ruleXAssignment )
{
// InternalXcore.g:3862:1: (lv_value_3_0= ruleXAssignment )
// InternalXcore.g:3863:3: lv_value_3_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_value_3_0=ruleXAssignment();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAssignmentRule());
}
set(
current,
"value",
lv_value_3_0,
"org.eclipse.xtext.xbase.Xbase.XAssignment");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalXcore.g:3880:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
{
// InternalXcore.g:3880:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
// InternalXcore.g:3881:5: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_76);
this_XOrExpression_4=ruleXOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XOrExpression_4;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:3889:1: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
int alt81=2;
alt81 = dfa81.predict(input);
switch (alt81) {
case 1 :
// InternalXcore.g:3889:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) )
{
// InternalXcore.g:3889:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) )
// InternalXcore.g:3889:3: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) )
{
// InternalXcore.g:3894:6: ( () ( ( ruleOpMultiAssign ) ) )
// InternalXcore.g:3894:7: () ( ( ruleOpMultiAssign ) )
{
// InternalXcore.g:3894:7: ()
// InternalXcore.g:3895:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
current);
}
}
// InternalXcore.g:3900:2: ( ( ruleOpMultiAssign ) )
// InternalXcore.g:3901:1: ( ruleOpMultiAssign )
{
// InternalXcore.g:3901:1: ( ruleOpMultiAssign )
// InternalXcore.g:3902:3: ruleOpMultiAssign
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAssignmentRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_75);
ruleOpMultiAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalXcore.g:3915:4: ( (lv_rightOperand_7_0= ruleXAssignment ) )
// InternalXcore.g:3916:1: (lv_rightOperand_7_0= ruleXAssignment )
{
// InternalXcore.g:3916:1: (lv_rightOperand_7_0= ruleXAssignment )
// InternalXcore.g:3917:3: lv_rightOperand_7_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_rightOperand_7_0=ruleXAssignment();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAssignmentRule());
}
set(
current,
"rightOperand",
lv_rightOperand_7_0,
"org.eclipse.xtext.xbase.Xbase.XAssignment");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAssignment"
// $ANTLR start "entryRuleOpSingleAssign"
// InternalXcore.g:3941:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ;
public final String entryRuleOpSingleAssign() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpSingleAssign = null;
try {
// InternalXcore.g:3942:2: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF )
// InternalXcore.g:3943:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpSingleAssignRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpSingleAssign=ruleOpSingleAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpSingleAssign.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpSingleAssign"
// $ANTLR start "ruleOpSingleAssign"
// InternalXcore.g:3950:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ;
public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:3953:28: (kw= '=' )
// InternalXcore.g:3955:2: kw= '='
{
kw=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpSingleAssign"
// $ANTLR start "entryRuleOpMultiAssign"
// InternalXcore.g:3968:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ;
public final String entryRuleOpMultiAssign() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpMultiAssign = null;
try {
// InternalXcore.g:3969:2: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF )
// InternalXcore.g:3970:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpMultiAssignRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpMultiAssign=ruleOpMultiAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpMultiAssign.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpMultiAssign"
// $ANTLR start "ruleOpMultiAssign"
// InternalXcore.g:3977:1: ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ;
public final AntlrDatatypeRuleToken ruleOpMultiAssign() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:3980:28: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) )
// InternalXcore.g:3981:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
{
// InternalXcore.g:3981:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
int alt84=7;
switch ( input.LA(1) ) {
case 70:
{
alt84=1;
}
break;
case 71:
{
alt84=2;
}
break;
case 72:
{
alt84=3;
}
break;
case 73:
{
alt84=4;
}
break;
case 74:
{
alt84=5;
}
break;
case 23:
{
alt84=6;
}
break;
case 24:
{
alt84=7;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 84, 0, input);
throw nvae;
}
switch (alt84) {
case 1 :
// InternalXcore.g:3982:2: kw= '+='
{
kw=(Token)match(input,70,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0());
}
}
break;
case 2 :
// InternalXcore.g:3989:2: kw= '-='
{
kw=(Token)match(input,71,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1());
}
}
break;
case 3 :
// InternalXcore.g:3996:2: kw= '*='
{
kw=(Token)match(input,72,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2());
}
}
break;
case 4 :
// InternalXcore.g:4003:2: kw= '/='
{
kw=(Token)match(input,73,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3());
}
}
break;
case 5 :
// InternalXcore.g:4010:2: kw= '%='
{
kw=(Token)match(input,74,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4());
}
}
break;
case 6 :
// InternalXcore.g:4016:6: (kw= '<' kw= '<' kw= '=' )
{
// InternalXcore.g:4016:6: (kw= '<' kw= '<' kw= '=' )
// InternalXcore.g:4017:2: kw= '<' kw= '<' kw= '='
{
kw=(Token)match(input,23,FollowSets000.FOLLOW_77); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0());
}
kw=(Token)match(input,23,FollowSets000.FOLLOW_11); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1());
}
kw=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2());
}
}
}
break;
case 7 :
// InternalXcore.g:4035:6: (kw= '>' (kw= '>' )? kw= '>=' )
{
// InternalXcore.g:4035:6: (kw= '>' (kw= '>' )? kw= '>=' )
// InternalXcore.g:4036:2: kw= '>' (kw= '>' )? kw= '>='
{
kw=(Token)match(input,24,FollowSets000.FOLLOW_78); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0());
}
// InternalXcore.g:4041:1: (kw= '>' )?
int alt83=2;
int LA83_0 = input.LA(1);
if ( (LA83_0==24) ) {
alt83=1;
}
switch (alt83) {
case 1 :
// InternalXcore.g:4042:2: kw= '>'
{
kw=(Token)match(input,24,FollowSets000.FOLLOW_79); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1());
}
}
break;
}
kw=(Token)match(input,75,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2());
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpMultiAssign"
// $ANTLR start "entryRuleXOrExpression"
// InternalXcore.g:4061:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ;
public final EObject entryRuleXOrExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXOrExpression = null;
try {
// InternalXcore.g:4062:2: (iv_ruleXOrExpression= ruleXOrExpression EOF )
// InternalXcore.g:4063:2: iv_ruleXOrExpression= ruleXOrExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOrExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXOrExpression=ruleXOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXOrExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXOrExpression"
// $ANTLR start "ruleXOrExpression"
// InternalXcore.g:4070:1: ruleXOrExpression returns [EObject current=null] : (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ;
public final EObject ruleXOrExpression() throws RecognitionException {
EObject current = null;
EObject this_XAndExpression_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalXcore.g:4073:28: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) )
// InternalXcore.g:4074:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
{
// InternalXcore.g:4074:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
// InternalXcore.g:4075:5: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_80);
this_XAndExpression_0=ruleXAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAndExpression_0;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:4083:1: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
loop85:
do {
int alt85=2;
int LA85_0 = input.LA(1);
if ( (LA85_0==76) ) {
int LA85_2 = input.LA(2);
if ( (synpred5_InternalXcore()) ) {
alt85=1;
}
}
switch (alt85) {
case 1 :
// InternalXcore.g:4083:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) )
{
// InternalXcore.g:4083:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) )
// InternalXcore.g:4083:3: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) )
{
// InternalXcore.g:4088:6: ( () ( ( ruleOpOr ) ) )
// InternalXcore.g:4088:7: () ( ( ruleOpOr ) )
{
// InternalXcore.g:4088:7: ()
// InternalXcore.g:4089:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalXcore.g:4094:2: ( ( ruleOpOr ) )
// InternalXcore.g:4095:1: ( ruleOpOr )
{
// InternalXcore.g:4095:1: ( ruleOpOr )
// InternalXcore.g:4096:3: ruleOpOr
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXOrExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_75);
ruleOpOr();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalXcore.g:4109:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) )
// InternalXcore.g:4110:1: (lv_rightOperand_3_0= ruleXAndExpression )
{
// InternalXcore.g:4110:1: (lv_rightOperand_3_0= ruleXAndExpression )
// InternalXcore.g:4111:3: lv_rightOperand_3_0= ruleXAndExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_80);
lv_rightOperand_3_0=ruleXAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOrExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XAndExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop85;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXOrExpression"
// $ANTLR start "entryRuleOpOr"
// InternalXcore.g:4135:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ;
public final String entryRuleOpOr() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpOr = null;
try {
// InternalXcore.g:4136:2: (iv_ruleOpOr= ruleOpOr EOF )
// InternalXcore.g:4137:2: iv_ruleOpOr= ruleOpOr EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpOrRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpOr=ruleOpOr();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpOr.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpOr"
// $ANTLR start "ruleOpOr"
// InternalXcore.g:4144:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ;
public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:4147:28: (kw= '||' )
// InternalXcore.g:4149:2: kw= '||'
{
kw=(Token)match(input,76,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpOr"
// $ANTLR start "entryRuleXAndExpression"
// InternalXcore.g:4162:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ;
public final EObject entryRuleXAndExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAndExpression = null;
try {
// InternalXcore.g:4163:2: (iv_ruleXAndExpression= ruleXAndExpression EOF )
// InternalXcore.g:4164:2: iv_ruleXAndExpression= ruleXAndExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAndExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXAndExpression=ruleXAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAndExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAndExpression"
// $ANTLR start "ruleXAndExpression"
// InternalXcore.g:4171:1: ruleXAndExpression returns [EObject current=null] : (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ;
public final EObject ruleXAndExpression() throws RecognitionException {
EObject current = null;
EObject this_XEqualityExpression_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalXcore.g:4174:28: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) )
// InternalXcore.g:4175:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
{
// InternalXcore.g:4175:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
// InternalXcore.g:4176:5: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_81);
this_XEqualityExpression_0=ruleXEqualityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XEqualityExpression_0;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:4184:1: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
loop86:
do {
int alt86=2;
int LA86_0 = input.LA(1);
if ( (LA86_0==77) ) {
int LA86_2 = input.LA(2);
if ( (synpred6_InternalXcore()) ) {
alt86=1;
}
}
switch (alt86) {
case 1 :
// InternalXcore.g:4184:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
{
// InternalXcore.g:4184:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) )
// InternalXcore.g:4184:3: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) )
{
// InternalXcore.g:4189:6: ( () ( ( ruleOpAnd ) ) )
// InternalXcore.g:4189:7: () ( ( ruleOpAnd ) )
{
// InternalXcore.g:4189:7: ()
// InternalXcore.g:4190:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalXcore.g:4195:2: ( ( ruleOpAnd ) )
// InternalXcore.g:4196:1: ( ruleOpAnd )
{
// InternalXcore.g:4196:1: ( ruleOpAnd )
// InternalXcore.g:4197:3: ruleOpAnd
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAndExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_75);
ruleOpAnd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalXcore.g:4210:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
// InternalXcore.g:4211:1: (lv_rightOperand_3_0= ruleXEqualityExpression )
{
// InternalXcore.g:4211:1: (lv_rightOperand_3_0= ruleXEqualityExpression )
// InternalXcore.g:4212:3: lv_rightOperand_3_0= ruleXEqualityExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_81);
lv_rightOperand_3_0=ruleXEqualityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAndExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XEqualityExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop86;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAndExpression"
// $ANTLR start "entryRuleOpAnd"
// InternalXcore.g:4236:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ;
public final String entryRuleOpAnd() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpAnd = null;
try {
// InternalXcore.g:4237:2: (iv_ruleOpAnd= ruleOpAnd EOF )
// InternalXcore.g:4238:2: iv_ruleOpAnd= ruleOpAnd EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpAndRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpAnd=ruleOpAnd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpAnd.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpAnd"
// $ANTLR start "ruleOpAnd"
// InternalXcore.g:4245:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ;
public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:4248:28: (kw= '&&' )
// InternalXcore.g:4250:2: kw= '&&'
{
kw=(Token)match(input,77,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpAnd"
// $ANTLR start "entryRuleXEqualityExpression"
// InternalXcore.g:4263:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ;
public final EObject entryRuleXEqualityExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXEqualityExpression = null;
try {
// InternalXcore.g:4264:2: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF )
// InternalXcore.g:4265:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEqualityExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXEqualityExpression=ruleXEqualityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXEqualityExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXEqualityExpression"
// $ANTLR start "ruleXEqualityExpression"
// InternalXcore.g:4272:1: ruleXEqualityExpression returns [EObject current=null] : (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ;
public final EObject ruleXEqualityExpression() throws RecognitionException {
EObject current = null;
EObject this_XRelationalExpression_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalXcore.g:4275:28: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) )
// InternalXcore.g:4276:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
{
// InternalXcore.g:4276:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
// InternalXcore.g:4277:5: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_82);
this_XRelationalExpression_0=ruleXRelationalExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XRelationalExpression_0;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:4285:1: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
loop87:
do {
int alt87=2;
switch ( input.LA(1) ) {
case 78:
{
int LA87_2 = input.LA(2);
if ( (synpred7_InternalXcore()) ) {
alt87=1;
}
}
break;
case 79:
{
int LA87_3 = input.LA(2);
if ( (synpred7_InternalXcore()) ) {
alt87=1;
}
}
break;
case 80:
{
int LA87_4 = input.LA(2);
if ( (synpred7_InternalXcore()) ) {
alt87=1;
}
}
break;
case 81:
{
int LA87_5 = input.LA(2);
if ( (synpred7_InternalXcore()) ) {
alt87=1;
}
}
break;
}
switch (alt87) {
case 1 :
// InternalXcore.g:4285:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
{
// InternalXcore.g:4285:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) )
// InternalXcore.g:4285:3: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) )
{
// InternalXcore.g:4290:6: ( () ( ( ruleOpEquality ) ) )
// InternalXcore.g:4290:7: () ( ( ruleOpEquality ) )
{
// InternalXcore.g:4290:7: ()
// InternalXcore.g:4291:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalXcore.g:4296:2: ( ( ruleOpEquality ) )
// InternalXcore.g:4297:1: ( ruleOpEquality )
{
// InternalXcore.g:4297:1: ( ruleOpEquality )
// InternalXcore.g:4298:3: ruleOpEquality
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXEqualityExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_75);
ruleOpEquality();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalXcore.g:4311:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
// InternalXcore.g:4312:1: (lv_rightOperand_3_0= ruleXRelationalExpression )
{
// InternalXcore.g:4312:1: (lv_rightOperand_3_0= ruleXRelationalExpression )
// InternalXcore.g:4313:3: lv_rightOperand_3_0= ruleXRelationalExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_82);
lv_rightOperand_3_0=ruleXRelationalExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XRelationalExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop87;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXEqualityExpression"
// $ANTLR start "entryRuleOpEquality"
// InternalXcore.g:4337:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ;
public final String entryRuleOpEquality() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpEquality = null;
try {
// InternalXcore.g:4338:2: (iv_ruleOpEquality= ruleOpEquality EOF )
// InternalXcore.g:4339:2: iv_ruleOpEquality= ruleOpEquality EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpEqualityRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpEquality=ruleOpEquality();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpEquality.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpEquality"
// $ANTLR start "ruleOpEquality"
// InternalXcore.g:4346:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ;
public final AntlrDatatypeRuleToken ruleOpEquality() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:4349:28: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) )
// InternalXcore.g:4350:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
{
// InternalXcore.g:4350:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
int alt88=4;
switch ( input.LA(1) ) {
case 78:
{
alt88=1;
}
break;
case 79:
{
alt88=2;
}
break;
case 80:
{
alt88=3;
}
break;
case 81:
{
alt88=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 88, 0, input);
throw nvae;
}
switch (alt88) {
case 1 :
// InternalXcore.g:4351:2: kw= '=='
{
kw=(Token)match(input,78,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0());
}
}
break;
case 2 :
// InternalXcore.g:4358:2: kw= '!='
{
kw=(Token)match(input,79,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1());
}
}
break;
case 3 :
// InternalXcore.g:4365:2: kw= '==='
{
kw=(Token)match(input,80,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2());
}
}
break;
case 4 :
// InternalXcore.g:4372:2: kw= '!=='
{
kw=(Token)match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpEquality"
// $ANTLR start "entryRuleXRelationalExpression"
// InternalXcore.g:4385:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ;
public final EObject entryRuleXRelationalExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXRelationalExpression = null;
try {
// InternalXcore.g:4386:2: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF )
// InternalXcore.g:4387:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXRelationalExpression=ruleXRelationalExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXRelationalExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXRelationalExpression"
// $ANTLR start "ruleXRelationalExpression"
// InternalXcore.g:4394:1: ruleXRelationalExpression returns [EObject current=null] : (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ;
public final EObject ruleXRelationalExpression() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
EObject this_XOtherOperatorExpression_0 = null;
EObject lv_type_3_0 = null;
EObject lv_rightOperand_6_0 = null;
enterRule();
try {
// InternalXcore.g:4397:28: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) )
// InternalXcore.g:4398:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
{
// InternalXcore.g:4398:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
// InternalXcore.g:4399:5: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_83);
this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XOtherOperatorExpression_0;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:4407:1: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
loop89:
do {
int alt89=3;
switch ( input.LA(1) ) {
case 23:
{
int LA89_2 = input.LA(2);
if ( (synpred9_InternalXcore()) ) {
alt89=2;
}
}
break;
case 24:
{
int LA89_3 = input.LA(2);
if ( (synpred9_InternalXcore()) ) {
alt89=2;
}
}
break;
case 82:
{
int LA89_4 = input.LA(2);
if ( (synpred8_InternalXcore()) ) {
alt89=1;
}
}
break;
case 75:
{
int LA89_5 = input.LA(2);
if ( (synpred9_InternalXcore()) ) {
alt89=2;
}
}
break;
}
switch (alt89) {
case 1 :
// InternalXcore.g:4407:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
{
// InternalXcore.g:4407:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
// InternalXcore.g:4407:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
{
// InternalXcore.g:4407:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) )
// InternalXcore.g:4407:4: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' )
{
// InternalXcore.g:4409:5: ( () otherlv_2= 'instanceof' )
// InternalXcore.g:4409:6: () otherlv_2= 'instanceof'
{
// InternalXcore.g:4409:6: ()
// InternalXcore.g:4410:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(),
current);
}
}
otherlv_2=(Token)match(input,82,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1());
}
}
}
// InternalXcore.g:4419:3: ( (lv_type_3_0= ruleJvmTypeReference ) )
// InternalXcore.g:4420:1: (lv_type_3_0= ruleJvmTypeReference )
{
// InternalXcore.g:4420:1: (lv_type_3_0= ruleJvmTypeReference )
// InternalXcore.g:4421:3: lv_type_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_83);
lv_type_3_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
}
set(
current,
"type",
lv_type_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalXcore.g:4438:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
{
// InternalXcore.g:4438:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
// InternalXcore.g:4438:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
{
// InternalXcore.g:4438:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) )
// InternalXcore.g:4438:8: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) )
{
// InternalXcore.g:4443:6: ( () ( ( ruleOpCompare ) ) )
// InternalXcore.g:4443:7: () ( ( ruleOpCompare ) )
{
// InternalXcore.g:4443:7: ()
// InternalXcore.g:4444:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
current);
}
}
// InternalXcore.g:4449:2: ( ( ruleOpCompare ) )
// InternalXcore.g:4450:1: ( ruleOpCompare )
{
// InternalXcore.g:4450:1: ( ruleOpCompare )
// InternalXcore.g:4451:3: ruleOpCompare
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXRelationalExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_75);
ruleOpCompare();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalXcore.g:4464:4: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
// InternalXcore.g:4465:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
{
// InternalXcore.g:4465:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
// InternalXcore.g:4466:3: lv_rightOperand_6_0= ruleXOtherOperatorExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_83);
lv_rightOperand_6_0=ruleXOtherOperatorExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_6_0,
"org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
default :
break loop89;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXRelationalExpression"
// $ANTLR start "entryRuleOpCompare"
// InternalXcore.g:4490:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ;
public final String entryRuleOpCompare() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpCompare = null;
try {
// InternalXcore.g:4491:2: (iv_ruleOpCompare= ruleOpCompare EOF )
// InternalXcore.g:4492:2: iv_ruleOpCompare= ruleOpCompare EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpCompareRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpCompare=ruleOpCompare();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpCompare.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpCompare"
// $ANTLR start "ruleOpCompare"
// InternalXcore.g:4499:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ;
public final AntlrDatatypeRuleToken ruleOpCompare() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:4502:28: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) )
// InternalXcore.g:4503:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
{
// InternalXcore.g:4503:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
int alt90=4;
switch ( input.LA(1) ) {
case 75:
{
alt90=1;
}
break;
case 23:
{
int LA90_2 = input.LA(2);
if ( (LA90_2==EOF||(LA90_2>=RULE_STRING && LA90_2<=RULE_DECIMAL)||LA90_2==13||LA90_2==15||(LA90_2>=19 && LA90_2<=21)||LA90_2==23||(LA90_2>=25 && LA90_2<=29)||(LA90_2>=31 && LA90_2<=57)||LA90_2==59||LA90_2==62||LA90_2==66||(LA90_2>=68 && LA90_2<=69)||LA90_2==91||LA90_2==96||LA90_2==98||LA90_2==100||(LA90_2>=104 && LA90_2<=106)||(LA90_2>=109 && LA90_2<=116)||LA90_2==118) ) {
alt90=4;
}
else if ( (LA90_2==18) ) {
alt90=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 90, 2, input);
throw nvae;
}
}
break;
case 24:
{
alt90=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 90, 0, input);
throw nvae;
}
switch (alt90) {
case 1 :
// InternalXcore.g:4504:2: kw= '>='
{
kw=(Token)match(input,75,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0());
}
}
break;
case 2 :
// InternalXcore.g:4510:6: (kw= '<' kw= '=' )
{
// InternalXcore.g:4510:6: (kw= '<' kw= '=' )
// InternalXcore.g:4511:2: kw= '<' kw= '='
{
kw=(Token)match(input,23,FollowSets000.FOLLOW_11); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0());
}
kw=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1());
}
}
}
break;
case 3 :
// InternalXcore.g:4524:2: kw= '>'
{
kw=(Token)match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2());
}
}
break;
case 4 :
// InternalXcore.g:4531:2: kw= '<'
{
kw=(Token)match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpCompare"
// $ANTLR start "entryRuleXOtherOperatorExpression"
// InternalXcore.g:4544:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ;
public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXOtherOperatorExpression = null;
try {
// InternalXcore.g:4545:2: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF )
// InternalXcore.g:4546:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXOtherOperatorExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXOtherOperatorExpression"
// $ANTLR start "ruleXOtherOperatorExpression"
// InternalXcore.g:4553:1: ruleXOtherOperatorExpression returns [EObject current=null] : (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ;
public final EObject ruleXOtherOperatorExpression() throws RecognitionException {
EObject current = null;
EObject this_XAdditiveExpression_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalXcore.g:4556:28: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) )
// InternalXcore.g:4557:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
{
// InternalXcore.g:4557:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
// InternalXcore.g:4558:5: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_84);
this_XAdditiveExpression_0=ruleXAdditiveExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAdditiveExpression_0;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:4566:1: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
loop91:
do {
int alt91=2;
alt91 = dfa91.predict(input);
switch (alt91) {
case 1 :
// InternalXcore.g:4566:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
{
// InternalXcore.g:4566:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) )
// InternalXcore.g:4566:3: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) )
{
// InternalXcore.g:4571:6: ( () ( ( ruleOpOther ) ) )
// InternalXcore.g:4571:7: () ( ( ruleOpOther ) )
{
// InternalXcore.g:4571:7: ()
// InternalXcore.g:4572:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalXcore.g:4577:2: ( ( ruleOpOther ) )
// InternalXcore.g:4578:1: ( ruleOpOther )
{
// InternalXcore.g:4578:1: ( ruleOpOther )
// InternalXcore.g:4579:3: ruleOpOther
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_75);
ruleOpOther();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalXcore.g:4592:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
// InternalXcore.g:4593:1: (lv_rightOperand_3_0= ruleXAdditiveExpression )
{
// InternalXcore.g:4593:1: (lv_rightOperand_3_0= ruleXAdditiveExpression )
// InternalXcore.g:4594:3: lv_rightOperand_3_0= ruleXAdditiveExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_84);
lv_rightOperand_3_0=ruleXAdditiveExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XAdditiveExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop91;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXOtherOperatorExpression"
// $ANTLR start "entryRuleOpOther"
// InternalXcore.g:4618:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ;
public final String entryRuleOpOther() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpOther = null;
try {
// InternalXcore.g:4619:2: (iv_ruleOpOther= ruleOpOther EOF )
// InternalXcore.g:4620:2: iv_ruleOpOther= ruleOpOther EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpOtherRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpOther=ruleOpOther();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpOther.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpOther"
// $ANTLR start "ruleOpOther"
// InternalXcore.g:4627:1: ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ;
public final AntlrDatatypeRuleToken ruleOpOther() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:4630:28: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) )
// InternalXcore.g:4631:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
{
// InternalXcore.g:4631:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
int alt94=9;
alt94 = dfa94.predict(input);
switch (alt94) {
case 1 :
// InternalXcore.g:4632:2: kw= '->'
{
kw=(Token)match(input,83,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0());
}
}
break;
case 2 :
// InternalXcore.g:4639:2: kw= '..<'
{
kw=(Token)match(input,84,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1());
}
}
break;
case 3 :
// InternalXcore.g:4645:6: (kw= '>' kw= '..' )
{
// InternalXcore.g:4645:6: (kw= '>' kw= '..' )
// InternalXcore.g:4646:2: kw= '>' kw= '..'
{
kw=(Token)match(input,24,FollowSets000.FOLLOW_85); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0());
}
kw=(Token)match(input,63,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1());
}
}
}
break;
case 4 :
// InternalXcore.g:4659:2: kw= '..'
{
kw=(Token)match(input,63,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3());
}
}
break;
case 5 :
// InternalXcore.g:4666:2: kw= '=>'
{
kw=(Token)match(input,85,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4());
}
}
break;
case 6 :
// InternalXcore.g:4672:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
{
// InternalXcore.g:4672:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
// InternalXcore.g:4673:2: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
{
kw=(Token)match(input,24,FollowSets000.FOLLOW_86); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0());
}
// InternalXcore.g:4678:1: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
int alt92=2;
int LA92_0 = input.LA(1);
if ( (LA92_0==24) ) {
int LA92_1 = input.LA(2);
if ( (LA92_1==24) && (synpred11_InternalXcore())) {
alt92=1;
}
else if ( (LA92_1==EOF||(LA92_1>=RULE_STRING && LA92_1<=RULE_DECIMAL)||LA92_1==13||LA92_1==15||(LA92_1>=19 && LA92_1<=21)||LA92_1==23||(LA92_1>=25 && LA92_1<=29)||(LA92_1>=31 && LA92_1<=57)||LA92_1==59||LA92_1==62||LA92_1==66||(LA92_1>=68 && LA92_1<=69)||LA92_1==91||LA92_1==96||LA92_1==98||LA92_1==100||(LA92_1>=104 && LA92_1<=106)||(LA92_1>=109 && LA92_1<=116)||LA92_1==118) ) {
alt92=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 92, 1, input);
throw nvae;
}
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 92, 0, input);
throw nvae;
}
switch (alt92) {
case 1 :
// InternalXcore.g:4678:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
{
// InternalXcore.g:4678:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
// InternalXcore.g:4678:3: ( ( '>' '>' ) )=> (kw= '>' kw= '>' )
{
// InternalXcore.g:4682:5: (kw= '>' kw= '>' )
// InternalXcore.g:4683:2: kw= '>' kw= '>'
{
kw=(Token)match(input,24,FollowSets000.FOLLOW_86); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0());
}
kw=(Token)match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1());
}
}
}
}
break;
case 2 :
// InternalXcore.g:4696:2: kw= '>'
{
kw=(Token)match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1());
}
}
break;
}
}
}
break;
case 7 :
// InternalXcore.g:4702:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
{
// InternalXcore.g:4702:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
// InternalXcore.g:4703:2: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
{
kw=(Token)match(input,23,FollowSets000.FOLLOW_87); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0());
}
// InternalXcore.g:4708:1: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
int alt93=3;
int LA93_0 = input.LA(1);
if ( (LA93_0==23) ) {
int LA93_1 = input.LA(2);
if ( (synpred12_InternalXcore()) ) {
alt93=1;
}
else if ( (true) ) {
alt93=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 93, 1, input);
throw nvae;
}
}
else if ( (LA93_0==85) ) {
alt93=3;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 93, 0, input);
throw nvae;
}
switch (alt93) {
case 1 :
// InternalXcore.g:4708:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
{
// InternalXcore.g:4708:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
// InternalXcore.g:4708:3: ( ( '<' '<' ) )=> (kw= '<' kw= '<' )
{
// InternalXcore.g:4712:5: (kw= '<' kw= '<' )
// InternalXcore.g:4713:2: kw= '<' kw= '<'
{
kw=(Token)match(input,23,FollowSets000.FOLLOW_77); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0());
}
kw=(Token)match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1());
}
}
}
}
break;
case 2 :
// InternalXcore.g:4726:2: kw= '<'
{
kw=(Token)match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1());
}
}
break;
case 3 :
// InternalXcore.g:4733:2: kw= '=>'
{
kw=(Token)match(input,85,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2());
}
}
break;
}
}
}
break;
case 8 :
// InternalXcore.g:4740:2: kw= '<>'
{
kw=(Token)match(input,86,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7());
}
}
break;
case 9 :
// InternalXcore.g:4747:2: kw= '?:'
{
kw=(Token)match(input,87,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpOther"
// $ANTLR start "entryRuleXAdditiveExpression"
// InternalXcore.g:4760:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ;
public final EObject entryRuleXAdditiveExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAdditiveExpression = null;
try {
// InternalXcore.g:4761:2: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF )
// InternalXcore.g:4762:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAdditiveExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXAdditiveExpression=ruleXAdditiveExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAdditiveExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAdditiveExpression"
// $ANTLR start "ruleXAdditiveExpression"
// InternalXcore.g:4769:1: ruleXAdditiveExpression returns [EObject current=null] : (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ;
public final EObject ruleXAdditiveExpression() throws RecognitionException {
EObject current = null;
EObject this_XMultiplicativeExpression_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalXcore.g:4772:28: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) )
// InternalXcore.g:4773:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
{
// InternalXcore.g:4773:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
// InternalXcore.g:4774:5: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_88);
this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XMultiplicativeExpression_0;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:4782:1: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
loop95:
do {
int alt95=2;
int LA95_0 = input.LA(1);
if ( (LA95_0==62) ) {
int LA95_2 = input.LA(2);
if ( (synpred13_InternalXcore()) ) {
alt95=1;
}
}
else if ( (LA95_0==31) ) {
int LA95_3 = input.LA(2);
if ( (synpred13_InternalXcore()) ) {
alt95=1;
}
}
switch (alt95) {
case 1 :
// InternalXcore.g:4782:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
{
// InternalXcore.g:4782:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) )
// InternalXcore.g:4782:3: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) )
{
// InternalXcore.g:4787:6: ( () ( ( ruleOpAdd ) ) )
// InternalXcore.g:4787:7: () ( ( ruleOpAdd ) )
{
// InternalXcore.g:4787:7: ()
// InternalXcore.g:4788:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalXcore.g:4793:2: ( ( ruleOpAdd ) )
// InternalXcore.g:4794:1: ( ruleOpAdd )
{
// InternalXcore.g:4794:1: ( ruleOpAdd )
// InternalXcore.g:4795:3: ruleOpAdd
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAdditiveExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_75);
ruleOpAdd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalXcore.g:4808:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
// InternalXcore.g:4809:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
{
// InternalXcore.g:4809:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
// InternalXcore.g:4810:3: lv_rightOperand_3_0= ruleXMultiplicativeExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_88);
lv_rightOperand_3_0=ruleXMultiplicativeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop95;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAdditiveExpression"
// $ANTLR start "entryRuleOpAdd"
// InternalXcore.g:4834:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ;
public final String entryRuleOpAdd() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpAdd = null;
try {
// InternalXcore.g:4835:2: (iv_ruleOpAdd= ruleOpAdd EOF )
// InternalXcore.g:4836:2: iv_ruleOpAdd= ruleOpAdd EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpAddRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpAdd=ruleOpAdd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpAdd.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpAdd"
// $ANTLR start "ruleOpAdd"
// InternalXcore.g:4843:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ;
public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:4846:28: ( (kw= '+' | kw= '-' ) )
// InternalXcore.g:4847:1: (kw= '+' | kw= '-' )
{
// InternalXcore.g:4847:1: (kw= '+' | kw= '-' )
int alt96=2;
int LA96_0 = input.LA(1);
if ( (LA96_0==62) ) {
alt96=1;
}
else if ( (LA96_0==31) ) {
alt96=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 96, 0, input);
throw nvae;
}
switch (alt96) {
case 1 :
// InternalXcore.g:4848:2: kw= '+'
{
kw=(Token)match(input,62,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0());
}
}
break;
case 2 :
// InternalXcore.g:4855:2: kw= '-'
{
kw=(Token)match(input,31,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpAdd"
// $ANTLR start "entryRuleXMultiplicativeExpression"
// InternalXcore.g:4868:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ;
public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXMultiplicativeExpression = null;
try {
// InternalXcore.g:4869:2: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF )
// InternalXcore.g:4870:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXMultiplicativeExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXMultiplicativeExpression"
// $ANTLR start "ruleXMultiplicativeExpression"
// InternalXcore.g:4877:1: ruleXMultiplicativeExpression returns [EObject current=null] : (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ;
public final EObject ruleXMultiplicativeExpression() throws RecognitionException {
EObject current = null;
EObject this_XUnaryOperation_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalXcore.g:4880:28: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) )
// InternalXcore.g:4881:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
{
// InternalXcore.g:4881:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
// InternalXcore.g:4882:5: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_89);
this_XUnaryOperation_0=ruleXUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XUnaryOperation_0;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:4890:1: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
loop97:
do {
int alt97=2;
switch ( input.LA(1) ) {
case 61:
{
int LA97_2 = input.LA(2);
if ( (synpred14_InternalXcore()) ) {
alt97=1;
}
}
break;
case 88:
{
int LA97_3 = input.LA(2);
if ( (synpred14_InternalXcore()) ) {
alt97=1;
}
}
break;
case 89:
{
int LA97_4 = input.LA(2);
if ( (synpred14_InternalXcore()) ) {
alt97=1;
}
}
break;
case 90:
{
int LA97_5 = input.LA(2);
if ( (synpred14_InternalXcore()) ) {
alt97=1;
}
}
break;
}
switch (alt97) {
case 1 :
// InternalXcore.g:4890:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
{
// InternalXcore.g:4890:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) )
// InternalXcore.g:4890:3: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) )
{
// InternalXcore.g:4895:6: ( () ( ( ruleOpMulti ) ) )
// InternalXcore.g:4895:7: () ( ( ruleOpMulti ) )
{
// InternalXcore.g:4895:7: ()
// InternalXcore.g:4896:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalXcore.g:4901:2: ( ( ruleOpMulti ) )
// InternalXcore.g:4902:1: ( ruleOpMulti )
{
// InternalXcore.g:4902:1: ( ruleOpMulti )
// InternalXcore.g:4903:3: ruleOpMulti
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_75);
ruleOpMulti();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalXcore.g:4916:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
// InternalXcore.g:4917:1: (lv_rightOperand_3_0= ruleXUnaryOperation )
{
// InternalXcore.g:4917:1: (lv_rightOperand_3_0= ruleXUnaryOperation )
// InternalXcore.g:4918:3: lv_rightOperand_3_0= ruleXUnaryOperation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_89);
lv_rightOperand_3_0=ruleXUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XUnaryOperation");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop97;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXMultiplicativeExpression"
// $ANTLR start "entryRuleOpMulti"
// InternalXcore.g:4942:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ;
public final String entryRuleOpMulti() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpMulti = null;
try {
// InternalXcore.g:4943:2: (iv_ruleOpMulti= ruleOpMulti EOF )
// InternalXcore.g:4944:2: iv_ruleOpMulti= ruleOpMulti EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpMultiRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpMulti=ruleOpMulti();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpMulti.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpMulti"
// $ANTLR start "ruleOpMulti"
// InternalXcore.g:4951:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ;
public final AntlrDatatypeRuleToken ruleOpMulti() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:4954:28: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) )
// InternalXcore.g:4955:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
{
// InternalXcore.g:4955:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
int alt98=4;
switch ( input.LA(1) ) {
case 61:
{
alt98=1;
}
break;
case 88:
{
alt98=2;
}
break;
case 89:
{
alt98=3;
}
break;
case 90:
{
alt98=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 98, 0, input);
throw nvae;
}
switch (alt98) {
case 1 :
// InternalXcore.g:4956:2: kw= '*'
{
kw=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0());
}
}
break;
case 2 :
// InternalXcore.g:4963:2: kw= '**'
{
kw=(Token)match(input,88,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1());
}
}
break;
case 3 :
// InternalXcore.g:4970:2: kw= '/'
{
kw=(Token)match(input,89,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2());
}
}
break;
case 4 :
// InternalXcore.g:4977:2: kw= '%'
{
kw=(Token)match(input,90,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpMulti"
// $ANTLR start "entryRuleXUnaryOperation"
// InternalXcore.g:4990:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ;
public final EObject entryRuleXUnaryOperation() throws RecognitionException {
EObject current = null;
EObject iv_ruleXUnaryOperation = null;
try {
// InternalXcore.g:4991:2: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF )
// InternalXcore.g:4992:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXUnaryOperationRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXUnaryOperation=ruleXUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXUnaryOperation;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXUnaryOperation"
// $ANTLR start "ruleXUnaryOperation"
// InternalXcore.g:4999:1: ruleXUnaryOperation returns [EObject current=null] : ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ;
public final EObject ruleXUnaryOperation() throws RecognitionException {
EObject current = null;
EObject lv_operand_2_0 = null;
EObject this_XCastedExpression_3 = null;
enterRule();
try {
// InternalXcore.g:5002:28: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) )
// InternalXcore.g:5003:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
{
// InternalXcore.g:5003:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
int alt99=2;
int LA99_0 = input.LA(1);
if ( (LA99_0==31||LA99_0==62||LA99_0==91) ) {
alt99=1;
}
else if ( ((LA99_0>=RULE_STRING && LA99_0<=RULE_DECIMAL)||LA99_0==13||LA99_0==15||(LA99_0>=19 && LA99_0<=21)||LA99_0==23||(LA99_0>=25 && LA99_0<=29)||(LA99_0>=32 && LA99_0<=57)||LA99_0==59||LA99_0==66||(LA99_0>=68 && LA99_0<=69)||LA99_0==96||LA99_0==98||LA99_0==100||(LA99_0>=104 && LA99_0<=106)||(LA99_0>=109 && LA99_0<=116)||LA99_0==118) ) {
alt99=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 99, 0, input);
throw nvae;
}
switch (alt99) {
case 1 :
// InternalXcore.g:5003:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
{
// InternalXcore.g:5003:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
// InternalXcore.g:5003:3: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) )
{
// InternalXcore.g:5003:3: ()
// InternalXcore.g:5004:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(),
current);
}
}
// InternalXcore.g:5009:2: ( ( ruleOpUnary ) )
// InternalXcore.g:5010:1: ( ruleOpUnary )
{
// InternalXcore.g:5010:1: ( ruleOpUnary )
// InternalXcore.g:5011:3: ruleOpUnary
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXUnaryOperationRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_75);
ruleOpUnary();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:5024:2: ( (lv_operand_2_0= ruleXUnaryOperation ) )
// InternalXcore.g:5025:1: (lv_operand_2_0= ruleXUnaryOperation )
{
// InternalXcore.g:5025:1: (lv_operand_2_0= ruleXUnaryOperation )
// InternalXcore.g:5026:3: lv_operand_2_0= ruleXUnaryOperation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_operand_2_0=ruleXUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXUnaryOperationRule());
}
set(
current,
"operand",
lv_operand_2_0,
"org.eclipse.xtext.xbase.Xbase.XUnaryOperation");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalXcore.g:5044:5: this_XCastedExpression_3= ruleXCastedExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XCastedExpression_3=ruleXCastedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XCastedExpression_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXUnaryOperation"
// $ANTLR start "entryRuleOpUnary"
// InternalXcore.g:5060:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ;
public final String entryRuleOpUnary() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpUnary = null;
try {
// InternalXcore.g:5061:2: (iv_ruleOpUnary= ruleOpUnary EOF )
// InternalXcore.g:5062:2: iv_ruleOpUnary= ruleOpUnary EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpUnaryRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpUnary=ruleOpUnary();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpUnary.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpUnary"
// $ANTLR start "ruleOpUnary"
// InternalXcore.g:5069:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '!' | kw= '-' | kw= '+' ) ;
public final AntlrDatatypeRuleToken ruleOpUnary() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:5072:28: ( (kw= '!' | kw= '-' | kw= '+' ) )
// InternalXcore.g:5073:1: (kw= '!' | kw= '-' | kw= '+' )
{
// InternalXcore.g:5073:1: (kw= '!' | kw= '-' | kw= '+' )
int alt100=3;
switch ( input.LA(1) ) {
case 91:
{
alt100=1;
}
break;
case 31:
{
alt100=2;
}
break;
case 62:
{
alt100=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 100, 0, input);
throw nvae;
}
switch (alt100) {
case 1 :
// InternalXcore.g:5074:2: kw= '!'
{
kw=(Token)match(input,91,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0());
}
}
break;
case 2 :
// InternalXcore.g:5081:2: kw= '-'
{
kw=(Token)match(input,31,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1());
}
}
break;
case 3 :
// InternalXcore.g:5088:2: kw= '+'
{
kw=(Token)match(input,62,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpUnary"
// $ANTLR start "entryRuleXCastedExpression"
// InternalXcore.g:5101:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ;
public final EObject entryRuleXCastedExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCastedExpression = null;
try {
// InternalXcore.g:5102:2: (iv_ruleXCastedExpression= ruleXCastedExpression EOF )
// InternalXcore.g:5103:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCastedExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXCastedExpression=ruleXCastedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCastedExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCastedExpression"
// $ANTLR start "ruleXCastedExpression"
// InternalXcore.g:5110:1: ruleXCastedExpression returns [EObject current=null] : (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ;
public final EObject ruleXCastedExpression() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
EObject this_XPostfixOperation_0 = null;
EObject lv_type_3_0 = null;
enterRule();
try {
// InternalXcore.g:5113:28: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) )
// InternalXcore.g:5114:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
{
// InternalXcore.g:5114:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
// InternalXcore.g:5115:5: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_90);
this_XPostfixOperation_0=ruleXPostfixOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XPostfixOperation_0;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:5123:1: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
loop101:
do {
int alt101=2;
int LA101_0 = input.LA(1);
if ( (LA101_0==21) ) {
int LA101_2 = input.LA(2);
if ( (synpred15_InternalXcore()) ) {
alt101=1;
}
}
switch (alt101) {
case 1 :
// InternalXcore.g:5123:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
{
// InternalXcore.g:5123:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) )
// InternalXcore.g:5123:3: ( ( () 'as' ) )=> ( () otherlv_2= 'as' )
{
// InternalXcore.g:5125:5: ( () otherlv_2= 'as' )
// InternalXcore.g:5125:6: () otherlv_2= 'as'
{
// InternalXcore.g:5125:6: ()
// InternalXcore.g:5126:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(),
current);
}
}
otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1());
}
}
}
// InternalXcore.g:5135:3: ( (lv_type_3_0= ruleJvmTypeReference ) )
// InternalXcore.g:5136:1: (lv_type_3_0= ruleJvmTypeReference )
{
// InternalXcore.g:5136:1: (lv_type_3_0= ruleJvmTypeReference )
// InternalXcore.g:5137:3: lv_type_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_90);
lv_type_3_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCastedExpressionRule());
}
set(
current,
"type",
lv_type_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop101;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXCastedExpression"
// $ANTLR start "entryRuleXPostfixOperation"
// InternalXcore.g:5161:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ;
public final EObject entryRuleXPostfixOperation() throws RecognitionException {
EObject current = null;
EObject iv_ruleXPostfixOperation = null;
try {
// InternalXcore.g:5162:2: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF )
// InternalXcore.g:5163:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPostfixOperationRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXPostfixOperation=ruleXPostfixOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXPostfixOperation;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXPostfixOperation"
// $ANTLR start "ruleXPostfixOperation"
// InternalXcore.g:5170:1: ruleXPostfixOperation returns [EObject current=null] : (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ;
public final EObject ruleXPostfixOperation() throws RecognitionException {
EObject current = null;
EObject this_XMemberFeatureCall_0 = null;
enterRule();
try {
// InternalXcore.g:5173:28: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) )
// InternalXcore.g:5174:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
{
// InternalXcore.g:5174:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
// InternalXcore.g:5175:5: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_91);
this_XMemberFeatureCall_0=ruleXMemberFeatureCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XMemberFeatureCall_0;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:5183:1: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
int alt102=2;
int LA102_0 = input.LA(1);
if ( (LA102_0==92) ) {
int LA102_1 = input.LA(2);
if ( (synpred16_InternalXcore()) ) {
alt102=1;
}
}
else if ( (LA102_0==93) ) {
int LA102_2 = input.LA(2);
if ( (synpred16_InternalXcore()) ) {
alt102=1;
}
}
switch (alt102) {
case 1 :
// InternalXcore.g:5183:2: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) )
{
// InternalXcore.g:5188:6: ( () ( ( ruleOpPostfix ) ) )
// InternalXcore.g:5188:7: () ( ( ruleOpPostfix ) )
{
// InternalXcore.g:5188:7: ()
// InternalXcore.g:5189:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(),
current);
}
}
// InternalXcore.g:5194:2: ( ( ruleOpPostfix ) )
// InternalXcore.g:5195:1: ( ruleOpPostfix )
{
// InternalXcore.g:5195:1: ( ruleOpPostfix )
// InternalXcore.g:5196:3: ruleOpPostfix
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXPostfixOperationRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleOpPostfix();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXPostfixOperation"
// $ANTLR start "entryRuleOpPostfix"
// InternalXcore.g:5217:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ;
public final String entryRuleOpPostfix() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpPostfix = null;
try {
// InternalXcore.g:5218:2: (iv_ruleOpPostfix= ruleOpPostfix EOF )
// InternalXcore.g:5219:2: iv_ruleOpPostfix= ruleOpPostfix EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpPostfixRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpPostfix=ruleOpPostfix();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpPostfix.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpPostfix"
// $ANTLR start "ruleOpPostfix"
// InternalXcore.g:5226:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ;
public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:5229:28: ( (kw= '++' | kw= '--' ) )
// InternalXcore.g:5230:1: (kw= '++' | kw= '--' )
{
// InternalXcore.g:5230:1: (kw= '++' | kw= '--' )
int alt103=2;
int LA103_0 = input.LA(1);
if ( (LA103_0==92) ) {
alt103=1;
}
else if ( (LA103_0==93) ) {
alt103=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 103, 0, input);
throw nvae;
}
switch (alt103) {
case 1 :
// InternalXcore.g:5231:2: kw= '++'
{
kw=(Token)match(input,92,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0());
}
}
break;
case 2 :
// InternalXcore.g:5238:2: kw= '--'
{
kw=(Token)match(input,93,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpPostfix"
// $ANTLR start "entryRuleXMemberFeatureCall"
// InternalXcore.g:5251:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ;
public final EObject entryRuleXMemberFeatureCall() throws RecognitionException {
EObject current = null;
EObject iv_ruleXMemberFeatureCall = null;
try {
// InternalXcore.g:5252:2: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF )
// InternalXcore.g:5253:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXMemberFeatureCall;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXMemberFeatureCall"
// $ANTLR start "ruleXMemberFeatureCall"
// InternalXcore.g:5260:1: ruleXMemberFeatureCall returns [EObject current=null] : (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ;
public final EObject ruleXMemberFeatureCall() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token lv_explicitStatic_3_0=null;
Token otherlv_8=null;
Token lv_nullSafe_9_0=null;
Token lv_explicitStatic_10_0=null;
Token otherlv_11=null;
Token otherlv_13=null;
Token otherlv_15=null;
Token lv_explicitOperationCall_17_0=null;
Token otherlv_20=null;
Token otherlv_22=null;
EObject this_XPrimaryExpression_0 = null;
EObject lv_value_6_0 = null;
EObject lv_typeArguments_12_0 = null;
EObject lv_typeArguments_14_0 = null;
EObject lv_memberCallArguments_18_0 = null;
EObject lv_memberCallArguments_19_0 = null;
EObject lv_memberCallArguments_21_0 = null;
EObject lv_memberCallArguments_23_0 = null;
enterRule();
try {
// InternalXcore.g:5263:28: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) )
// InternalXcore.g:5264:1: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
{
// InternalXcore.g:5264:1: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
// InternalXcore.g:5265:5: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_92);
this_XPrimaryExpression_0=ruleXPrimaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XPrimaryExpression_0;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:5273:1: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
loop112:
do {
int alt112=3;
switch ( input.LA(1) ) {
case 67:
{
int LA112_2 = input.LA(2);
if ( (synpred17_InternalXcore()) ) {
alt112=1;
}
else if ( (synpred18_InternalXcore()) ) {
alt112=2;
}
}
break;
case 94:
{
int LA112_3 = input.LA(2);
if ( (synpred17_InternalXcore()) ) {
alt112=1;
}
else if ( (synpred18_InternalXcore()) ) {
alt112=2;
}
}
break;
case 95:
{
int LA112_4 = input.LA(2);
if ( (synpred18_InternalXcore()) ) {
alt112=2;
}
}
break;
}
switch (alt112) {
case 1 :
// InternalXcore.g:5273:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
{
// InternalXcore.g:5273:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
// InternalXcore.g:5273:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) )
{
// InternalXcore.g:5273:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
// InternalXcore.g:5273:4: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
{
// InternalXcore.g:5286:25: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
// InternalXcore.g:5286:26: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
{
// InternalXcore.g:5286:26: ()
// InternalXcore.g:5287:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(),
current);
}
}
// InternalXcore.g:5292:2: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) )
int alt104=2;
int LA104_0 = input.LA(1);
if ( (LA104_0==67) ) {
alt104=1;
}
else if ( (LA104_0==94) ) {
alt104=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 104, 0, input);
throw nvae;
}
switch (alt104) {
case 1 :
// InternalXcore.g:5292:4: otherlv_2= '.'
{
otherlv_2=(Token)match(input,67,FollowSets000.FOLLOW_93); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0());
}
}
break;
case 2 :
// InternalXcore.g:5297:6: ( (lv_explicitStatic_3_0= '::' ) )
{
// InternalXcore.g:5297:6: ( (lv_explicitStatic_3_0= '::' ) )
// InternalXcore.g:5298:1: (lv_explicitStatic_3_0= '::' )
{
// InternalXcore.g:5298:1: (lv_explicitStatic_3_0= '::' )
// InternalXcore.g:5299:3: lv_explicitStatic_3_0= '::'
{
lv_explicitStatic_3_0=(Token)match(input,94,FollowSets000.FOLLOW_93); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed(current, "explicitStatic", true, "::");
}
}
}
}
break;
}
// InternalXcore.g:5312:3: ( ( ruleFeatureCallID ) )
// InternalXcore.g:5313:1: ( ruleFeatureCallID )
{
// InternalXcore.g:5313:1: ( ruleFeatureCallID )
// InternalXcore.g:5314:3: ruleFeatureCallID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0());
}
pushFollow(FollowSets000.FOLLOW_11);
ruleFeatureCallID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3());
}
pushFollow(FollowSets000.FOLLOW_75);
ruleOpSingleAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:5335:3: ( (lv_value_6_0= ruleXAssignment ) )
// InternalXcore.g:5336:1: (lv_value_6_0= ruleXAssignment )
{
// InternalXcore.g:5336:1: (lv_value_6_0= ruleXAssignment )
// InternalXcore.g:5337:3: lv_value_6_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_92);
lv_value_6_0=ruleXAssignment();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
set(
current,
"value",
lv_value_6_0,
"org.eclipse.xtext.xbase.Xbase.XAssignment");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalXcore.g:5354:6: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
{
// InternalXcore.g:5354:6: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
// InternalXcore.g:5354:7: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
{
// InternalXcore.g:5354:7: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) )
// InternalXcore.g:5354:8: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
{
// InternalXcore.g:5370:7: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
// InternalXcore.g:5370:8: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
{
// InternalXcore.g:5370:8: ()
// InternalXcore.g:5371:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(),
current);
}
}
// InternalXcore.g:5376:2: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
int alt105=3;
switch ( input.LA(1) ) {
case 67:
{
alt105=1;
}
break;
case 95:
{
alt105=2;
}
break;
case 94:
{
alt105=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 105, 0, input);
throw nvae;
}
switch (alt105) {
case 1 :
// InternalXcore.g:5376:4: otherlv_8= '.'
{
otherlv_8=(Token)match(input,67,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0());
}
}
break;
case 2 :
// InternalXcore.g:5381:6: ( (lv_nullSafe_9_0= '?.' ) )
{
// InternalXcore.g:5381:6: ( (lv_nullSafe_9_0= '?.' ) )
// InternalXcore.g:5382:1: (lv_nullSafe_9_0= '?.' )
{
// InternalXcore.g:5382:1: (lv_nullSafe_9_0= '?.' )
// InternalXcore.g:5383:3: lv_nullSafe_9_0= '?.'
{
lv_nullSafe_9_0=(Token)match(input,95,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed(current, "nullSafe", true, "?.");
}
}
}
}
break;
case 3 :
// InternalXcore.g:5397:6: ( (lv_explicitStatic_10_0= '::' ) )
{
// InternalXcore.g:5397:6: ( (lv_explicitStatic_10_0= '::' ) )
// InternalXcore.g:5398:1: (lv_explicitStatic_10_0= '::' )
{
// InternalXcore.g:5398:1: (lv_explicitStatic_10_0= '::' )
// InternalXcore.g:5399:3: lv_explicitStatic_10_0= '::'
{
lv_explicitStatic_10_0=(Token)match(input,94,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed(current, "explicitStatic", true, "::");
}
}
}
}
break;
}
}
}
// InternalXcore.g:5412:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )?
int alt107=2;
int LA107_0 = input.LA(1);
if ( (LA107_0==23) ) {
alt107=1;
}
switch (alt107) {
case 1 :
// InternalXcore.g:5412:7: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>'
{
otherlv_11=(Token)match(input,23,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0());
}
// InternalXcore.g:5416:1: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) )
// InternalXcore.g:5417:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
{
// InternalXcore.g:5417:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
// InternalXcore.g:5418:3: lv_typeArguments_12_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeArguments_12_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_12_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:5434:2: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )*
loop106:
do {
int alt106=2;
int LA106_0 = input.LA(1);
if ( (LA106_0==16) ) {
alt106=1;
}
switch (alt106) {
case 1 :
// InternalXcore.g:5434:4: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
{
otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0());
}
// InternalXcore.g:5438:1: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
// InternalXcore.g:5439:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
{
// InternalXcore.g:5439:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
// InternalXcore.g:5440:3: lv_typeArguments_14_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeArguments_14_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_14_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop106;
}
} while (true);
otherlv_15=(Token)match(input,24,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3());
}
}
break;
}
// InternalXcore.g:5460:3: ( ( ruleIdOrSuper ) )
// InternalXcore.g:5461:1: ( ruleIdOrSuper )
{
// InternalXcore.g:5461:1: ( ruleIdOrSuper )
// InternalXcore.g:5462:3: ruleIdOrSuper
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_96);
ruleIdOrSuper();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:5475:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?
int alt110=2;
alt110 = dfa110.predict(input);
switch (alt110) {
case 1 :
// InternalXcore.g:5475:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')'
{
// InternalXcore.g:5475:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) )
// InternalXcore.g:5475:4: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' )
{
// InternalXcore.g:5482:1: (lv_explicitOperationCall_17_0= '(' )
// InternalXcore.g:5483:3: lv_explicitOperationCall_17_0= '('
{
lv_explicitOperationCall_17_0=(Token)match(input,15,FollowSets000.FOLLOW_97); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed(current, "explicitOperationCall", true, "(");
}
}
}
// InternalXcore.g:5496:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?
int alt109=3;
alt109 = dfa109.predict(input);
switch (alt109) {
case 1 :
// InternalXcore.g:5496:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
{
// InternalXcore.g:5496:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
// InternalXcore.g:5496:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure )
{
// InternalXcore.g:5513:1: (lv_memberCallArguments_18_0= ruleXShortClosure )
// InternalXcore.g:5514:3: lv_memberCallArguments_18_0= ruleXShortClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_memberCallArguments_18_0=ruleXShortClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"memberCallArguments",
lv_memberCallArguments_18_0,
"org.eclipse.xtext.xbase.Xbase.XShortClosure");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalXcore.g:5531:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
{
// InternalXcore.g:5531:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
// InternalXcore.g:5531:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
{
// InternalXcore.g:5531:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) )
// InternalXcore.g:5532:1: (lv_memberCallArguments_19_0= ruleXExpression )
{
// InternalXcore.g:5532:1: (lv_memberCallArguments_19_0= ruleXExpression )
// InternalXcore.g:5533:3: lv_memberCallArguments_19_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_memberCallArguments_19_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"memberCallArguments",
lv_memberCallArguments_19_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:5549:2: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
loop108:
do {
int alt108=2;
int LA108_0 = input.LA(1);
if ( (LA108_0==16) ) {
alt108=1;
}
switch (alt108) {
case 1 :
// InternalXcore.g:5549:4: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) )
{
otherlv_20=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0());
}
// InternalXcore.g:5553:1: ( (lv_memberCallArguments_21_0= ruleXExpression ) )
// InternalXcore.g:5554:1: (lv_memberCallArguments_21_0= ruleXExpression )
{
// InternalXcore.g:5554:1: (lv_memberCallArguments_21_0= ruleXExpression )
// InternalXcore.g:5555:3: lv_memberCallArguments_21_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_memberCallArguments_21_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"memberCallArguments",
lv_memberCallArguments_21_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop108;
}
} while (true);
}
}
break;
}
otherlv_22=(Token)match(input,17,FollowSets000.FOLLOW_99); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2());
}
}
break;
}
// InternalXcore.g:5575:3: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
int alt111=2;
alt111 = dfa111.predict(input);
switch (alt111) {
case 1 :
// InternalXcore.g:5575:4: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure )
{
// InternalXcore.g:5578:1: (lv_memberCallArguments_23_0= ruleXClosure )
// InternalXcore.g:5579:3: lv_memberCallArguments_23_0= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0());
}
pushFollow(FollowSets000.FOLLOW_92);
lv_memberCallArguments_23_0=ruleXClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"memberCallArguments",
lv_memberCallArguments_23_0,
"org.eclipse.xtext.xbase.Xbase.XClosure");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
break;
default :
break loop112;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXMemberFeatureCall"
// $ANTLR start "entryRuleXPrimaryExpression"
// InternalXcore.g:5603:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ;
public final EObject entryRuleXPrimaryExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXPrimaryExpression = null;
try {
// InternalXcore.g:5604:2: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF )
// InternalXcore.g:5605:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXPrimaryExpression=ruleXPrimaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXPrimaryExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXPrimaryExpression"
// $ANTLR start "ruleXPrimaryExpression"
// InternalXcore.g:5612:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ;
public final EObject ruleXPrimaryExpression() throws RecognitionException {
EObject current = null;
EObject this_XConstructorCall_0 = null;
EObject this_XBlockExpression_1 = null;
EObject this_XSwitchExpression_2 = null;
EObject this_XSynchronizedExpression_3 = null;
EObject this_XFeatureCall_4 = null;
EObject this_XLiteral_5 = null;
EObject this_XIfExpression_6 = null;
EObject this_XForLoopExpression_7 = null;
EObject this_XBasicForLoopExpression_8 = null;
EObject this_XWhileExpression_9 = null;
EObject this_XDoWhileExpression_10 = null;
EObject this_XThrowExpression_11 = null;
EObject this_XReturnExpression_12 = null;
EObject this_XTryCatchFinallyExpression_13 = null;
EObject this_XParenthesizedExpression_14 = null;
enterRule();
try {
// InternalXcore.g:5615:28: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) )
// InternalXcore.g:5616:1: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
{
// InternalXcore.g:5616:1: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
int alt113=15;
alt113 = dfa113.predict(input);
switch (alt113) {
case 1 :
// InternalXcore.g:5617:5: this_XConstructorCall_0= ruleXConstructorCall
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XConstructorCall_0=ruleXConstructorCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XConstructorCall_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalXcore.g:5627:5: this_XBlockExpression_1= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XBlockExpression_1=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XBlockExpression_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalXcore.g:5637:5: this_XSwitchExpression_2= ruleXSwitchExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XSwitchExpression_2=ruleXSwitchExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XSwitchExpression_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalXcore.g:5646:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
{
// InternalXcore.g:5646:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
// InternalXcore.g:5646:7: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XSynchronizedExpression_3=ruleXSynchronizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XSynchronizedExpression_3;
afterParserOrEnumRuleCall();
}
}
}
break;
case 5 :
// InternalXcore.g:5660:5: this_XFeatureCall_4= ruleXFeatureCall
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XFeatureCall_4=ruleXFeatureCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XFeatureCall_4;
afterParserOrEnumRuleCall();
}
}
break;
case 6 :
// InternalXcore.g:5670:5: this_XLiteral_5= ruleXLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XLiteral_5=ruleXLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XLiteral_5;
afterParserOrEnumRuleCall();
}
}
break;
case 7 :
// InternalXcore.g:5680:5: this_XIfExpression_6= ruleXIfExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XIfExpression_6=ruleXIfExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XIfExpression_6;
afterParserOrEnumRuleCall();
}
}
break;
case 8 :
// InternalXcore.g:5689:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
{
// InternalXcore.g:5689:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
// InternalXcore.g:5689:7: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XForLoopExpression_7=ruleXForLoopExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XForLoopExpression_7;
afterParserOrEnumRuleCall();
}
}
}
break;
case 9 :
// InternalXcore.g:5708:5: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XBasicForLoopExpression_8;
afterParserOrEnumRuleCall();
}
}
break;
case 10 :
// InternalXcore.g:5718:5: this_XWhileExpression_9= ruleXWhileExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XWhileExpression_9=ruleXWhileExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XWhileExpression_9;
afterParserOrEnumRuleCall();
}
}
break;
case 11 :
// InternalXcore.g:5728:5: this_XDoWhileExpression_10= ruleXDoWhileExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XDoWhileExpression_10=ruleXDoWhileExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XDoWhileExpression_10;
afterParserOrEnumRuleCall();
}
}
break;
case 12 :
// InternalXcore.g:5738:5: this_XThrowExpression_11= ruleXThrowExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XThrowExpression_11=ruleXThrowExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XThrowExpression_11;
afterParserOrEnumRuleCall();
}
}
break;
case 13 :
// InternalXcore.g:5748:5: this_XReturnExpression_12= ruleXReturnExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XReturnExpression_12=ruleXReturnExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XReturnExpression_12;
afterParserOrEnumRuleCall();
}
}
break;
case 14 :
// InternalXcore.g:5758:5: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XTryCatchFinallyExpression_13;
afterParserOrEnumRuleCall();
}
}
break;
case 15 :
// InternalXcore.g:5768:5: this_XParenthesizedExpression_14= ruleXParenthesizedExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XParenthesizedExpression_14=ruleXParenthesizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XParenthesizedExpression_14;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXPrimaryExpression"
// $ANTLR start "entryRuleXLiteral"
// InternalXcore.g:5784:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ;
public final EObject entryRuleXLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXLiteral = null;
try {
// InternalXcore.g:5785:2: (iv_ruleXLiteral= ruleXLiteral EOF )
// InternalXcore.g:5786:2: iv_ruleXLiteral= ruleXLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXLiteral=ruleXLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXLiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXLiteral"
// $ANTLR start "ruleXLiteral"
// InternalXcore.g:5793:1: ruleXLiteral returns [EObject current=null] : (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ;
public final EObject ruleXLiteral() throws RecognitionException {
EObject current = null;
EObject this_XCollectionLiteral_0 = null;
EObject this_XClosure_1 = null;
EObject this_XBooleanLiteral_2 = null;
EObject this_XNumberLiteral_3 = null;
EObject this_XNullLiteral_4 = null;
EObject this_XStringLiteral_5 = null;
EObject this_XTypeLiteral_6 = null;
enterRule();
try {
// InternalXcore.g:5796:28: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) )
// InternalXcore.g:5797:1: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
{
// InternalXcore.g:5797:1: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
int alt114=7;
int LA114_0 = input.LA(1);
if ( (LA114_0==96) ) {
alt114=1;
}
else if ( (LA114_0==59) && (synpred24_InternalXcore())) {
alt114=2;
}
else if ( ((LA114_0>=110 && LA114_0<=111)) ) {
alt114=3;
}
else if ( ((LA114_0>=RULE_INT && LA114_0<=RULE_DECIMAL)) ) {
alt114=4;
}
else if ( (LA114_0==112) ) {
alt114=5;
}
else if ( (LA114_0==RULE_STRING) ) {
alt114=6;
}
else if ( (LA114_0==113) ) {
alt114=7;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 114, 0, input);
throw nvae;
}
switch (alt114) {
case 1 :
// InternalXcore.g:5798:5: this_XCollectionLiteral_0= ruleXCollectionLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XCollectionLiteral_0=ruleXCollectionLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XCollectionLiteral_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalXcore.g:5807:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
{
// InternalXcore.g:5807:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
// InternalXcore.g:5807:7: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XClosure_1=ruleXClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XClosure_1;
afterParserOrEnumRuleCall();
}
}
}
break;
case 3 :
// InternalXcore.g:5820:5: this_XBooleanLiteral_2= ruleXBooleanLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XBooleanLiteral_2=ruleXBooleanLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XBooleanLiteral_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalXcore.g:5830:5: this_XNumberLiteral_3= ruleXNumberLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XNumberLiteral_3=ruleXNumberLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XNumberLiteral_3;
afterParserOrEnumRuleCall();
}
}
break;
case 5 :
// InternalXcore.g:5840:5: this_XNullLiteral_4= ruleXNullLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XNullLiteral_4=ruleXNullLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XNullLiteral_4;
afterParserOrEnumRuleCall();
}
}
break;
case 6 :
// InternalXcore.g:5850:5: this_XStringLiteral_5= ruleXStringLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XStringLiteral_5=ruleXStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XStringLiteral_5;
afterParserOrEnumRuleCall();
}
}
break;
case 7 :
// InternalXcore.g:5860:5: this_XTypeLiteral_6= ruleXTypeLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XTypeLiteral_6=ruleXTypeLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XTypeLiteral_6;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXLiteral"
// $ANTLR start "entryRuleXCollectionLiteral"
// InternalXcore.g:5876:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ;
public final EObject entryRuleXCollectionLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCollectionLiteral = null;
try {
// InternalXcore.g:5877:2: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF )
// InternalXcore.g:5878:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCollectionLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXCollectionLiteral=ruleXCollectionLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCollectionLiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCollectionLiteral"
// $ANTLR start "ruleXCollectionLiteral"
// InternalXcore.g:5885:1: ruleXCollectionLiteral returns [EObject current=null] : (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ;
public final EObject ruleXCollectionLiteral() throws RecognitionException {
EObject current = null;
EObject this_XSetLiteral_0 = null;
EObject this_XListLiteral_1 = null;
enterRule();
try {
// InternalXcore.g:5888:28: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) )
// InternalXcore.g:5889:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
{
// InternalXcore.g:5889:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
int alt115=2;
int LA115_0 = input.LA(1);
if ( (LA115_0==96) ) {
int LA115_1 = input.LA(2);
if ( (LA115_1==59) ) {
alt115=2;
}
else if ( (LA115_1==29) ) {
alt115=1;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 115, 1, input);
throw nvae;
}
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 115, 0, input);
throw nvae;
}
switch (alt115) {
case 1 :
// InternalXcore.g:5890:5: this_XSetLiteral_0= ruleXSetLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XSetLiteral_0=ruleXSetLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XSetLiteral_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalXcore.g:5900:5: this_XListLiteral_1= ruleXListLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XListLiteral_1=ruleXListLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XListLiteral_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXCollectionLiteral"
// $ANTLR start "entryRuleXSetLiteral"
// InternalXcore.g:5916:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ;
public final EObject entryRuleXSetLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXSetLiteral = null;
try {
// InternalXcore.g:5917:2: (iv_ruleXSetLiteral= ruleXSetLiteral EOF )
// InternalXcore.g:5918:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSetLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXSetLiteral=ruleXSetLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXSetLiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXSetLiteral"
// $ANTLR start "ruleXSetLiteral"
// InternalXcore.g:5925:1: ruleXSetLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ;
public final EObject ruleXSetLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_elements_3_0 = null;
EObject lv_elements_5_0 = null;
enterRule();
try {
// InternalXcore.g:5928:28: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) )
// InternalXcore.g:5929:1: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
{
// InternalXcore.g:5929:1: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
// InternalXcore.g:5929:2: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}'
{
// InternalXcore.g:5929:2: ()
// InternalXcore.g:5930:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,96,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1());
}
otherlv_2=(Token)match(input,29,FollowSets000.FOLLOW_69); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2());
}
// InternalXcore.g:5943:1: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
int alt117=2;
int LA117_0 = input.LA(1);
if ( ((LA117_0>=RULE_STRING && LA117_0<=RULE_DECIMAL)||LA117_0==13||LA117_0==15||(LA117_0>=19 && LA117_0<=21)||LA117_0==23||(LA117_0>=25 && LA117_0<=29)||(LA117_0>=31 && LA117_0<=57)||LA117_0==59||LA117_0==62||LA117_0==66||(LA117_0>=68 && LA117_0<=69)||LA117_0==91||LA117_0==96||LA117_0==98||LA117_0==100||(LA117_0>=104 && LA117_0<=106)||(LA117_0>=109 && LA117_0<=116)||LA117_0==118) ) {
alt117=1;
}
switch (alt117) {
case 1 :
// InternalXcore.g:5943:2: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
{
// InternalXcore.g:5943:2: ( (lv_elements_3_0= ruleXExpression ) )
// InternalXcore.g:5944:1: (lv_elements_3_0= ruleXExpression )
{
// InternalXcore.g:5944:1: (lv_elements_3_0= ruleXExpression )
// InternalXcore.g:5945:3: lv_elements_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
}
pushFollow(FollowSets000.FOLLOW_100);
lv_elements_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
}
add(
current,
"elements",
lv_elements_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:5961:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
loop116:
do {
int alt116=2;
int LA116_0 = input.LA(1);
if ( (LA116_0==16) ) {
alt116=1;
}
switch (alt116) {
case 1 :
// InternalXcore.g:5961:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
{
otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0());
}
// InternalXcore.g:5965:1: ( (lv_elements_5_0= ruleXExpression ) )
// InternalXcore.g:5966:1: (lv_elements_5_0= ruleXExpression )
{
// InternalXcore.g:5966:1: (lv_elements_5_0= ruleXExpression )
// InternalXcore.g:5967:3: lv_elements_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_100);
lv_elements_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
}
add(
current,
"elements",
lv_elements_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop116;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXSetLiteral"
// $ANTLR start "entryRuleXListLiteral"
// InternalXcore.g:5995:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ;
public final EObject entryRuleXListLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXListLiteral = null;
try {
// InternalXcore.g:5996:2: (iv_ruleXListLiteral= ruleXListLiteral EOF )
// InternalXcore.g:5997:2: iv_ruleXListLiteral= ruleXListLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXListLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXListLiteral=ruleXListLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXListLiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXListLiteral"
// $ANTLR start "ruleXListLiteral"
// InternalXcore.g:6004:1: ruleXListLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ;
public final EObject ruleXListLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_elements_3_0 = null;
EObject lv_elements_5_0 = null;
enterRule();
try {
// InternalXcore.g:6007:28: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) )
// InternalXcore.g:6008:1: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
{
// InternalXcore.g:6008:1: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
// InternalXcore.g:6008:2: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']'
{
// InternalXcore.g:6008:2: ()
// InternalXcore.g:6009:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,96,FollowSets000.FOLLOW_101); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1());
}
otherlv_2=(Token)match(input,59,FollowSets000.FOLLOW_102); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2());
}
// InternalXcore.g:6022:1: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
int alt119=2;
int LA119_0 = input.LA(1);
if ( ((LA119_0>=RULE_STRING && LA119_0<=RULE_DECIMAL)||LA119_0==13||LA119_0==15||(LA119_0>=19 && LA119_0<=21)||LA119_0==23||(LA119_0>=25 && LA119_0<=29)||(LA119_0>=31 && LA119_0<=57)||LA119_0==59||LA119_0==62||LA119_0==66||(LA119_0>=68 && LA119_0<=69)||LA119_0==91||LA119_0==96||LA119_0==98||LA119_0==100||(LA119_0>=104 && LA119_0<=106)||(LA119_0>=109 && LA119_0<=116)||LA119_0==118) ) {
alt119=1;
}
switch (alt119) {
case 1 :
// InternalXcore.g:6022:2: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
{
// InternalXcore.g:6022:2: ( (lv_elements_3_0= ruleXExpression ) )
// InternalXcore.g:6023:1: (lv_elements_3_0= ruleXExpression )
{
// InternalXcore.g:6023:1: (lv_elements_3_0= ruleXExpression )
// InternalXcore.g:6024:3: lv_elements_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
}
pushFollow(FollowSets000.FOLLOW_103);
lv_elements_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXListLiteralRule());
}
add(
current,
"elements",
lv_elements_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:6040:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
loop118:
do {
int alt118=2;
int LA118_0 = input.LA(1);
if ( (LA118_0==16) ) {
alt118=1;
}
switch (alt118) {
case 1 :
// InternalXcore.g:6040:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
{
otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0());
}
// InternalXcore.g:6044:1: ( (lv_elements_5_0= ruleXExpression ) )
// InternalXcore.g:6045:1: (lv_elements_5_0= ruleXExpression )
{
// InternalXcore.g:6045:1: (lv_elements_5_0= ruleXExpression )
// InternalXcore.g:6046:3: lv_elements_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_103);
lv_elements_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXListLiteralRule());
}
add(
current,
"elements",
lv_elements_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop118;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,64,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXListLiteral"
// $ANTLR start "entryRuleXClosure"
// InternalXcore.g:6074:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ;
public final EObject entryRuleXClosure() throws RecognitionException {
EObject current = null;
EObject iv_ruleXClosure = null;
try {
// InternalXcore.g:6075:2: (iv_ruleXClosure= ruleXClosure EOF )
// InternalXcore.g:6076:2: iv_ruleXClosure= ruleXClosure EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXClosure=ruleXClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXClosure;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXClosure"
// $ANTLR start "ruleXClosure"
// InternalXcore.g:6083:1: ruleXClosure returns [EObject current=null] : ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ;
public final EObject ruleXClosure() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token lv_explicitSyntax_5_0=null;
Token otherlv_7=null;
EObject lv_declaredFormalParameters_2_0 = null;
EObject lv_declaredFormalParameters_4_0 = null;
EObject lv_expression_6_0 = null;
enterRule();
try {
// InternalXcore.g:6086:28: ( ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) )
// InternalXcore.g:6087:1: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
{
// InternalXcore.g:6087:1: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
// InternalXcore.g:6087:2: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']'
{
// InternalXcore.g:6087:2: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) )
// InternalXcore.g:6087:3: ( ( () '[' ) )=> ( () otherlv_1= '[' )
{
// InternalXcore.g:6089:5: ( () otherlv_1= '[' )
// InternalXcore.g:6089:6: () otherlv_1= '['
{
// InternalXcore.g:6089:6: ()
// InternalXcore.g:6090:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(),
current);
}
}
otherlv_1=(Token)match(input,59,FollowSets000.FOLLOW_104); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1());
}
}
}
// InternalXcore.g:6099:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?
int alt122=2;
alt122 = dfa122.predict(input);
switch (alt122) {
case 1 :
// InternalXcore.g:6099:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
{
// InternalXcore.g:6114:6: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
// InternalXcore.g:6114:7: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) )
{
// InternalXcore.g:6114:7: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )?
int alt121=2;
int LA121_0 = input.LA(1);
if ( (LA121_0==RULE_ID||LA121_0==15||(LA121_0>=44 && LA121_0<=47)||LA121_0==56||LA121_0==85) ) {
alt121=1;
}
switch (alt121) {
case 1 :
// InternalXcore.g:6114:8: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
{
// InternalXcore.g:6114:8: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) )
// InternalXcore.g:6115:1: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
{
// InternalXcore.g:6115:1: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
// InternalXcore.g:6116:3: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_105);
lv_declaredFormalParameters_2_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClosureRule());
}
add(
current,
"declaredFormalParameters",
lv_declaredFormalParameters_2_0,
"org.eclipse.xtext.xbase.Xbase.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:6132:2: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
loop120:
do {
int alt120=2;
int LA120_0 = input.LA(1);
if ( (LA120_0==16) ) {
alt120=1;
}
switch (alt120) {
case 1 :
// InternalXcore.g:6132:4: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
{
otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0());
}
// InternalXcore.g:6136:1: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
// InternalXcore.g:6137:1: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
{
// InternalXcore.g:6137:1: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
// InternalXcore.g:6138:3: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_105);
lv_declaredFormalParameters_4_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClosureRule());
}
add(
current,
"declaredFormalParameters",
lv_declaredFormalParameters_4_0,
"org.eclipse.xtext.xbase.Xbase.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop120;
}
} while (true);
}
break;
}
// InternalXcore.g:6154:6: ( (lv_explicitSyntax_5_0= '|' ) )
// InternalXcore.g:6155:1: (lv_explicitSyntax_5_0= '|' )
{
// InternalXcore.g:6155:1: (lv_explicitSyntax_5_0= '|' )
// InternalXcore.g:6156:3: lv_explicitSyntax_5_0= '|'
{
lv_explicitSyntax_5_0=(Token)match(input,97,FollowSets000.FOLLOW_102); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXClosureRule());
}
setWithLastConsumed(current, "explicitSyntax", true, "|");
}
}
}
}
}
break;
}
// InternalXcore.g:6169:5: ( (lv_expression_6_0= ruleXExpressionInClosure ) )
// InternalXcore.g:6170:1: (lv_expression_6_0= ruleXExpressionInClosure )
{
// InternalXcore.g:6170:1: (lv_expression_6_0= ruleXExpressionInClosure )
// InternalXcore.g:6171:3: lv_expression_6_0= ruleXExpressionInClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_66);
lv_expression_6_0=ruleXExpressionInClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClosureRule());
}
set(
current,
"expression",
lv_expression_6_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionInClosure");
afterParserOrEnumRuleCall();
}
}
}
otherlv_7=(Token)match(input,64,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXClosure"
// $ANTLR start "entryRuleXExpressionInClosure"
// InternalXcore.g:6199:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ;
public final EObject entryRuleXExpressionInClosure() throws RecognitionException {
EObject current = null;
EObject iv_ruleXExpressionInClosure = null;
try {
// InternalXcore.g:6200:2: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF )
// InternalXcore.g:6201:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionInClosureRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXExpressionInClosure=ruleXExpressionInClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXExpressionInClosure;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXExpressionInClosure"
// $ANTLR start "ruleXExpressionInClosure"
// InternalXcore.g:6208:1: ruleXExpressionInClosure returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ;
public final EObject ruleXExpressionInClosure() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
EObject lv_expressions_1_0 = null;
enterRule();
try {
// InternalXcore.g:6211:28: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) )
// InternalXcore.g:6212:1: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
{
// InternalXcore.g:6212:1: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
// InternalXcore.g:6212:2: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
{
// InternalXcore.g:6212:2: ()
// InternalXcore.g:6213:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(),
current);
}
}
// InternalXcore.g:6218:2: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
loop124:
do {
int alt124=2;
int LA124_0 = input.LA(1);
if ( ((LA124_0>=RULE_STRING && LA124_0<=RULE_DECIMAL)||LA124_0==13||LA124_0==15||(LA124_0>=19 && LA124_0<=21)||LA124_0==23||(LA124_0>=25 && LA124_0<=29)||(LA124_0>=31 && LA124_0<=57)||LA124_0==59||LA124_0==62||LA124_0==66||(LA124_0>=68 && LA124_0<=69)||LA124_0==91||LA124_0==96||LA124_0==98||LA124_0==100||(LA124_0>=104 && LA124_0<=116)||LA124_0==118) ) {
alt124=1;
}
switch (alt124) {
case 1 :
// InternalXcore.g:6218:3: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )?
{
// InternalXcore.g:6218:3: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) )
// InternalXcore.g:6219:1: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
{
// InternalXcore.g:6219:1: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
// InternalXcore.g:6220:3: lv_expressions_1_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_106);
lv_expressions_1_0=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule());
}
add(
current,
"expressions",
lv_expressions_1_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:6236:2: (otherlv_2= ';' )?
int alt123=2;
int LA123_0 = input.LA(1);
if ( (LA123_0==65) ) {
alt123=1;
}
switch (alt123) {
case 1 :
// InternalXcore.g:6236:4: otherlv_2= ';'
{
otherlv_2=(Token)match(input,65,FollowSets000.FOLLOW_107); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
}
}
break;
}
}
break;
default :
break loop124;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXExpressionInClosure"
// $ANTLR start "entryRuleXShortClosure"
// InternalXcore.g:6248:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ;
public final EObject entryRuleXShortClosure() throws RecognitionException {
EObject current = null;
EObject iv_ruleXShortClosure = null;
try {
// InternalXcore.g:6249:2: (iv_ruleXShortClosure= ruleXShortClosure EOF )
// InternalXcore.g:6250:2: iv_ruleXShortClosure= ruleXShortClosure EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXShortClosure=ruleXShortClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXShortClosure;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXShortClosure"
// $ANTLR start "ruleXShortClosure"
// InternalXcore.g:6257:1: ruleXShortClosure returns [EObject current=null] : ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ;
public final EObject ruleXShortClosure() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token lv_explicitSyntax_4_0=null;
EObject lv_declaredFormalParameters_1_0 = null;
EObject lv_declaredFormalParameters_3_0 = null;
EObject lv_expression_5_0 = null;
enterRule();
try {
// InternalXcore.g:6260:28: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) )
// InternalXcore.g:6261:1: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
{
// InternalXcore.g:6261:1: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
// InternalXcore.g:6261:2: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) )
{
// InternalXcore.g:6261:2: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) )
// InternalXcore.g:6261:3: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
{
// InternalXcore.g:6277:6: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
// InternalXcore.g:6277:7: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) )
{
// InternalXcore.g:6277:7: ()
// InternalXcore.g:6278:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(),
current);
}
}
// InternalXcore.g:6283:2: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )?
int alt126=2;
int LA126_0 = input.LA(1);
if ( (LA126_0==RULE_ID||LA126_0==15||(LA126_0>=44 && LA126_0<=47)||LA126_0==56||LA126_0==85) ) {
alt126=1;
}
switch (alt126) {
case 1 :
// InternalXcore.g:6283:3: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
{
// InternalXcore.g:6283:3: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) )
// InternalXcore.g:6284:1: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
{
// InternalXcore.g:6284:1: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
// InternalXcore.g:6285:3: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_105);
lv_declaredFormalParameters_1_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXShortClosureRule());
}
add(
current,
"declaredFormalParameters",
lv_declaredFormalParameters_1_0,
"org.eclipse.xtext.xbase.Xbase.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:6301:2: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
loop125:
do {
int alt125=2;
int LA125_0 = input.LA(1);
if ( (LA125_0==16) ) {
alt125=1;
}
switch (alt125) {
case 1 :
// InternalXcore.g:6301:4: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
{
otherlv_2=(Token)match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0());
}
// InternalXcore.g:6305:1: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
// InternalXcore.g:6306:1: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
{
// InternalXcore.g:6306:1: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
// InternalXcore.g:6307:3: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_105);
lv_declaredFormalParameters_3_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXShortClosureRule());
}
add(
current,
"declaredFormalParameters",
lv_declaredFormalParameters_3_0,
"org.eclipse.xtext.xbase.Xbase.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop125;
}
} while (true);
}
break;
}
// InternalXcore.g:6323:6: ( (lv_explicitSyntax_4_0= '|' ) )
// InternalXcore.g:6324:1: (lv_explicitSyntax_4_0= '|' )
{
// InternalXcore.g:6324:1: (lv_explicitSyntax_4_0= '|' )
// InternalXcore.g:6325:3: lv_explicitSyntax_4_0= '|'
{
lv_explicitSyntax_4_0=(Token)match(input,97,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXShortClosureRule());
}
setWithLastConsumed(current, "explicitSyntax", true, "|");
}
}
}
}
}
// InternalXcore.g:6338:4: ( (lv_expression_5_0= ruleXExpression ) )
// InternalXcore.g:6339:1: (lv_expression_5_0= ruleXExpression )
{
// InternalXcore.g:6339:1: (lv_expression_5_0= ruleXExpression )
// InternalXcore.g:6340:3: lv_expression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_expression_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXShortClosureRule());
}
set(
current,
"expression",
lv_expression_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXShortClosure"
// $ANTLR start "entryRuleXParenthesizedExpression"
// InternalXcore.g:6364:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ;
public final EObject entryRuleXParenthesizedExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXParenthesizedExpression = null;
try {
// InternalXcore.g:6365:2: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF )
// InternalXcore.g:6366:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXParenthesizedExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXParenthesizedExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXParenthesizedExpression"
// $ANTLR start "ruleXParenthesizedExpression"
// InternalXcore.g:6373:1: ruleXParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ;
public final EObject ruleXParenthesizedExpression() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
EObject this_XExpression_1 = null;
enterRule();
try {
// InternalXcore.g:6376:28: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) )
// InternalXcore.g:6377:1: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
{
// InternalXcore.g:6377:1: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
// InternalXcore.g:6377:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')'
{
otherlv_0=(Token)match(input,15,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_98);
this_XExpression_1=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XExpression_1;
afterParserOrEnumRuleCall();
}
otherlv_2=(Token)match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXParenthesizedExpression"
// $ANTLR start "entryRuleXIfExpression"
// InternalXcore.g:6402:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ;
public final EObject entryRuleXIfExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXIfExpression = null;
try {
// InternalXcore.g:6403:2: (iv_ruleXIfExpression= ruleXIfExpression EOF )
// InternalXcore.g:6404:2: iv_ruleXIfExpression= ruleXIfExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXIfExpression=ruleXIfExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXIfExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXIfExpression"
// $ANTLR start "ruleXIfExpression"
// InternalXcore.g:6411:1: ruleXIfExpression returns [EObject current=null] : ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ;
public final EObject ruleXIfExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_if_3_0 = null;
EObject lv_then_5_0 = null;
EObject lv_else_7_0 = null;
enterRule();
try {
// InternalXcore.g:6414:28: ( ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) )
// InternalXcore.g:6415:1: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
{
// InternalXcore.g:6415:1: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
// InternalXcore.g:6415:2: () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
{
// InternalXcore.g:6415:2: ()
// InternalXcore.g:6416:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,98,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1());
}
otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2());
}
// InternalXcore.g:6429:1: ( (lv_if_3_0= ruleXExpression ) )
// InternalXcore.g:6430:1: (lv_if_3_0= ruleXExpression )
{
// InternalXcore.g:6430:1: (lv_if_3_0= ruleXExpression )
// InternalXcore.g:6431:3: lv_if_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_if_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
}
set(
current,
"if",
lv_if_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4());
}
// InternalXcore.g:6451:1: ( (lv_then_5_0= ruleXExpression ) )
// InternalXcore.g:6452:1: (lv_then_5_0= ruleXExpression )
{
// InternalXcore.g:6452:1: (lv_then_5_0= ruleXExpression )
// InternalXcore.g:6453:3: lv_then_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0());
}
pushFollow(FollowSets000.FOLLOW_108);
lv_then_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
}
set(
current,
"then",
lv_then_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:6469:2: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
int alt127=2;
int LA127_0 = input.LA(1);
if ( (LA127_0==99) ) {
int LA127_1 = input.LA(2);
if ( (synpred28_InternalXcore()) ) {
alt127=1;
}
}
switch (alt127) {
case 1 :
// InternalXcore.g:6469:3: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) )
{
// InternalXcore.g:6469:3: ( ( 'else' )=>otherlv_6= 'else' )
// InternalXcore.g:6469:4: ( 'else' )=>otherlv_6= 'else'
{
otherlv_6=(Token)match(input,99,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0());
}
}
// InternalXcore.g:6474:2: ( (lv_else_7_0= ruleXExpression ) )
// InternalXcore.g:6475:1: (lv_else_7_0= ruleXExpression )
{
// InternalXcore.g:6475:1: (lv_else_7_0= ruleXExpression )
// InternalXcore.g:6476:3: lv_else_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_else_7_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
}
set(
current,
"else",
lv_else_7_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXIfExpression"
// $ANTLR start "entryRuleXSwitchExpression"
// InternalXcore.g:6500:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ;
public final EObject entryRuleXSwitchExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXSwitchExpression = null;
try {
// InternalXcore.g:6501:2: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF )
// InternalXcore.g:6502:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXSwitchExpression=ruleXSwitchExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXSwitchExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXSwitchExpression"
// $ANTLR start "ruleXSwitchExpression"
// InternalXcore.g:6509:1: ruleXSwitchExpression returns [EObject current=null] : ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ;
public final EObject ruleXSwitchExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_12=null;
Token otherlv_13=null;
Token otherlv_15=null;
EObject lv_declaredParam_3_0 = null;
EObject lv_switch_5_0 = null;
EObject lv_declaredParam_7_0 = null;
EObject lv_switch_9_0 = null;
EObject lv_cases_11_0 = null;
EObject lv_default_14_0 = null;
enterRule();
try {
// InternalXcore.g:6512:28: ( ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) )
// InternalXcore.g:6513:1: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
{
// InternalXcore.g:6513:1: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
// InternalXcore.g:6513:2: () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}'
{
// InternalXcore.g:6513:2: ()
// InternalXcore.g:6514:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,100,FollowSets000.FOLLOW_109); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1());
}
// InternalXcore.g:6523:1: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )
int alt129=2;
alt129 = dfa129.predict(input);
switch (alt129) {
case 1 :
// InternalXcore.g:6523:2: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
{
// InternalXcore.g:6523:2: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
// InternalXcore.g:6523:3: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')'
{
// InternalXcore.g:6523:3: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
// InternalXcore.g:6523:4: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
{
// InternalXcore.g:6529:5: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
// InternalXcore.g:6529:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
{
otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0());
}
// InternalXcore.g:6533:1: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
// InternalXcore.g:6534:1: (lv_declaredParam_3_0= ruleJvmFormalParameter )
{
// InternalXcore.g:6534:1: (lv_declaredParam_3_0= ruleJvmFormalParameter )
// InternalXcore.g:6535:3: lv_declaredParam_3_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_110);
lv_declaredParam_3_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
set(
current,
"declaredParam",
lv_declaredParam_3_0,
"org.eclipse.xtext.xbase.Xbase.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,101,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2());
}
}
}
// InternalXcore.g:6555:3: ( (lv_switch_5_0= ruleXExpression ) )
// InternalXcore.g:6556:1: (lv_switch_5_0= ruleXExpression )
{
// InternalXcore.g:6556:1: (lv_switch_5_0= ruleXExpression )
// InternalXcore.g:6557:3: lv_switch_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_switch_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
set(
current,
"switch",
lv_switch_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2());
}
}
}
break;
case 2 :
// InternalXcore.g:6578:6: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
{
// InternalXcore.g:6578:6: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
// InternalXcore.g:6578:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) )
{
// InternalXcore.g:6578:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?
int alt128=2;
alt128 = dfa128.predict(input);
switch (alt128) {
case 1 :
// InternalXcore.g:6578:8: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
{
// InternalXcore.g:6583:5: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
// InternalXcore.g:6583:6: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':'
{
// InternalXcore.g:6583:6: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) )
// InternalXcore.g:6584:1: (lv_declaredParam_7_0= ruleJvmFormalParameter )
{
// InternalXcore.g:6584:1: (lv_declaredParam_7_0= ruleJvmFormalParameter )
// InternalXcore.g:6585:3: lv_declaredParam_7_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_110);
lv_declaredParam_7_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
set(
current,
"declaredParam",
lv_declaredParam_7_0,
"org.eclipse.xtext.xbase.Xbase.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
otherlv_8=(Token)match(input,101,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1());
}
}
}
break;
}
// InternalXcore.g:6605:4: ( (lv_switch_9_0= ruleXExpression ) )
// InternalXcore.g:6606:1: (lv_switch_9_0= ruleXExpression )
{
// InternalXcore.g:6606:1: (lv_switch_9_0= ruleXExpression )
// InternalXcore.g:6607:3: lv_switch_9_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_22);
lv_switch_9_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
set(
current,
"switch",
lv_switch_9_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
otherlv_10=(Token)match(input,29,FollowSets000.FOLLOW_111); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3());
}
// InternalXcore.g:6627:1: ( (lv_cases_11_0= ruleXCasePart ) )*
loop130:
do {
int alt130=2;
int LA130_0 = input.LA(1);
if ( (LA130_0==RULE_ID||(LA130_0>=15 && LA130_0<=16)||(LA130_0>=44 && LA130_0<=47)||LA130_0==56||LA130_0==85||LA130_0==101||LA130_0==103) ) {
alt130=1;
}
switch (alt130) {
case 1 :
// InternalXcore.g:6628:1: (lv_cases_11_0= ruleXCasePart )
{
// InternalXcore.g:6628:1: (lv_cases_11_0= ruleXCasePart )
// InternalXcore.g:6629:3: lv_cases_11_0= ruleXCasePart
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_111);
lv_cases_11_0=ruleXCasePart();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
add(
current,
"cases",
lv_cases_11_0,
"org.eclipse.xtext.xbase.Xbase.XCasePart");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop130;
}
} while (true);
// InternalXcore.g:6645:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )?
int alt131=2;
int LA131_0 = input.LA(1);
if ( (LA131_0==102) ) {
alt131=1;
}
switch (alt131) {
case 1 :
// InternalXcore.g:6645:5: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) )
{
otherlv_12=(Token)match(input,102,FollowSets000.FOLLOW_110); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0());
}
otherlv_13=(Token)match(input,101,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1());
}
// InternalXcore.g:6653:1: ( (lv_default_14_0= ruleXExpression ) )
// InternalXcore.g:6654:1: (lv_default_14_0= ruleXExpression )
{
// InternalXcore.g:6654:1: (lv_default_14_0= ruleXExpression )
// InternalXcore.g:6655:3: lv_default_14_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0());
}
pushFollow(FollowSets000.FOLLOW_112);
lv_default_14_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
set(
current,
"default",
lv_default_14_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_15=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXSwitchExpression"
// $ANTLR start "entryRuleXCasePart"
// InternalXcore.g:6683:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ;
public final EObject entryRuleXCasePart() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCasePart = null;
try {
// InternalXcore.g:6684:2: (iv_ruleXCasePart= ruleXCasePart EOF )
// InternalXcore.g:6685:2: iv_ruleXCasePart= ruleXCasePart EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXCasePart=ruleXCasePart();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCasePart;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCasePart"
// $ANTLR start "ruleXCasePart"
// InternalXcore.g:6692:1: ruleXCasePart returns [EObject current=null] : ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ;
public final EObject ruleXCasePart() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_4=null;
Token lv_fallThrough_6_0=null;
EObject lv_typeGuard_1_0 = null;
EObject lv_case_3_0 = null;
EObject lv_then_5_0 = null;
enterRule();
try {
// InternalXcore.g:6695:28: ( ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) )
// InternalXcore.g:6696:1: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
{
// InternalXcore.g:6696:1: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
// InternalXcore.g:6696:2: () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
{
// InternalXcore.g:6696:2: ()
// InternalXcore.g:6697:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXCasePartAccess().getXCasePartAction_0(),
current);
}
}
// InternalXcore.g:6702:2: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )?
int alt132=2;
int LA132_0 = input.LA(1);
if ( (LA132_0==RULE_ID||LA132_0==15||(LA132_0>=44 && LA132_0<=47)||LA132_0==56||LA132_0==85) ) {
alt132=1;
}
switch (alt132) {
case 1 :
// InternalXcore.g:6703:1: (lv_typeGuard_1_0= ruleJvmTypeReference )
{
// InternalXcore.g:6703:1: (lv_typeGuard_1_0= ruleJvmTypeReference )
// InternalXcore.g:6704:3: lv_typeGuard_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_113);
lv_typeGuard_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCasePartRule());
}
set(
current,
"typeGuard",
lv_typeGuard_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalXcore.g:6720:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )?
int alt133=2;
int LA133_0 = input.LA(1);
if ( (LA133_0==103) ) {
alt133=1;
}
switch (alt133) {
case 1 :
// InternalXcore.g:6720:5: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) )
{
otherlv_2=(Token)match(input,103,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0());
}
// InternalXcore.g:6724:1: ( (lv_case_3_0= ruleXExpression ) )
// InternalXcore.g:6725:1: (lv_case_3_0= ruleXExpression )
{
// InternalXcore.g:6725:1: (lv_case_3_0= ruleXExpression )
// InternalXcore.g:6726:3: lv_case_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_114);
lv_case_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCasePartRule());
}
set(
current,
"case",
lv_case_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalXcore.g:6742:4: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
int alt134=2;
int LA134_0 = input.LA(1);
if ( (LA134_0==101) ) {
alt134=1;
}
else if ( (LA134_0==16) ) {
alt134=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 134, 0, input);
throw nvae;
}
switch (alt134) {
case 1 :
// InternalXcore.g:6742:5: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
{
// InternalXcore.g:6742:5: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
// InternalXcore.g:6742:7: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) )
{
otherlv_4=(Token)match(input,101,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0());
}
// InternalXcore.g:6746:1: ( (lv_then_5_0= ruleXExpression ) )
// InternalXcore.g:6747:1: (lv_then_5_0= ruleXExpression )
{
// InternalXcore.g:6747:1: (lv_then_5_0= ruleXExpression )
// InternalXcore.g:6748:3: lv_then_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_then_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCasePartRule());
}
set(
current,
"then",
lv_then_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalXcore.g:6765:6: ( (lv_fallThrough_6_0= ',' ) )
{
// InternalXcore.g:6765:6: ( (lv_fallThrough_6_0= ',' ) )
// InternalXcore.g:6766:1: (lv_fallThrough_6_0= ',' )
{
// InternalXcore.g:6766:1: (lv_fallThrough_6_0= ',' )
// InternalXcore.g:6767:3: lv_fallThrough_6_0= ','
{
lv_fallThrough_6_0=(Token)match(input,16,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXCasePartRule());
}
setWithLastConsumed(current, "fallThrough", true, ",");
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXCasePart"
// $ANTLR start "entryRuleXForLoopExpression"
// InternalXcore.g:6788:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ;
public final EObject entryRuleXForLoopExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXForLoopExpression = null;
try {
// InternalXcore.g:6789:2: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF )
// InternalXcore.g:6790:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXForLoopExpression=ruleXForLoopExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXForLoopExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXForLoopExpression"
// $ANTLR start "ruleXForLoopExpression"
// InternalXcore.g:6797:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ;
public final EObject ruleXForLoopExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_declaredParam_3_0 = null;
EObject lv_forExpression_5_0 = null;
EObject lv_eachExpression_7_0 = null;
enterRule();
try {
// InternalXcore.g:6800:28: ( ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) )
// InternalXcore.g:6801:1: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) )
{
// InternalXcore.g:6801:1: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) )
// InternalXcore.g:6801:2: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) )
{
// InternalXcore.g:6801:2: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
// InternalXcore.g:6801:3: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
{
// InternalXcore.g:6809:5: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
// InternalXcore.g:6809:6: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
{
// InternalXcore.g:6809:6: ()
// InternalXcore.g:6810:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(),
current);
}
}
otherlv_1=(Token)match(input,104,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1());
}
otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2());
}
// InternalXcore.g:6823:1: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
// InternalXcore.g:6824:1: (lv_declaredParam_3_0= ruleJvmFormalParameter )
{
// InternalXcore.g:6824:1: (lv_declaredParam_3_0= ruleJvmFormalParameter )
// InternalXcore.g:6825:3: lv_declaredParam_3_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0());
}
pushFollow(FollowSets000.FOLLOW_110);
lv_declaredParam_3_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
}
set(
current,
"declaredParam",
lv_declaredParam_3_0,
"org.eclipse.xtext.xbase.Xbase.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,101,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4());
}
}
}
// InternalXcore.g:6845:3: ( (lv_forExpression_5_0= ruleXExpression ) )
// InternalXcore.g:6846:1: (lv_forExpression_5_0= ruleXExpression )
{
// InternalXcore.g:6846:1: (lv_forExpression_5_0= ruleXExpression )
// InternalXcore.g:6847:3: lv_forExpression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_forExpression_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
}
set(
current,
"forExpression",
lv_forExpression_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2());
}
// InternalXcore.g:6867:1: ( (lv_eachExpression_7_0= ruleXExpression ) )
// InternalXcore.g:6868:1: (lv_eachExpression_7_0= ruleXExpression )
{
// InternalXcore.g:6868:1: (lv_eachExpression_7_0= ruleXExpression )
// InternalXcore.g:6869:3: lv_eachExpression_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_eachExpression_7_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
}
set(
current,
"eachExpression",
lv_eachExpression_7_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXForLoopExpression"
// $ANTLR start "entryRuleXBasicForLoopExpression"
// InternalXcore.g:6893:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ;
public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXBasicForLoopExpression = null;
try {
// InternalXcore.g:6894:2: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF )
// InternalXcore.g:6895:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXBasicForLoopExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXBasicForLoopExpression"
// $ANTLR start "ruleXBasicForLoopExpression"
// InternalXcore.g:6902:1: ruleXBasicForLoopExpression returns [EObject current=null] : ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ;
public final EObject ruleXBasicForLoopExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_12=null;
EObject lv_initExpressions_3_0 = null;
EObject lv_initExpressions_5_0 = null;
EObject lv_expression_7_0 = null;
EObject lv_updateExpressions_9_0 = null;
EObject lv_updateExpressions_11_0 = null;
EObject lv_eachExpression_13_0 = null;
enterRule();
try {
// InternalXcore.g:6905:28: ( ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) )
// InternalXcore.g:6906:1: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
{
// InternalXcore.g:6906:1: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
// InternalXcore.g:6906:2: () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) )
{
// InternalXcore.g:6906:2: ()
// InternalXcore.g:6907:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,104,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1());
}
otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_115); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2());
}
// InternalXcore.g:6920:1: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )?
int alt136=2;
int LA136_0 = input.LA(1);
if ( ((LA136_0>=RULE_STRING && LA136_0<=RULE_DECIMAL)||LA136_0==13||LA136_0==15||(LA136_0>=19 && LA136_0<=21)||LA136_0==23||(LA136_0>=25 && LA136_0<=29)||(LA136_0>=31 && LA136_0<=57)||LA136_0==59||LA136_0==62||LA136_0==66||(LA136_0>=68 && LA136_0<=69)||LA136_0==91||LA136_0==96||LA136_0==98||LA136_0==100||(LA136_0>=104 && LA136_0<=116)||LA136_0==118) ) {
alt136=1;
}
switch (alt136) {
case 1 :
// InternalXcore.g:6920:2: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
{
// InternalXcore.g:6920:2: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) )
// InternalXcore.g:6921:1: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
{
// InternalXcore.g:6921:1: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
// InternalXcore.g:6922:3: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
add(
current,
"initExpressions",
lv_initExpressions_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:6938:2: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
loop135:
do {
int alt135=2;
int LA135_0 = input.LA(1);
if ( (LA135_0==16) ) {
alt135=1;
}
switch (alt135) {
case 1 :
// InternalXcore.g:6938:4: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
{
otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0());
}
// InternalXcore.g:6942:1: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
// InternalXcore.g:6943:1: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
{
// InternalXcore.g:6943:1: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
// InternalXcore.g:6944:3: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_116);
lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
add(
current,
"initExpressions",
lv_initExpressions_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop135;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,65,FollowSets000.FOLLOW_115); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4());
}
// InternalXcore.g:6964:1: ( (lv_expression_7_0= ruleXExpression ) )?
int alt137=2;
int LA137_0 = input.LA(1);
if ( ((LA137_0>=RULE_STRING && LA137_0<=RULE_DECIMAL)||LA137_0==13||LA137_0==15||(LA137_0>=19 && LA137_0<=21)||LA137_0==23||(LA137_0>=25 && LA137_0<=29)||(LA137_0>=31 && LA137_0<=57)||LA137_0==59||LA137_0==62||LA137_0==66||(LA137_0>=68 && LA137_0<=69)||LA137_0==91||LA137_0==96||LA137_0==98||LA137_0==100||(LA137_0>=104 && LA137_0<=106)||(LA137_0>=109 && LA137_0<=116)||LA137_0==118) ) {
alt137=1;
}
switch (alt137) {
case 1 :
// InternalXcore.g:6965:1: (lv_expression_7_0= ruleXExpression )
{
// InternalXcore.g:6965:1: (lv_expression_7_0= ruleXExpression )
// InternalXcore.g:6966:3: lv_expression_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0());
}
pushFollow(FollowSets000.FOLLOW_117);
lv_expression_7_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
set(
current,
"expression",
lv_expression_7_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_8=(Token)match(input,65,FollowSets000.FOLLOW_118); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6());
}
// InternalXcore.g:6986:1: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )?
int alt139=2;
int LA139_0 = input.LA(1);
if ( ((LA139_0>=RULE_STRING && LA139_0<=RULE_DECIMAL)||LA139_0==13||LA139_0==15||(LA139_0>=19 && LA139_0<=21)||LA139_0==23||(LA139_0>=25 && LA139_0<=29)||(LA139_0>=31 && LA139_0<=57)||LA139_0==59||LA139_0==62||LA139_0==66||(LA139_0>=68 && LA139_0<=69)||LA139_0==91||LA139_0==96||LA139_0==98||LA139_0==100||(LA139_0>=104 && LA139_0<=106)||(LA139_0>=109 && LA139_0<=116)||LA139_0==118) ) {
alt139=1;
}
switch (alt139) {
case 1 :
// InternalXcore.g:6986:2: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
{
// InternalXcore.g:6986:2: ( (lv_updateExpressions_9_0= ruleXExpression ) )
// InternalXcore.g:6987:1: (lv_updateExpressions_9_0= ruleXExpression )
{
// InternalXcore.g:6987:1: (lv_updateExpressions_9_0= ruleXExpression )
// InternalXcore.g:6988:3: lv_updateExpressions_9_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_updateExpressions_9_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
add(
current,
"updateExpressions",
lv_updateExpressions_9_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:7004:2: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
loop138:
do {
int alt138=2;
int LA138_0 = input.LA(1);
if ( (LA138_0==16) ) {
alt138=1;
}
switch (alt138) {
case 1 :
// InternalXcore.g:7004:4: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) )
{
otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0());
}
// InternalXcore.g:7008:1: ( (lv_updateExpressions_11_0= ruleXExpression ) )
// InternalXcore.g:7009:1: (lv_updateExpressions_11_0= ruleXExpression )
{
// InternalXcore.g:7009:1: (lv_updateExpressions_11_0= ruleXExpression )
// InternalXcore.g:7010:3: lv_updateExpressions_11_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_updateExpressions_11_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
add(
current,
"updateExpressions",
lv_updateExpressions_11_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop138;
}
} while (true);
}
break;
}
otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8());
}
// InternalXcore.g:7030:1: ( (lv_eachExpression_13_0= ruleXExpression ) )
// InternalXcore.g:7031:1: (lv_eachExpression_13_0= ruleXExpression )
{
// InternalXcore.g:7031:1: (lv_eachExpression_13_0= ruleXExpression )
// InternalXcore.g:7032:3: lv_eachExpression_13_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_eachExpression_13_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
set(
current,
"eachExpression",
lv_eachExpression_13_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXBasicForLoopExpression"
// $ANTLR start "entryRuleXWhileExpression"
// InternalXcore.g:7056:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ;
public final EObject entryRuleXWhileExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXWhileExpression = null;
try {
// InternalXcore.g:7057:2: (iv_ruleXWhileExpression= ruleXWhileExpression EOF )
// InternalXcore.g:7058:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXWhileExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXWhileExpression=ruleXWhileExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXWhileExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXWhileExpression"
// $ANTLR start "ruleXWhileExpression"
// InternalXcore.g:7065:1: ruleXWhileExpression returns [EObject current=null] : ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ;
public final EObject ruleXWhileExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_predicate_3_0 = null;
EObject lv_body_5_0 = null;
enterRule();
try {
// InternalXcore.g:7068:28: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) )
// InternalXcore.g:7069:1: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
{
// InternalXcore.g:7069:1: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
// InternalXcore.g:7069:2: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) )
{
// InternalXcore.g:7069:2: ()
// InternalXcore.g:7070:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,105,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1());
}
otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2());
}
// InternalXcore.g:7083:1: ( (lv_predicate_3_0= ruleXExpression ) )
// InternalXcore.g:7084:1: (lv_predicate_3_0= ruleXExpression )
{
// InternalXcore.g:7084:1: (lv_predicate_3_0= ruleXExpression )
// InternalXcore.g:7085:3: lv_predicate_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_predicate_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXWhileExpressionRule());
}
set(
current,
"predicate",
lv_predicate_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4());
}
// InternalXcore.g:7105:1: ( (lv_body_5_0= ruleXExpression ) )
// InternalXcore.g:7106:1: (lv_body_5_0= ruleXExpression )
{
// InternalXcore.g:7106:1: (lv_body_5_0= ruleXExpression )
// InternalXcore.g:7107:3: lv_body_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_body_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXWhileExpressionRule());
}
set(
current,
"body",
lv_body_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXWhileExpression"
// $ANTLR start "entryRuleXDoWhileExpression"
// InternalXcore.g:7131:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ;
public final EObject entryRuleXDoWhileExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXDoWhileExpression = null;
try {
// InternalXcore.g:7132:2: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF )
// InternalXcore.g:7133:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDoWhileExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXDoWhileExpression=ruleXDoWhileExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXDoWhileExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXDoWhileExpression"
// $ANTLR start "ruleXDoWhileExpression"
// InternalXcore.g:7140:1: ruleXDoWhileExpression returns [EObject current=null] : ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ;
public final EObject ruleXDoWhileExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_body_2_0 = null;
EObject lv_predicate_5_0 = null;
enterRule();
try {
// InternalXcore.g:7143:28: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) )
// InternalXcore.g:7144:1: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
{
// InternalXcore.g:7144:1: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
// InternalXcore.g:7144:2: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')'
{
// InternalXcore.g:7144:2: ()
// InternalXcore.g:7145:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,106,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1());
}
// InternalXcore.g:7154:1: ( (lv_body_2_0= ruleXExpression ) )
// InternalXcore.g:7155:1: (lv_body_2_0= ruleXExpression )
{
// InternalXcore.g:7155:1: (lv_body_2_0= ruleXExpression )
// InternalXcore.g:7156:3: lv_body_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_119);
lv_body_2_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule());
}
set(
current,
"body",
lv_body_2_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,105,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3());
}
otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4());
}
// InternalXcore.g:7180:1: ( (lv_predicate_5_0= ruleXExpression ) )
// InternalXcore.g:7181:1: (lv_predicate_5_0= ruleXExpression )
{
// InternalXcore.g:7181:1: (lv_predicate_5_0= ruleXExpression )
// InternalXcore.g:7182:3: lv_predicate_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_predicate_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule());
}
set(
current,
"predicate",
lv_predicate_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXDoWhileExpression"
// $ANTLR start "entryRuleXExpressionOrVarDeclaration"
// InternalXcore.g:7210:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ;
public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException {
EObject current = null;
EObject iv_ruleXExpressionOrVarDeclaration = null;
try {
// InternalXcore.g:7211:2: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF )
// InternalXcore.g:7212:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXExpressionOrVarDeclaration;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXExpressionOrVarDeclaration"
// $ANTLR start "ruleXExpressionOrVarDeclaration"
// InternalXcore.g:7219:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ;
public final EObject ruleXExpressionOrVarDeclaration() throws RecognitionException {
EObject current = null;
EObject this_XVariableDeclaration_0 = null;
EObject this_XExpression_1 = null;
enterRule();
try {
// InternalXcore.g:7222:28: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) )
// InternalXcore.g:7223:1: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
{
// InternalXcore.g:7223:1: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
int alt140=2;
int LA140_0 = input.LA(1);
if ( ((LA140_0>=107 && LA140_0<=108)) ) {
alt140=1;
}
else if ( ((LA140_0>=RULE_STRING && LA140_0<=RULE_DECIMAL)||LA140_0==13||LA140_0==15||(LA140_0>=19 && LA140_0<=21)||LA140_0==23||(LA140_0>=25 && LA140_0<=29)||(LA140_0>=31 && LA140_0<=57)||LA140_0==59||LA140_0==62||LA140_0==66||(LA140_0>=68 && LA140_0<=69)||LA140_0==91||LA140_0==96||LA140_0==98||LA140_0==100||(LA140_0>=104 && LA140_0<=106)||(LA140_0>=109 && LA140_0<=116)||LA140_0==118) ) {
alt140=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 140, 0, input);
throw nvae;
}
switch (alt140) {
case 1 :
// InternalXcore.g:7224:5: this_XVariableDeclaration_0= ruleXVariableDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XVariableDeclaration_0=ruleXVariableDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XVariableDeclaration_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalXcore.g:7234:5: this_XExpression_1= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XExpression_1=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XExpression_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXExpressionOrVarDeclaration"
// $ANTLR start "entryRuleXVariableDeclaration"
// InternalXcore.g:7250:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ;
public final EObject entryRuleXVariableDeclaration() throws RecognitionException {
EObject current = null;
EObject iv_ruleXVariableDeclaration = null;
try {
// InternalXcore.g:7251:2: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF )
// InternalXcore.g:7252:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXVariableDeclaration=ruleXVariableDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXVariableDeclaration;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXVariableDeclaration"
// $ANTLR start "ruleXVariableDeclaration"
// InternalXcore.g:7259:1: ruleXVariableDeclaration returns [EObject current=null] : ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ;
public final EObject ruleXVariableDeclaration() throws RecognitionException {
EObject current = null;
Token lv_writeable_1_0=null;
Token otherlv_2=null;
Token otherlv_6=null;
EObject lv_type_3_0 = null;
AntlrDatatypeRuleToken lv_name_4_0 = null;
AntlrDatatypeRuleToken lv_name_5_0 = null;
EObject lv_right_7_0 = null;
enterRule();
try {
// InternalXcore.g:7262:28: ( ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) )
// InternalXcore.g:7263:1: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? )
{
// InternalXcore.g:7263:1: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? )
// InternalXcore.g:7263:2: () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )?
{
// InternalXcore.g:7263:2: ()
// InternalXcore.g:7264:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(),
current);
}
}
// InternalXcore.g:7269:2: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' )
int alt141=2;
int LA141_0 = input.LA(1);
if ( (LA141_0==107) ) {
alt141=1;
}
else if ( (LA141_0==108) ) {
alt141=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 141, 0, input);
throw nvae;
}
switch (alt141) {
case 1 :
// InternalXcore.g:7269:3: ( (lv_writeable_1_0= 'var' ) )
{
// InternalXcore.g:7269:3: ( (lv_writeable_1_0= 'var' ) )
// InternalXcore.g:7270:1: (lv_writeable_1_0= 'var' )
{
// InternalXcore.g:7270:1: (lv_writeable_1_0= 'var' )
// InternalXcore.g:7271:3: lv_writeable_1_0= 'var'
{
lv_writeable_1_0=(Token)match(input,107,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXVariableDeclarationRule());
}
setWithLastConsumed(current, "writeable", true, "var");
}
}
}
}
break;
case 2 :
// InternalXcore.g:7285:7: otherlv_2= 'val'
{
otherlv_2=(Token)match(input,108,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1());
}
}
break;
}
// InternalXcore.g:7289:2: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) )
int alt142=2;
alt142 = dfa142.predict(input);
switch (alt142) {
case 1 :
// InternalXcore.g:7289:3: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
{
// InternalXcore.g:7289:3: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
// InternalXcore.g:7289:4: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
{
// InternalXcore.g:7297:6: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
// InternalXcore.g:7297:7: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) )
{
// InternalXcore.g:7297:7: ( (lv_type_3_0= ruleJvmTypeReference ) )
// InternalXcore.g:7298:1: (lv_type_3_0= ruleJvmTypeReference )
{
// InternalXcore.g:7298:1: (lv_type_3_0= ruleJvmTypeReference )
// InternalXcore.g:7299:3: lv_type_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_4);
lv_type_3_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
}
set(
current,
"type",
lv_type_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:7315:2: ( (lv_name_4_0= ruleValidID ) )
// InternalXcore.g:7316:1: (lv_name_4_0= ruleValidID )
{
// InternalXcore.g:7316:1: (lv_name_4_0= ruleValidID )
// InternalXcore.g:7317:3: lv_name_4_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_27);
lv_name_4_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
}
set(
current,
"name",
lv_name_4_0,
"org.eclipse.emf.ecore.xcore.Xcore.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
}
}
break;
case 2 :
// InternalXcore.g:7334:6: ( (lv_name_5_0= ruleValidID ) )
{
// InternalXcore.g:7334:6: ( (lv_name_5_0= ruleValidID ) )
// InternalXcore.g:7335:1: (lv_name_5_0= ruleValidID )
{
// InternalXcore.g:7335:1: (lv_name_5_0= ruleValidID )
// InternalXcore.g:7336:3: lv_name_5_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_27);
lv_name_5_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
}
set(
current,
"name",
lv_name_5_0,
"org.eclipse.emf.ecore.xcore.Xcore.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalXcore.g:7352:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )?
int alt143=2;
int LA143_0 = input.LA(1);
if ( (LA143_0==18) ) {
alt143=1;
}
switch (alt143) {
case 1 :
// InternalXcore.g:7352:5: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) )
{
otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0());
}
// InternalXcore.g:7356:1: ( (lv_right_7_0= ruleXExpression ) )
// InternalXcore.g:7357:1: (lv_right_7_0= ruleXExpression )
{
// InternalXcore.g:7357:1: (lv_right_7_0= ruleXExpression )
// InternalXcore.g:7358:3: lv_right_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_right_7_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
}
set(
current,
"right",
lv_right_7_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXVariableDeclaration"
// $ANTLR start "entryRuleJvmFormalParameter"
// InternalXcore.g:7382:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ;
public final EObject entryRuleJvmFormalParameter() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmFormalParameter = null;
try {
// InternalXcore.g:7383:2: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF )
// InternalXcore.g:7384:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmFormalParameterRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleJvmFormalParameter=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmFormalParameter;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmFormalParameter"
// $ANTLR start "ruleJvmFormalParameter"
// InternalXcore.g:7391:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ;
public final EObject ruleJvmFormalParameter() throws RecognitionException {
EObject current = null;
EObject lv_parameterType_0_0 = null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
enterRule();
try {
// InternalXcore.g:7394:28: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) )
// InternalXcore.g:7395:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
{
// InternalXcore.g:7395:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
// InternalXcore.g:7395:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) )
{
// InternalXcore.g:7395:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )?
int alt144=2;
switch ( input.LA(1) ) {
case RULE_ID:
{
int LA144_1 = input.LA(2);
if ( (LA144_1==RULE_ID||LA144_1==23||(LA144_1>=44 && LA144_1<=47)||LA144_1==56||LA144_1==59||LA144_1==67) ) {
alt144=1;
}
}
break;
case 44:
{
int LA144_2 = input.LA(2);
if ( (LA144_2==RULE_ID||LA144_2==23||(LA144_2>=44 && LA144_2<=47)||LA144_2==56||LA144_2==59||LA144_2==67) ) {
alt144=1;
}
}
break;
case 46:
{
int LA144_3 = input.LA(2);
if ( (LA144_3==RULE_ID||LA144_3==23||(LA144_3>=44 && LA144_3<=47)||LA144_3==56||LA144_3==59||LA144_3==67) ) {
alt144=1;
}
}
break;
case 45:
{
int LA144_4 = input.LA(2);
if ( (LA144_4==RULE_ID||LA144_4==23||(LA144_4>=44 && LA144_4<=47)||LA144_4==56||LA144_4==59||LA144_4==67) ) {
alt144=1;
}
}
break;
case 47:
{
int LA144_5 = input.LA(2);
if ( (LA144_5==RULE_ID||LA144_5==23||(LA144_5>=44 && LA144_5<=47)||LA144_5==56||LA144_5==59||LA144_5==67) ) {
alt144=1;
}
}
break;
case 56:
{
int LA144_6 = input.LA(2);
if ( (LA144_6==RULE_ID||LA144_6==23||(LA144_6>=44 && LA144_6<=47)||LA144_6==56||LA144_6==59||LA144_6==67) ) {
alt144=1;
}
}
break;
case 15:
case 85:
{
alt144=1;
}
break;
}
switch (alt144) {
case 1 :
// InternalXcore.g:7396:1: (lv_parameterType_0_0= ruleJvmTypeReference )
{
// InternalXcore.g:7396:1: (lv_parameterType_0_0= ruleJvmTypeReference )
// InternalXcore.g:7397:3: lv_parameterType_0_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_4);
lv_parameterType_0_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule());
}
set(
current,
"parameterType",
lv_parameterType_0_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalXcore.g:7413:3: ( (lv_name_1_0= ruleValidID ) )
// InternalXcore.g:7414:1: (lv_name_1_0= ruleValidID )
{
// InternalXcore.g:7414:1: (lv_name_1_0= ruleValidID )
// InternalXcore.g:7415:3: lv_name_1_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_name_1_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.emf.ecore.xcore.Xcore.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmFormalParameter"
// $ANTLR start "entryRuleFullJvmFormalParameter"
// InternalXcore.g:7439:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ;
public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException {
EObject current = null;
EObject iv_ruleFullJvmFormalParameter = null;
try {
// InternalXcore.g:7440:2: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF )
// InternalXcore.g:7441:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFullJvmFormalParameterRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleFullJvmFormalParameter;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFullJvmFormalParameter"
// $ANTLR start "ruleFullJvmFormalParameter"
// InternalXcore.g:7448:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ;
public final EObject ruleFullJvmFormalParameter() throws RecognitionException {
EObject current = null;
EObject lv_parameterType_0_0 = null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
enterRule();
try {
// InternalXcore.g:7451:28: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) )
// InternalXcore.g:7452:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
{
// InternalXcore.g:7452:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
// InternalXcore.g:7452:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) )
{
// InternalXcore.g:7452:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )
// InternalXcore.g:7453:1: (lv_parameterType_0_0= ruleJvmTypeReference )
{
// InternalXcore.g:7453:1: (lv_parameterType_0_0= ruleJvmTypeReference )
// InternalXcore.g:7454:3: lv_parameterType_0_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_4);
lv_parameterType_0_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule());
}
set(
current,
"parameterType",
lv_parameterType_0_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:7470:2: ( (lv_name_1_0= ruleValidID ) )
// InternalXcore.g:7471:1: (lv_name_1_0= ruleValidID )
{
// InternalXcore.g:7471:1: (lv_name_1_0= ruleValidID )
// InternalXcore.g:7472:3: lv_name_1_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_name_1_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.emf.ecore.xcore.Xcore.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFullJvmFormalParameter"
// $ANTLR start "entryRuleXFeatureCall"
// InternalXcore.g:7496:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ;
public final EObject entryRuleXFeatureCall() throws RecognitionException {
EObject current = null;
EObject iv_ruleXFeatureCall = null;
try {
// InternalXcore.g:7497:2: (iv_ruleXFeatureCall= ruleXFeatureCall EOF )
// InternalXcore.g:7498:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXFeatureCall=ruleXFeatureCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXFeatureCall;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXFeatureCall"
// $ANTLR start "ruleXFeatureCall"
// InternalXcore.g:7505:1: ruleXFeatureCall returns [EObject current=null] : ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ;
public final EObject ruleXFeatureCall() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token lv_explicitOperationCall_7_0=null;
Token otherlv_10=null;
Token otherlv_12=null;
EObject lv_typeArguments_2_0 = null;
EObject lv_typeArguments_4_0 = null;
EObject lv_featureCallArguments_8_0 = null;
EObject lv_featureCallArguments_9_0 = null;
EObject lv_featureCallArguments_11_0 = null;
EObject lv_featureCallArguments_13_0 = null;
enterRule();
try {
// InternalXcore.g:7508:28: ( ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) )
// InternalXcore.g:7509:1: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
{
// InternalXcore.g:7509:1: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
// InternalXcore.g:7509:2: () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
{
// InternalXcore.g:7509:2: ()
// InternalXcore.g:7510:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(),
current);
}
}
// InternalXcore.g:7515:2: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )?
int alt146=2;
int LA146_0 = input.LA(1);
if ( (LA146_0==23) ) {
alt146=1;
}
switch (alt146) {
case 1 :
// InternalXcore.g:7515:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>'
{
otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0());
}
// InternalXcore.g:7519:1: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) )
// InternalXcore.g:7520:1: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
{
// InternalXcore.g:7520:1: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
// InternalXcore.g:7521:3: lv_typeArguments_2_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeArguments_2_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_2_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:7537:2: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )*
loop145:
do {
int alt145=2;
int LA145_0 = input.LA(1);
if ( (LA145_0==16) ) {
alt145=1;
}
switch (alt145) {
case 1 :
// InternalXcore.g:7537:4: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
{
otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0());
}
// InternalXcore.g:7541:1: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
// InternalXcore.g:7542:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
{
// InternalXcore.g:7542:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
// InternalXcore.g:7543:3: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeArguments_4_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_4_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop145;
}
} while (true);
otherlv_5=(Token)match(input,24,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3());
}
}
break;
}
// InternalXcore.g:7563:3: ( ( ruleIdOrSuper ) )
// InternalXcore.g:7564:1: ( ruleIdOrSuper )
{
// InternalXcore.g:7564:1: ( ruleIdOrSuper )
// InternalXcore.g:7565:3: ruleIdOrSuper
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXFeatureCallRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0());
}
pushFollow(FollowSets000.FOLLOW_120);
ruleIdOrSuper();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:7578:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?
int alt149=2;
alt149 = dfa149.predict(input);
switch (alt149) {
case 1 :
// InternalXcore.g:7578:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')'
{
// InternalXcore.g:7578:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) )
// InternalXcore.g:7578:4: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' )
{
// InternalXcore.g:7585:1: (lv_explicitOperationCall_7_0= '(' )
// InternalXcore.g:7586:3: lv_explicitOperationCall_7_0= '('
{
lv_explicitOperationCall_7_0=(Token)match(input,15,FollowSets000.FOLLOW_97); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXFeatureCallRule());
}
setWithLastConsumed(current, "explicitOperationCall", true, "(");
}
}
}
// InternalXcore.g:7599:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?
int alt148=3;
alt148 = dfa148.predict(input);
switch (alt148) {
case 1 :
// InternalXcore.g:7599:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
{
// InternalXcore.g:7599:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
// InternalXcore.g:7599:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure )
{
// InternalXcore.g:7616:1: (lv_featureCallArguments_8_0= ruleXShortClosure )
// InternalXcore.g:7617:3: lv_featureCallArguments_8_0= ruleXShortClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_featureCallArguments_8_0=ruleXShortClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"featureCallArguments",
lv_featureCallArguments_8_0,
"org.eclipse.xtext.xbase.Xbase.XShortClosure");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalXcore.g:7634:6: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
{
// InternalXcore.g:7634:6: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
// InternalXcore.g:7634:7: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
{
// InternalXcore.g:7634:7: ( (lv_featureCallArguments_9_0= ruleXExpression ) )
// InternalXcore.g:7635:1: (lv_featureCallArguments_9_0= ruleXExpression )
{
// InternalXcore.g:7635:1: (lv_featureCallArguments_9_0= ruleXExpression )
// InternalXcore.g:7636:3: lv_featureCallArguments_9_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_featureCallArguments_9_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"featureCallArguments",
lv_featureCallArguments_9_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:7652:2: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
loop147:
do {
int alt147=2;
int LA147_0 = input.LA(1);
if ( (LA147_0==16) ) {
alt147=1;
}
switch (alt147) {
case 1 :
// InternalXcore.g:7652:4: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) )
{
otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0());
}
// InternalXcore.g:7656:1: ( (lv_featureCallArguments_11_0= ruleXExpression ) )
// InternalXcore.g:7657:1: (lv_featureCallArguments_11_0= ruleXExpression )
{
// InternalXcore.g:7657:1: (lv_featureCallArguments_11_0= ruleXExpression )
// InternalXcore.g:7658:3: lv_featureCallArguments_11_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_featureCallArguments_11_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"featureCallArguments",
lv_featureCallArguments_11_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop147;
}
} while (true);
}
}
break;
}
otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_121); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2());
}
}
break;
}
// InternalXcore.g:7678:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
int alt150=2;
alt150 = dfa150.predict(input);
switch (alt150) {
case 1 :
// InternalXcore.g:7678:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure )
{
// InternalXcore.g:7681:1: (lv_featureCallArguments_13_0= ruleXClosure )
// InternalXcore.g:7682:3: lv_featureCallArguments_13_0= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_featureCallArguments_13_0=ruleXClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"featureCallArguments",
lv_featureCallArguments_13_0,
"org.eclipse.xtext.xbase.Xbase.XClosure");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXFeatureCall"
// $ANTLR start "entryRuleIdOrSuper"
// InternalXcore.g:7706:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ;
public final String entryRuleIdOrSuper() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleIdOrSuper = null;
try {
// InternalXcore.g:7707:2: (iv_ruleIdOrSuper= ruleIdOrSuper EOF )
// InternalXcore.g:7708:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIdOrSuperRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleIdOrSuper=ruleIdOrSuper();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIdOrSuper.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIdOrSuper"
// $ANTLR start "ruleIdOrSuper"
// InternalXcore.g:7715:1: ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ;
public final AntlrDatatypeRuleToken ruleIdOrSuper() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_FeatureCallID_0 = null;
enterRule();
try {
// InternalXcore.g:7718:28: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) )
// InternalXcore.g:7719:1: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
{
// InternalXcore.g:7719:1: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
int alt151=2;
int LA151_0 = input.LA(1);
if ( (LA151_0==RULE_ID||LA151_0==13||(LA151_0>=19 && LA151_0<=21)||(LA151_0>=25 && LA151_0<=28)||(LA151_0>=32 && LA151_0<=57)||(LA151_0>=68 && LA151_0<=69)) ) {
alt151=1;
}
else if ( (LA151_0==66) ) {
alt151=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 151, 0, input);
throw nvae;
}
switch (alt151) {
case 1 :
// InternalXcore.g:7720:5: this_FeatureCallID_0= ruleFeatureCallID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_FeatureCallID_0=ruleFeatureCallID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_FeatureCallID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalXcore.g:7732:2: kw= 'super'
{
kw=(Token)match(input,66,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIdOrSuper"
// $ANTLR start "entryRuleXConstructorCall"
// InternalXcore.g:7745:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ;
public final EObject entryRuleXConstructorCall() throws RecognitionException {
EObject current = null;
EObject iv_ruleXConstructorCall = null;
try {
// InternalXcore.g:7746:2: (iv_ruleXConstructorCall= ruleXConstructorCall EOF )
// InternalXcore.g:7747:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXConstructorCall=ruleXConstructorCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXConstructorCall;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXConstructorCall"
// $ANTLR start "ruleXConstructorCall"
// InternalXcore.g:7754:1: ruleXConstructorCall returns [EObject current=null] : ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ;
public final EObject ruleXConstructorCall() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token lv_explicitConstructorCall_8_0=null;
Token otherlv_11=null;
Token otherlv_13=null;
EObject lv_typeArguments_4_0 = null;
EObject lv_typeArguments_6_0 = null;
EObject lv_arguments_9_0 = null;
EObject lv_arguments_10_0 = null;
EObject lv_arguments_12_0 = null;
EObject lv_arguments_14_0 = null;
enterRule();
try {
// InternalXcore.g:7757:28: ( ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) )
// InternalXcore.g:7758:1: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
{
// InternalXcore.g:7758:1: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
// InternalXcore.g:7758:2: () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
{
// InternalXcore.g:7758:2: ()
// InternalXcore.g:7759:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(),
current);
}
}
otherlv_1=(Token)match(input,109,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1());
}
// InternalXcore.g:7768:1: ( ( ruleQualifiedName ) )
// InternalXcore.g:7769:1: ( ruleQualifiedName )
{
// InternalXcore.g:7769:1: ( ruleQualifiedName )
// InternalXcore.g:7770:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXConstructorCallRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0());
}
pushFollow(FollowSets000.FOLLOW_122);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:7783:2: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?
int alt153=2;
alt153 = dfa153.predict(input);
switch (alt153) {
case 1 :
// InternalXcore.g:7783:3: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>'
{
// InternalXcore.g:7783:3: ( ( '<' )=>otherlv_3= '<' )
// InternalXcore.g:7783:4: ( '<' )=>otherlv_3= '<'
{
otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0());
}
}
// InternalXcore.g:7788:2: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
// InternalXcore.g:7789:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
{
// InternalXcore.g:7789:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
// InternalXcore.g:7790:3: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeArguments_4_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_4_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:7806:2: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )*
loop152:
do {
int alt152=2;
int LA152_0 = input.LA(1);
if ( (LA152_0==16) ) {
alt152=1;
}
switch (alt152) {
case 1 :
// InternalXcore.g:7806:4: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
{
otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0());
}
// InternalXcore.g:7810:1: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
// InternalXcore.g:7811:1: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
{
// InternalXcore.g:7811:1: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
// InternalXcore.g:7812:3: lv_typeArguments_6_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_typeArguments_6_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_6_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop152;
}
} while (true);
otherlv_7=(Token)match(input,24,FollowSets000.FOLLOW_120); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3());
}
}
break;
}
// InternalXcore.g:7832:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?
int alt156=2;
alt156 = dfa156.predict(input);
switch (alt156) {
case 1 :
// InternalXcore.g:7832:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')'
{
// InternalXcore.g:7832:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) )
// InternalXcore.g:7832:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' )
{
// InternalXcore.g:7839:1: (lv_explicitConstructorCall_8_0= '(' )
// InternalXcore.g:7840:3: lv_explicitConstructorCall_8_0= '('
{
lv_explicitConstructorCall_8_0=(Token)match(input,15,FollowSets000.FOLLOW_97); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXConstructorCallRule());
}
setWithLastConsumed(current, "explicitConstructorCall", true, "(");
}
}
}
// InternalXcore.g:7853:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?
int alt155=3;
alt155 = dfa155.predict(input);
switch (alt155) {
case 1 :
// InternalXcore.g:7853:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
{
// InternalXcore.g:7853:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
// InternalXcore.g:7853:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure )
{
// InternalXcore.g:7870:1: (lv_arguments_9_0= ruleXShortClosure )
// InternalXcore.g:7871:3: lv_arguments_9_0= ruleXShortClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_arguments_9_0=ruleXShortClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
}
add(
current,
"arguments",
lv_arguments_9_0,
"org.eclipse.xtext.xbase.Xbase.XShortClosure");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalXcore.g:7888:6: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
{
// InternalXcore.g:7888:6: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
// InternalXcore.g:7888:7: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
{
// InternalXcore.g:7888:7: ( (lv_arguments_10_0= ruleXExpression ) )
// InternalXcore.g:7889:1: (lv_arguments_10_0= ruleXExpression )
{
// InternalXcore.g:7889:1: (lv_arguments_10_0= ruleXExpression )
// InternalXcore.g:7890:3: lv_arguments_10_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_arguments_10_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
}
add(
current,
"arguments",
lv_arguments_10_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:7906:2: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
loop154:
do {
int alt154=2;
int LA154_0 = input.LA(1);
if ( (LA154_0==16) ) {
alt154=1;
}
switch (alt154) {
case 1 :
// InternalXcore.g:7906:4: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) )
{
otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0());
}
// InternalXcore.g:7910:1: ( (lv_arguments_12_0= ruleXExpression ) )
// InternalXcore.g:7911:1: (lv_arguments_12_0= ruleXExpression )
{
// InternalXcore.g:7911:1: (lv_arguments_12_0= ruleXExpression )
// InternalXcore.g:7912:3: lv_arguments_12_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_arguments_12_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
}
add(
current,
"arguments",
lv_arguments_12_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop154;
}
} while (true);
}
}
break;
}
otherlv_13=(Token)match(input,17,FollowSets000.FOLLOW_121); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2());
}
}
break;
}
// InternalXcore.g:7932:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
int alt157=2;
alt157 = dfa157.predict(input);
switch (alt157) {
case 1 :
// InternalXcore.g:7932:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure )
{
// InternalXcore.g:7935:1: (lv_arguments_14_0= ruleXClosure )
// InternalXcore.g:7936:3: lv_arguments_14_0= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_arguments_14_0=ruleXClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
}
add(
current,
"arguments",
lv_arguments_14_0,
"org.eclipse.xtext.xbase.Xbase.XClosure");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXConstructorCall"
// $ANTLR start "entryRuleXBooleanLiteral"
// InternalXcore.g:7960:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ;
public final EObject entryRuleXBooleanLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXBooleanLiteral = null;
try {
// InternalXcore.g:7961:2: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF )
// InternalXcore.g:7962:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBooleanLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXBooleanLiteral=ruleXBooleanLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXBooleanLiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXBooleanLiteral"
// $ANTLR start "ruleXBooleanLiteral"
// InternalXcore.g:7969:1: ruleXBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ;
public final EObject ruleXBooleanLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_isTrue_2_0=null;
enterRule();
try {
// InternalXcore.g:7972:28: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) )
// InternalXcore.g:7973:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
{
// InternalXcore.g:7973:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
// InternalXcore.g:7973:2: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
{
// InternalXcore.g:7973:2: ()
// InternalXcore.g:7974:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(),
current);
}
}
// InternalXcore.g:7979:2: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
int alt158=2;
int LA158_0 = input.LA(1);
if ( (LA158_0==110) ) {
alt158=1;
}
else if ( (LA158_0==111) ) {
alt158=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 158, 0, input);
throw nvae;
}
switch (alt158) {
case 1 :
// InternalXcore.g:7979:4: otherlv_1= 'false'
{
otherlv_1=(Token)match(input,110,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0());
}
}
break;
case 2 :
// InternalXcore.g:7984:6: ( (lv_isTrue_2_0= 'true' ) )
{
// InternalXcore.g:7984:6: ( (lv_isTrue_2_0= 'true' ) )
// InternalXcore.g:7985:1: (lv_isTrue_2_0= 'true' )
{
// InternalXcore.g:7985:1: (lv_isTrue_2_0= 'true' )
// InternalXcore.g:7986:3: lv_isTrue_2_0= 'true'
{
lv_isTrue_2_0=(Token)match(input,111,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXBooleanLiteralRule());
}
setWithLastConsumed(current, "isTrue", true, "true");
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXBooleanLiteral"
// $ANTLR start "entryRuleXNullLiteral"
// InternalXcore.g:8007:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ;
public final EObject entryRuleXNullLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXNullLiteral = null;
try {
// InternalXcore.g:8008:2: (iv_ruleXNullLiteral= ruleXNullLiteral EOF )
// InternalXcore.g:8009:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXNullLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXNullLiteral=ruleXNullLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXNullLiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXNullLiteral"
// $ANTLR start "ruleXNullLiteral"
// InternalXcore.g:8016:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
public final EObject ruleXNullLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalXcore.g:8019:28: ( ( () otherlv_1= 'null' ) )
// InternalXcore.g:8020:1: ( () otherlv_1= 'null' )
{
// InternalXcore.g:8020:1: ( () otherlv_1= 'null' )
// InternalXcore.g:8020:2: () otherlv_1= 'null'
{
// InternalXcore.g:8020:2: ()
// InternalXcore.g:8021:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,112,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXNullLiteral"
// $ANTLR start "entryRuleXNumberLiteral"
// InternalXcore.g:8038:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ;
public final EObject entryRuleXNumberLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXNumberLiteral = null;
try {
// InternalXcore.g:8039:2: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF )
// InternalXcore.g:8040:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXNumberLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXNumberLiteral=ruleXNumberLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXNumberLiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXNumberLiteral"
// $ANTLR start "ruleXNumberLiteral"
// InternalXcore.g:8047:1: ruleXNumberLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleNumber ) ) ) ;
public final EObject ruleXNumberLiteral() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_value_1_0 = null;
enterRule();
try {
// InternalXcore.g:8050:28: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) )
// InternalXcore.g:8051:1: ( () ( (lv_value_1_0= ruleNumber ) ) )
{
// InternalXcore.g:8051:1: ( () ( (lv_value_1_0= ruleNumber ) ) )
// InternalXcore.g:8051:2: () ( (lv_value_1_0= ruleNumber ) )
{
// InternalXcore.g:8051:2: ()
// InternalXcore.g:8052:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(),
current);
}
}
// InternalXcore.g:8057:2: ( (lv_value_1_0= ruleNumber ) )
// InternalXcore.g:8058:1: (lv_value_1_0= ruleNumber )
{
// InternalXcore.g:8058:1: (lv_value_1_0= ruleNumber )
// InternalXcore.g:8059:3: lv_value_1_0= ruleNumber
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_value_1_0=ruleNumber();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXNumberLiteralRule());
}
set(
current,
"value",
lv_value_1_0,
"org.eclipse.xtext.xbase.Xbase.Number");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXNumberLiteral"
// $ANTLR start "entryRuleXStringLiteral"
// InternalXcore.g:8083:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ;
public final EObject entryRuleXStringLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXStringLiteral = null;
try {
// InternalXcore.g:8084:2: (iv_ruleXStringLiteral= ruleXStringLiteral EOF )
// InternalXcore.g:8085:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXStringLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXStringLiteral=ruleXStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXStringLiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXStringLiteral"
// $ANTLR start "ruleXStringLiteral"
// InternalXcore.g:8092:1: ruleXStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ;
public final EObject ruleXStringLiteral() throws RecognitionException {
EObject current = null;
Token lv_value_1_0=null;
enterRule();
try {
// InternalXcore.g:8095:28: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) )
// InternalXcore.g:8096:1: ( () ( (lv_value_1_0= RULE_STRING ) ) )
{
// InternalXcore.g:8096:1: ( () ( (lv_value_1_0= RULE_STRING ) ) )
// InternalXcore.g:8096:2: () ( (lv_value_1_0= RULE_STRING ) )
{
// InternalXcore.g:8096:2: ()
// InternalXcore.g:8097:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(),
current);
}
}
// InternalXcore.g:8102:2: ( (lv_value_1_0= RULE_STRING ) )
// InternalXcore.g:8103:1: (lv_value_1_0= RULE_STRING )
{
// InternalXcore.g:8103:1: (lv_value_1_0= RULE_STRING )
// InternalXcore.g:8104:3: lv_value_1_0= RULE_STRING
{
lv_value_1_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXStringLiteralRule());
}
setWithLastConsumed(
current,
"value",
lv_value_1_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXStringLiteral"
// $ANTLR start "entryRuleXTypeLiteral"
// InternalXcore.g:8128:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ;
public final EObject entryRuleXTypeLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXTypeLiteral = null;
try {
// InternalXcore.g:8129:2: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF )
// InternalXcore.g:8130:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXTypeLiteral=ruleXTypeLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXTypeLiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXTypeLiteral"
// $ANTLR start "ruleXTypeLiteral"
// InternalXcore.g:8137:1: ruleXTypeLiteral returns [EObject current=null] : ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ;
public final EObject ruleXTypeLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_5=null;
AntlrDatatypeRuleToken lv_arrayDimensions_4_0 = null;
enterRule();
try {
// InternalXcore.g:8140:28: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) )
// InternalXcore.g:8141:1: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
{
// InternalXcore.g:8141:1: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
// InternalXcore.g:8141:2: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')'
{
// InternalXcore.g:8141:2: ()
// InternalXcore.g:8142:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,113,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1());
}
otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2());
}
// InternalXcore.g:8155:1: ( ( ruleQualifiedName ) )
// InternalXcore.g:8156:1: ( ruleQualifiedName )
{
// InternalXcore.g:8156:1: ( ruleQualifiedName )
// InternalXcore.g:8157:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXTypeLiteralRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0());
}
pushFollow(FollowSets000.FOLLOW_123);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:8170:2: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )*
loop159:
do {
int alt159=2;
int LA159_0 = input.LA(1);
if ( (LA159_0==59) ) {
alt159=1;
}
switch (alt159) {
case 1 :
// InternalXcore.g:8171:1: (lv_arrayDimensions_4_0= ruleArrayBrackets )
{
// InternalXcore.g:8171:1: (lv_arrayDimensions_4_0= ruleArrayBrackets )
// InternalXcore.g:8172:3: lv_arrayDimensions_4_0= ruleArrayBrackets
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_123);
lv_arrayDimensions_4_0=ruleArrayBrackets();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTypeLiteralRule());
}
add(
current,
"arrayDimensions",
lv_arrayDimensions_4_0,
"org.eclipse.xtext.xbase.Xtype.ArrayBrackets");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop159;
}
} while (true);
otherlv_5=(Token)match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXTypeLiteral"
// $ANTLR start "entryRuleXThrowExpression"
// InternalXcore.g:8200:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ;
public final EObject entryRuleXThrowExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXThrowExpression = null;
try {
// InternalXcore.g:8201:2: (iv_ruleXThrowExpression= ruleXThrowExpression EOF )
// InternalXcore.g:8202:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXThrowExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXThrowExpression=ruleXThrowExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXThrowExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXThrowExpression"
// $ANTLR start "ruleXThrowExpression"
// InternalXcore.g:8209:1: ruleXThrowExpression returns [EObject current=null] : ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ;
public final EObject ruleXThrowExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_expression_2_0 = null;
enterRule();
try {
// InternalXcore.g:8212:28: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) )
// InternalXcore.g:8213:1: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
{
// InternalXcore.g:8213:1: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
// InternalXcore.g:8213:2: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) )
{
// InternalXcore.g:8213:2: ()
// InternalXcore.g:8214:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,114,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1());
}
// InternalXcore.g:8223:1: ( (lv_expression_2_0= ruleXExpression ) )
// InternalXcore.g:8224:1: (lv_expression_2_0= ruleXExpression )
{
// InternalXcore.g:8224:1: (lv_expression_2_0= ruleXExpression )
// InternalXcore.g:8225:3: lv_expression_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_expression_2_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXThrowExpressionRule());
}
set(
current,
"expression",
lv_expression_2_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXThrowExpression"
// $ANTLR start "entryRuleXReturnExpression"
// InternalXcore.g:8249:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ;
public final EObject entryRuleXReturnExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXReturnExpression = null;
try {
// InternalXcore.g:8250:2: (iv_ruleXReturnExpression= ruleXReturnExpression EOF )
// InternalXcore.g:8251:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReturnExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXReturnExpression=ruleXReturnExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXReturnExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXReturnExpression"
// $ANTLR start "ruleXReturnExpression"
// InternalXcore.g:8258:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ;
public final EObject ruleXReturnExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_expression_2_0 = null;
enterRule();
try {
// InternalXcore.g:8261:28: ( ( () otherlv_1= 'return' ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) )
// InternalXcore.g:8262:1: ( () otherlv_1= 'return' ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? )
{
// InternalXcore.g:8262:1: ( () otherlv_1= 'return' ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? )
// InternalXcore.g:8262:2: () otherlv_1= 'return' ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?
{
// InternalXcore.g:8262:2: ()
// InternalXcore.g:8263:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,115,FollowSets000.FOLLOW_107); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1());
}
// InternalXcore.g:8272:1: ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?
int alt160=2;
alt160 = dfa160.predict(input);
switch (alt160) {
case 1 :
// InternalXcore.g:8272:2: ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression )
{
// InternalXcore.g:8332:1: (lv_expression_2_0= ruleXExpression )
// InternalXcore.g:8333:3: lv_expression_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_expression_2_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXReturnExpressionRule());
}
set(
current,
"expression",
lv_expression_2_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXReturnExpression"
// $ANTLR start "entryRuleXTryCatchFinallyExpression"
// InternalXcore.g:8357:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ;
public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXTryCatchFinallyExpression = null;
try {
// InternalXcore.g:8358:2: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF )
// InternalXcore.g:8359:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXTryCatchFinallyExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXTryCatchFinallyExpression"
// $ANTLR start "ruleXTryCatchFinallyExpression"
// InternalXcore.g:8366:1: ruleXTryCatchFinallyExpression returns [EObject current=null] : ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ;
public final EObject ruleXTryCatchFinallyExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_expression_2_0 = null;
EObject lv_catchClauses_3_0 = null;
EObject lv_finallyExpression_5_0 = null;
EObject lv_finallyExpression_7_0 = null;
enterRule();
try {
// InternalXcore.g:8369:28: ( ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) )
// InternalXcore.g:8370:1: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
{
// InternalXcore.g:8370:1: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
// InternalXcore.g:8370:2: () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
{
// InternalXcore.g:8370:2: ()
// InternalXcore.g:8371:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,116,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1());
}
// InternalXcore.g:8380:1: ( (lv_expression_2_0= ruleXExpression ) )
// InternalXcore.g:8381:1: (lv_expression_2_0= ruleXExpression )
{
// InternalXcore.g:8381:1: (lv_expression_2_0= ruleXExpression )
// InternalXcore.g:8382:3: lv_expression_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_124);
lv_expression_2_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
}
set(
current,
"expression",
lv_expression_2_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:8398:2: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
int alt163=2;
int LA163_0 = input.LA(1);
if ( (LA163_0==119) ) {
alt163=1;
}
else if ( (LA163_0==117) ) {
alt163=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 163, 0, input);
throw nvae;
}
switch (alt163) {
case 1 :
// InternalXcore.g:8398:3: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
{
// InternalXcore.g:8398:3: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
// InternalXcore.g:8398:4: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
{
// InternalXcore.g:8398:4: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+
int cnt161=0;
loop161:
do {
int alt161=2;
int LA161_0 = input.LA(1);
if ( (LA161_0==119) ) {
int LA161_2 = input.LA(2);
if ( (synpred41_InternalXcore()) ) {
alt161=1;
}
}
switch (alt161) {
case 1 :
// InternalXcore.g:8398:5: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause )
{
// InternalXcore.g:8400:1: (lv_catchClauses_3_0= ruleXCatchClause )
// InternalXcore.g:8401:3: lv_catchClauses_3_0= ruleXCatchClause
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_125);
lv_catchClauses_3_0=ruleXCatchClause();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
}
add(
current,
"catchClauses",
lv_catchClauses_3_0,
"org.eclipse.xtext.xbase.Xbase.XCatchClause");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt161 >= 1 ) break loop161;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(161, input);
throw eee;
}
cnt161++;
} while (true);
// InternalXcore.g:8417:3: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
int alt162=2;
int LA162_0 = input.LA(1);
if ( (LA162_0==117) ) {
int LA162_1 = input.LA(2);
if ( (synpred42_InternalXcore()) ) {
alt162=1;
}
}
switch (alt162) {
case 1 :
// InternalXcore.g:8417:4: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) )
{
// InternalXcore.g:8417:4: ( ( 'finally' )=>otherlv_4= 'finally' )
// InternalXcore.g:8417:5: ( 'finally' )=>otherlv_4= 'finally'
{
otherlv_4=(Token)match(input,117,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0());
}
}
// InternalXcore.g:8422:2: ( (lv_finallyExpression_5_0= ruleXExpression ) )
// InternalXcore.g:8423:1: (lv_finallyExpression_5_0= ruleXExpression )
{
// InternalXcore.g:8423:1: (lv_finallyExpression_5_0= ruleXExpression )
// InternalXcore.g:8424:3: lv_finallyExpression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_finallyExpression_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
}
set(
current,
"finallyExpression",
lv_finallyExpression_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalXcore.g:8441:6: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
{
// InternalXcore.g:8441:6: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
// InternalXcore.g:8441:8: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) )
{
otherlv_6=(Token)match(input,117,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0());
}
// InternalXcore.g:8445:1: ( (lv_finallyExpression_7_0= ruleXExpression ) )
// InternalXcore.g:8446:1: (lv_finallyExpression_7_0= ruleXExpression )
{
// InternalXcore.g:8446:1: (lv_finallyExpression_7_0= ruleXExpression )
// InternalXcore.g:8447:3: lv_finallyExpression_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_finallyExpression_7_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
}
set(
current,
"finallyExpression",
lv_finallyExpression_7_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXTryCatchFinallyExpression"
// $ANTLR start "entryRuleXSynchronizedExpression"
// InternalXcore.g:8471:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ;
public final EObject entryRuleXSynchronizedExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXSynchronizedExpression = null;
try {
// InternalXcore.g:8472:2: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF )
// InternalXcore.g:8473:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSynchronizedExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXSynchronizedExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXSynchronizedExpression"
// $ANTLR start "ruleXSynchronizedExpression"
// InternalXcore.g:8480:1: ruleXSynchronizedExpression returns [EObject current=null] : ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ;
public final EObject ruleXSynchronizedExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_param_3_0 = null;
EObject lv_expression_5_0 = null;
enterRule();
try {
// InternalXcore.g:8483:28: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) )
// InternalXcore.g:8484:1: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
{
// InternalXcore.g:8484:1: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
// InternalXcore.g:8484:2: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) )
{
// InternalXcore.g:8484:2: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) )
// InternalXcore.g:8484:3: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' )
{
// InternalXcore.g:8487:5: ( () otherlv_1= 'synchronized' otherlv_2= '(' )
// InternalXcore.g:8487:6: () otherlv_1= 'synchronized' otherlv_2= '('
{
// InternalXcore.g:8487:6: ()
// InternalXcore.g:8488:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(),
current);
}
}
otherlv_1=(Token)match(input,118,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1());
}
otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2());
}
}
}
// InternalXcore.g:8501:3: ( (lv_param_3_0= ruleXExpression ) )
// InternalXcore.g:8502:1: (lv_param_3_0= ruleXExpression )
{
// InternalXcore.g:8502:1: (lv_param_3_0= ruleXExpression )
// InternalXcore.g:8503:3: lv_param_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_param_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule());
}
set(
current,
"param",
lv_param_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2());
}
// InternalXcore.g:8523:1: ( (lv_expression_5_0= ruleXExpression ) )
// InternalXcore.g:8524:1: (lv_expression_5_0= ruleXExpression )
{
// InternalXcore.g:8524:1: (lv_expression_5_0= ruleXExpression )
// InternalXcore.g:8525:3: lv_expression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_expression_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule());
}
set(
current,
"expression",
lv_expression_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXSynchronizedExpression"
// $ANTLR start "entryRuleXCatchClause"
// InternalXcore.g:8549:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ;
public final EObject entryRuleXCatchClause() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCatchClause = null;
try {
// InternalXcore.g:8550:2: (iv_ruleXCatchClause= ruleXCatchClause EOF )
// InternalXcore.g:8551:2: iv_ruleXCatchClause= ruleXCatchClause EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCatchClauseRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXCatchClause=ruleXCatchClause();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCatchClause;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCatchClause"
// $ANTLR start "ruleXCatchClause"
// InternalXcore.g:8558:1: ruleXCatchClause returns [EObject current=null] : ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ;
public final EObject ruleXCatchClause() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_declaredParam_2_0 = null;
EObject lv_expression_4_0 = null;
enterRule();
try {
// InternalXcore.g:8561:28: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) )
// InternalXcore.g:8562:1: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
{
// InternalXcore.g:8562:1: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
// InternalXcore.g:8562:2: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) )
{
// InternalXcore.g:8562:2: ( ( 'catch' )=>otherlv_0= 'catch' )
// InternalXcore.g:8562:3: ( 'catch' )=>otherlv_0= 'catch'
{
otherlv_0=(Token)match(input,119,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0());
}
}
otherlv_1=(Token)match(input,15,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1());
}
// InternalXcore.g:8571:1: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) )
// InternalXcore.g:8572:1: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
{
// InternalXcore.g:8572:1: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
// InternalXcore.g:8573:3: lv_declaredParam_2_0= ruleFullJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_declaredParam_2_0=ruleFullJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCatchClauseRule());
}
set(
current,
"declaredParam",
lv_declaredParam_2_0,
"org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3());
}
// InternalXcore.g:8593:1: ( (lv_expression_4_0= ruleXExpression ) )
// InternalXcore.g:8594:1: (lv_expression_4_0= ruleXExpression )
{
// InternalXcore.g:8594:1: (lv_expression_4_0= ruleXExpression )
// InternalXcore.g:8595:3: lv_expression_4_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_expression_4_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCatchClauseRule());
}
set(
current,
"expression",
lv_expression_4_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXCatchClause"
// $ANTLR start "entryRuleQualifiedName"
// InternalXcore.g:8619:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
public final String entryRuleQualifiedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQualifiedName = null;
try {
// InternalXcore.g:8620:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
// InternalXcore.g:8621:2: iv_ruleQualifiedName= ruleQualifiedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleQualifiedName=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQualifiedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQualifiedName"
// $ANTLR start "ruleQualifiedName"
// InternalXcore.g:8628:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ;
public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_ValidID_0 = null;
AntlrDatatypeRuleToken this_ValidID_2 = null;
enterRule();
try {
// InternalXcore.g:8631:28: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) )
// InternalXcore.g:8632:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
{
// InternalXcore.g:8632:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
// InternalXcore.g:8633:5: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_74);
this_ValidID_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ValidID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
// InternalXcore.g:8643:1: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
loop164:
do {
int alt164=2;
alt164 = dfa164.predict(input);
switch (alt164) {
case 1 :
// InternalXcore.g:8643:2: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID
{
// InternalXcore.g:8643:2: ( ( '.' )=>kw= '.' )
// InternalXcore.g:8643:3: ( '.' )=>kw= '.'
{
kw=(Token)match(input,67,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1());
}
pushFollow(FollowSets000.FOLLOW_74);
this_ValidID_2=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ValidID_2);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop164;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQualifiedName"
// $ANTLR start "entryRuleNumber"
// InternalXcore.g:8670:1: entryRuleNumber returns [String current=null] : iv_ruleNumber= ruleNumber EOF ;
public final String entryRuleNumber() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleNumber = null;
HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
try {
// InternalXcore.g:8674:2: (iv_ruleNumber= ruleNumber EOF )
// InternalXcore.g:8675:2: iv_ruleNumber= ruleNumber EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNumberRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNumber=ruleNumber();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNumber.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
myHiddenTokenState.restore();
}
return current;
}
// $ANTLR end "entryRuleNumber"
// $ANTLR start "ruleNumber"
// InternalXcore.g:8685:1: ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ;
public final AntlrDatatypeRuleToken ruleNumber() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_HEX_0=null;
Token this_INT_1=null;
Token this_DECIMAL_2=null;
Token kw=null;
Token this_INT_4=null;
Token this_DECIMAL_5=null;
enterRule();
HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
try {
// InternalXcore.g:8689:28: ( (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) )
// InternalXcore.g:8690:1: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
{
// InternalXcore.g:8690:1: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
int alt168=2;
int LA168_0 = input.LA(1);
if ( (LA168_0==RULE_HEX) ) {
alt168=1;
}
else if ( (LA168_0==RULE_INT||LA168_0==RULE_DECIMAL) ) {
alt168=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 168, 0, input);
throw nvae;
}
switch (alt168) {
case 1 :
// InternalXcore.g:8690:6: this_HEX_0= RULE_HEX
{
this_HEX_0=(Token)match(input,RULE_HEX,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_HEX_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_HEX_0, grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0());
}
}
break;
case 2 :
// InternalXcore.g:8698:6: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
{
// InternalXcore.g:8698:6: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
// InternalXcore.g:8698:7: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
{
// InternalXcore.g:8698:7: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL )
int alt165=2;
int LA165_0 = input.LA(1);
if ( (LA165_0==RULE_INT) ) {
alt165=1;
}
else if ( (LA165_0==RULE_DECIMAL) ) {
alt165=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 165, 0, input);
throw nvae;
}
switch (alt165) {
case 1 :
// InternalXcore.g:8698:12: this_INT_1= RULE_INT
{
this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_1);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_1, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0());
}
}
break;
case 2 :
// InternalXcore.g:8706:10: this_DECIMAL_2= RULE_DECIMAL
{
this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_DECIMAL_2);
}
if ( state.backtracking==0 ) {
newLeafNode(this_DECIMAL_2, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1());
}
}
break;
}
// InternalXcore.g:8713:2: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
int alt167=2;
int LA167_0 = input.LA(1);
if ( (LA167_0==67) ) {
int LA167_1 = input.LA(2);
if ( (LA167_1==RULE_INT||LA167_1==RULE_DECIMAL) ) {
alt167=1;
}
}
switch (alt167) {
case 1 :
// InternalXcore.g:8714:2: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
{
kw=(Token)match(input,67,FollowSets000.FOLLOW_126); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0());
}
// InternalXcore.g:8719:1: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
int alt166=2;
int LA166_0 = input.LA(1);
if ( (LA166_0==RULE_INT) ) {
alt166=1;
}
else if ( (LA166_0==RULE_DECIMAL) ) {
alt166=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 166, 0, input);
throw nvae;
}
switch (alt166) {
case 1 :
// InternalXcore.g:8719:6: this_INT_4= RULE_INT
{
this_INT_4=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_4);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_4, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0());
}
}
break;
case 2 :
// InternalXcore.g:8727:10: this_DECIMAL_5= RULE_DECIMAL
{
this_DECIMAL_5=(Token)match(input,RULE_DECIMAL,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_DECIMAL_5);
}
if ( state.backtracking==0 ) {
newLeafNode(this_DECIMAL_5, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1());
}
}
break;
}
}
break;
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
myHiddenTokenState.restore();
}
return current;
}
// $ANTLR end "ruleNumber"
// $ANTLR start "entryRuleJvmTypeReference"
// InternalXcore.g:8747:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ;
public final EObject entryRuleJvmTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmTypeReference = null;
try {
// InternalXcore.g:8748:2: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF )
// InternalXcore.g:8749:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeReferenceRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleJvmTypeReference=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmTypeReference;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmTypeReference"
// $ANTLR start "ruleJvmTypeReference"
// InternalXcore.g:8756:1: ruleJvmTypeReference returns [EObject current=null] : ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ;
public final EObject ruleJvmTypeReference() throws RecognitionException {
EObject current = null;
EObject this_JvmParameterizedTypeReference_0 = null;
EObject this_XFunctionTypeRef_3 = null;
enterRule();
try {
// InternalXcore.g:8759:28: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) )
// InternalXcore.g:8760:1: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
{
// InternalXcore.g:8760:1: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
int alt170=2;
int LA170_0 = input.LA(1);
if ( (LA170_0==RULE_ID||(LA170_0>=44 && LA170_0<=47)||LA170_0==56) ) {
alt170=1;
}
else if ( (LA170_0==15||LA170_0==85) ) {
alt170=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 170, 0, input);
throw nvae;
}
switch (alt170) {
case 1 :
// InternalXcore.g:8760:2: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
{
// InternalXcore.g:8760:2: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
// InternalXcore.g:8761:5: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_121);
this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_JvmParameterizedTypeReference_0;
afterParserOrEnumRuleCall();
}
// InternalXcore.g:8769:1: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
loop169:
do {
int alt169=2;
int LA169_0 = input.LA(1);
if ( (LA169_0==59) ) {
int LA169_2 = input.LA(2);
if ( (LA169_2==64) ) {
int LA169_3 = input.LA(3);
if ( (synpred46_InternalXcore()) ) {
alt169=1;
}
}
}
switch (alt169) {
case 1 :
// InternalXcore.g:8769:2: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets )
{
// InternalXcore.g:8770:24: ( () ruleArrayBrackets )
// InternalXcore.g:8770:25: () ruleArrayBrackets
{
// InternalXcore.g:8770:25: ()
// InternalXcore.g:8771:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(),
current);
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1());
}
pushFollow(FollowSets000.FOLLOW_121);
ruleArrayBrackets();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop169;
}
} while (true);
}
}
break;
case 2 :
// InternalXcore.g:8786:5: this_XFunctionTypeRef_3= ruleXFunctionTypeRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_XFunctionTypeRef_3=ruleXFunctionTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XFunctionTypeRef_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmTypeReference"
// $ANTLR start "entryRuleArrayBrackets"
// InternalXcore.g:8802:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ;
public final String entryRuleArrayBrackets() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleArrayBrackets = null;
try {
// InternalXcore.g:8803:2: (iv_ruleArrayBrackets= ruleArrayBrackets EOF )
// InternalXcore.g:8804:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getArrayBracketsRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleArrayBrackets=ruleArrayBrackets();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleArrayBrackets.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleArrayBrackets"
// $ANTLR start "ruleArrayBrackets"
// InternalXcore.g:8811:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ;
public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalXcore.g:8814:28: ( (kw= '[' kw= ']' ) )
// InternalXcore.g:8815:1: (kw= '[' kw= ']' )
{
// InternalXcore.g:8815:1: (kw= '[' kw= ']' )
// InternalXcore.g:8816:2: kw= '[' kw= ']'
{
kw=(Token)match(input,59,FollowSets000.FOLLOW_66); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0());
}
kw=(Token)match(input,64,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleArrayBrackets"
// $ANTLR start "entryRuleXFunctionTypeRef"
// InternalXcore.g:8835:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ;
public final EObject entryRuleXFunctionTypeRef() throws RecognitionException {
EObject current = null;
EObject iv_ruleXFunctionTypeRef = null;
try {
// InternalXcore.g:8836:2: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF )
// InternalXcore.g:8837:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXFunctionTypeRef;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXFunctionTypeRef"
// $ANTLR start "ruleXFunctionTypeRef"
// InternalXcore.g:8844:1: ruleXFunctionTypeRef returns [EObject current=null] : ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleXFunctionTypeRef() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_5=null;
EObject lv_paramTypes_1_0 = null;
EObject lv_paramTypes_3_0 = null;
EObject lv_returnType_6_0 = null;
enterRule();
try {
// InternalXcore.g:8847:28: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) )
// InternalXcore.g:8848:1: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
{
// InternalXcore.g:8848:1: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
// InternalXcore.g:8848:2: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) )
{
// InternalXcore.g:8848:2: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )?
int alt173=2;
int LA173_0 = input.LA(1);
if ( (LA173_0==15) ) {
alt173=1;
}
switch (alt173) {
case 1 :
// InternalXcore.g:8848:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')'
{
otherlv_0=(Token)match(input,15,FollowSets000.FOLLOW_127); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0());
}
// InternalXcore.g:8852:1: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )?
int alt172=2;
int LA172_0 = input.LA(1);
if ( (LA172_0==RULE_ID||LA172_0==15||(LA172_0>=44 && LA172_0<=47)||LA172_0==56||LA172_0==85) ) {
alt172=1;
}
switch (alt172) {
case 1 :
// InternalXcore.g:8852:2: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
{
// InternalXcore.g:8852:2: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) )
// InternalXcore.g:8853:1: (lv_paramTypes_1_0= ruleJvmTypeReference )
{
// InternalXcore.g:8853:1: (lv_paramTypes_1_0= ruleJvmTypeReference )
// InternalXcore.g:8854:3: lv_paramTypes_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_paramTypes_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule());
}
add(
current,
"paramTypes",
lv_paramTypes_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:8870:2: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
loop171:
do {
int alt171=2;
int LA171_0 = input.LA(1);
if ( (LA171_0==16) ) {
alt171=1;
}
switch (alt171) {
case 1 :
// InternalXcore.g:8870:4: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
{
otherlv_2=(Token)match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0());
}
// InternalXcore.g:8874:1: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
// InternalXcore.g:8875:1: (lv_paramTypes_3_0= ruleJvmTypeReference )
{
// InternalXcore.g:8875:1: (lv_paramTypes_3_0= ruleJvmTypeReference )
// InternalXcore.g:8876:3: lv_paramTypes_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_paramTypes_3_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule());
}
add(
current,
"paramTypes",
lv_paramTypes_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop171;
}
} while (true);
}
break;
}
otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_128); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2());
}
}
break;
}
otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1());
}
// InternalXcore.g:8900:1: ( (lv_returnType_6_0= ruleJvmTypeReference ) )
// InternalXcore.g:8901:1: (lv_returnType_6_0= ruleJvmTypeReference )
{
// InternalXcore.g:8901:1: (lv_returnType_6_0= ruleJvmTypeReference )
// InternalXcore.g:8902:3: lv_returnType_6_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_returnType_6_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule());
}
set(
current,
"returnType",
lv_returnType_6_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXFunctionTypeRef"
// $ANTLR start "entryRuleJvmParameterizedTypeReference"
// InternalXcore.g:8926:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ;
public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmParameterizedTypeReference = null;
try {
// InternalXcore.g:8927:2: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF )
// InternalXcore.g:8928:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmParameterizedTypeReference;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmParameterizedTypeReference"
// $ANTLR start "ruleJvmParameterizedTypeReference"
// InternalXcore.g:8935:1: ruleJvmParameterizedTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ;
public final EObject ruleJvmParameterizedTypeReference() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_13=null;
EObject lv_arguments_2_0 = null;
EObject lv_arguments_4_0 = null;
EObject lv_arguments_10_0 = null;
EObject lv_arguments_12_0 = null;
enterRule();
try {
// InternalXcore.g:8938:28: ( ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) )
// InternalXcore.g:8939:1: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
{
// InternalXcore.g:8939:1: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
// InternalXcore.g:8939:2: ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
{
// InternalXcore.g:8939:2: ( ( ruleQualifiedName ) )
// InternalXcore.g:8940:1: ( ruleQualifiedName )
{
// InternalXcore.g:8940:1: ( ruleQualifiedName )
// InternalXcore.g:8941:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0());
}
pushFollow(FollowSets000.FOLLOW_71);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:8954:2: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
int alt178=2;
alt178 = dfa178.predict(input);
switch (alt178) {
case 1 :
// InternalXcore.g:8954:3: ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
{
// InternalXcore.g:8954:3: ( ( '<' )=>otherlv_1= '<' )
// InternalXcore.g:8954:4: ( '<' )=>otherlv_1= '<'
{
otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0());
}
}
// InternalXcore.g:8959:2: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) )
// InternalXcore.g:8960:1: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
{
// InternalXcore.g:8960:1: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
// InternalXcore.g:8961:3: lv_arguments_2_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_arguments_2_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
add(
current,
"arguments",
lv_arguments_2_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:8977:2: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )*
loop174:
do {
int alt174=2;
int LA174_0 = input.LA(1);
if ( (LA174_0==16) ) {
alt174=1;
}
switch (alt174) {
case 1 :
// InternalXcore.g:8977:4: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
{
otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0());
}
// InternalXcore.g:8981:1: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
// InternalXcore.g:8982:1: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
{
// InternalXcore.g:8982:1: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
// InternalXcore.g:8983:3: lv_arguments_4_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_arguments_4_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
add(
current,
"arguments",
lv_arguments_4_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop174;
}
} while (true);
otherlv_5=(Token)match(input,24,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3());
}
// InternalXcore.g:9003:1: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
loop177:
do {
int alt177=2;
alt177 = dfa177.predict(input);
switch (alt177) {
case 1 :
// InternalXcore.g:9003:2: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
{
// InternalXcore.g:9003:2: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) )
// InternalXcore.g:9003:3: ( ( () '.' ) )=> ( () otherlv_7= '.' )
{
// InternalXcore.g:9005:5: ( () otherlv_7= '.' )
// InternalXcore.g:9005:6: () otherlv_7= '.'
{
// InternalXcore.g:9005:6: ()
// InternalXcore.g:9006:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(),
current);
}
}
otherlv_7=(Token)match(input,67,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1());
}
}
}
// InternalXcore.g:9015:3: ( ( ruleValidID ) )
// InternalXcore.g:9016:1: ( ruleValidID )
{
// InternalXcore.g:9016:1: ( ruleValidID )
// InternalXcore.g:9017:3: ruleValidID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0());
}
pushFollow(FollowSets000.FOLLOW_129);
ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:9030:2: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
int alt176=2;
alt176 = dfa176.predict(input);
switch (alt176) {
case 1 :
// InternalXcore.g:9030:3: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>'
{
// InternalXcore.g:9030:3: ( ( '<' )=>otherlv_9= '<' )
// InternalXcore.g:9030:4: ( '<' )=>otherlv_9= '<'
{
otherlv_9=(Token)match(input,23,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0());
}
}
// InternalXcore.g:9035:2: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) )
// InternalXcore.g:9036:1: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
{
// InternalXcore.g:9036:1: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
// InternalXcore.g:9037:3: lv_arguments_10_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_arguments_10_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
add(
current,
"arguments",
lv_arguments_10_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:9053:2: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )*
loop175:
do {
int alt175=2;
int LA175_0 = input.LA(1);
if ( (LA175_0==16) ) {
alt175=1;
}
switch (alt175) {
case 1 :
// InternalXcore.g:9053:4: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
{
otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0());
}
// InternalXcore.g:9057:1: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
// InternalXcore.g:9058:1: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
{
// InternalXcore.g:9058:1: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
// InternalXcore.g:9059:3: lv_arguments_12_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_arguments_12_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
add(
current,
"arguments",
lv_arguments_12_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop175;
}
} while (true);
otherlv_13=(Token)match(input,24,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3());
}
}
break;
}
}
break;
default :
break loop177;
}
} while (true);
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmParameterizedTypeReference"
// $ANTLR start "entryRuleJvmArgumentTypeReference"
// InternalXcore.g:9087:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ;
public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmArgumentTypeReference = null;
try {
// InternalXcore.g:9088:2: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF )
// InternalXcore.g:9089:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmArgumentTypeReference;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmArgumentTypeReference"
// $ANTLR start "ruleJvmArgumentTypeReference"
// InternalXcore.g:9096:1: ruleJvmArgumentTypeReference returns [EObject current=null] : (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ;
public final EObject ruleJvmArgumentTypeReference() throws RecognitionException {
EObject current = null;
EObject this_JvmTypeReference_0 = null;
EObject this_JvmWildcardTypeReference_1 = null;
enterRule();
try {
// InternalXcore.g:9099:28: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) )
// InternalXcore.g:9100:1: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
{
// InternalXcore.g:9100:1: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
int alt179=2;
int LA179_0 = input.LA(1);
if ( (LA179_0==RULE_ID||LA179_0==15||(LA179_0>=44 && LA179_0<=47)||LA179_0==56||LA179_0==85) ) {
alt179=1;
}
else if ( (LA179_0==60) ) {
alt179=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 179, 0, input);
throw nvae;
}
switch (alt179) {
case 1 :
// InternalXcore.g:9101:5: this_JvmTypeReference_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_JvmTypeReference_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_JvmTypeReference_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalXcore.g:9111:5: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_JvmWildcardTypeReference_1=ruleJvmWildcardTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_JvmWildcardTypeReference_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmArgumentTypeReference"
// $ANTLR start "entryRuleJvmWildcardTypeReference"
// InternalXcore.g:9127:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ;
public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmWildcardTypeReference = null;
try {
// InternalXcore.g:9128:2: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF )
// InternalXcore.g:9129:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmWildcardTypeReference;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmWildcardTypeReference"
// $ANTLR start "ruleJvmWildcardTypeReference"
// InternalXcore.g:9136:1: ruleJvmWildcardTypeReference returns [EObject current=null] : ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ;
public final EObject ruleJvmWildcardTypeReference() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_constraints_2_0 = null;
EObject lv_constraints_3_0 = null;
EObject lv_constraints_4_0 = null;
EObject lv_constraints_5_0 = null;
enterRule();
try {
// InternalXcore.g:9139:28: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) )
// InternalXcore.g:9140:1: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
{
// InternalXcore.g:9140:1: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
// InternalXcore.g:9140:2: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
{
// InternalXcore.g:9140:2: ()
// InternalXcore.g:9141:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(),
current);
}
}
otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_73); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1());
}
// InternalXcore.g:9150:1: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
int alt182=3;
int LA182_0 = input.LA(1);
if ( (LA182_0==35) ) {
alt182=1;
}
else if ( (LA182_0==66) ) {
alt182=2;
}
switch (alt182) {
case 1 :
// InternalXcore.g:9150:2: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
{
// InternalXcore.g:9150:2: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
// InternalXcore.g:9150:3: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
{
// InternalXcore.g:9150:3: ( (lv_constraints_2_0= ruleJvmUpperBound ) )
// InternalXcore.g:9151:1: (lv_constraints_2_0= ruleJvmUpperBound )
{
// InternalXcore.g:9151:1: (lv_constraints_2_0= ruleJvmUpperBound )
// InternalXcore.g:9152:3: lv_constraints_2_0= ruleJvmUpperBound
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_64);
lv_constraints_2_0=ruleJvmUpperBound();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
}
add(
current,
"constraints",
lv_constraints_2_0,
"org.eclipse.xtext.xbase.Xtype.JvmUpperBound");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:9168:2: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
loop180:
do {
int alt180=2;
int LA180_0 = input.LA(1);
if ( (LA180_0==58) ) {
alt180=1;
}
switch (alt180) {
case 1 :
// InternalXcore.g:9169:1: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
{
// InternalXcore.g:9169:1: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
// InternalXcore.g:9170:3: lv_constraints_3_0= ruleJvmUpperBoundAnded
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_64);
lv_constraints_3_0=ruleJvmUpperBoundAnded();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
}
add(
current,
"constraints",
lv_constraints_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmUpperBoundAnded");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop180;
}
} while (true);
}
}
break;
case 2 :
// InternalXcore.g:9187:6: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
{
// InternalXcore.g:9187:6: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
// InternalXcore.g:9187:7: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
{
// InternalXcore.g:9187:7: ( (lv_constraints_4_0= ruleJvmLowerBound ) )
// InternalXcore.g:9188:1: (lv_constraints_4_0= ruleJvmLowerBound )
{
// InternalXcore.g:9188:1: (lv_constraints_4_0= ruleJvmLowerBound )
// InternalXcore.g:9189:3: lv_constraints_4_0= ruleJvmLowerBound
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_64);
lv_constraints_4_0=ruleJvmLowerBound();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
}
add(
current,
"constraints",
lv_constraints_4_0,
"org.eclipse.xtext.xbase.Xtype.JvmLowerBound");
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:9205:2: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
loop181:
do {
int alt181=2;
int LA181_0 = input.LA(1);
if ( (LA181_0==58) ) {
alt181=1;
}
switch (alt181) {
case 1 :
// InternalXcore.g:9206:1: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
{
// InternalXcore.g:9206:1: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
// InternalXcore.g:9207:3: lv_constraints_5_0= ruleJvmLowerBoundAnded
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_64);
lv_constraints_5_0=ruleJvmLowerBoundAnded();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
}
add(
current,
"constraints",
lv_constraints_5_0,
"org.eclipse.xtext.xbase.Xtype.JvmLowerBoundAnded");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop181;
}
} while (true);
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmWildcardTypeReference"
// $ANTLR start "entryRuleJvmUpperBound"
// InternalXcore.g:9231:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ;
public final EObject entryRuleJvmUpperBound() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmUpperBound = null;
try {
// InternalXcore.g:9232:2: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF )
// InternalXcore.g:9233:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleJvmUpperBound=ruleJvmUpperBound();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmUpperBound;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmUpperBound"
// $ANTLR start "ruleJvmUpperBound"
// InternalXcore.g:9240:1: ruleJvmUpperBound returns [EObject current=null] : (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleJvmUpperBound() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_typeReference_1_0 = null;
enterRule();
try {
// InternalXcore.g:9243:28: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalXcore.g:9244:1: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalXcore.g:9244:1: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalXcore.g:9244:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,35,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0());
}
// InternalXcore.g:9248:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalXcore.g:9249:1: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalXcore.g:9249:1: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalXcore.g:9250:3: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_typeReference_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmUpperBoundRule());
}
set(
current,
"typeReference",
lv_typeReference_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmUpperBound"
// $ANTLR start "entryRuleJvmUpperBoundAnded"
// InternalXcore.g:9274:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ;
public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmUpperBoundAnded = null;
try {
// InternalXcore.g:9275:2: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF )
// InternalXcore.g:9276:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmUpperBoundAnded;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmUpperBoundAnded"
// $ANTLR start "ruleJvmUpperBoundAnded"
// InternalXcore.g:9283:1: ruleJvmUpperBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleJvmUpperBoundAnded() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_typeReference_1_0 = null;
enterRule();
try {
// InternalXcore.g:9286:28: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalXcore.g:9287:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalXcore.g:9287:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalXcore.g:9287:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,58,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0());
}
// InternalXcore.g:9291:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalXcore.g:9292:1: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalXcore.g:9292:1: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalXcore.g:9293:3: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_typeReference_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmUpperBoundAndedRule());
}
set(
current,
"typeReference",
lv_typeReference_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmUpperBoundAnded"
// $ANTLR start "entryRuleJvmLowerBound"
// InternalXcore.g:9317:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ;
public final EObject entryRuleJvmLowerBound() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmLowerBound = null;
try {
// InternalXcore.g:9318:2: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF )
// InternalXcore.g:9319:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleJvmLowerBound=ruleJvmLowerBound();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmLowerBound;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmLowerBound"
// $ANTLR start "ruleJvmLowerBound"
// InternalXcore.g:9326:1: ruleJvmLowerBound returns [EObject current=null] : (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleJvmLowerBound() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_typeReference_1_0 = null;
enterRule();
try {
// InternalXcore.g:9329:28: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalXcore.g:9330:1: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalXcore.g:9330:1: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalXcore.g:9330:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,66,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0());
}
// InternalXcore.g:9334:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalXcore.g:9335:1: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalXcore.g:9335:1: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalXcore.g:9336:3: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_typeReference_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmLowerBoundRule());
}
set(
current,
"typeReference",
lv_typeReference_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmLowerBound"
// $ANTLR start "entryRuleJvmLowerBoundAnded"
// InternalXcore.g:9360:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ;
public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmLowerBoundAnded = null;
try {
// InternalXcore.g:9361:2: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF )
// InternalXcore.g:9362:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmLowerBoundAnded;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmLowerBoundAnded"
// $ANTLR start "ruleJvmLowerBoundAnded"
// InternalXcore.g:9369:1: ruleJvmLowerBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleJvmLowerBoundAnded() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_typeReference_1_0 = null;
enterRule();
try {
// InternalXcore.g:9372:28: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalXcore.g:9373:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalXcore.g:9373:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalXcore.g:9373:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,58,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0());
}
// InternalXcore.g:9377:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalXcore.g:9378:1: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalXcore.g:9378:1: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalXcore.g:9379:3: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_typeReference_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmLowerBoundAndedRule());
}
set(
current,
"typeReference",
lv_typeReference_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmLowerBoundAnded"
// $ANTLR start "entryRuleQualifiedNameWithWildcard"
// InternalXcore.g:9405:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ;
public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null;
try {
// InternalXcore.g:9406:2: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF )
// InternalXcore.g:9407:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQualifiedNameWithWildcard.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQualifiedNameWithWildcard"
// $ANTLR start "ruleQualifiedNameWithWildcard"
// InternalXcore.g:9414:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ;
public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_QualifiedName_0 = null;
enterRule();
try {
// InternalXcore.g:9417:28: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) )
// InternalXcore.g:9418:1: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
{
// InternalXcore.g:9418:1: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
// InternalXcore.g:9419:5: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*'
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_130);
this_QualifiedName_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_QualifiedName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
kw=(Token)match(input,67,FollowSets000.FOLLOW_131); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1());
}
kw=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQualifiedNameWithWildcard"
// $ANTLR start "entryRuleXImportDeclaration"
// InternalXcore.g:9451:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ;
public final EObject entryRuleXImportDeclaration() throws RecognitionException {
EObject current = null;
EObject iv_ruleXImportDeclaration = null;
try {
// InternalXcore.g:9452:2: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF )
// InternalXcore.g:9453:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleXImportDeclaration=ruleXImportDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXImportDeclaration;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXImportDeclaration"
// $ANTLR start "ruleXImportDeclaration"
// InternalXcore.g:9460:1: ruleXImportDeclaration returns [EObject current=null] : (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) ;
public final EObject ruleXImportDeclaration() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_static_1_0=null;
Token lv_extension_2_0=null;
Token lv_wildcard_4_0=null;
Token otherlv_8=null;
AntlrDatatypeRuleToken lv_memberName_5_0 = null;
AntlrDatatypeRuleToken lv_importedNamespace_7_0 = null;
enterRule();
try {
// InternalXcore.g:9463:28: ( (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) )
// InternalXcore.g:9464:1: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? )
{
// InternalXcore.g:9464:1: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? )
// InternalXcore.g:9464:3: otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )?
{
otherlv_0=(Token)match(input,19,FollowSets000.FOLLOW_132); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0());
}
// InternalXcore.g:9468:1: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) )
int alt185=3;
alt185 = dfa185.predict(input);
switch (alt185) {
case 1 :
// InternalXcore.g:9468:2: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) )
{
// InternalXcore.g:9468:2: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) )
// InternalXcore.g:9468:3: ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) )
{
// InternalXcore.g:9468:3: ( (lv_static_1_0= 'static' ) )
// InternalXcore.g:9469:1: (lv_static_1_0= 'static' )
{
// InternalXcore.g:9469:1: (lv_static_1_0= 'static' )
// InternalXcore.g:9470:3: lv_static_1_0= 'static'
{
lv_static_1_0=(Token)match(input,69,FollowSets000.FOLLOW_133); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_static_1_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
setWithLastConsumed(current, "static", true, "static");
}
}
}
// InternalXcore.g:9483:2: ( (lv_extension_2_0= 'extension' ) )?
int alt183=2;
int LA183_0 = input.LA(1);
if ( (LA183_0==68) ) {
alt183=1;
}
switch (alt183) {
case 1 :
// InternalXcore.g:9484:1: (lv_extension_2_0= 'extension' )
{
// InternalXcore.g:9484:1: (lv_extension_2_0= 'extension' )
// InternalXcore.g:9485:3: lv_extension_2_0= 'extension'
{
lv_extension_2_0=(Token)match(input,68,FollowSets000.FOLLOW_133); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_extension_2_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
setWithLastConsumed(current, "extension", true, "extension");
}
}
}
break;
}
// InternalXcore.g:9498:3: ( ( ruleQualifiedNameInStaticImport ) )
// InternalXcore.g:9499:1: ( ruleQualifiedNameInStaticImport )
{
// InternalXcore.g:9499:1: ( ruleQualifiedNameInStaticImport )
// InternalXcore.g:9500:3: ruleQualifiedNameInStaticImport
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0());
}
pushFollow(FollowSets000.FOLLOW_134);
ruleQualifiedNameInStaticImport();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalXcore.g:9513:2: ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) )
int alt184=2;
int LA184_0 = input.LA(1);
if ( (LA184_0==61) ) {
alt184=1;
}
else if ( (LA184_0==RULE_ID||(LA184_0>=44 && LA184_0<=47)||LA184_0==56) ) {
alt184=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 184, 0, input);
throw nvae;
}
switch (alt184) {
case 1 :
// InternalXcore.g:9513:3: ( (lv_wildcard_4_0= '*' ) )
{
// InternalXcore.g:9513:3: ( (lv_wildcard_4_0= '*' ) )
// InternalXcore.g:9514:1: (lv_wildcard_4_0= '*' )
{
// InternalXcore.g:9514:1: (lv_wildcard_4_0= '*' )
// InternalXcore.g:9515:3: lv_wildcard_4_0= '*'
{
lv_wildcard_4_0=(Token)match(input,61,FollowSets000.FOLLOW_135); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_wildcard_4_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
setWithLastConsumed(current, "wildcard", true, "*");
}
}
}
}
break;
case 2 :
// InternalXcore.g:9529:6: ( (lv_memberName_5_0= ruleValidID ) )
{
// InternalXcore.g:9529:6: ( (lv_memberName_5_0= ruleValidID ) )
// InternalXcore.g:9530:1: (lv_memberName_5_0= ruleValidID )
{
// InternalXcore.g:9530:1: (lv_memberName_5_0= ruleValidID )
// InternalXcore.g:9531:3: lv_memberName_5_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_135);
lv_memberName_5_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXImportDeclarationRule());
}
set(
current,
"memberName",
lv_memberName_5_0,
"org.eclipse.emf.ecore.xcore.Xcore.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalXcore.g:9548:6: ( ( ruleQualifiedName ) )
{
// InternalXcore.g:9548:6: ( ( ruleQualifiedName ) )
// InternalXcore.g:9549:1: ( ruleQualifiedName )
{
// InternalXcore.g:9549:1: ( ruleQualifiedName )
// InternalXcore.g:9550:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_135);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalXcore.g:9564:6: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) )
{
// InternalXcore.g:9564:6: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) )
// InternalXcore.g:9565:1: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard )
{
// InternalXcore.g:9565:1: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard )
// InternalXcore.g:9566:3: lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_135);
lv_importedNamespace_7_0=ruleQualifiedNameWithWildcard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXImportDeclarationRule());
}
set(
current,
"importedNamespace",
lv_importedNamespace_7_0,
"org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalXcore.g:9582:3: (otherlv_8= ';' )?
int alt186=2;
int LA186_0 = input.LA(1);
if ( (LA186_0==65) ) {
alt186=1;
}
switch (alt186) {
case 1 :
// InternalXcore.g:9582:5: otherlv_8= ';'
{
otherlv_8=(Token)match(input,65,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXImportDeclaration"
// $ANTLR start "entryRuleQualifiedNameInStaticImport"
// InternalXcore.g:9594:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ;
public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null;
try {
// InternalXcore.g:9595:2: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF )
// InternalXcore.g:9596:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQualifiedNameInStaticImport.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQualifiedNameInStaticImport"
// $ANTLR start "ruleQualifiedNameInStaticImport"
// InternalXcore.g:9603:1: ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID kw= '.' )+ ;
public final AntlrDatatypeRuleToken ruleQualifiedNameInStaticImport() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_ValidID_0 = null;
enterRule();
try {
// InternalXcore.g:9606:28: ( (this_ValidID_0= ruleValidID kw= '.' )+ )
// InternalXcore.g:9607:1: (this_ValidID_0= ruleValidID kw= '.' )+
{
// InternalXcore.g:9607:1: (this_ValidID_0= ruleValidID kw= '.' )+
int cnt187=0;
loop187:
do {
int alt187=2;
switch ( input.LA(1) ) {
case RULE_ID:
{
int LA187_2 = input.LA(2);
if ( (LA187_2==67) ) {
alt187=1;
}
}
break;
case 44:
{
int LA187_3 = input.LA(2);
if ( (LA187_3==67) ) {
alt187=1;
}
}
break;
case 46:
{
int LA187_4 = input.LA(2);
if ( (LA187_4==67) ) {
alt187=1;
}
}
break;
case 45:
{
int LA187_5 = input.LA(2);
if ( (LA187_5==67) ) {
alt187=1;
}
}
break;
case 47:
{
int LA187_6 = input.LA(2);
if ( (LA187_6==67) ) {
alt187=1;
}
}
break;
case 56:
{
int LA187_7 = input.LA(2);
if ( (LA187_7==67) ) {
alt187=1;
}
}
break;
}
switch (alt187) {
case 1 :
// InternalXcore.g:9608:5: this_ValidID_0= ruleValidID kw= '.'
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_130);
this_ValidID_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ValidID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
kw=(Token)match(input,67,FollowSets000.FOLLOW_136); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1());
}
}
break;
default :
if ( cnt187 >= 1 ) break loop187;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(187, input);
throw eee;
}
cnt187++;
} while (true);
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQualifiedNameInStaticImport"
// $ANTLR start synpred1_InternalXcore
public final void synpred1_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:144:4: ( ( 'annotation' ( ( RULE_STRING ) ) ) )
// InternalXcore.g:144:5: ( 'annotation' ( ( RULE_STRING ) ) )
{
// InternalXcore.g:144:5: ( 'annotation' ( ( RULE_STRING ) ) )
// InternalXcore.g:144:7: 'annotation' ( ( RULE_STRING ) )
{
match(input,20,FollowSets000.FOLLOW_12); if (state.failed) return ;
// InternalXcore.g:145:1: ( ( RULE_STRING ) )
// InternalXcore.g:146:1: ( RULE_STRING )
{
// InternalXcore.g:146:1: ( RULE_STRING )
// InternalXcore.g:147:1: RULE_STRING
{
match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred1_InternalXcore
// $ANTLR start synpred3_InternalXcore
public final void synpred3_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:3223:4: ( '<' )
// InternalXcore.g:3223:6: '<'
{
match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred3_InternalXcore
// $ANTLR start synpred4_InternalXcore
public final void synpred4_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:3889:3: ( ( () ( ( ruleOpMultiAssign ) ) ) )
// InternalXcore.g:3889:4: ( () ( ( ruleOpMultiAssign ) ) )
{
// InternalXcore.g:3889:4: ( () ( ( ruleOpMultiAssign ) ) )
// InternalXcore.g:3889:5: () ( ( ruleOpMultiAssign ) )
{
// InternalXcore.g:3889:5: ()
// InternalXcore.g:3890:1:
{
}
// InternalXcore.g:3890:2: ( ( ruleOpMultiAssign ) )
// InternalXcore.g:3891:1: ( ruleOpMultiAssign )
{
// InternalXcore.g:3891:1: ( ruleOpMultiAssign )
// InternalXcore.g:3892:3: ruleOpMultiAssign
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpMultiAssign();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred4_InternalXcore
// $ANTLR start synpred5_InternalXcore
public final void synpred5_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:4083:3: ( ( () ( ( ruleOpOr ) ) ) )
// InternalXcore.g:4083:4: ( () ( ( ruleOpOr ) ) )
{
// InternalXcore.g:4083:4: ( () ( ( ruleOpOr ) ) )
// InternalXcore.g:4083:5: () ( ( ruleOpOr ) )
{
// InternalXcore.g:4083:5: ()
// InternalXcore.g:4084:1:
{
}
// InternalXcore.g:4084:2: ( ( ruleOpOr ) )
// InternalXcore.g:4085:1: ( ruleOpOr )
{
// InternalXcore.g:4085:1: ( ruleOpOr )
// InternalXcore.g:4086:3: ruleOpOr
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpOr();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred5_InternalXcore
// $ANTLR start synpred6_InternalXcore
public final void synpred6_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:4184:3: ( ( () ( ( ruleOpAnd ) ) ) )
// InternalXcore.g:4184:4: ( () ( ( ruleOpAnd ) ) )
{
// InternalXcore.g:4184:4: ( () ( ( ruleOpAnd ) ) )
// InternalXcore.g:4184:5: () ( ( ruleOpAnd ) )
{
// InternalXcore.g:4184:5: ()
// InternalXcore.g:4185:1:
{
}
// InternalXcore.g:4185:2: ( ( ruleOpAnd ) )
// InternalXcore.g:4186:1: ( ruleOpAnd )
{
// InternalXcore.g:4186:1: ( ruleOpAnd )
// InternalXcore.g:4187:3: ruleOpAnd
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpAnd();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred6_InternalXcore
// $ANTLR start synpred7_InternalXcore
public final void synpred7_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:4285:3: ( ( () ( ( ruleOpEquality ) ) ) )
// InternalXcore.g:4285:4: ( () ( ( ruleOpEquality ) ) )
{
// InternalXcore.g:4285:4: ( () ( ( ruleOpEquality ) ) )
// InternalXcore.g:4285:5: () ( ( ruleOpEquality ) )
{
// InternalXcore.g:4285:5: ()
// InternalXcore.g:4286:1:
{
}
// InternalXcore.g:4286:2: ( ( ruleOpEquality ) )
// InternalXcore.g:4287:1: ( ruleOpEquality )
{
// InternalXcore.g:4287:1: ( ruleOpEquality )
// InternalXcore.g:4288:3: ruleOpEquality
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpEquality();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred7_InternalXcore
// $ANTLR start synpred8_InternalXcore
public final void synpred8_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:4407:4: ( ( () 'instanceof' ) )
// InternalXcore.g:4407:5: ( () 'instanceof' )
{
// InternalXcore.g:4407:5: ( () 'instanceof' )
// InternalXcore.g:4407:6: () 'instanceof'
{
// InternalXcore.g:4407:6: ()
// InternalXcore.g:4408:1:
{
}
match(input,82,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred8_InternalXcore
// $ANTLR start synpred9_InternalXcore
public final void synpred9_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:4438:8: ( ( () ( ( ruleOpCompare ) ) ) )
// InternalXcore.g:4438:9: ( () ( ( ruleOpCompare ) ) )
{
// InternalXcore.g:4438:9: ( () ( ( ruleOpCompare ) ) )
// InternalXcore.g:4438:10: () ( ( ruleOpCompare ) )
{
// InternalXcore.g:4438:10: ()
// InternalXcore.g:4439:1:
{
}
// InternalXcore.g:4439:2: ( ( ruleOpCompare ) )
// InternalXcore.g:4440:1: ( ruleOpCompare )
{
// InternalXcore.g:4440:1: ( ruleOpCompare )
// InternalXcore.g:4441:3: ruleOpCompare
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpCompare();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred9_InternalXcore
// $ANTLR start synpred10_InternalXcore
public final void synpred10_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:4566:3: ( ( () ( ( ruleOpOther ) ) ) )
// InternalXcore.g:4566:4: ( () ( ( ruleOpOther ) ) )
{
// InternalXcore.g:4566:4: ( () ( ( ruleOpOther ) ) )
// InternalXcore.g:4566:5: () ( ( ruleOpOther ) )
{
// InternalXcore.g:4566:5: ()
// InternalXcore.g:4567:1:
{
}
// InternalXcore.g:4567:2: ( ( ruleOpOther ) )
// InternalXcore.g:4568:1: ( ruleOpOther )
{
// InternalXcore.g:4568:1: ( ruleOpOther )
// InternalXcore.g:4569:3: ruleOpOther
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpOther();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred10_InternalXcore
// $ANTLR start synpred11_InternalXcore
public final void synpred11_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:4678:3: ( ( '>' '>' ) )
// InternalXcore.g:4678:4: ( '>' '>' )
{
// InternalXcore.g:4678:4: ( '>' '>' )
// InternalXcore.g:4679:2: '>' '>'
{
match(input,24,FollowSets000.FOLLOW_86); if (state.failed) return ;
match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred11_InternalXcore
// $ANTLR start synpred12_InternalXcore
public final void synpred12_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:4708:3: ( ( '<' '<' ) )
// InternalXcore.g:4708:4: ( '<' '<' )
{
// InternalXcore.g:4708:4: ( '<' '<' )
// InternalXcore.g:4709:2: '<' '<'
{
match(input,23,FollowSets000.FOLLOW_77); if (state.failed) return ;
match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred12_InternalXcore
// $ANTLR start synpred13_InternalXcore
public final void synpred13_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:4782:3: ( ( () ( ( ruleOpAdd ) ) ) )
// InternalXcore.g:4782:4: ( () ( ( ruleOpAdd ) ) )
{
// InternalXcore.g:4782:4: ( () ( ( ruleOpAdd ) ) )
// InternalXcore.g:4782:5: () ( ( ruleOpAdd ) )
{
// InternalXcore.g:4782:5: ()
// InternalXcore.g:4783:1:
{
}
// InternalXcore.g:4783:2: ( ( ruleOpAdd ) )
// InternalXcore.g:4784:1: ( ruleOpAdd )
{
// InternalXcore.g:4784:1: ( ruleOpAdd )
// InternalXcore.g:4785:3: ruleOpAdd
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpAdd();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred13_InternalXcore
// $ANTLR start synpred14_InternalXcore
public final void synpred14_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:4890:3: ( ( () ( ( ruleOpMulti ) ) ) )
// InternalXcore.g:4890:4: ( () ( ( ruleOpMulti ) ) )
{
// InternalXcore.g:4890:4: ( () ( ( ruleOpMulti ) ) )
// InternalXcore.g:4890:5: () ( ( ruleOpMulti ) )
{
// InternalXcore.g:4890:5: ()
// InternalXcore.g:4891:1:
{
}
// InternalXcore.g:4891:2: ( ( ruleOpMulti ) )
// InternalXcore.g:4892:1: ( ruleOpMulti )
{
// InternalXcore.g:4892:1: ( ruleOpMulti )
// InternalXcore.g:4893:3: ruleOpMulti
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpMulti();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred14_InternalXcore
// $ANTLR start synpred15_InternalXcore
public final void synpred15_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:5123:3: ( ( () 'as' ) )
// InternalXcore.g:5123:4: ( () 'as' )
{
// InternalXcore.g:5123:4: ( () 'as' )
// InternalXcore.g:5123:5: () 'as'
{
// InternalXcore.g:5123:5: ()
// InternalXcore.g:5124:1:
{
}
match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred15_InternalXcore
// $ANTLR start synpred16_InternalXcore
public final void synpred16_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:5183:2: ( ( () ( ( ruleOpPostfix ) ) ) )
// InternalXcore.g:5183:3: ( () ( ( ruleOpPostfix ) ) )
{
// InternalXcore.g:5183:3: ( () ( ( ruleOpPostfix ) ) )
// InternalXcore.g:5183:4: () ( ( ruleOpPostfix ) )
{
// InternalXcore.g:5183:4: ()
// InternalXcore.g:5184:1:
{
}
// InternalXcore.g:5184:2: ( ( ruleOpPostfix ) )
// InternalXcore.g:5185:1: ( ruleOpPostfix )
{
// InternalXcore.g:5185:1: ( ruleOpPostfix )
// InternalXcore.g:5186:3: ruleOpPostfix
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpPostfix();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred16_InternalXcore
// $ANTLR start synpred17_InternalXcore
public final void synpred17_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:5273:4: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
// InternalXcore.g:5273:5: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
{
// InternalXcore.g:5273:5: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
// InternalXcore.g:5273:6: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
{
// InternalXcore.g:5273:6: ()
// InternalXcore.g:5274:1:
{
}
// InternalXcore.g:5274:2: ( '.' | ( ( '::' ) ) )
int alt188=2;
int LA188_0 = input.LA(1);
if ( (LA188_0==67) ) {
alt188=1;
}
else if ( (LA188_0==94) ) {
alt188=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 188, 0, input);
throw nvae;
}
switch (alt188) {
case 1 :
// InternalXcore.g:5274:4: '.'
{
match(input,67,FollowSets000.FOLLOW_93); if (state.failed) return ;
}
break;
case 2 :
// InternalXcore.g:5276:6: ( ( '::' ) )
{
// InternalXcore.g:5276:6: ( ( '::' ) )
// InternalXcore.g:5277:1: ( '::' )
{
// InternalXcore.g:5277:1: ( '::' )
// InternalXcore.g:5278:2: '::'
{
match(input,94,FollowSets000.FOLLOW_93); if (state.failed) return ;
}
}
}
break;
}
// InternalXcore.g:5282:3: ( ( ruleFeatureCallID ) )
// InternalXcore.g:5283:1: ( ruleFeatureCallID )
{
// InternalXcore.g:5283:1: ( ruleFeatureCallID )
// InternalXcore.g:5284:3: ruleFeatureCallID
{
pushFollow(FollowSets000.FOLLOW_11);
ruleFeatureCallID();
state._fsp--;
if (state.failed) return ;
}
}
pushFollow(FollowSets000.FOLLOW_2);
ruleOpSingleAssign();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred17_InternalXcore
// $ANTLR start synpred18_InternalXcore
public final void synpred18_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:5354:8: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )
// InternalXcore.g:5354:9: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
{
// InternalXcore.g:5354:9: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
// InternalXcore.g:5354:10: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
{
// InternalXcore.g:5354:10: ()
// InternalXcore.g:5355:1:
{
}
// InternalXcore.g:5355:2: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
int alt189=3;
switch ( input.LA(1) ) {
case 67:
{
alt189=1;
}
break;
case 95:
{
alt189=2;
}
break;
case 94:
{
alt189=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 189, 0, input);
throw nvae;
}
switch (alt189) {
case 1 :
// InternalXcore.g:5355:4: '.'
{
match(input,67,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
break;
case 2 :
// InternalXcore.g:5357:6: ( ( '?.' ) )
{
// InternalXcore.g:5357:6: ( ( '?.' ) )
// InternalXcore.g:5358:1: ( '?.' )
{
// InternalXcore.g:5358:1: ( '?.' )
// InternalXcore.g:5359:2: '?.'
{
match(input,95,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
break;
case 3 :
// InternalXcore.g:5364:6: ( ( '::' ) )
{
// InternalXcore.g:5364:6: ( ( '::' ) )
// InternalXcore.g:5365:1: ( '::' )
{
// InternalXcore.g:5365:1: ( '::' )
// InternalXcore.g:5366:2: '::'
{
match(input,94,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred18_InternalXcore
// $ANTLR start synpred19_InternalXcore
public final void synpred19_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:5475:4: ( ( '(' ) )
// InternalXcore.g:5476:1: ( '(' )
{
// InternalXcore.g:5476:1: ( '(' )
// InternalXcore.g:5477:2: '('
{
match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred19_InternalXcore
// $ANTLR start synpred20_InternalXcore
public final void synpred20_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:5496:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalXcore.g:5496:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalXcore.g:5496:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalXcore.g:5496:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalXcore.g:5496:6: ()
// InternalXcore.g:5497:1:
{
}
// InternalXcore.g:5497:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt191=2;
int LA191_0 = input.LA(1);
if ( (LA191_0==RULE_ID||LA191_0==15||(LA191_0>=44 && LA191_0<=47)||LA191_0==56||LA191_0==85) ) {
alt191=1;
}
switch (alt191) {
case 1 :
// InternalXcore.g:5497:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalXcore.g:5497:3: ( ( ruleJvmFormalParameter ) )
// InternalXcore.g:5498:1: ( ruleJvmFormalParameter )
{
// InternalXcore.g:5498:1: ( ruleJvmFormalParameter )
// InternalXcore.g:5499:1: ruleJvmFormalParameter
{
pushFollow(FollowSets000.FOLLOW_105);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalXcore.g:5501:2: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop190:
do {
int alt190=2;
int LA190_0 = input.LA(1);
if ( (LA190_0==16) ) {
alt190=1;
}
switch (alt190) {
case 1 :
// InternalXcore.g:5501:4: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return ;
// InternalXcore.g:5502:1: ( ( ruleJvmFormalParameter ) )
// InternalXcore.g:5503:1: ( ruleJvmFormalParameter )
{
// InternalXcore.g:5503:1: ( ruleJvmFormalParameter )
// InternalXcore.g:5504:1: ruleJvmFormalParameter
{
pushFollow(FollowSets000.FOLLOW_105);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop190;
}
} while (true);
}
break;
}
// InternalXcore.g:5506:6: ( ( '|' ) )
// InternalXcore.g:5507:1: ( '|' )
{
// InternalXcore.g:5507:1: ( '|' )
// InternalXcore.g:5508:2: '|'
{
match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred20_InternalXcore
// $ANTLR start synpred21_InternalXcore
public final void synpred21_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:5575:4: ( ( () '[' ) )
// InternalXcore.g:5575:5: ( () '[' )
{
// InternalXcore.g:5575:5: ( () '[' )
// InternalXcore.g:5575:6: () '['
{
// InternalXcore.g:5575:6: ()
// InternalXcore.g:5576:1:
{
}
match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred21_InternalXcore
// $ANTLR start synpred22_InternalXcore
public final void synpred22_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:5646:7: ( ( () 'synchronized' '(' ) )
// InternalXcore.g:5646:8: ( () 'synchronized' '(' )
{
// InternalXcore.g:5646:8: ( () 'synchronized' '(' )
// InternalXcore.g:5646:9: () 'synchronized' '('
{
// InternalXcore.g:5646:9: ()
// InternalXcore.g:5647:1:
{
}
match(input,118,FollowSets000.FOLLOW_56); if (state.failed) return ;
match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred22_InternalXcore
// $ANTLR start synpred23_InternalXcore
public final void synpred23_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:5689:7: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
// InternalXcore.g:5689:8: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
{
// InternalXcore.g:5689:8: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
// InternalXcore.g:5689:9: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':'
{
// InternalXcore.g:5689:9: ()
// InternalXcore.g:5690:1:
{
}
match(input,104,FollowSets000.FOLLOW_56); if (state.failed) return ;
match(input,15,FollowSets000.FOLLOW_20); if (state.failed) return ;
// InternalXcore.g:5692:1: ( ( ruleJvmFormalParameter ) )
// InternalXcore.g:5693:1: ( ruleJvmFormalParameter )
{
// InternalXcore.g:5693:1: ( ruleJvmFormalParameter )
// InternalXcore.g:5694:1: ruleJvmFormalParameter
{
pushFollow(FollowSets000.FOLLOW_110);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
match(input,101,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred23_InternalXcore
// $ANTLR start synpred24_InternalXcore
public final void synpred24_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:5807:7: ( ( () '[' ) )
// InternalXcore.g:5807:8: ( () '[' )
{
// InternalXcore.g:5807:8: ( () '[' )
// InternalXcore.g:5807:9: () '['
{
// InternalXcore.g:5807:9: ()
// InternalXcore.g:5808:1:
{
}
match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred24_InternalXcore
// $ANTLR start synpred26_InternalXcore
public final void synpred26_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:6099:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalXcore.g:6099:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalXcore.g:6099:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalXcore.g:6099:6: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalXcore.g:6099:6: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt193=2;
int LA193_0 = input.LA(1);
if ( (LA193_0==RULE_ID||LA193_0==15||(LA193_0>=44 && LA193_0<=47)||LA193_0==56||LA193_0==85) ) {
alt193=1;
}
switch (alt193) {
case 1 :
// InternalXcore.g:6099:7: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalXcore.g:6099:7: ( ( ruleJvmFormalParameter ) )
// InternalXcore.g:6100:1: ( ruleJvmFormalParameter )
{
// InternalXcore.g:6100:1: ( ruleJvmFormalParameter )
// InternalXcore.g:6101:1: ruleJvmFormalParameter
{
pushFollow(FollowSets000.FOLLOW_105);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalXcore.g:6103:2: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop192:
do {
int alt192=2;
int LA192_0 = input.LA(1);
if ( (LA192_0==16) ) {
alt192=1;
}
switch (alt192) {
case 1 :
// InternalXcore.g:6103:4: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return ;
// InternalXcore.g:6104:1: ( ( ruleJvmFormalParameter ) )
// InternalXcore.g:6105:1: ( ruleJvmFormalParameter )
{
// InternalXcore.g:6105:1: ( ruleJvmFormalParameter )
// InternalXcore.g:6106:1: ruleJvmFormalParameter
{
pushFollow(FollowSets000.FOLLOW_105);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop192;
}
} while (true);
}
break;
}
// InternalXcore.g:6108:6: ( ( '|' ) )
// InternalXcore.g:6109:1: ( '|' )
{
// InternalXcore.g:6109:1: ( '|' )
// InternalXcore.g:6110:2: '|'
{
match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred26_InternalXcore
// $ANTLR start synpred28_InternalXcore
public final void synpred28_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:6469:4: ( 'else' )
// InternalXcore.g:6469:6: 'else'
{
match(input,99,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred28_InternalXcore
// $ANTLR start synpred29_InternalXcore
public final void synpred29_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:6523:4: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
// InternalXcore.g:6523:5: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
{
// InternalXcore.g:6523:5: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
// InternalXcore.g:6523:7: '(' ( ( ruleJvmFormalParameter ) ) ':'
{
match(input,15,FollowSets000.FOLLOW_20); if (state.failed) return ;
// InternalXcore.g:6524:1: ( ( ruleJvmFormalParameter ) )
// InternalXcore.g:6525:1: ( ruleJvmFormalParameter )
{
// InternalXcore.g:6525:1: ( ruleJvmFormalParameter )
// InternalXcore.g:6526:1: ruleJvmFormalParameter
{
pushFollow(FollowSets000.FOLLOW_110);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
match(input,101,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred29_InternalXcore
// $ANTLR start synpred30_InternalXcore
public final void synpred30_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:6578:8: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )
// InternalXcore.g:6578:9: ( ( ( ruleJvmFormalParameter ) ) ':' )
{
// InternalXcore.g:6578:9: ( ( ( ruleJvmFormalParameter ) ) ':' )
// InternalXcore.g:6578:10: ( ( ruleJvmFormalParameter ) ) ':'
{
// InternalXcore.g:6578:10: ( ( ruleJvmFormalParameter ) )
// InternalXcore.g:6579:1: ( ruleJvmFormalParameter )
{
// InternalXcore.g:6579:1: ( ruleJvmFormalParameter )
// InternalXcore.g:6580:1: ruleJvmFormalParameter
{
pushFollow(FollowSets000.FOLLOW_110);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
match(input,101,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred30_InternalXcore
// $ANTLR start synpred32_InternalXcore
public final void synpred32_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:7289:4: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )
// InternalXcore.g:7289:5: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
{
// InternalXcore.g:7289:5: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
// InternalXcore.g:7289:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) )
{
// InternalXcore.g:7289:6: ( ( ruleJvmTypeReference ) )
// InternalXcore.g:7290:1: ( ruleJvmTypeReference )
{
// InternalXcore.g:7290:1: ( ruleJvmTypeReference )
// InternalXcore.g:7291:1: ruleJvmTypeReference
{
pushFollow(FollowSets000.FOLLOW_4);
ruleJvmTypeReference();
state._fsp--;
if (state.failed) return ;
}
}
// InternalXcore.g:7293:2: ( ( ruleValidID ) )
// InternalXcore.g:7294:1: ( ruleValidID )
{
// InternalXcore.g:7294:1: ( ruleValidID )
// InternalXcore.g:7295:1: ruleValidID
{
pushFollow(FollowSets000.FOLLOW_2);
ruleValidID();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred32_InternalXcore
// $ANTLR start synpred33_InternalXcore
public final void synpred33_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:7578:4: ( ( '(' ) )
// InternalXcore.g:7579:1: ( '(' )
{
// InternalXcore.g:7579:1: ( '(' )
// InternalXcore.g:7580:2: '('
{
match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred33_InternalXcore
// $ANTLR start synpred34_InternalXcore
public final void synpred34_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:7599:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalXcore.g:7599:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalXcore.g:7599:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalXcore.g:7599:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalXcore.g:7599:6: ()
// InternalXcore.g:7600:1:
{
}
// InternalXcore.g:7600:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt197=2;
int LA197_0 = input.LA(1);
if ( (LA197_0==RULE_ID||LA197_0==15||(LA197_0>=44 && LA197_0<=47)||LA197_0==56||LA197_0==85) ) {
alt197=1;
}
switch (alt197) {
case 1 :
// InternalXcore.g:7600:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalXcore.g:7600:3: ( ( ruleJvmFormalParameter ) )
// InternalXcore.g:7601:1: ( ruleJvmFormalParameter )
{
// InternalXcore.g:7601:1: ( ruleJvmFormalParameter )
// InternalXcore.g:7602:1: ruleJvmFormalParameter
{
pushFollow(FollowSets000.FOLLOW_105);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalXcore.g:7604:2: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop196:
do {
int alt196=2;
int LA196_0 = input.LA(1);
if ( (LA196_0==16) ) {
alt196=1;
}
switch (alt196) {
case 1 :
// InternalXcore.g:7604:4: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return ;
// InternalXcore.g:7605:1: ( ( ruleJvmFormalParameter ) )
// InternalXcore.g:7606:1: ( ruleJvmFormalParameter )
{
// InternalXcore.g:7606:1: ( ruleJvmFormalParameter )
// InternalXcore.g:7607:1: ruleJvmFormalParameter
{
pushFollow(FollowSets000.FOLLOW_105);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop196;
}
} while (true);
}
break;
}
// InternalXcore.g:7609:6: ( ( '|' ) )
// InternalXcore.g:7610:1: ( '|' )
{
// InternalXcore.g:7610:1: ( '|' )
// InternalXcore.g:7611:2: '|'
{
match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred34_InternalXcore
// $ANTLR start synpred35_InternalXcore
public final void synpred35_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:7678:4: ( ( () '[' ) )
// InternalXcore.g:7678:5: ( () '[' )
{
// InternalXcore.g:7678:5: ( () '[' )
// InternalXcore.g:7678:6: () '['
{
// InternalXcore.g:7678:6: ()
// InternalXcore.g:7679:1:
{
}
match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred35_InternalXcore
// $ANTLR start synpred36_InternalXcore
public final void synpred36_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:7783:4: ( '<' )
// InternalXcore.g:7783:6: '<'
{
match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred36_InternalXcore
// $ANTLR start synpred37_InternalXcore
public final void synpred37_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:7832:5: ( ( '(' ) )
// InternalXcore.g:7833:1: ( '(' )
{
// InternalXcore.g:7833:1: ( '(' )
// InternalXcore.g:7834:2: '('
{
match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred37_InternalXcore
// $ANTLR start synpred38_InternalXcore
public final void synpred38_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:7853:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalXcore.g:7853:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalXcore.g:7853:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalXcore.g:7853:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalXcore.g:7853:6: ()
// InternalXcore.g:7854:1:
{
}
// InternalXcore.g:7854:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt199=2;
int LA199_0 = input.LA(1);
if ( (LA199_0==RULE_ID||LA199_0==15||(LA199_0>=44 && LA199_0<=47)||LA199_0==56||LA199_0==85) ) {
alt199=1;
}
switch (alt199) {
case 1 :
// InternalXcore.g:7854:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalXcore.g:7854:3: ( ( ruleJvmFormalParameter ) )
// InternalXcore.g:7855:1: ( ruleJvmFormalParameter )
{
// InternalXcore.g:7855:1: ( ruleJvmFormalParameter )
// InternalXcore.g:7856:1: ruleJvmFormalParameter
{
pushFollow(FollowSets000.FOLLOW_105);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalXcore.g:7858:2: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop198:
do {
int alt198=2;
int LA198_0 = input.LA(1);
if ( (LA198_0==16) ) {
alt198=1;
}
switch (alt198) {
case 1 :
// InternalXcore.g:7858:4: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return ;
// InternalXcore.g:7859:1: ( ( ruleJvmFormalParameter ) )
// InternalXcore.g:7860:1: ( ruleJvmFormalParameter )
{
// InternalXcore.g:7860:1: ( ruleJvmFormalParameter )
// InternalXcore.g:7861:1: ruleJvmFormalParameter
{
pushFollow(FollowSets000.FOLLOW_105);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop198;
}
} while (true);
}
break;
}
// InternalXcore.g:7863:6: ( ( '|' ) )
// InternalXcore.g:7864:1: ( '|' )
{
// InternalXcore.g:7864:1: ( '|' )
// InternalXcore.g:7865:2: '|'
{
match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred38_InternalXcore
// $ANTLR start synpred39_InternalXcore
public final void synpred39_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:7932:4: ( ( () '[' ) )
// InternalXcore.g:7932:5: ( () '[' )
{
// InternalXcore.g:7932:5: ( () '[' )
// InternalXcore.g:7932:6: () '['
{
// InternalXcore.g:7932:6: ()
// InternalXcore.g:7933:1:
{
}
match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred39_InternalXcore
// $ANTLR start synpred40_InternalXcore
public final void synpred40_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:8272:2: ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )
// InternalXcore.g:
{
if ( (input.LA(1)>=RULE_STRING && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==13||input.LA(1)==15||(input.LA(1)>=19 && input.LA(1)<=21)||input.LA(1)==23||(input.LA(1)>=25 && input.LA(1)<=29)||(input.LA(1)>=31 && input.LA(1)<=57)||input.LA(1)==59||input.LA(1)==62||input.LA(1)==66||(input.LA(1)>=68 && input.LA(1)<=69)||input.LA(1)==91||input.LA(1)==96||input.LA(1)==98||input.LA(1)==100||(input.LA(1)>=104 && input.LA(1)<=106)||(input.LA(1)>=109 && input.LA(1)<=116)||input.LA(1)==118 ) {
input.consume();
state.errorRecovery=false;state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
}
// $ANTLR end synpred40_InternalXcore
// $ANTLR start synpred41_InternalXcore
public final void synpred41_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:8398:5: ( 'catch' )
// InternalXcore.g:8398:7: 'catch'
{
match(input,119,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred41_InternalXcore
// $ANTLR start synpred42_InternalXcore
public final void synpred42_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:8417:5: ( 'finally' )
// InternalXcore.g:8417:7: 'finally'
{
match(input,117,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred42_InternalXcore
// $ANTLR start synpred45_InternalXcore
public final void synpred45_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:8643:3: ( '.' )
// InternalXcore.g:8644:2: '.'
{
match(input,67,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred45_InternalXcore
// $ANTLR start synpred46_InternalXcore
public final void synpred46_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:8769:2: ( ( () ruleArrayBrackets ) )
// InternalXcore.g:8769:3: ( () ruleArrayBrackets )
{
// InternalXcore.g:8769:3: ( () ruleArrayBrackets )
// InternalXcore.g:8769:4: () ruleArrayBrackets
{
// InternalXcore.g:8769:4: ()
// InternalXcore.g:8770:1:
{
}
pushFollow(FollowSets000.FOLLOW_2);
ruleArrayBrackets();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred46_InternalXcore
// $ANTLR start synpred47_InternalXcore
public final void synpred47_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:8954:4: ( '<' )
// InternalXcore.g:8954:6: '<'
{
match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred47_InternalXcore
// $ANTLR start synpred48_InternalXcore
public final void synpred48_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:9003:3: ( ( () '.' ) )
// InternalXcore.g:9003:4: ( () '.' )
{
// InternalXcore.g:9003:4: ( () '.' )
// InternalXcore.g:9003:5: () '.'
{
// InternalXcore.g:9003:5: ()
// InternalXcore.g:9004:1:
{
}
match(input,67,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred48_InternalXcore
// $ANTLR start synpred49_InternalXcore
public final void synpred49_InternalXcore_fragment() throws RecognitionException {
// InternalXcore.g:9030:4: ( '<' )
// InternalXcore.g:9030:6: '<'
{
match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred49_InternalXcore
// Delegated rules
public final boolean synpred15_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred15_InternalXcore_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 synpred9_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred9_InternalXcore_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 synpred49_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred49_InternalXcore_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 synpred23_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred23_InternalXcore_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 synpred28_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred28_InternalXcore_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_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred21_InternalXcore_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 synpred42_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred42_InternalXcore_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 synpred36_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred36_InternalXcore_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 synpred18_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred18_InternalXcore_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 synpred39_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred39_InternalXcore_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 synpred47_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred47_InternalXcore_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 synpred13_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred13_InternalXcore_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 synpred34_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred34_InternalXcore_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 synpred40_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred40_InternalXcore_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 synpred7_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred7_InternalXcore_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 synpred24_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred24_InternalXcore_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 synpred32_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred32_InternalXcore_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 synpred45_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred45_InternalXcore_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 synpred5_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred5_InternalXcore_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 synpred26_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred26_InternalXcore_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 synpred11_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred11_InternalXcore_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 synpred30_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred30_InternalXcore_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 synpred29_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred29_InternalXcore_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 synpred3_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred3_InternalXcore_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 synpred8_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred8_InternalXcore_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 synpred14_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred14_InternalXcore_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 synpred35_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred35_InternalXcore_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 synpred37_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred37_InternalXcore_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 synpred22_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred22_InternalXcore_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred16_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred16_InternalXcore_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 synpred1_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred1_InternalXcore_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 synpred33_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred33_InternalXcore_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 synpred41_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred41_InternalXcore_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 synpred12_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred12_InternalXcore_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 synpred20_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred20_InternalXcore_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 synpred17_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred17_InternalXcore_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 synpred38_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred38_InternalXcore_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 synpred4_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred4_InternalXcore_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 synpred48_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred48_InternalXcore_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 synpred19_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred19_InternalXcore_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 synpred10_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred10_InternalXcore_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 synpred6_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred6_InternalXcore_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 synpred46_InternalXcore() {
state.backtracking++;
int start = input.mark();
try {
synpred46_InternalXcore_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
protected DFA7 dfa7 = new DFA7(this);
protected DFA8 dfa8 = new DFA8(this);
protected DFA30 dfa30 = new DFA30(this);
protected DFA32 dfa32 = new DFA32(this);
protected DFA35 dfa35 = new DFA35(this);
protected DFA46 dfa46 = new DFA46(this);
protected DFA82 dfa82 = new DFA82(this);
protected DFA81 dfa81 = new DFA81(this);
protected DFA91 dfa91 = new DFA91(this);
protected DFA94 dfa94 = new DFA94(this);
protected DFA110 dfa110 = new DFA110(this);
protected DFA109 dfa109 = new DFA109(this);
protected DFA111 dfa111 = new DFA111(this);
protected DFA113 dfa113 = new DFA113(this);
protected DFA122 dfa122 = new DFA122(this);
protected DFA129 dfa129 = new DFA129(this);
protected DFA128 dfa128 = new DFA128(this);
protected DFA142 dfa142 = new DFA142(this);
protected DFA149 dfa149 = new DFA149(this);
protected DFA148 dfa148 = new DFA148(this);
protected DFA150 dfa150 = new DFA150(this);
protected DFA153 dfa153 = new DFA153(this);
protected DFA156 dfa156 = new DFA156(this);
protected DFA155 dfa155 = new DFA155(this);
protected DFA157 dfa157 = new DFA157(this);
protected DFA160 dfa160 = new DFA160(this);
protected DFA164 dfa164 = new DFA164(this);
protected DFA178 dfa178 = new DFA178(this);
protected DFA177 dfa177 = new DFA177(this);
protected DFA176 dfa176 = new DFA176(this);
protected DFA185 dfa185 = new DFA185(this);
static final String dfa_1s = "\20\uffff";
static final String dfa_2s = "\1\uffff\6\10\2\uffff\6\10\1\uffff";
static final String dfa_3s = "\1\5\6\16\1\5\1\uffff\6\16\1\uffff";
static final String dfa_4s = "\1\70\6\103\1\75\1\uffff\6\103\1\uffff";
static final String dfa_5s = "\10\uffff\1\2\6\uffff\1\1";
static final String dfa_6s = "\20\uffff}>";
static final String[] dfa_7s = {
"\1\1\46\uffff\1\2\1\4\1\3\1\5\10\uffff\1\6",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
"\1\11\46\uffff\1\12\1\14\1\13\1\15\10\uffff\1\16\4\uffff\1\17",
"",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
"\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7",
""
};
static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
static final short[] dfa_2 = DFA.unpackEncodedString(dfa_2s);
static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
static final char[] dfa_4 = DFA.unpackEncodedStringToUnsignedChars(dfa_4s);
static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s);
static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s);
class DFA7 extends DFA {
public DFA7(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 7;
this.eot = dfa_1;
this.eof = dfa_2;
this.min = dfa_3;
this.max = dfa_4;
this.accept = dfa_5;
this.special = dfa_6;
this.transition = dfa_7;
}
public String getDescription() {
return "366:1: ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) )";
}
}
static final String dfa_8s = "\61\uffff";
static final String dfa_9s = "\1\16\1\5\3\uffff\5\16\2\5\5\16\6\22\1\5\1\4\6\22\1\20\1\5\1\16\6\22\1\5\1\4\6\22\1\20";
static final String dfa_10s = "\1\42\1\57\3\uffff\5\103\1\57\1\70\13\103\1\70\1\4\6\103\1\21\1\70\1\42\6\103\1\70\1\4\6\103\1\21";
static final String dfa_11s = "\2\uffff\1\1\1\2\1\3\54\uffff";
static final String dfa_12s = "\61\uffff}>";
static final String[] dfa_13s = {
"\1\1\7\uffff\1\3\5\uffff\1\4\3\uffff\3\2",
"\1\5\46\uffff\1\6\1\10\1\7\1\11",
"",
"",
"",
"\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12",
"\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12",
"\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12",
"\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12",
"\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12",
"\1\14\46\uffff\1\15\1\17\1\16\1\20",
"\1\21\46\uffff\1\22\1\24\1\23\1\25\10\uffff\1\26",
"\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12",
"\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12",
"\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12",
"\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12",
"\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\31\46\uffff\1\32\1\34\1\33\1\35\10\uffff\1\36",
"\1\37",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\40\1\41",
"\1\42\46\uffff\1\43\1\45\1\44\1\46\10\uffff\1\47",
"\1\1\7\uffff\1\3\5\uffff\1\4\3\uffff\3\2",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\52\46\uffff\1\53\1\55\1\54\1\56\10\uffff\1\57",
"\1\60",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\40\1\41"
};
static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s);
static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s);
static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s);
static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s);
static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s);
class DFA8 extends DFA {
public DFA8(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 8;
this.eot = dfa_8;
this.eof = dfa_8;
this.min = dfa_9;
this.max = dfa_10;
this.accept = dfa_11;
this.special = dfa_12;
this.transition = dfa_13;
}
public String getDescription() {
return "492:1: (this_XClass_0= ruleXClass | this_XDataType_1= ruleXDataType | this_XEnum_2= ruleXEnum )";
}
}
static final String dfa_14s = "\2\5\3\uffff\14\5\6\22\1\5\1\4\6\22\1\20\2\5\6\22\1\5\1\4\6\22\1\20";
static final String dfa_15s = "\1\67\1\57\3\uffff\5\103\1\57\1\70\13\103\1\70\1\4\6\103\1\21\1\70\1\67\6\103\1\70\1\4\6\103\1\21";
static final String[] dfa_16s = {
"\1\3\10\uffff\1\1\25\uffff\14\3\5\4\2\uffff\1\2",
"\1\5\46\uffff\1\6\1\10\1\7\1\11",
"",
"",
"",
"\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12",
"\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12",
"\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12",
"\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12",
"\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12",
"\1\14\46\uffff\1\15\1\17\1\16\1\20",
"\1\21\46\uffff\1\22\1\24\1\23\1\25\10\uffff\1\26",
"\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12",
"\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12",
"\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12",
"\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12",
"\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\31\46\uffff\1\32\1\34\1\33\1\35\10\uffff\1\36",
"\1\37",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\30\60\uffff\1\27",
"\1\40\1\41",
"\1\42\46\uffff\1\43\1\45\1\44\1\46\10\uffff\1\47",
"\1\3\10\uffff\1\1\25\uffff\14\3\5\4\2\uffff\1\2",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\52\46\uffff\1\53\1\55\1\54\1\56\10\uffff\1\57",
"\1\60",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\51\60\uffff\1\50",
"\1\40\1\41"
};
static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s);
static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s);
static final short[][] dfa_16 = unpackEncodedStringArray(dfa_16s);
class DFA30 extends DFA {
public DFA30(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 30;
this.eot = dfa_8;
this.eof = dfa_8;
this.min = dfa_14;
this.max = dfa_15;
this.accept = dfa_11;
this.special = dfa_12;
this.transition = dfa_16;
}
public String getDescription() {
return "1250:1: (this_XOperation_0= ruleXOperation | this_XAttribute_1= ruleXAttribute | this_XReference_2= ruleXReference )";
}
}
static final String dfa_17s = "\12\uffff";
static final String dfa_18s = "\1\5\11\uffff";
static final String dfa_19s = "\1\57\11\uffff";
static final String dfa_20s = "\1\uffff\1\11\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10";
static final String dfa_21s = "\1\0\11\uffff}>";
static final String[] dfa_22s = {
"\1\1\36\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\4\1",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s);
static final char[] dfa_18 = DFA.unpackEncodedStringToUnsignedChars(dfa_18s);
static final char[] dfa_19 = DFA.unpackEncodedStringToUnsignedChars(dfa_19s);
static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s);
static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s);
static final short[][] dfa_22 = unpackEncodedStringArray(dfa_22s);
class DFA32 extends DFA {
public DFA32(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 32;
this.eot = dfa_17;
this.eof = dfa_17;
this.min = dfa_18;
this.max = dfa_19;
this.accept = dfa_20;
this.special = dfa_21;
this.transition = dfa_22;
}
public String getDescription() {
return "()* loopback of 1331:3: ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA32_0 = input.LA(1);
int index32_0 = input.index();
input.rewind();
s = -1;
if ( (LA32_0==RULE_ID||(LA32_0>=44 && LA32_0<=47)) ) {s = 1;}
else if ( LA32_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 0) ) {s = 2;}
else if ( LA32_0 == 37 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 1) ) {s = 3;}
else if ( LA32_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 2) ) {s = 4;}
else if ( LA32_0 == 39 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 3) ) {s = 5;}
else if ( LA32_0 == 40 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 4) ) {s = 6;}
else if ( LA32_0 == 41 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 5) ) {s = 7;}
else if ( LA32_0 == 42 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 6) ) {s = 8;}
else if ( LA32_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 7) ) {s = 9;}
input.seek(index32_0);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 32, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_23s = "\1\1\11\uffff";
static final String dfa_24s = "\1\5\1\uffff\4\5\4\uffff";
static final String dfa_25s = "\1\67\1\uffff\4\103\4\uffff";
static final String dfa_26s = "\1\uffff\1\5\4\uffff\1\1\1\3\1\2\1\4";
static final String dfa_27s = "\2\uffff\1\2\1\0\1\3\1\1\4\uffff}>";
static final String[] dfa_28s = {
"\1\1\10\uffff\1\1\17\uffff\1\1\5\uffff\10\1\1\2\1\4\1\3\1\5\5\1\2\uffff\1\1",
"",
"\1\1\21\uffff\1\1\5\uffff\1\6\35\uffff\1\1\7\uffff\1\1",
"\1\1\21\uffff\1\1\5\uffff\1\7\35\uffff\1\1\7\uffff\1\1",
"\1\1\21\uffff\1\1\5\uffff\1\10\35\uffff\1\1\7\uffff\1\1",
"\1\1\21\uffff\1\1\5\uffff\1\11\35\uffff\1\1\7\uffff\1\1",
"",
"",
"",
""
};
static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s);
static final char[] dfa_24 = DFA.unpackEncodedStringToUnsignedChars(dfa_24s);
static final char[] dfa_25 = DFA.unpackEncodedStringToUnsignedChars(dfa_25s);
static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s);
static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s);
static final short[][] dfa_28 = unpackEncodedStringArray(dfa_28s);
class DFA35 extends DFA {
public DFA35(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 35;
this.eot = dfa_17;
this.eof = dfa_23;
this.min = dfa_24;
this.max = dfa_25;
this.accept = dfa_26;
this.special = dfa_27;
this.transition = dfa_28;
}
public String getDescription() {
return "()* loopback of 1639:3: ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA35_3 = input.LA(1);
int index35_3 = input.index();
input.rewind();
s = -1;
if ( LA35_3 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 2) ) {s = 7;}
else if ( (LA35_3==RULE_ID||LA35_3==23||LA35_3==59||LA35_3==67) ) {s = 1;}
input.seek(index35_3);
if ( s>=0 ) return s;
break;
case 1 :
int LA35_5 = input.LA(1);
int index35_5 = input.index();
input.rewind();
s = -1;
if ( (LA35_5==RULE_ID||LA35_5==23||LA35_5==59||LA35_5==67) ) {s = 1;}
else if ( LA35_5 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 3) ) {s = 9;}
input.seek(index35_5);
if ( s>=0 ) return s;
break;
case 2 :
int LA35_2 = input.LA(1);
int index35_2 = input.index();
input.rewind();
s = -1;
if ( LA35_2 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 0) ) {s = 6;}
else if ( (LA35_2==RULE_ID||LA35_2==23||LA35_2==59||LA35_2==67) ) {s = 1;}
input.seek(index35_2);
if ( s>=0 ) return s;
break;
case 3 :
int LA35_4 = input.LA(1);
int index35_4 = input.index();
input.rewind();
s = -1;
if ( (LA35_4==RULE_ID||LA35_4==23||LA35_4==59||LA35_4==67) ) {s = 1;}
else if ( LA35_4 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 1) ) {s = 8;}
input.seek(index35_4);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 35, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_29s = "\2\uffff\1\3\1\1\1\0\1\2\4\uffff}>";
static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s);
class DFA46 extends DFA {
public DFA46(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 46;
this.eot = dfa_17;
this.eof = dfa_23;
this.min = dfa_24;
this.max = dfa_25;
this.accept = dfa_26;
this.special = dfa_29;
this.transition = dfa_28;
}
public String getDescription() {
return "()* loopback of 2315:3: ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA46_4 = input.LA(1);
int index46_4 = input.index();
input.rewind();
s = -1;
if ( (LA46_4==RULE_ID||LA46_4==23||LA46_4==59||LA46_4==67) ) {s = 1;}
else if ( LA46_4 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 1) ) {s = 8;}
input.seek(index46_4);
if ( s>=0 ) return s;
break;
case 1 :
int LA46_3 = input.LA(1);
int index46_3 = input.index();
input.rewind();
s = -1;
if ( LA46_3 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 2) ) {s = 7;}
else if ( (LA46_3==RULE_ID||LA46_3==23||LA46_3==59||LA46_3==67) ) {s = 1;}
input.seek(index46_3);
if ( s>=0 ) return s;
break;
case 2 :
int LA46_5 = input.LA(1);
int index46_5 = input.index();
input.rewind();
s = -1;
if ( (LA46_5==RULE_ID||LA46_5==23||LA46_5==59||LA46_5==67) ) {s = 1;}
else if ( LA46_5 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 3) ) {s = 9;}
input.seek(index46_5);
if ( s>=0 ) return s;
break;
case 3 :
int LA46_2 = input.LA(1);
int index46_2 = input.index();
input.rewind();
s = -1;
if ( (LA46_2==RULE_ID||LA46_2==23||LA46_2==59||LA46_2==67) ) {s = 1;}
else if ( LA46_2 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 0) ) {s = 6;}
input.seek(index46_2);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 46, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_30s = "\50\uffff";
static final String dfa_31s = "\1\uffff\45\46\2\uffff";
static final String dfa_32s = "\46\4\2\uffff";
static final String dfa_33s = "\1\166\45\167\2\uffff";
static final String dfa_34s = "\46\uffff\1\2\1\1";
static final String dfa_35s = "\50\uffff}>";
static final String[] dfa_36s = {
"\1\46\1\1\3\46\4\uffff\1\32\1\uffff\1\46\3\uffff\1\24\1\10\1\11\1\uffff\1\46\1\uffff\1\45\1\16\1\15\1\20\1\46\1\uffff\1\46\1\7\1\12\1\26\1\21\1\42\1\41\1\33\1\40\1\44\1\43\1\17\1\23\1\2\1\4\1\3\1\5\1\14\1\35\1\13\1\34\1\27\1\31\1\25\1\30\1\6\1\37\1\uffff\1\46\2\uffff\1\46\3\uffff\1\46\1\uffff\1\22\1\36\25\uffff\1\46\4\uffff\1\46\1\uffff\1\46\1\uffff\1\46\3\uffff\3\46\2\uffff\10\46\1\uffff\1\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46",
"",
""
};
static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s);
static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s);
static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s);
static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s);
static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s);
static final short[] dfa_35 = DFA.unpackEncodedString(dfa_35s);
static final short[][] dfa_36 = unpackEncodedStringArray(dfa_36s);
class DFA82 extends DFA {
public DFA82(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 82;
this.eot = dfa_30;
this.eof = dfa_31;
this.min = dfa_32;
this.max = dfa_33;
this.accept = dfa_34;
this.special = dfa_35;
this.transition = dfa_36;
}
public String getDescription() {
return "3832:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )";
}
}
static final String dfa_37s = "\1\10\11\uffff";
static final String dfa_38s = "\1\4\7\0\2\uffff";
static final String dfa_39s = "\1\167\7\0\2\uffff";
static final String dfa_40s = "\10\uffff\1\2\1\1";
static final String dfa_41s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\2\uffff}>";
static final String[] dfa_42s = {
"\5\10\4\uffff\1\10\1\uffff\3\10\1\uffff\3\10\1\uffff\1\6\1\7\41\10\1\uffff\1\10\1\uffff\11\10\1\1\1\2\1\3\1\4\1\5\26\10\1\uffff\26\10",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
""
};
static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s);
static final char[] dfa_38 = DFA.unpackEncodedStringToUnsignedChars(dfa_38s);
static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s);
static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s);
static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s);
static final short[][] dfa_42 = unpackEncodedStringArray(dfa_42s);
class DFA81 extends DFA {
public DFA81(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 81;
this.eot = dfa_17;
this.eof = dfa_37;
this.min = dfa_38;
this.max = dfa_39;
this.accept = dfa_40;
this.special = dfa_41;
this.transition = dfa_42;
}
public String getDescription() {
return "3889:1: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA81_1 = input.LA(1);
int index81_1 = input.index();
input.rewind();
s = -1;
if ( (synpred4_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index81_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA81_2 = input.LA(1);
int index81_2 = input.index();
input.rewind();
s = -1;
if ( (synpred4_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index81_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA81_3 = input.LA(1);
int index81_3 = input.index();
input.rewind();
s = -1;
if ( (synpred4_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index81_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA81_4 = input.LA(1);
int index81_4 = input.index();
input.rewind();
s = -1;
if ( (synpred4_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index81_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA81_5 = input.LA(1);
int index81_5 = input.index();
input.rewind();
s = -1;
if ( (synpred4_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index81_5);
if ( s>=0 ) return s;
break;
case 5 :
int LA81_6 = input.LA(1);
int index81_6 = input.index();
input.rewind();
s = -1;
if ( (synpred4_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index81_6);
if ( s>=0 ) return s;
break;
case 6 :
int LA81_7 = input.LA(1);
int index81_7 = input.index();
input.rewind();
s = -1;
if ( (synpred4_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index81_7);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 81, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_43s = "\13\uffff";
static final String dfa_44s = "\1\1\12\uffff";
static final String dfa_45s = "\1\4\1\uffff\10\0\1\uffff";
static final String dfa_46s = "\1\167\1\uffff\10\0\1\uffff";
static final String dfa_47s = "\1\uffff\1\2\10\uffff\1\1";
static final String dfa_48s = "\2\uffff\1\5\1\3\1\1\1\2\1\0\1\4\1\6\1\7\1\uffff}>";
static final String[] dfa_49s = {
"\5\1\4\uffff\1\1\1\uffff\3\1\1\uffff\3\1\1\uffff\1\2\1\3\41\1\1\uffff\1\1\1\uffff\2\1\1\6\23\1\1\4\1\5\1\7\1\10\1\11\11\1\1\uffff\26\1",
"",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
""
};
static final short[] dfa_43 = DFA.unpackEncodedString(dfa_43s);
static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s);
static final char[] dfa_45 = DFA.unpackEncodedStringToUnsignedChars(dfa_45s);
static final char[] dfa_46 = DFA.unpackEncodedStringToUnsignedChars(dfa_46s);
static final short[] dfa_47 = DFA.unpackEncodedString(dfa_47s);
static final short[] dfa_48 = DFA.unpackEncodedString(dfa_48s);
static final short[][] dfa_49 = unpackEncodedStringArray(dfa_49s);
class DFA91 extends DFA {
public DFA91(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 91;
this.eot = dfa_43;
this.eof = dfa_44;
this.min = dfa_45;
this.max = dfa_46;
this.accept = dfa_47;
this.special = dfa_48;
this.transition = dfa_49;
}
public String getDescription() {
return "()* loopback of 4566:1: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA91_6 = input.LA(1);
int index91_6 = input.index();
input.rewind();
s = -1;
if ( (synpred10_InternalXcore()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index91_6);
if ( s>=0 ) return s;
break;
case 1 :
int LA91_4 = input.LA(1);
int index91_4 = input.index();
input.rewind();
s = -1;
if ( (synpred10_InternalXcore()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index91_4);
if ( s>=0 ) return s;
break;
case 2 :
int LA91_5 = input.LA(1);
int index91_5 = input.index();
input.rewind();
s = -1;
if ( (synpred10_InternalXcore()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index91_5);
if ( s>=0 ) return s;
break;
case 3 :
int LA91_3 = input.LA(1);
int index91_3 = input.index();
input.rewind();
s = -1;
if ( (synpred10_InternalXcore()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index91_3);
if ( s>=0 ) return s;
break;
case 4 :
int LA91_7 = input.LA(1);
int index91_7 = input.index();
input.rewind();
s = -1;
if ( (synpred10_InternalXcore()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index91_7);
if ( s>=0 ) return s;
break;
case 5 :
int LA91_2 = input.LA(1);
int index91_2 = input.index();
input.rewind();
s = -1;
if ( (synpred10_InternalXcore()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index91_2);
if ( s>=0 ) return s;
break;
case 6 :
int LA91_8 = input.LA(1);
int index91_8 = input.index();
input.rewind();
s = -1;
if ( (synpred10_InternalXcore()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index91_8);
if ( s>=0 ) return s;
break;
case 7 :
int LA91_9 = input.LA(1);
int index91_9 = input.index();
input.rewind();
s = -1;
if ( (synpred10_InternalXcore()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index91_9);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 91, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_50s = "\1\27\2\uffff\1\30\7\uffff";
static final String dfa_51s = "\1\127\2\uffff\1\77\7\uffff";
static final String dfa_52s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3";
static final String dfa_53s = "\13\uffff}>";
static final String[] dfa_54s = {
"\1\6\1\3\46\uffff\1\4\23\uffff\1\1\1\2\1\5\1\7\1\10",
"",
"",
"\1\11\46\uffff\1\12",
"",
"",
"",
"",
"",
"",
""
};
static final char[] dfa_50 = DFA.unpackEncodedStringToUnsignedChars(dfa_50s);
static final char[] dfa_51 = DFA.unpackEncodedStringToUnsignedChars(dfa_51s);
static final short[] dfa_52 = DFA.unpackEncodedString(dfa_52s);
static final short[] dfa_53 = DFA.unpackEncodedString(dfa_53s);
static final short[][] dfa_54 = unpackEncodedStringArray(dfa_54s);
class DFA94 extends DFA {
public DFA94(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 94;
this.eot = dfa_43;
this.eof = dfa_43;
this.min = dfa_50;
this.max = dfa_51;
this.accept = dfa_52;
this.special = dfa_53;
this.transition = dfa_54;
}
public String getDescription() {
return "4631:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )";
}
}
static final String dfa_55s = "\155\uffff";
static final String dfa_56s = "\1\2\154\uffff";
static final String dfa_57s = "\1\4\1\0\153\uffff";
static final String dfa_58s = "\1\167\1\0\153\uffff";
static final String dfa_59s = "\2\uffff\1\2\151\uffff\1\1";
static final String dfa_60s = "\1\uffff\1\0\153\uffff}>";
static final String[] dfa_61s = {
"\5\2\4\uffff\1\2\1\uffff\1\1\2\2\1\uffff\3\2\1\uffff\43\2\1\uffff\1\2\1\uffff\44\2\1\uffff\26\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_55 = DFA.unpackEncodedString(dfa_55s);
static final short[] dfa_56 = DFA.unpackEncodedString(dfa_56s);
static final char[] dfa_57 = DFA.unpackEncodedStringToUnsignedChars(dfa_57s);
static final char[] dfa_58 = DFA.unpackEncodedStringToUnsignedChars(dfa_58s);
static final short[] dfa_59 = DFA.unpackEncodedString(dfa_59s);
static final short[] dfa_60 = DFA.unpackEncodedString(dfa_60s);
static final short[][] dfa_61 = unpackEncodedStringArray(dfa_61s);
class DFA110 extends DFA {
public DFA110(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 110;
this.eot = dfa_55;
this.eof = dfa_56;
this.min = dfa_57;
this.max = dfa_58;
this.accept = dfa_59;
this.special = dfa_60;
this.transition = dfa_61;
}
public String getDescription() {
return "5475:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA110_1 = input.LA(1);
int index110_1 = input.index();
input.rewind();
s = -1;
if ( (synpred19_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 2;}
input.seek(index110_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 110, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_62s = "\104\uffff";
static final String dfa_63s = "\1\4\7\0\74\uffff";
static final String dfa_64s = "\1\166\7\0\74\uffff";
static final String dfa_65s = "\10\uffff\2\1\1\2\70\uffff\1\3";
static final String dfa_66s = "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\74\uffff}>";
static final String[] dfa_67s = {
"\1\12\1\1\3\12\4\uffff\1\12\1\uffff\1\7\1\uffff\1\103\1\uffff\3\12\1\uffff\1\12\1\uffff\5\12\1\uffff\15\12\1\2\1\4\1\3\1\5\10\12\1\6\1\12\1\uffff\1\12\2\uffff\1\12\3\uffff\1\12\1\uffff\2\12\17\uffff\1\10\5\uffff\1\12\4\uffff\1\12\1\11\1\12\1\uffff\1\12\3\uffff\3\12\2\uffff\10\12\1\uffff\1\12",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_62 = DFA.unpackEncodedString(dfa_62s);
static final char[] dfa_63 = DFA.unpackEncodedStringToUnsignedChars(dfa_63s);
static final char[] dfa_64 = DFA.unpackEncodedStringToUnsignedChars(dfa_64s);
static final short[] dfa_65 = DFA.unpackEncodedString(dfa_65s);
static final short[] dfa_66 = DFA.unpackEncodedString(dfa_66s);
static final short[][] dfa_67 = unpackEncodedStringArray(dfa_67s);
class DFA109 extends DFA {
public DFA109(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 109;
this.eot = dfa_62;
this.eof = dfa_62;
this.min = dfa_63;
this.max = dfa_64;
this.accept = dfa_65;
this.special = dfa_66;
this.transition = dfa_67;
}
public String getDescription() {
return "5496:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA109_0 = input.LA(1);
int index109_0 = input.index();
input.rewind();
s = -1;
if ( (LA109_0==RULE_ID) ) {s = 1;}
else if ( (LA109_0==44) ) {s = 2;}
else if ( (LA109_0==46) ) {s = 3;}
else if ( (LA109_0==45) ) {s = 4;}
else if ( (LA109_0==47) ) {s = 5;}
else if ( (LA109_0==56) ) {s = 6;}
else if ( (LA109_0==15) ) {s = 7;}
else if ( (LA109_0==85) && (synpred20_InternalXcore())) {s = 8;}
else if ( (LA109_0==97) && (synpred20_InternalXcore())) {s = 9;}
else if ( (LA109_0==RULE_STRING||(LA109_0>=RULE_INT && LA109_0<=RULE_DECIMAL)||LA109_0==13||(LA109_0>=19 && LA109_0<=21)||LA109_0==23||(LA109_0>=25 && LA109_0<=29)||(LA109_0>=31 && LA109_0<=43)||(LA109_0>=48 && LA109_0<=55)||LA109_0==57||LA109_0==59||LA109_0==62||LA109_0==66||(LA109_0>=68 && LA109_0<=69)||LA109_0==91||LA109_0==96||LA109_0==98||LA109_0==100||(LA109_0>=104 && LA109_0<=106)||(LA109_0>=109 && LA109_0<=116)||LA109_0==118) ) {s = 10;}
else if ( (LA109_0==17) ) {s = 67;}
input.seek(index109_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA109_1 = input.LA(1);
int index109_1 = input.index();
input.rewind();
s = -1;
if ( (synpred20_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index109_1);
if ( s>=0 ) return s;
break;
case 2 :
int LA109_2 = input.LA(1);
int index109_2 = input.index();
input.rewind();
s = -1;
if ( (synpred20_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index109_2);
if ( s>=0 ) return s;
break;
case 3 :
int LA109_3 = input.LA(1);
int index109_3 = input.index();
input.rewind();
s = -1;
if ( (synpred20_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index109_3);
if ( s>=0 ) return s;
break;
case 4 :
int LA109_4 = input.LA(1);
int index109_4 = input.index();
input.rewind();
s = -1;
if ( (synpred20_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index109_4);
if ( s>=0 ) return s;
break;
case 5 :
int LA109_5 = input.LA(1);
int index109_5 = input.index();
input.rewind();
s = -1;
if ( (synpred20_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index109_5);
if ( s>=0 ) return s;
break;
case 6 :
int LA109_6 = input.LA(1);
int index109_6 = input.index();
input.rewind();
s = -1;
if ( (synpred20_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index109_6);
if ( s>=0 ) return s;
break;
case 7 :
int LA109_7 = input.LA(1);
int index109_7 = input.index();
input.rewind();
s = -1;
if ( (synpred20_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index109_7);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 109, _s, input);
error(nvae);
throw nvae;
}
}
static final String[] dfa_68s = {
"\5\2\4\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\43\2\1\uffff\1\1\1\uffff\44\2\1\uffff\26\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[][] dfa_68 = unpackEncodedStringArray(dfa_68s);
class DFA111 extends DFA {
public DFA111(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 111;
this.eot = dfa_55;
this.eof = dfa_56;
this.min = dfa_57;
this.max = dfa_58;
this.accept = dfa_59;
this.special = dfa_60;
this.transition = dfa_68;
}
public String getDescription() {
return "5575:3: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA111_1 = input.LA(1);
int index111_1 = input.index();
input.rewind();
s = -1;
if ( (synpred21_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 2;}
input.seek(index111_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 111, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_69s = "\100\uffff";
static final String dfa_70s = "\1\4\66\uffff\1\0\10\uffff";
static final String dfa_71s = "\1\166\66\uffff\1\0\10\uffff";
static final String dfa_72s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\46\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11";
static final String dfa_73s = "\1\0\66\uffff\1\1\10\uffff}>";
static final String[] dfa_74s = {
"\1\54\1\5\3\54\4\uffff\1\5\1\uffff\1\75\3\uffff\3\5\1\uffff\1\5\1\uffff\4\5\1\2\2\uffff\32\5\1\uffff\1\54\6\uffff\1\5\1\uffff\2\5\32\uffff\1\54\1\uffff\1\66\1\uffff\1\3\3\uffff\1\67\1\70\1\71\2\uffff\1\1\4\54\1\72\1\73\1\74\1\uffff\1\4",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_69 = DFA.unpackEncodedString(dfa_69s);
static final char[] dfa_70 = DFA.unpackEncodedStringToUnsignedChars(dfa_70s);
static final char[] dfa_71 = DFA.unpackEncodedStringToUnsignedChars(dfa_71s);
static final short[] dfa_72 = DFA.unpackEncodedString(dfa_72s);
static final short[] dfa_73 = DFA.unpackEncodedString(dfa_73s);
static final short[][] dfa_74 = unpackEncodedStringArray(dfa_74s);
class DFA113 extends DFA {
public DFA113(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 113;
this.eot = dfa_69;
this.eof = dfa_69;
this.min = dfa_70;
this.max = dfa_71;
this.accept = dfa_72;
this.special = dfa_73;
this.transition = dfa_74;
}
public String getDescription() {
return "5616:1: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA113_0 = input.LA(1);
int index113_0 = input.index();
input.rewind();
s = -1;
if ( (LA113_0==109) ) {s = 1;}
else if ( (LA113_0==29) ) {s = 2;}
else if ( (LA113_0==100) ) {s = 3;}
else if ( (LA113_0==118) && (synpred22_InternalXcore())) {s = 4;}
else if ( (LA113_0==RULE_ID||LA113_0==13||(LA113_0>=19 && LA113_0<=21)||LA113_0==23||(LA113_0>=25 && LA113_0<=28)||(LA113_0>=32 && LA113_0<=57)||LA113_0==66||(LA113_0>=68 && LA113_0<=69)) ) {s = 5;}
else if ( (LA113_0==RULE_STRING||(LA113_0>=RULE_INT && LA113_0<=RULE_DECIMAL)||LA113_0==59||LA113_0==96||(LA113_0>=110 && LA113_0<=113)) ) {s = 44;}
else if ( (LA113_0==98) ) {s = 54;}
else if ( (LA113_0==104) ) {s = 55;}
else if ( (LA113_0==105) ) {s = 56;}
else if ( (LA113_0==106) ) {s = 57;}
else if ( (LA113_0==114) ) {s = 58;}
else if ( (LA113_0==115) ) {s = 59;}
else if ( (LA113_0==116) ) {s = 60;}
else if ( (LA113_0==15) ) {s = 61;}
input.seek(index113_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA113_55 = input.LA(1);
int index113_55 = input.index();
input.rewind();
s = -1;
if ( (synpred23_InternalXcore()) ) {s = 62;}
else if ( (true) ) {s = 63;}
input.seek(index113_55);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 113, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_75s = "\106\uffff";
static final String dfa_76s = "\1\4\7\0\76\uffff";
static final String dfa_77s = "\1\166\7\0\76\uffff";
static final String dfa_78s = "\10\uffff\2\1\1\2\73\uffff";
static final String dfa_79s = "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\76\uffff}>";
static final String[] dfa_80s = {
"\1\12\1\1\3\12\4\uffff\1\12\1\uffff\1\7\3\uffff\3\12\1\uffff\1\12\1\uffff\5\12\1\uffff\15\12\1\2\1\4\1\3\1\5\10\12\1\6\1\12\1\uffff\1\12\2\uffff\1\12\1\uffff\1\12\1\uffff\1\12\1\uffff\2\12\17\uffff\1\10\5\uffff\1\12\4\uffff\1\12\1\11\1\12\1\uffff\1\12\3\uffff\15\12\1\uffff\1\12",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_75 = DFA.unpackEncodedString(dfa_75s);
static final char[] dfa_76 = DFA.unpackEncodedStringToUnsignedChars(dfa_76s);
static final char[] dfa_77 = DFA.unpackEncodedStringToUnsignedChars(dfa_77s);
static final short[] dfa_78 = DFA.unpackEncodedString(dfa_78s);
static final short[] dfa_79 = DFA.unpackEncodedString(dfa_79s);
static final short[][] dfa_80 = unpackEncodedStringArray(dfa_80s);
class DFA122 extends DFA {
public DFA122(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 122;
this.eot = dfa_75;
this.eof = dfa_75;
this.min = dfa_76;
this.max = dfa_77;
this.accept = dfa_78;
this.special = dfa_79;
this.transition = dfa_80;
}
public String getDescription() {
return "6099:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA122_0 = input.LA(1);
int index122_0 = input.index();
input.rewind();
s = -1;
if ( (LA122_0==RULE_ID) ) {s = 1;}
else if ( (LA122_0==44) ) {s = 2;}
else if ( (LA122_0==46) ) {s = 3;}
else if ( (LA122_0==45) ) {s = 4;}
else if ( (LA122_0==47) ) {s = 5;}
else if ( (LA122_0==56) ) {s = 6;}
else if ( (LA122_0==15) ) {s = 7;}
else if ( (LA122_0==85) && (synpred26_InternalXcore())) {s = 8;}
else if ( (LA122_0==97) && (synpred26_InternalXcore())) {s = 9;}
else if ( (LA122_0==RULE_STRING||(LA122_0>=RULE_INT && LA122_0<=RULE_DECIMAL)||LA122_0==13||(LA122_0>=19 && LA122_0<=21)||LA122_0==23||(LA122_0>=25 && LA122_0<=29)||(LA122_0>=31 && LA122_0<=43)||(LA122_0>=48 && LA122_0<=55)||LA122_0==57||LA122_0==59||LA122_0==62||LA122_0==64||LA122_0==66||(LA122_0>=68 && LA122_0<=69)||LA122_0==91||LA122_0==96||LA122_0==98||LA122_0==100||(LA122_0>=104 && LA122_0<=116)||LA122_0==118) ) {s = 10;}
input.seek(index122_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA122_1 = input.LA(1);
int index122_1 = input.index();
input.rewind();
s = -1;
if ( (synpred26_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index122_1);
if ( s>=0 ) return s;
break;
case 2 :
int LA122_2 = input.LA(1);
int index122_2 = input.index();
input.rewind();
s = -1;
if ( (synpred26_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index122_2);
if ( s>=0 ) return s;
break;
case 3 :
int LA122_3 = input.LA(1);
int index122_3 = input.index();
input.rewind();
s = -1;
if ( (synpred26_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index122_3);
if ( s>=0 ) return s;
break;
case 4 :
int LA122_4 = input.LA(1);
int index122_4 = input.index();
input.rewind();
s = -1;
if ( (synpred26_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index122_4);
if ( s>=0 ) return s;
break;
case 5 :
int LA122_5 = input.LA(1);
int index122_5 = input.index();
input.rewind();
s = -1;
if ( (synpred26_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index122_5);
if ( s>=0 ) return s;
break;
case 6 :
int LA122_6 = input.LA(1);
int index122_6 = input.index();
input.rewind();
s = -1;
if ( (synpred26_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index122_6);
if ( s>=0 ) return s;
break;
case 7 :
int LA122_7 = input.LA(1);
int index122_7 = input.index();
input.rewind();
s = -1;
if ( (synpred26_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index122_7);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 122, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_81s = "\103\uffff";
static final String dfa_82s = "\1\4\1\0\101\uffff";
static final String dfa_83s = "\1\166\1\0\101\uffff";
static final String dfa_84s = "\2\uffff\1\2\77\uffff\1\1";
static final String dfa_85s = "\1\uffff\1\0\101\uffff}>";
static final String[] dfa_86s = {
"\5\2\4\uffff\1\2\1\uffff\1\1\3\uffff\3\2\1\uffff\1\2\1\uffff\5\2\1\uffff\33\2\1\uffff\1\2\2\uffff\1\2\3\uffff\1\2\1\uffff\2\2\17\uffff\1\2\5\uffff\1\2\4\uffff\1\2\1\uffff\1\2\1\uffff\1\2\3\uffff\3\2\2\uffff\10\2\1\uffff\1\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_81 = DFA.unpackEncodedString(dfa_81s);
static final char[] dfa_82 = DFA.unpackEncodedStringToUnsignedChars(dfa_82s);
static final char[] dfa_83 = DFA.unpackEncodedStringToUnsignedChars(dfa_83s);
static final short[] dfa_84 = DFA.unpackEncodedString(dfa_84s);
static final short[] dfa_85 = DFA.unpackEncodedString(dfa_85s);
static final short[][] dfa_86 = unpackEncodedStringArray(dfa_86s);
class DFA129 extends DFA {
public DFA129(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 129;
this.eot = dfa_81;
this.eof = dfa_81;
this.min = dfa_82;
this.max = dfa_83;
this.accept = dfa_84;
this.special = dfa_85;
this.transition = dfa_86;
}
public String getDescription() {
return "6523:1: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA129_1 = input.LA(1);
int index129_1 = input.index();
input.rewind();
s = -1;
if ( (synpred29_InternalXcore()) ) {s = 66;}
else if ( (true) ) {s = 2;}
input.seek(index129_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 129, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_87s = "\102\uffff";
static final String dfa_88s = "\1\4\7\0\72\uffff";
static final String dfa_89s = "\1\166\7\0\72\uffff";
static final String dfa_90s = "\10\uffff\1\1\1\2\70\uffff";
static final String dfa_91s = "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\72\uffff}>";
static final String[] dfa_92s = {
"\1\11\1\1\3\11\4\uffff\1\11\1\uffff\1\7\3\uffff\3\11\1\uffff\1\11\1\uffff\5\11\1\uffff\15\11\1\2\1\4\1\3\1\5\10\11\1\6\1\11\1\uffff\1\11\2\uffff\1\11\3\uffff\1\11\1\uffff\2\11\17\uffff\1\10\5\uffff\1\11\4\uffff\1\11\1\uffff\1\11\1\uffff\1\11\3\uffff\3\11\2\uffff\10\11\1\uffff\1\11",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_87 = DFA.unpackEncodedString(dfa_87s);
static final char[] dfa_88 = DFA.unpackEncodedStringToUnsignedChars(dfa_88s);
static final char[] dfa_89 = DFA.unpackEncodedStringToUnsignedChars(dfa_89s);
static final short[] dfa_90 = DFA.unpackEncodedString(dfa_90s);
static final short[] dfa_91 = DFA.unpackEncodedString(dfa_91s);
static final short[][] dfa_92 = unpackEncodedStringArray(dfa_92s);
class DFA128 extends DFA {
public DFA128(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 128;
this.eot = dfa_87;
this.eof = dfa_87;
this.min = dfa_88;
this.max = dfa_89;
this.accept = dfa_90;
this.special = dfa_91;
this.transition = dfa_92;
}
public String getDescription() {
return "6578:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA128_0 = input.LA(1);
int index128_0 = input.index();
input.rewind();
s = -1;
if ( (LA128_0==RULE_ID) ) {s = 1;}
else if ( (LA128_0==44) ) {s = 2;}
else if ( (LA128_0==46) ) {s = 3;}
else if ( (LA128_0==45) ) {s = 4;}
else if ( (LA128_0==47) ) {s = 5;}
else if ( (LA128_0==56) ) {s = 6;}
else if ( (LA128_0==15) ) {s = 7;}
else if ( (LA128_0==85) && (synpred30_InternalXcore())) {s = 8;}
else if ( (LA128_0==RULE_STRING||(LA128_0>=RULE_INT && LA128_0<=RULE_DECIMAL)||LA128_0==13||(LA128_0>=19 && LA128_0<=21)||LA128_0==23||(LA128_0>=25 && LA128_0<=29)||(LA128_0>=31 && LA128_0<=43)||(LA128_0>=48 && LA128_0<=55)||LA128_0==57||LA128_0==59||LA128_0==62||LA128_0==66||(LA128_0>=68 && LA128_0<=69)||LA128_0==91||LA128_0==96||LA128_0==98||LA128_0==100||(LA128_0>=104 && LA128_0<=106)||(LA128_0>=109 && LA128_0<=116)||LA128_0==118) ) {s = 9;}
input.seek(index128_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA128_1 = input.LA(1);
int index128_1 = input.index();
input.rewind();
s = -1;
if ( (synpred30_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index128_1);
if ( s>=0 ) return s;
break;
case 2 :
int LA128_2 = input.LA(1);
int index128_2 = input.index();
input.rewind();
s = -1;
if ( (synpred30_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index128_2);
if ( s>=0 ) return s;
break;
case 3 :
int LA128_3 = input.LA(1);
int index128_3 = input.index();
input.rewind();
s = -1;
if ( (synpred30_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index128_3);
if ( s>=0 ) return s;
break;
case 4 :
int LA128_4 = input.LA(1);
int index128_4 = input.index();
input.rewind();
s = -1;
if ( (synpred30_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index128_4);
if ( s>=0 ) return s;
break;
case 5 :
int LA128_5 = input.LA(1);
int index128_5 = input.index();
input.rewind();
s = -1;
if ( (synpred30_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index128_5);
if ( s>=0 ) return s;
break;
case 6 :
int LA128_6 = input.LA(1);
int index128_6 = input.index();
input.rewind();
s = -1;
if ( (synpred30_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index128_6);
if ( s>=0 ) return s;
break;
case 7 :
int LA128_7 = input.LA(1);
int index128_7 = input.index();
input.rewind();
s = -1;
if ( (synpred30_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index128_7);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 128, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_93s = "\1\5\6\0\3\uffff";
static final String dfa_94s = "\1\125\6\0\3\uffff";
static final String dfa_95s = "\7\uffff\2\1\1\2";
static final String dfa_96s = "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\3\uffff}>";
static final String[] dfa_97s = {
"\1\1\11\uffff\1\7\34\uffff\1\2\1\4\1\3\1\5\10\uffff\1\6\34\uffff\1\10",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
""
};
static final char[] dfa_93 = DFA.unpackEncodedStringToUnsignedChars(dfa_93s);
static final char[] dfa_94 = DFA.unpackEncodedStringToUnsignedChars(dfa_94s);
static final short[] dfa_95 = DFA.unpackEncodedString(dfa_95s);
static final short[] dfa_96 = DFA.unpackEncodedString(dfa_96s);
static final short[][] dfa_97 = unpackEncodedStringArray(dfa_97s);
class DFA142 extends DFA {
public DFA142(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 142;
this.eot = dfa_17;
this.eof = dfa_17;
this.min = dfa_93;
this.max = dfa_94;
this.accept = dfa_95;
this.special = dfa_96;
this.transition = dfa_97;
}
public String getDescription() {
return "7289:2: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA142_0 = input.LA(1);
int index142_0 = input.index();
input.rewind();
s = -1;
if ( (LA142_0==RULE_ID) ) {s = 1;}
else if ( (LA142_0==44) ) {s = 2;}
else if ( (LA142_0==46) ) {s = 3;}
else if ( (LA142_0==45) ) {s = 4;}
else if ( (LA142_0==47) ) {s = 5;}
else if ( (LA142_0==56) ) {s = 6;}
else if ( (LA142_0==15) && (synpred32_InternalXcore())) {s = 7;}
else if ( (LA142_0==85) && (synpred32_InternalXcore())) {s = 8;}
input.seek(index142_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA142_1 = input.LA(1);
int index142_1 = input.index();
input.rewind();
s = -1;
if ( (synpred32_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index142_1);
if ( s>=0 ) return s;
break;
case 2 :
int LA142_2 = input.LA(1);
int index142_2 = input.index();
input.rewind();
s = -1;
if ( (synpred32_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index142_2);
if ( s>=0 ) return s;
break;
case 3 :
int LA142_3 = input.LA(1);
int index142_3 = input.index();
input.rewind();
s = -1;
if ( (synpred32_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index142_3);
if ( s>=0 ) return s;
break;
case 4 :
int LA142_4 = input.LA(1);
int index142_4 = input.index();
input.rewind();
s = -1;
if ( (synpred32_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index142_4);
if ( s>=0 ) return s;
break;
case 5 :
int LA142_5 = input.LA(1);
int index142_5 = input.index();
input.rewind();
s = -1;
if ( (synpred32_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index142_5);
if ( s>=0 ) return s;
break;
case 6 :
int LA142_6 = input.LA(1);
int index142_6 = input.index();
input.rewind();
s = -1;
if ( (synpred32_InternalXcore()) ) {s = 8;}
else if ( (true) ) {s = 9;}
input.seek(index142_6);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 142, _s, input);
error(nvae);
throw nvae;
}
}
class DFA149 extends DFA {
public DFA149(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 149;
this.eot = dfa_55;
this.eof = dfa_56;
this.min = dfa_57;
this.max = dfa_58;
this.accept = dfa_59;
this.special = dfa_60;
this.transition = dfa_61;
}
public String getDescription() {
return "7578:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA149_1 = input.LA(1);
int index149_1 = input.index();
input.rewind();
s = -1;
if ( (synpred33_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 2;}
input.seek(index149_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 149, _s, input);
error(nvae);
throw nvae;
}
}
class DFA148 extends DFA {
public DFA148(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 148;
this.eot = dfa_62;
this.eof = dfa_62;
this.min = dfa_63;
this.max = dfa_64;
this.accept = dfa_65;
this.special = dfa_66;
this.transition = dfa_67;
}
public String getDescription() {
return "7599:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA148_0 = input.LA(1);
int index148_0 = input.index();
input.rewind();
s = -1;
if ( (LA148_0==RULE_ID) ) {s = 1;}
else if ( (LA148_0==44) ) {s = 2;}
else if ( (LA148_0==46) ) {s = 3;}
else if ( (LA148_0==45) ) {s = 4;}
else if ( (LA148_0==47) ) {s = 5;}
else if ( (LA148_0==56) ) {s = 6;}
else if ( (LA148_0==15) ) {s = 7;}
else if ( (LA148_0==85) && (synpred34_InternalXcore())) {s = 8;}
else if ( (LA148_0==97) && (synpred34_InternalXcore())) {s = 9;}
else if ( (LA148_0==RULE_STRING||(LA148_0>=RULE_INT && LA148_0<=RULE_DECIMAL)||LA148_0==13||(LA148_0>=19 && LA148_0<=21)||LA148_0==23||(LA148_0>=25 && LA148_0<=29)||(LA148_0>=31 && LA148_0<=43)||(LA148_0>=48 && LA148_0<=55)||LA148_0==57||LA148_0==59||LA148_0==62||LA148_0==66||(LA148_0>=68 && LA148_0<=69)||LA148_0==91||LA148_0==96||LA148_0==98||LA148_0==100||(LA148_0>=104 && LA148_0<=106)||(LA148_0>=109 && LA148_0<=116)||LA148_0==118) ) {s = 10;}
else if ( (LA148_0==17) ) {s = 67;}
input.seek(index148_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA148_1 = input.LA(1);
int index148_1 = input.index();
input.rewind();
s = -1;
if ( (synpred34_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index148_1);
if ( s>=0 ) return s;
break;
case 2 :
int LA148_2 = input.LA(1);
int index148_2 = input.index();
input.rewind();
s = -1;
if ( (synpred34_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index148_2);
if ( s>=0 ) return s;
break;
case 3 :
int LA148_3 = input.LA(1);
int index148_3 = input.index();
input.rewind();
s = -1;
if ( (synpred34_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index148_3);
if ( s>=0 ) return s;
break;
case 4 :
int LA148_4 = input.LA(1);
int index148_4 = input.index();
input.rewind();
s = -1;
if ( (synpred34_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index148_4);
if ( s>=0 ) return s;
break;
case 5 :
int LA148_5 = input.LA(1);
int index148_5 = input.index();
input.rewind();
s = -1;
if ( (synpred34_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index148_5);
if ( s>=0 ) return s;
break;
case 6 :
int LA148_6 = input.LA(1);
int index148_6 = input.index();
input.rewind();
s = -1;
if ( (synpred34_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index148_6);
if ( s>=0 ) return s;
break;
case 7 :
int LA148_7 = input.LA(1);
int index148_7 = input.index();
input.rewind();
s = -1;
if ( (synpred34_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index148_7);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 148, _s, input);
error(nvae);
throw nvae;
}
}
class DFA150 extends DFA {
public DFA150(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 150;
this.eot = dfa_55;
this.eof = dfa_56;
this.min = dfa_57;
this.max = dfa_58;
this.accept = dfa_59;
this.special = dfa_60;
this.transition = dfa_68;
}
public String getDescription() {
return "7678:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA150_1 = input.LA(1);
int index150_1 = input.index();
input.rewind();
s = -1;
if ( (synpred35_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 2;}
input.seek(index150_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 150, _s, input);
error(nvae);
throw nvae;
}
}
static final String[] dfa_98s = {
"\5\2\4\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\1\1\42\2\1\uffff\1\2\1\uffff\44\2\1\uffff\26\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[][] dfa_98 = unpackEncodedStringArray(dfa_98s);
class DFA153 extends DFA {
public DFA153(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 153;
this.eot = dfa_55;
this.eof = dfa_56;
this.min = dfa_57;
this.max = dfa_58;
this.accept = dfa_59;
this.special = dfa_60;
this.transition = dfa_98;
}
public String getDescription() {
return "7783:2: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA153_1 = input.LA(1);
int index153_1 = input.index();
input.rewind();
s = -1;
if ( (synpred36_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 2;}
input.seek(index153_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 153, _s, input);
error(nvae);
throw nvae;
}
}
class DFA156 extends DFA {
public DFA156(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 156;
this.eot = dfa_55;
this.eof = dfa_56;
this.min = dfa_57;
this.max = dfa_58;
this.accept = dfa_59;
this.special = dfa_60;
this.transition = dfa_61;
}
public String getDescription() {
return "7832:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA156_1 = input.LA(1);
int index156_1 = input.index();
input.rewind();
s = -1;
if ( (synpred37_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 2;}
input.seek(index156_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 156, _s, input);
error(nvae);
throw nvae;
}
}
class DFA155 extends DFA {
public DFA155(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 155;
this.eot = dfa_62;
this.eof = dfa_62;
this.min = dfa_63;
this.max = dfa_64;
this.accept = dfa_65;
this.special = dfa_66;
this.transition = dfa_67;
}
public String getDescription() {
return "7853:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA155_0 = input.LA(1);
int index155_0 = input.index();
input.rewind();
s = -1;
if ( (LA155_0==RULE_ID) ) {s = 1;}
else if ( (LA155_0==44) ) {s = 2;}
else if ( (LA155_0==46) ) {s = 3;}
else if ( (LA155_0==45) ) {s = 4;}
else if ( (LA155_0==47) ) {s = 5;}
else if ( (LA155_0==56) ) {s = 6;}
else if ( (LA155_0==15) ) {s = 7;}
else if ( (LA155_0==85) && (synpred38_InternalXcore())) {s = 8;}
else if ( (LA155_0==97) && (synpred38_InternalXcore())) {s = 9;}
else if ( (LA155_0==RULE_STRING||(LA155_0>=RULE_INT && LA155_0<=RULE_DECIMAL)||LA155_0==13||(LA155_0>=19 && LA155_0<=21)||LA155_0==23||(LA155_0>=25 && LA155_0<=29)||(LA155_0>=31 && LA155_0<=43)||(LA155_0>=48 && LA155_0<=55)||LA155_0==57||LA155_0==59||LA155_0==62||LA155_0==66||(LA155_0>=68 && LA155_0<=69)||LA155_0==91||LA155_0==96||LA155_0==98||LA155_0==100||(LA155_0>=104 && LA155_0<=106)||(LA155_0>=109 && LA155_0<=116)||LA155_0==118) ) {s = 10;}
else if ( (LA155_0==17) ) {s = 67;}
input.seek(index155_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA155_1 = input.LA(1);
int index155_1 = input.index();
input.rewind();
s = -1;
if ( (synpred38_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index155_1);
if ( s>=0 ) return s;
break;
case 2 :
int LA155_2 = input.LA(1);
int index155_2 = input.index();
input.rewind();
s = -1;
if ( (synpred38_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index155_2);
if ( s>=0 ) return s;
break;
case 3 :
int LA155_3 = input.LA(1);
int index155_3 = input.index();
input.rewind();
s = -1;
if ( (synpred38_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index155_3);
if ( s>=0 ) return s;
break;
case 4 :
int LA155_4 = input.LA(1);
int index155_4 = input.index();
input.rewind();
s = -1;
if ( (synpred38_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index155_4);
if ( s>=0 ) return s;
break;
case 5 :
int LA155_5 = input.LA(1);
int index155_5 = input.index();
input.rewind();
s = -1;
if ( (synpred38_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index155_5);
if ( s>=0 ) return s;
break;
case 6 :
int LA155_6 = input.LA(1);
int index155_6 = input.index();
input.rewind();
s = -1;
if ( (synpred38_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index155_6);
if ( s>=0 ) return s;
break;
case 7 :
int LA155_7 = input.LA(1);
int index155_7 = input.index();
input.rewind();
s = -1;
if ( (synpred38_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 10;}
input.seek(index155_7);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 155, _s, input);
error(nvae);
throw nvae;
}
}
class DFA157 extends DFA {
public DFA157(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 157;
this.eot = dfa_55;
this.eof = dfa_56;
this.min = dfa_57;
this.max = dfa_58;
this.accept = dfa_59;
this.special = dfa_60;
this.transition = dfa_68;
}
public String getDescription() {
return "7932:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA157_1 = input.LA(1);
int index157_1 = input.index();
input.rewind();
s = -1;
if ( (synpred39_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 2;}
input.seek(index157_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 157, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_99s = "\1\101\154\uffff";
static final String dfa_100s = "\1\4\100\0\54\uffff";
static final String dfa_101s = "\1\167\100\0\54\uffff";
static final String dfa_102s = "\101\uffff\1\2\52\uffff\1\1";
static final String dfa_103s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\54\uffff}>";
static final String[] dfa_104s = {
"\1\67\1\1\1\64\1\63\1\65\4\uffff\1\32\1\uffff\1\100\2\101\1\uffff\1\24\1\10\1\11\1\uffff\1\55\1\101\1\45\1\16\1\15\1\20\1\52\1\101\1\47\1\7\1\12\1\26\1\21\1\42\1\41\1\33\1\40\1\44\1\43\1\17\1\23\1\2\1\4\1\3\1\5\1\14\1\35\1\13\1\34\1\27\1\31\1\25\1\30\1\6\1\37\1\uffff\1\60\1\uffff\1\101\1\50\3\101\1\56\1\101\1\22\1\36\25\101\1\46\4\101\1\57\1\uffff\1\71\1\101\1\53\3\101\1\72\1\73\1\74\2\101\1\51\1\61\1\62\1\66\1\70\1\75\1\76\1\77\1\101\1\54\1\101",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_99 = DFA.unpackEncodedString(dfa_99s);
static final char[] dfa_100 = DFA.unpackEncodedStringToUnsignedChars(dfa_100s);
static final char[] dfa_101 = DFA.unpackEncodedStringToUnsignedChars(dfa_101s);
static final short[] dfa_102 = DFA.unpackEncodedString(dfa_102s);
static final short[] dfa_103 = DFA.unpackEncodedString(dfa_103s);
static final short[][] dfa_104 = unpackEncodedStringArray(dfa_104s);
class DFA160 extends DFA {
public DFA160(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 160;
this.eot = dfa_55;
this.eof = dfa_99;
this.min = dfa_100;
this.max = dfa_101;
this.accept = dfa_102;
this.special = dfa_103;
this.transition = dfa_104;
}
public String getDescription() {
return "8272:1: ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA160_1 = input.LA(1);
int index160_1 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA160_2 = input.LA(1);
int index160_2 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA160_3 = input.LA(1);
int index160_3 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA160_4 = input.LA(1);
int index160_4 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA160_5 = input.LA(1);
int index160_5 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_5);
if ( s>=0 ) return s;
break;
case 5 :
int LA160_6 = input.LA(1);
int index160_6 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_6);
if ( s>=0 ) return s;
break;
case 6 :
int LA160_7 = input.LA(1);
int index160_7 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_7);
if ( s>=0 ) return s;
break;
case 7 :
int LA160_8 = input.LA(1);
int index160_8 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_8);
if ( s>=0 ) return s;
break;
case 8 :
int LA160_9 = input.LA(1);
int index160_9 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_9);
if ( s>=0 ) return s;
break;
case 9 :
int LA160_10 = input.LA(1);
int index160_10 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_10);
if ( s>=0 ) return s;
break;
case 10 :
int LA160_11 = input.LA(1);
int index160_11 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_11);
if ( s>=0 ) return s;
break;
case 11 :
int LA160_12 = input.LA(1);
int index160_12 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_12);
if ( s>=0 ) return s;
break;
case 12 :
int LA160_13 = input.LA(1);
int index160_13 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_13);
if ( s>=0 ) return s;
break;
case 13 :
int LA160_14 = input.LA(1);
int index160_14 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_14);
if ( s>=0 ) return s;
break;
case 14 :
int LA160_15 = input.LA(1);
int index160_15 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_15);
if ( s>=0 ) return s;
break;
case 15 :
int LA160_16 = input.LA(1);
int index160_16 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_16);
if ( s>=0 ) return s;
break;
case 16 :
int LA160_17 = input.LA(1);
int index160_17 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_17);
if ( s>=0 ) return s;
break;
case 17 :
int LA160_18 = input.LA(1);
int index160_18 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_18);
if ( s>=0 ) return s;
break;
case 18 :
int LA160_19 = input.LA(1);
int index160_19 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_19);
if ( s>=0 ) return s;
break;
case 19 :
int LA160_20 = input.LA(1);
int index160_20 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_20);
if ( s>=0 ) return s;
break;
case 20 :
int LA160_21 = input.LA(1);
int index160_21 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_21);
if ( s>=0 ) return s;
break;
case 21 :
int LA160_22 = input.LA(1);
int index160_22 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_22);
if ( s>=0 ) return s;
break;
case 22 :
int LA160_23 = input.LA(1);
int index160_23 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_23);
if ( s>=0 ) return s;
break;
case 23 :
int LA160_24 = input.LA(1);
int index160_24 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_24);
if ( s>=0 ) return s;
break;
case 24 :
int LA160_25 = input.LA(1);
int index160_25 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_25);
if ( s>=0 ) return s;
break;
case 25 :
int LA160_26 = input.LA(1);
int index160_26 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_26);
if ( s>=0 ) return s;
break;
case 26 :
int LA160_27 = input.LA(1);
int index160_27 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_27);
if ( s>=0 ) return s;
break;
case 27 :
int LA160_28 = input.LA(1);
int index160_28 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_28);
if ( s>=0 ) return s;
break;
case 28 :
int LA160_29 = input.LA(1);
int index160_29 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_29);
if ( s>=0 ) return s;
break;
case 29 :
int LA160_30 = input.LA(1);
int index160_30 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_30);
if ( s>=0 ) return s;
break;
case 30 :
int LA160_31 = input.LA(1);
int index160_31 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_31);
if ( s>=0 ) return s;
break;
case 31 :
int LA160_32 = input.LA(1);
int index160_32 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_32);
if ( s>=0 ) return s;
break;
case 32 :
int LA160_33 = input.LA(1);
int index160_33 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_33);
if ( s>=0 ) return s;
break;
case 33 :
int LA160_34 = input.LA(1);
int index160_34 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_34);
if ( s>=0 ) return s;
break;
case 34 :
int LA160_35 = input.LA(1);
int index160_35 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_35);
if ( s>=0 ) return s;
break;
case 35 :
int LA160_36 = input.LA(1);
int index160_36 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_36);
if ( s>=0 ) return s;
break;
case 36 :
int LA160_37 = input.LA(1);
int index160_37 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_37);
if ( s>=0 ) return s;
break;
case 37 :
int LA160_38 = input.LA(1);
int index160_38 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_38);
if ( s>=0 ) return s;
break;
case 38 :
int LA160_39 = input.LA(1);
int index160_39 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_39);
if ( s>=0 ) return s;
break;
case 39 :
int LA160_40 = input.LA(1);
int index160_40 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_40);
if ( s>=0 ) return s;
break;
case 40 :
int LA160_41 = input.LA(1);
int index160_41 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_41);
if ( s>=0 ) return s;
break;
case 41 :
int LA160_42 = input.LA(1);
int index160_42 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_42);
if ( s>=0 ) return s;
break;
case 42 :
int LA160_43 = input.LA(1);
int index160_43 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_43);
if ( s>=0 ) return s;
break;
case 43 :
int LA160_44 = input.LA(1);
int index160_44 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_44);
if ( s>=0 ) return s;
break;
case 44 :
int LA160_45 = input.LA(1);
int index160_45 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_45);
if ( s>=0 ) return s;
break;
case 45 :
int LA160_46 = input.LA(1);
int index160_46 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_46);
if ( s>=0 ) return s;
break;
case 46 :
int LA160_47 = input.LA(1);
int index160_47 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_47);
if ( s>=0 ) return s;
break;
case 47 :
int LA160_48 = input.LA(1);
int index160_48 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_48);
if ( s>=0 ) return s;
break;
case 48 :
int LA160_49 = input.LA(1);
int index160_49 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_49);
if ( s>=0 ) return s;
break;
case 49 :
int LA160_50 = input.LA(1);
int index160_50 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_50);
if ( s>=0 ) return s;
break;
case 50 :
int LA160_51 = input.LA(1);
int index160_51 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_51);
if ( s>=0 ) return s;
break;
case 51 :
int LA160_52 = input.LA(1);
int index160_52 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_52);
if ( s>=0 ) return s;
break;
case 52 :
int LA160_53 = input.LA(1);
int index160_53 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_53);
if ( s>=0 ) return s;
break;
case 53 :
int LA160_54 = input.LA(1);
int index160_54 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_54);
if ( s>=0 ) return s;
break;
case 54 :
int LA160_55 = input.LA(1);
int index160_55 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_55);
if ( s>=0 ) return s;
break;
case 55 :
int LA160_56 = input.LA(1);
int index160_56 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_56);
if ( s>=0 ) return s;
break;
case 56 :
int LA160_57 = input.LA(1);
int index160_57 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_57);
if ( s>=0 ) return s;
break;
case 57 :
int LA160_58 = input.LA(1);
int index160_58 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_58);
if ( s>=0 ) return s;
break;
case 58 :
int LA160_59 = input.LA(1);
int index160_59 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_59);
if ( s>=0 ) return s;
break;
case 59 :
int LA160_60 = input.LA(1);
int index160_60 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_60);
if ( s>=0 ) return s;
break;
case 60 :
int LA160_61 = input.LA(1);
int index160_61 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_61);
if ( s>=0 ) return s;
break;
case 61 :
int LA160_62 = input.LA(1);
int index160_62 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_62);
if ( s>=0 ) return s;
break;
case 62 :
int LA160_63 = input.LA(1);
int index160_63 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_63);
if ( s>=0 ) return s;
break;
case 63 :
int LA160_64 = input.LA(1);
int index160_64 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalXcore()) ) {s = 108;}
else if ( (true) ) {s = 65;}
input.seek(index160_64);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 160, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_105s = "\1\4\1\uffff\1\5\6\0\1\uffff";
static final String dfa_106s = "\1\167\1\uffff\1\105\6\0\1\uffff";
static final String dfa_107s = "\1\uffff\1\2\7\uffff\1\1";
static final String dfa_108s = "\3\uffff\1\0\1\4\1\1\1\5\1\2\1\3\1\uffff}>";
static final String[] dfa_109s = {
"\5\1\4\uffff\57\1\1\uffff\6\1\1\2\35\1\1\uffff\26\1",
"",
"\1\3\7\uffff\1\1\5\uffff\3\1\1\uffff\1\1\1\uffff\4\1\3\uffff\14\1\1\4\1\6\1\5\1\7\10\1\1\10\1\1\3\uffff\1\1\4\uffff\1\1\1\uffff\2\1",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
""
};
static final char[] dfa_105 = DFA.unpackEncodedStringToUnsignedChars(dfa_105s);
static final char[] dfa_106 = DFA.unpackEncodedStringToUnsignedChars(dfa_106s);
static final short[] dfa_107 = DFA.unpackEncodedString(dfa_107s);
static final short[] dfa_108 = DFA.unpackEncodedString(dfa_108s);
static final short[][] dfa_109 = unpackEncodedStringArray(dfa_109s);
class DFA164 extends DFA {
public DFA164(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 164;
this.eot = dfa_17;
this.eof = dfa_23;
this.min = dfa_105;
this.max = dfa_106;
this.accept = dfa_107;
this.special = dfa_108;
this.transition = dfa_109;
}
public String getDescription() {
return "()* loopback of 8643:1: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA164_3 = input.LA(1);
int index164_3 = input.index();
input.rewind();
s = -1;
if ( (synpred45_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index164_3);
if ( s>=0 ) return s;
break;
case 1 :
int LA164_5 = input.LA(1);
int index164_5 = input.index();
input.rewind();
s = -1;
if ( (synpred45_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index164_5);
if ( s>=0 ) return s;
break;
case 2 :
int LA164_7 = input.LA(1);
int index164_7 = input.index();
input.rewind();
s = -1;
if ( (synpred45_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index164_7);
if ( s>=0 ) return s;
break;
case 3 :
int LA164_8 = input.LA(1);
int index164_8 = input.index();
input.rewind();
s = -1;
if ( (synpred45_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index164_8);
if ( s>=0 ) return s;
break;
case 4 :
int LA164_4 = input.LA(1);
int index164_4 = input.index();
input.rewind();
s = -1;
if ( (synpred45_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index164_4);
if ( s>=0 ) return s;
break;
case 5 :
int LA164_6 = input.LA(1);
int index164_6 = input.index();
input.rewind();
s = -1;
if ( (synpred45_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index164_6);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 164, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_110s = "\160\uffff";
static final String dfa_111s = "\1\2\157\uffff";
static final String dfa_112s = "\1\4\1\0\156\uffff";
static final String dfa_113s = "\1\167\1\0\156\uffff";
static final String dfa_114s = "\2\uffff\1\2\154\uffff\1\1";
static final String dfa_115s = "\1\uffff\1\0\156\uffff}>";
static final String[] dfa_116s = {
"\5\2\4\uffff\5\2\1\uffff\4\2\1\1\44\2\1\uffff\44\2\1\uffff\26\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_110 = DFA.unpackEncodedString(dfa_110s);
static final short[] dfa_111 = DFA.unpackEncodedString(dfa_111s);
static final char[] dfa_112 = DFA.unpackEncodedStringToUnsignedChars(dfa_112s);
static final char[] dfa_113 = DFA.unpackEncodedStringToUnsignedChars(dfa_113s);
static final short[] dfa_114 = DFA.unpackEncodedString(dfa_114s);
static final short[] dfa_115 = DFA.unpackEncodedString(dfa_115s);
static final short[][] dfa_116 = unpackEncodedStringArray(dfa_116s);
class DFA178 extends DFA {
public DFA178(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 178;
this.eot = dfa_110;
this.eof = dfa_111;
this.min = dfa_112;
this.max = dfa_113;
this.accept = dfa_114;
this.special = dfa_115;
this.transition = dfa_116;
}
public String getDescription() {
return "8954:2: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA178_1 = input.LA(1);
int index178_1 = input.index();
input.rewind();
s = -1;
if ( (synpred47_InternalXcore()) ) {s = 111;}
else if ( (true) ) {s = 2;}
input.seek(index178_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 178, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_117s = "\3\uffff\1\5\1\3\1\0\1\4\1\1\1\2\1\uffff}>";
static final String[] dfa_118s = {
"\5\1\4\uffff\5\1\1\uffff\51\1\1\uffff\6\1\1\2\35\1\1\uffff\26\1",
"",
"\1\3\7\uffff\1\1\5\uffff\3\1\1\uffff\1\1\1\uffff\4\1\3\uffff\14\1\1\4\1\6\1\5\1\7\10\1\1\10\1\1\10\uffff\1\1\1\uffff\2\1",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
""
};
static final short[] dfa_117 = DFA.unpackEncodedString(dfa_117s);
static final short[][] dfa_118 = unpackEncodedStringArray(dfa_118s);
class DFA177 extends DFA {
public DFA177(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 177;
this.eot = dfa_17;
this.eof = dfa_23;
this.min = dfa_105;
this.max = dfa_106;
this.accept = dfa_107;
this.special = dfa_117;
this.transition = dfa_118;
}
public String getDescription() {
return "()* loopback of 9003:1: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA177_5 = input.LA(1);
int index177_5 = input.index();
input.rewind();
s = -1;
if ( (synpred48_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index177_5);
if ( s>=0 ) return s;
break;
case 1 :
int LA177_7 = input.LA(1);
int index177_7 = input.index();
input.rewind();
s = -1;
if ( (synpred48_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index177_7);
if ( s>=0 ) return s;
break;
case 2 :
int LA177_8 = input.LA(1);
int index177_8 = input.index();
input.rewind();
s = -1;
if ( (synpred48_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index177_8);
if ( s>=0 ) return s;
break;
case 3 :
int LA177_4 = input.LA(1);
int index177_4 = input.index();
input.rewind();
s = -1;
if ( (synpred48_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index177_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA177_6 = input.LA(1);
int index177_6 = input.index();
input.rewind();
s = -1;
if ( (synpred48_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index177_6);
if ( s>=0 ) return s;
break;
case 5 :
int LA177_3 = input.LA(1);
int index177_3 = input.index();
input.rewind();
s = -1;
if ( (synpred48_InternalXcore()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index177_3);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 177, _s, input);
error(nvae);
throw nvae;
}
}
class DFA176 extends DFA {
public DFA176(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 176;
this.eot = dfa_110;
this.eof = dfa_111;
this.min = dfa_112;
this.max = dfa_113;
this.accept = dfa_114;
this.special = dfa_115;
this.transition = dfa_116;
}
public String getDescription() {
return "9030:2: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA176_1 = input.LA(1);
int index176_1 = input.index();
input.rewind();
s = -1;
if ( (synpred49_InternalXcore()) ) {s = 111;}
else if ( (true) ) {s = 2;}
input.seek(index176_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 176, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_119s = "\21\uffff";
static final String dfa_120s = "\2\uffff\6\11\2\uffff\6\11\1\uffff";
static final String dfa_121s = "\1\5\1\uffff\6\101\1\5\1\uffff\6\101\1\uffff";
static final String dfa_122s = "\1\105\1\uffff\6\103\1\75\1\uffff\6\103\1\uffff";
static final String dfa_123s = "\1\uffff\1\1\7\uffff\1\2\6\uffff\1\3";
static final String dfa_124s = "\21\uffff}>";
static final String[] dfa_125s = {
"\1\2\46\uffff\1\3\1\5\1\4\1\6\10\uffff\1\7\14\uffff\1\1",
"",
"\1\11\1\uffff\1\10",
"\1\11\1\uffff\1\10",
"\1\11\1\uffff\1\10",
"\1\11\1\uffff\1\10",
"\1\11\1\uffff\1\10",
"\1\11\1\uffff\1\10",
"\1\12\46\uffff\1\13\1\15\1\14\1\16\10\uffff\1\17\4\uffff\1\20",
"",
"\1\11\1\uffff\1\10",
"\1\11\1\uffff\1\10",
"\1\11\1\uffff\1\10",
"\1\11\1\uffff\1\10",
"\1\11\1\uffff\1\10",
"\1\11\1\uffff\1\10",
""
};
static final short[] dfa_119 = DFA.unpackEncodedString(dfa_119s);
static final short[] dfa_120 = DFA.unpackEncodedString(dfa_120s);
static final char[] dfa_121 = DFA.unpackEncodedStringToUnsignedChars(dfa_121s);
static final char[] dfa_122 = DFA.unpackEncodedStringToUnsignedChars(dfa_122s);
static final short[] dfa_123 = DFA.unpackEncodedString(dfa_123s);
static final short[] dfa_124 = DFA.unpackEncodedString(dfa_124s);
static final short[][] dfa_125 = unpackEncodedStringArray(dfa_125s);
class DFA185 extends DFA {
public DFA185(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 185;
this.eot = dfa_119;
this.eof = dfa_120;
this.min = dfa_121;
this.max = dfa_122;
this.accept = dfa_123;
this.special = dfa_124;
this.transition = dfa_125;
}
public String getDescription() {
return "9468:1: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) )";
}
}
private static class FollowSets000 {
public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000006000L});
public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0100F00000000020L});
public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000710586002L});
public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000710506002L});
public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000710406002L});
public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000F00000000020L});
public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000008002L});
public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000030000L});
public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000200000L});
public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000406000L});
public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000000020L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000002800000L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000006020L});
public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000001010000L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0100F00000008020L,0x0000000000200000L});
public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x000000000C000002L});
public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000020000000L});
public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000010006000L});
public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000040006020L});
public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000040016020L});
public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000240002L});
public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000040002L});
public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000080000040L});
public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000700006000L});
public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000200000000L});
public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000822800000L});
public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000822000000L});
public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000022010000L});
public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x009FFFF040006020L});
public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000FFF000006020L});
public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000FFF000000020L});
public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0800000000000020L});
public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000F00000040002L});
public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000F00000000002L});
public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x001F000000006000L});
public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0002F7F000000020L});
public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000F7F000000020L});
public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0001000000000000L});
public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0004000000000000L});
public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0010F7F000000020L});
public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0008000000000000L});
public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0060F00000000002L});
public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0040F00000000002L});
public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000F00000010002L});
public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0080000000006000L});
public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0100F03000800020L});
public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0100F02000800020L});
public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0100F00000800020L});
public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0100F01000800020L});
public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000F03000026020L});
public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000F03000006020L});
public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0200000020000002L});
public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000020010002L});
public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000F02000000020L});
public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000F01000000020L});
public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000800000002L});
public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0400000000000002L});
public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x7000000000000040L,0x0000000000000001L});
public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x8000000000000000L,0x0000000000000001L});
public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x3000000000000040L});
public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x4BFFFFFFFEB8A1F0L,0x005FFF1508000034L});
public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x4BFFFFFFFEB8A1F0L,0x005FFF1508000036L});
public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000800002L});
public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x1000F00000000020L});
public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000800000002L,0x0000000000000004L});
public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L});
public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F0L,0x005FFF1508000034L});
public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000000001800002L,0x00000000000007C0L});
public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000001000000L,0x0000000000000800L});
public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L});
public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L});
public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000000002L,0x000000000003C000L});
public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000001800002L,0x0000000000040800L});
public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x8000000001800002L,0x0000000000F80000L});
public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x8000000000000000L});
public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000800000L,0x0000000000200000L});
public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x4000000080000002L});
public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x2000000000000002L,0x0000000007000000L});
public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000200002L});
public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000000000000002L,0x0000000030000000L});
public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000000000000002L,0x00000000C0000008L});
public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x03FFFFFF1E382020L,0x0000000000000030L});
public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x03FFFFFF1EB82020L,0x0000000000000034L});
public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x1100F00000008020L,0x0000000000200000L});
public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0800000000008002L,0x00000000C0000008L});
public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x4BFFFFFFBEBAA1F0L,0x005FFF1708200034L});
public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0800000000000002L,0x00000000C0000008L});
public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000040010000L});
public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0800000000000000L});
public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F0L,0x005FFF1508000035L});
public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000001L});
public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F0L,0x005FFF1708200035L});
public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000010000L,0x0000000200000000L});
public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F2L,0x005FFF1508000036L});
public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F2L,0x005FFF1508000034L});
public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F0L,0x005FFF1508200034L});
public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0100F00040018020L,0x000000E000200000L});
public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000040000000L});
public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000010000L,0x000000A000000000L});
public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000010000L,0x0000002000000000L});
public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F0L,0x005FFF1508000036L});
public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000002L});
public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x4BFFFFFFBEBAA1F0L,0x005FFF1508000034L});
public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0800000000008002L});
public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0800000000000002L});
public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x0800000000808002L});
public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0800000000020000L});
public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000000000000000L,0x00A0000000000000L});
public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000000000000002L,0x00A0000000000000L});
public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000000140L});
public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x0100F00000028020L,0x0000000000200000L});
public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000000800002L,0x0000000000000008L});
public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x2000000000000000L});
public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x0100F00000000020L,0x0000000000000020L});
public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0100F00000000020L,0x0000000000000010L});
public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x2100F00000000020L});
public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L});
public static final BitSet FOLLOW_136 = new BitSet(new long[]{0x0100F00000000022L});
}
}