package fr.inria.diverse.melange.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.emf.common.util.Enumerator;
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 fr.inria.diverse.melange.services.MelangeGrammarAccess;
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 InternalMelangeParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "'external'", "'language'", "'inherits'", "','", "'implements'", "'requires'", "'{'", "'resource'", "'uri'", "'setup'", "'xtext'", "'sirius'", "'ecl'", "'xmof'", "'fileExtension'", "'exactType'", "'}'", "'modeltype'", "'syntax'", "'@Main'", "'transformation'", "'('", "')'", "'map'", "'to'", "'withGenmodel'", "'renaming'", "'merge'", "'slice'", "'on'", "'['", "']'", "'with'", "'='", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'*'", "'**'", "'/'", "'%'", "'!'", "'as'", "'++'", "'--'", "'.'", "'::'", "'?.'", "'#'", "'|'", "';'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'var'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'new'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'Melange'", "'EMF'", "'Xtext'"
};
public static final int RULE_HEX=5;
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=8;
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=7;
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__78=78;
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__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 InternalMelangeParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalMelangeParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalMelangeParser.tokenNames; }
public String getGrammarFileName() { return "InternalMelange.g"; }
private MelangeGrammarAccess grammarAccess;
public InternalMelangeParser(TokenStream input, MelangeGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "ModelTypingSpace";
}
@Override
protected MelangeGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleModelTypingSpace"
// InternalMelange.g:68:1: entryRuleModelTypingSpace returns [EObject current=null] : iv_ruleModelTypingSpace= ruleModelTypingSpace EOF ;
public final EObject entryRuleModelTypingSpace() throws RecognitionException {
EObject current = null;
EObject iv_ruleModelTypingSpace = null;
try {
// InternalMelange.g:69:2: (iv_ruleModelTypingSpace= ruleModelTypingSpace EOF )
// InternalMelange.g:70:2: iv_ruleModelTypingSpace= ruleModelTypingSpace EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelTypingSpaceRule());
}
pushFollow(FOLLOW_1);
iv_ruleModelTypingSpace=ruleModelTypingSpace();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleModelTypingSpace;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleModelTypingSpace"
// $ANTLR start "ruleModelTypingSpace"
// InternalMelange.g:77:1: ruleModelTypingSpace returns [EObject current=null] : (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_imports_2_0= ruleXImportSection ) )? ( (lv_elements_3_0= ruleElement ) )* ) ;
public final EObject ruleModelTypingSpace() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_imports_2_0 = null;
EObject lv_elements_3_0 = null;
enterRule();
try {
// InternalMelange.g:80:28: ( (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_imports_2_0= ruleXImportSection ) )? ( (lv_elements_3_0= ruleElement ) )* ) )
// InternalMelange.g:81:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_imports_2_0= ruleXImportSection ) )? ( (lv_elements_3_0= ruleElement ) )* )
{
// InternalMelange.g:81:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_imports_2_0= ruleXImportSection ) )? ( (lv_elements_3_0= ruleElement ) )* )
// InternalMelange.g:81:3: otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_imports_2_0= ruleXImportSection ) )? ( (lv_elements_3_0= ruleElement ) )*
{
otherlv_0=(Token)match(input,13,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getModelTypingSpaceAccess().getPackageKeyword_0());
}
// InternalMelange.g:85:1: ( (lv_name_1_0= ruleQualifiedName ) )
// InternalMelange.g:86:1: (lv_name_1_0= ruleQualifiedName )
{
// InternalMelange.g:86:1: (lv_name_1_0= ruleQualifiedName )
// InternalMelange.g:87:3: lv_name_1_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelTypingSpaceAccess().getNameQualifiedNameParserRuleCall_1_0());
}
pushFollow(FOLLOW_4);
lv_name_1_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getModelTypingSpaceRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.xbase.Xbase.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:103:2: ( (lv_imports_2_0= ruleXImportSection ) )?
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==98) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// InternalMelange.g:104:1: (lv_imports_2_0= ruleXImportSection )
{
// InternalMelange.g:104:1: (lv_imports_2_0= ruleXImportSection )
// InternalMelange.g:105:3: lv_imports_2_0= ruleXImportSection
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelTypingSpaceAccess().getImportsXImportSectionParserRuleCall_2_0());
}
pushFollow(FOLLOW_5);
lv_imports_2_0=ruleXImportSection();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getModelTypingSpaceRule());
}
set(
current,
"imports",
lv_imports_2_0,
"org.eclipse.xtext.xbase.Xtype.XImportSection");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalMelange.g:121:3: ( (lv_elements_3_0= ruleElement ) )*
loop2:
do {
int alt2=2;
int LA2_0 = input.LA(1);
if ( ((LA2_0>=14 && LA2_0<=15)||(LA2_0>=21 && LA2_0<=22)||(LA2_0>=24 && LA2_0<=31)||(LA2_0>=33 && LA2_0<=34)||LA2_0==37) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// InternalMelange.g:122:1: (lv_elements_3_0= ruleElement )
{
// InternalMelange.g:122:1: (lv_elements_3_0= ruleElement )
// InternalMelange.g:123:3: lv_elements_3_0= ruleElement
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelTypingSpaceAccess().getElementsElementParserRuleCall_3_0());
}
pushFollow(FOLLOW_5);
lv_elements_3_0=ruleElement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getModelTypingSpaceRule());
}
add(
current,
"elements",
lv_elements_3_0,
"fr.inria.diverse.melange.Melange.Element");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop2;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleModelTypingSpace"
// $ANTLR start "entryRuleElement"
// InternalMelange.g:147:1: entryRuleElement returns [EObject current=null] : iv_ruleElement= ruleElement EOF ;
public final EObject entryRuleElement() throws RecognitionException {
EObject current = null;
EObject iv_ruleElement = null;
try {
// InternalMelange.g:148:2: (iv_ruleElement= ruleElement EOF )
// InternalMelange.g:149:2: iv_ruleElement= ruleElement EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElementRule());
}
pushFollow(FOLLOW_1);
iv_ruleElement=ruleElement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleElement;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleElement"
// $ANTLR start "ruleElement"
// InternalMelange.g:156:1: ruleElement returns [EObject current=null] : (this_Language_0= ruleLanguage | ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage ) | this_EcoreModelType_3= ruleEcoreModelType | this_TransformationDecl_4= ruleTransformationDecl | this_Mapping_5= ruleMapping ) ;
public final EObject ruleElement() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject this_Language_0 = null;
EObject this_ExternalLanguage_2 = null;
EObject this_EcoreModelType_3 = null;
EObject this_TransformationDecl_4 = null;
EObject this_Mapping_5 = null;
enterRule();
try {
// InternalMelange.g:159:28: ( (this_Language_0= ruleLanguage | ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage ) | this_EcoreModelType_3= ruleEcoreModelType | this_TransformationDecl_4= ruleTransformationDecl | this_Mapping_5= ruleMapping ) )
// InternalMelange.g:160:1: (this_Language_0= ruleLanguage | ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage ) | this_EcoreModelType_3= ruleEcoreModelType | this_TransformationDecl_4= ruleTransformationDecl | this_Mapping_5= ruleMapping )
{
// InternalMelange.g:160:1: (this_Language_0= ruleLanguage | ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage ) | this_EcoreModelType_3= ruleEcoreModelType | this_TransformationDecl_4= ruleTransformationDecl | this_Mapping_5= ruleMapping )
int alt3=5;
int LA3_0 = input.LA(1);
if ( (LA3_0==15||LA3_0==21||(LA3_0>=24 && LA3_0<=29)) ) {
alt3=1;
}
else if ( (LA3_0==30) ) {
alt3=1;
}
else if ( (LA3_0==14) && (synpred1_InternalMelange())) {
alt3=2;
}
else if ( (LA3_0==22||LA3_0==31) ) {
alt3=3;
}
else if ( ((LA3_0>=33 && LA3_0<=34)) ) {
alt3=4;
}
else if ( (LA3_0==37) ) {
alt3=5;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 3, 0, input);
throw nvae;
}
switch (alt3) {
case 1 :
// InternalMelange.g:161:5: this_Language_0= ruleLanguage
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElementAccess().getLanguageParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_Language_0=ruleLanguage();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_Language_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalMelange.g:170:6: ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage )
{
// InternalMelange.g:170:6: ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage )
// InternalMelange.g:170:7: ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage
{
// InternalMelange.g:170:7: ( ( 'external' )=>otherlv_1= 'external' )
// InternalMelange.g:170:8: ( 'external' )=>otherlv_1= 'external'
{
otherlv_1=(Token)match(input,14,FOLLOW_6); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getElementAccess().getExternalKeyword_1_0());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElementAccess().getExternalLanguageParserRuleCall_1_1());
}
pushFollow(FOLLOW_2);
this_ExternalLanguage_2=ruleExternalLanguage();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ExternalLanguage_2;
afterParserOrEnumRuleCall();
}
}
}
break;
case 3 :
// InternalMelange.g:186:5: this_EcoreModelType_3= ruleEcoreModelType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElementAccess().getEcoreModelTypeParserRuleCall_2());
}
pushFollow(FOLLOW_2);
this_EcoreModelType_3=ruleEcoreModelType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_EcoreModelType_3;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalMelange.g:196:5: this_TransformationDecl_4= ruleTransformationDecl
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElementAccess().getTransformationDeclParserRuleCall_3());
}
pushFollow(FOLLOW_2);
this_TransformationDecl_4=ruleTransformationDecl();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TransformationDecl_4;
afterParserOrEnumRuleCall();
}
}
break;
case 5 :
// InternalMelange.g:206:5: this_Mapping_5= ruleMapping
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElementAccess().getMappingParserRuleCall_4());
}
pushFollow(FOLLOW_2);
this_Mapping_5=ruleMapping();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_Mapping_5;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleElement"
// $ANTLR start "entryRuleTransformationDecl"
// InternalMelange.g:222:1: entryRuleTransformationDecl returns [EObject current=null] : iv_ruleTransformationDecl= ruleTransformationDecl EOF ;
public final EObject entryRuleTransformationDecl() throws RecognitionException {
EObject current = null;
EObject iv_ruleTransformationDecl = null;
try {
// InternalMelange.g:223:2: (iv_ruleTransformationDecl= ruleTransformationDecl EOF )
// InternalMelange.g:224:2: iv_ruleTransformationDecl= ruleTransformationDecl EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationDeclRule());
}
pushFollow(FOLLOW_1);
iv_ruleTransformationDecl=ruleTransformationDecl();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTransformationDecl;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTransformationDecl"
// $ANTLR start "ruleTransformationDecl"
// InternalMelange.g:231:1: ruleTransformationDecl returns [EObject current=null] : this_XbaseTransformation_0= ruleXbaseTransformation ;
public final EObject ruleTransformationDecl() throws RecognitionException {
EObject current = null;
EObject this_XbaseTransformation_0 = null;
enterRule();
try {
// InternalMelange.g:234:28: (this_XbaseTransformation_0= ruleXbaseTransformation )
// InternalMelange.g:236:5: this_XbaseTransformation_0= ruleXbaseTransformation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationDeclAccess().getXbaseTransformationParserRuleCall());
}
pushFollow(FOLLOW_2);
this_XbaseTransformation_0=ruleXbaseTransformation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XbaseTransformation_0;
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTransformationDecl"
// $ANTLR start "entryRuleLanguage"
// InternalMelange.g:252:1: entryRuleLanguage returns [EObject current=null] : iv_ruleLanguage= ruleLanguage EOF ;
public final EObject entryRuleLanguage() throws RecognitionException {
EObject current = null;
EObject iv_ruleLanguage = null;
try {
// InternalMelange.g:253:2: (iv_ruleLanguage= ruleLanguage EOF )
// InternalMelange.g:254:2: iv_ruleLanguage= ruleLanguage EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageRule());
}
pushFollow(FOLLOW_1);
iv_ruleLanguage=ruleLanguage();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLanguage;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLanguage"
// $ANTLR start "ruleLanguage"
// InternalMelange.g:261:1: ruleLanguage returns [EObject current=null] : ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) ) ) ;
public final EObject ruleLanguage() 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;
Token otherlv_15=null;
Token otherlv_17=null;
Token otherlv_19=null;
Token lv_resourceUri_20_0=null;
Token otherlv_21=null;
Token otherlv_23=null;
Token lv_xtext_24_0=null;
Token otherlv_25=null;
Token lv_xtext_26_0=null;
Token otherlv_27=null;
Token lv_sirius_28_0=null;
Token otherlv_29=null;
Token lv_sirius_30_0=null;
Token otherlv_31=null;
Token lv_ecl_32_0=null;
Token otherlv_33=null;
Token lv_ecl_34_0=null;
Token otherlv_35=null;
Token lv_xmof_36_0=null;
Token otherlv_37=null;
Token lv_fileExtension_38_0=null;
Token otherlv_39=null;
Token otherlv_41=null;
Token lv_exactTypeUri_42_0=null;
Token otherlv_43=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_operators_4_0 = null;
EObject lv_operators_6_0 = null;
EObject lv_operators_16_0 = null;
Enumerator lv_resourceType_18_0 = null;
EObject lv_xtextSetupRef_22_0 = null;
AntlrDatatypeRuleToken lv_exactTypeName_40_0 = null;
enterRule();
try {
// InternalMelange.g:264:28: ( ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) ) ) )
// InternalMelange.g:265:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) ) )
{
// InternalMelange.g:265:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) ) )
// InternalMelange.g:267:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) )
{
// InternalMelange.g:267:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) )
// InternalMelange.g:268:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?)
{
getUnorderedGroupHelper().enter(grammarAccess.getLanguageAccess().getUnorderedGroup());
// InternalMelange.g:271:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?)
// InternalMelange.g:272:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?
{
// InternalMelange.g:272:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+
int cnt17=0;
loop17:
do {
int alt17=9;
alt17 = dfa17.predict(input);
switch (alt17) {
case 1 :
// InternalMelange.g:274:4: ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) )
{
// InternalMelange.g:274:4: ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) )
// InternalMelange.g:275:5: {...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 0)");
}
// InternalMelange.g:275:103: ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) )
// InternalMelange.g:276:6: ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 0);
// InternalMelange.g:279:6: ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) )
// InternalMelange.g:279:7: {...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "true");
}
// InternalMelange.g:279:16: (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* )
// InternalMelange.g:279:18: otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )*
{
otherlv_1=(Token)match(input,15,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getLanguageAccess().getLanguageKeyword_0_0());
}
// InternalMelange.g:283:1: ( (lv_name_2_0= ruleValidID ) )
// InternalMelange.g:284:1: (lv_name_2_0= ruleValidID )
{
// InternalMelange.g:284:1: (lv_name_2_0= ruleValidID )
// InternalMelange.g:285:3: lv_name_2_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageAccess().getNameValidIDParserRuleCall_0_1_0());
}
pushFollow(FOLLOW_7);
lv_name_2_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLanguageRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:301:2: (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )?
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==16) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// InternalMelange.g:301:4: otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )*
{
otherlv_3=(Token)match(input,16,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getLanguageAccess().getInheritsKeyword_0_2_0());
}
// InternalMelange.g:305:1: ( (lv_operators_4_0= ruleInherit ) )
// InternalMelange.g:306:1: (lv_operators_4_0= ruleInherit )
{
// InternalMelange.g:306:1: (lv_operators_4_0= ruleInherit )
// InternalMelange.g:307:3: lv_operators_4_0= ruleInherit
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageAccess().getOperatorsInheritParserRuleCall_0_2_1_0());
}
pushFollow(FOLLOW_8);
lv_operators_4_0=ruleInherit();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLanguageRule());
}
add(
current,
"operators",
lv_operators_4_0,
"fr.inria.diverse.melange.Melange.Inherit");
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:323:2: (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )*
loop4:
do {
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==17) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// InternalMelange.g:323:4: otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) )
{
otherlv_5=(Token)match(input,17,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getLanguageAccess().getCommaKeyword_0_2_2_0());
}
// InternalMelange.g:327:1: ( (lv_operators_6_0= ruleInherit ) )
// InternalMelange.g:328:1: (lv_operators_6_0= ruleInherit )
{
// InternalMelange.g:328:1: (lv_operators_6_0= ruleInherit )
// InternalMelange.g:329:3: lv_operators_6_0= ruleInherit
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageAccess().getOperatorsInheritParserRuleCall_0_2_2_1_0());
}
pushFollow(FOLLOW_8);
lv_operators_6_0=ruleInherit();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLanguageRule());
}
add(
current,
"operators",
lv_operators_6_0,
"fr.inria.diverse.melange.Melange.Inherit");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop4;
}
} while (true);
}
break;
}
// InternalMelange.g:345:6: (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )?
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==18) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// InternalMelange.g:345:8: otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )*
{
otherlv_7=(Token)match(input,18,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getLanguageAccess().getImplementsKeyword_0_3_0());
}
// InternalMelange.g:349:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:350:1: ( ruleQualifiedName )
{
// InternalMelange.g:350:1: ( ruleQualifiedName )
// InternalMelange.g:351:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageAccess().getImplementsModelTypeCrossReference_0_3_1_0());
}
pushFollow(FOLLOW_9);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:364:2: (otherlv_9= ',' ( ( ruleQualifiedName ) ) )*
loop6:
do {
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==17) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// InternalMelange.g:364:4: otherlv_9= ',' ( ( ruleQualifiedName ) )
{
otherlv_9=(Token)match(input,17,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getLanguageAccess().getCommaKeyword_0_3_2_0());
}
// InternalMelange.g:368:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:369:1: ( ruleQualifiedName )
{
// InternalMelange.g:369:1: ( ruleQualifiedName )
// InternalMelange.g:370:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageAccess().getImplementsModelTypeCrossReference_0_3_2_1_0());
}
pushFollow(FOLLOW_9);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop6;
}
} while (true);
}
break;
}
// InternalMelange.g:383:6: (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )?
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==19) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// InternalMelange.g:383:8: otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )*
{
otherlv_11=(Token)match(input,19,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getLanguageAccess().getRequiresKeyword_0_4_0());
}
// InternalMelange.g:387:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:388:1: ( ruleQualifiedName )
{
// InternalMelange.g:388:1: ( ruleQualifiedName )
// InternalMelange.g:389:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageAccess().getRequiresModelTypeCrossReference_0_4_1_0());
}
pushFollow(FOLLOW_10);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:402:2: (otherlv_13= ',' ( ( ruleQualifiedName ) ) )*
loop8:
do {
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==17) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// InternalMelange.g:402:4: otherlv_13= ',' ( ( ruleQualifiedName ) )
{
otherlv_13=(Token)match(input,17,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getLanguageAccess().getCommaKeyword_0_4_2_0());
}
// InternalMelange.g:406:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:407:1: ( ruleQualifiedName )
{
// InternalMelange.g:407:1: ( ruleQualifiedName )
// InternalMelange.g:408:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageAccess().getRequiresModelTypeCrossReference_0_4_2_1_0());
}
pushFollow(FOLLOW_10);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop8;
}
} while (true);
}
break;
}
otherlv_15=(Token)match(input,20,FOLLOW_11); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getLanguageAccess().getLeftCurlyBracketKeyword_0_5());
}
// InternalMelange.g:425:1: ( (lv_operators_16_0= ruleOperator ) )*
loop10:
do {
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==32||(LA10_0>=41 && LA10_0<=42)||LA10_0==46) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// InternalMelange.g:426:1: (lv_operators_16_0= ruleOperator )
{
// InternalMelange.g:426:1: (lv_operators_16_0= ruleOperator )
// InternalMelange.g:427:3: lv_operators_16_0= ruleOperator
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageAccess().getOperatorsOperatorParserRuleCall_0_6_0());
}
pushFollow(FOLLOW_11);
lv_operators_16_0=ruleOperator();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLanguageRule());
}
add(
current,
"operators",
lv_operators_16_0,
"fr.inria.diverse.melange.Melange.Operator");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop10;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 2 :
// InternalMelange.g:450:4: ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) )
{
// InternalMelange.g:450:4: ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) )
// InternalMelange.g:451:5: {...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 1)");
}
// InternalMelange.g:451:103: ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) )
// InternalMelange.g:452:6: ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) )
{
getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 1);
// InternalMelange.g:455:6: ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) )
// InternalMelange.g:455:7: {...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "true");
}
// InternalMelange.g:455:16: (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? )
// InternalMelange.g:455:18: otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )?
{
otherlv_17=(Token)match(input,21,FOLLOW_12); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getLanguageAccess().getResourceKeyword_1_0());
}
// InternalMelange.g:459:1: ( (lv_resourceType_18_0= ruleResourceType ) )
// InternalMelange.g:460:1: (lv_resourceType_18_0= ruleResourceType )
{
// InternalMelange.g:460:1: (lv_resourceType_18_0= ruleResourceType )
// InternalMelange.g:461:3: lv_resourceType_18_0= ruleResourceType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageAccess().getResourceTypeResourceTypeEnumRuleCall_1_1_0());
}
pushFollow(FOLLOW_13);
lv_resourceType_18_0=ruleResourceType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLanguageRule());
}
set(
current,
"resourceType",
lv_resourceType_18_0,
"fr.inria.diverse.melange.Melange.ResourceType");
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:477:2: ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )?
int alt11=3;
int LA11_0 = input.LA(1);
if ( (LA11_0==22) ) {
int LA11_1 = input.LA(2);
if ( (LA11_1==RULE_STRING) ) {
int LA11_4 = input.LA(3);
if ( (synpred2_InternalMelange()) ) {
alt11=1;
}
}
}
else if ( (LA11_0==23) ) {
alt11=2;
}
switch (alt11) {
case 1 :
// InternalMelange.g:477:3: ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) )
{
// InternalMelange.g:477:3: ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) )
// InternalMelange.g:477:4: ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) )
{
// InternalMelange.g:477:4: ( ( 'uri' )=>otherlv_19= 'uri' )
// InternalMelange.g:477:5: ( 'uri' )=>otherlv_19= 'uri'
{
otherlv_19=(Token)match(input,22,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getLanguageAccess().getUriKeyword_1_2_0_0());
}
}
// InternalMelange.g:482:2: ( (lv_resourceUri_20_0= RULE_STRING ) )
// InternalMelange.g:483:1: (lv_resourceUri_20_0= RULE_STRING )
{
// InternalMelange.g:483:1: (lv_resourceUri_20_0= RULE_STRING )
// InternalMelange.g:484:3: lv_resourceUri_20_0= RULE_STRING
{
lv_resourceUri_20_0=(Token)match(input,RULE_STRING,FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_resourceUri_20_0, grammarAccess.getLanguageAccess().getResourceUriSTRINGTerminalRuleCall_1_2_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
setWithLastConsumed(
current,
"resourceUri",
lv_resourceUri_20_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
}
break;
case 2 :
// InternalMelange.g:501:6: (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) )
{
// InternalMelange.g:501:6: (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) )
// InternalMelange.g:501:8: otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) )
{
otherlv_21=(Token)match(input,23,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getLanguageAccess().getSetupKeyword_1_2_1_0());
}
// InternalMelange.g:505:1: ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) )
// InternalMelange.g:506:1: (lv_xtextSetupRef_22_0= ruleJvmTypeReference )
{
// InternalMelange.g:506:1: (lv_xtextSetupRef_22_0= ruleJvmTypeReference )
// InternalMelange.g:507:3: lv_xtextSetupRef_22_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageAccess().getXtextSetupRefJvmTypeReferenceParserRuleCall_1_2_1_1_0());
}
pushFollow(FOLLOW_15);
lv_xtextSetupRef_22_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLanguageRule());
}
set(
current,
"xtextSetupRef",
lv_xtextSetupRef_22_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 3 :
// InternalMelange.g:530:4: ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) )
{
// InternalMelange.g:530:4: ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) )
// InternalMelange.g:531:5: {...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 2)");
}
// InternalMelange.g:531:103: ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) )
// InternalMelange.g:532:6: ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 2);
// InternalMelange.g:535:6: ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) )
// InternalMelange.g:535:7: {...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "true");
}
// InternalMelange.g:535:16: (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* )
// InternalMelange.g:535:18: otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )*
{
otherlv_23=(Token)match(input,24,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_23, grammarAccess.getLanguageAccess().getXtextKeyword_2_0());
}
// InternalMelange.g:539:1: ( (lv_xtext_24_0= RULE_STRING ) )
// InternalMelange.g:540:1: (lv_xtext_24_0= RULE_STRING )
{
// InternalMelange.g:540:1: (lv_xtext_24_0= RULE_STRING )
// InternalMelange.g:541:3: lv_xtext_24_0= RULE_STRING
{
lv_xtext_24_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_xtext_24_0, grammarAccess.getLanguageAccess().getXtextSTRINGTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
addWithLastConsumed(
current,
"xtext",
lv_xtext_24_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:557:2: (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )*
loop12:
do {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==17) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// InternalMelange.g:557:4: otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) )
{
otherlv_25=(Token)match(input,17,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_25, grammarAccess.getLanguageAccess().getCommaKeyword_2_2_0());
}
// InternalMelange.g:561:1: ( (lv_xtext_26_0= RULE_STRING ) )
// InternalMelange.g:562:1: (lv_xtext_26_0= RULE_STRING )
{
// InternalMelange.g:562:1: (lv_xtext_26_0= RULE_STRING )
// InternalMelange.g:563:3: lv_xtext_26_0= RULE_STRING
{
lv_xtext_26_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_xtext_26_0, grammarAccess.getLanguageAccess().getXtextSTRINGTerminalRuleCall_2_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
addWithLastConsumed(
current,
"xtext",
lv_xtext_26_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
default :
break loop12;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 4 :
// InternalMelange.g:586:4: ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) )
{
// InternalMelange.g:586:4: ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) )
// InternalMelange.g:587:5: {...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 3)");
}
// InternalMelange.g:587:103: ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) )
// InternalMelange.g:588:6: ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 3);
// InternalMelange.g:591:6: ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) )
// InternalMelange.g:591:7: {...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "true");
}
// InternalMelange.g:591:16: (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* )
// InternalMelange.g:591:18: otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )*
{
otherlv_27=(Token)match(input,25,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getLanguageAccess().getSiriusKeyword_3_0());
}
// InternalMelange.g:595:1: ( (lv_sirius_28_0= RULE_STRING ) )
// InternalMelange.g:596:1: (lv_sirius_28_0= RULE_STRING )
{
// InternalMelange.g:596:1: (lv_sirius_28_0= RULE_STRING )
// InternalMelange.g:597:3: lv_sirius_28_0= RULE_STRING
{
lv_sirius_28_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_sirius_28_0, grammarAccess.getLanguageAccess().getSiriusSTRINGTerminalRuleCall_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
addWithLastConsumed(
current,
"sirius",
lv_sirius_28_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:613:2: (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )*
loop13:
do {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==17) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// InternalMelange.g:613:4: otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) )
{
otherlv_29=(Token)match(input,17,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getLanguageAccess().getCommaKeyword_3_2_0());
}
// InternalMelange.g:617:1: ( (lv_sirius_30_0= RULE_STRING ) )
// InternalMelange.g:618:1: (lv_sirius_30_0= RULE_STRING )
{
// InternalMelange.g:618:1: (lv_sirius_30_0= RULE_STRING )
// InternalMelange.g:619:3: lv_sirius_30_0= RULE_STRING
{
lv_sirius_30_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_sirius_30_0, grammarAccess.getLanguageAccess().getSiriusSTRINGTerminalRuleCall_3_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
addWithLastConsumed(
current,
"sirius",
lv_sirius_30_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
default :
break loop13;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 5 :
// InternalMelange.g:642:4: ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) )
{
// InternalMelange.g:642:4: ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) )
// InternalMelange.g:643:5: {...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 4) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 4)");
}
// InternalMelange.g:643:103: ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) )
// InternalMelange.g:644:6: ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 4);
// InternalMelange.g:647:6: ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) )
// InternalMelange.g:647:7: {...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "true");
}
// InternalMelange.g:647:16: (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* )
// InternalMelange.g:647:18: otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )*
{
otherlv_31=(Token)match(input,26,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_31, grammarAccess.getLanguageAccess().getEclKeyword_4_0());
}
// InternalMelange.g:651:1: ( (lv_ecl_32_0= RULE_STRING ) )
// InternalMelange.g:652:1: (lv_ecl_32_0= RULE_STRING )
{
// InternalMelange.g:652:1: (lv_ecl_32_0= RULE_STRING )
// InternalMelange.g:653:3: lv_ecl_32_0= RULE_STRING
{
lv_ecl_32_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_ecl_32_0, grammarAccess.getLanguageAccess().getEclSTRINGTerminalRuleCall_4_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
addWithLastConsumed(
current,
"ecl",
lv_ecl_32_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:669:2: (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )*
loop14:
do {
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==17) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// InternalMelange.g:669:4: otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) )
{
otherlv_33=(Token)match(input,17,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getLanguageAccess().getCommaKeyword_4_2_0());
}
// InternalMelange.g:673:1: ( (lv_ecl_34_0= RULE_STRING ) )
// InternalMelange.g:674:1: (lv_ecl_34_0= RULE_STRING )
{
// InternalMelange.g:674:1: (lv_ecl_34_0= RULE_STRING )
// InternalMelange.g:675:3: lv_ecl_34_0= RULE_STRING
{
lv_ecl_34_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_ecl_34_0, grammarAccess.getLanguageAccess().getEclSTRINGTerminalRuleCall_4_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
addWithLastConsumed(
current,
"ecl",
lv_ecl_34_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
default :
break loop14;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 6 :
// InternalMelange.g:698:4: ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) )
{
// InternalMelange.g:698:4: ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) )
// InternalMelange.g:699:5: {...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 5) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 5)");
}
// InternalMelange.g:699:103: ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) )
// InternalMelange.g:700:6: ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 5);
// InternalMelange.g:703:6: ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) )
// InternalMelange.g:703:7: {...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "true");
}
// InternalMelange.g:703:16: (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) )
// InternalMelange.g:703:18: otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) )
{
otherlv_35=(Token)match(input,27,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_35, grammarAccess.getLanguageAccess().getXmofKeyword_5_0());
}
// InternalMelange.g:707:1: ( (lv_xmof_36_0= RULE_STRING ) )
// InternalMelange.g:708:1: (lv_xmof_36_0= RULE_STRING )
{
// InternalMelange.g:708:1: (lv_xmof_36_0= RULE_STRING )
// InternalMelange.g:709:3: lv_xmof_36_0= RULE_STRING
{
lv_xmof_36_0=(Token)match(input,RULE_STRING,FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_xmof_36_0, grammarAccess.getLanguageAccess().getXmofSTRINGTerminalRuleCall_5_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
setWithLastConsumed(
current,
"xmof",
lv_xmof_36_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 7 :
// InternalMelange.g:732:4: ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) )
{
// InternalMelange.g:732:4: ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) )
// InternalMelange.g:733:5: {...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 6) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 6)");
}
// InternalMelange.g:733:103: ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) )
// InternalMelange.g:734:6: ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 6);
// InternalMelange.g:737:6: ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) )
// InternalMelange.g:737:7: {...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "true");
}
// InternalMelange.g:737:16: (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) )
// InternalMelange.g:737:18: otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) )
{
otherlv_37=(Token)match(input,28,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_37, grammarAccess.getLanguageAccess().getFileExtensionKeyword_6_0());
}
// InternalMelange.g:741:1: ( (lv_fileExtension_38_0= RULE_STRING ) )
// InternalMelange.g:742:1: (lv_fileExtension_38_0= RULE_STRING )
{
// InternalMelange.g:742:1: (lv_fileExtension_38_0= RULE_STRING )
// InternalMelange.g:743:3: lv_fileExtension_38_0= RULE_STRING
{
lv_fileExtension_38_0=(Token)match(input,RULE_STRING,FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_fileExtension_38_0, grammarAccess.getLanguageAccess().getFileExtensionSTRINGTerminalRuleCall_6_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
setWithLastConsumed(
current,
"fileExtension",
lv_fileExtension_38_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 8 :
// InternalMelange.g:766:4: ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) )
{
// InternalMelange.g:766:4: ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) )
// InternalMelange.g:767:5: {...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 7) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 7)");
}
// InternalMelange.g:767:103: ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) )
// InternalMelange.g:768:6: ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) )
{
getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 7);
// InternalMelange.g:771:6: ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) )
// InternalMelange.g:771:7: {...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "true");
}
// InternalMelange.g:771:16: ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' )
// InternalMelange.g:771:17: (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}'
{
// InternalMelange.g:771:17: (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )?
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==29) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// InternalMelange.g:771:19: otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )?
{
otherlv_39=(Token)match(input,29,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_39, grammarAccess.getLanguageAccess().getExactTypeKeyword_7_0_0());
}
// InternalMelange.g:775:1: ( (lv_exactTypeName_40_0= ruleValidID ) )
// InternalMelange.g:776:1: (lv_exactTypeName_40_0= ruleValidID )
{
// InternalMelange.g:776:1: (lv_exactTypeName_40_0= ruleValidID )
// InternalMelange.g:777:3: lv_exactTypeName_40_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLanguageAccess().getExactTypeNameValidIDParserRuleCall_7_0_1_0());
}
pushFollow(FOLLOW_18);
lv_exactTypeName_40_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLanguageRule());
}
set(
current,
"exactTypeName",
lv_exactTypeName_40_0,
"org.eclipse.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:793:2: ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )?
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==22) && (synpred3_InternalMelange())) {
alt15=1;
}
switch (alt15) {
case 1 :
// InternalMelange.g:793:3: ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) )
{
// InternalMelange.g:793:3: ( ( 'uri' )=>otherlv_41= 'uri' )
// InternalMelange.g:793:4: ( 'uri' )=>otherlv_41= 'uri'
{
otherlv_41=(Token)match(input,22,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_41, grammarAccess.getLanguageAccess().getUriKeyword_7_0_2_0());
}
}
// InternalMelange.g:798:2: ( (lv_exactTypeUri_42_0= RULE_STRING ) )
// InternalMelange.g:799:1: (lv_exactTypeUri_42_0= RULE_STRING )
{
// InternalMelange.g:799:1: (lv_exactTypeUri_42_0= RULE_STRING )
// InternalMelange.g:800:3: lv_exactTypeUri_42_0= RULE_STRING
{
lv_exactTypeUri_42_0=(Token)match(input,RULE_STRING,FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_exactTypeUri_42_0, grammarAccess.getLanguageAccess().getExactTypeUriSTRINGTerminalRuleCall_7_0_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getLanguageRule());
}
setWithLastConsumed(
current,
"exactTypeUri",
lv_exactTypeUri_42_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
}
}
break;
}
otherlv_43=(Token)match(input,30,FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_43, grammarAccess.getLanguageAccess().getRightCurlyBracketKeyword_7_1());
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup());
}
}
}
break;
default :
if ( cnt17 >= 1 ) break loop17;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(17, input);
throw eee;
}
cnt17++;
} while (true);
if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup())");
}
}
}
getUnorderedGroupHelper().leave(grammarAccess.getLanguageAccess().getUnorderedGroup());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLanguage"
// $ANTLR start "entryRuleExternalLanguage"
// InternalMelange.g:843:1: entryRuleExternalLanguage returns [EObject current=null] : iv_ruleExternalLanguage= ruleExternalLanguage EOF ;
public final EObject entryRuleExternalLanguage() throws RecognitionException {
EObject current = null;
EObject iv_ruleExternalLanguage = null;
try {
// InternalMelange.g:844:2: (iv_ruleExternalLanguage= ruleExternalLanguage EOF )
// InternalMelange.g:845:2: iv_ruleExternalLanguage= ruleExternalLanguage EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExternalLanguageRule());
}
pushFollow(FOLLOW_1);
iv_ruleExternalLanguage=ruleExternalLanguage();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleExternalLanguage;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExternalLanguage"
// $ANTLR start "ruleExternalLanguage"
// InternalMelange.g:852:1: ruleExternalLanguage returns [EObject current=null] : ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) ) ) ;
public final EObject ruleExternalLanguage() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_10=null;
Token lv_xtext_11_0=null;
Token otherlv_12=null;
Token lv_xtext_13_0=null;
Token otherlv_14=null;
Token lv_sirius_15_0=null;
Token otherlv_16=null;
Token lv_sirius_17_0=null;
Token otherlv_18=null;
Token lv_ecl_19_0=null;
Token otherlv_20=null;
Token lv_ecl_21_0=null;
Token otherlv_22=null;
Token lv_xmof_23_0=null;
Token otherlv_24=null;
Token lv_fileExtension_25_0=null;
Token otherlv_26=null;
Token otherlv_28=null;
Token lv_exactTypeUri_29_0=null;
Token otherlv_30=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_operators_8_0 = null;
EObject lv_operators_9_0 = null;
AntlrDatatypeRuleToken lv_exactTypeName_27_0 = null;
enterRule();
try {
// InternalMelange.g:855:28: ( ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) ) ) )
// InternalMelange.g:856:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) ) )
{
// InternalMelange.g:856:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) ) )
// InternalMelange.g:858:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) )
{
// InternalMelange.g:858:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) )
// InternalMelange.g:859:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?)
{
getUnorderedGroupHelper().enter(grammarAccess.getExternalLanguageAccess().getUnorderedGroup());
// InternalMelange.g:862:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?)
// InternalMelange.g:863:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?
{
// InternalMelange.g:863:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+
int cnt26=0;
loop26:
do {
int alt26=9;
alt26 = dfa26.predict(input);
switch (alt26) {
case 1 :
// InternalMelange.g:865:4: ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) )
{
// InternalMelange.g:865:4: ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) )
// InternalMelange.g:866:5: {...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 0)");
}
// InternalMelange.g:866:111: ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) )
// InternalMelange.g:867:6: ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 0);
// InternalMelange.g:870:6: ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) )
// InternalMelange.g:870:7: {...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "true");
}
// InternalMelange.g:870:16: (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) )
// InternalMelange.g:870:18: otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) )
{
otherlv_1=(Token)match(input,15,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExternalLanguageAccess().getLanguageKeyword_0_0());
}
// InternalMelange.g:874:1: ( (lv_name_2_0= ruleValidID ) )
// InternalMelange.g:875:1: (lv_name_2_0= ruleValidID )
{
// InternalMelange.g:875:1: (lv_name_2_0= ruleValidID )
// InternalMelange.g:876:3: lv_name_2_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExternalLanguageAccess().getNameValidIDParserRuleCall_0_1_0());
}
pushFollow(FOLLOW_20);
lv_name_2_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getExternalLanguageRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:892:2: (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )?
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==18) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// InternalMelange.g:892:4: otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
{
otherlv_3=(Token)match(input,18,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getExternalLanguageAccess().getImplementsKeyword_0_2_0());
}
// InternalMelange.g:896:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:897:1: ( ruleQualifiedName )
{
// InternalMelange.g:897:1: ( ruleQualifiedName )
// InternalMelange.g:898:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalLanguageRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExternalLanguageAccess().getImplementsModelTypeCrossReference_0_2_1_0());
}
pushFollow(FOLLOW_10);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:911:2: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
loop18:
do {
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==17) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// InternalMelange.g:911:4: otherlv_5= ',' ( ( ruleQualifiedName ) )
{
otherlv_5=(Token)match(input,17,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getExternalLanguageAccess().getCommaKeyword_0_2_2_0());
}
// InternalMelange.g:915:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:916:1: ( ruleQualifiedName )
{
// InternalMelange.g:916:1: ( ruleQualifiedName )
// InternalMelange.g:917:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalLanguageRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExternalLanguageAccess().getImplementsModelTypeCrossReference_0_2_2_1_0());
}
pushFollow(FOLLOW_10);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop18;
}
} while (true);
}
break;
}
otherlv_7=(Token)match(input,20,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getExternalLanguageAccess().getLeftCurlyBracketKeyword_0_3());
}
// InternalMelange.g:934:1: ( (lv_operators_8_0= ruleExternalImport ) )
// InternalMelange.g:935:1: (lv_operators_8_0= ruleExternalImport )
{
// InternalMelange.g:935:1: (lv_operators_8_0= ruleExternalImport )
// InternalMelange.g:936:3: lv_operators_8_0= ruleExternalImport
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExternalLanguageAccess().getOperatorsExternalImportParserRuleCall_0_4_0());
}
pushFollow(FOLLOW_22);
lv_operators_8_0=ruleExternalImport();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getExternalLanguageRule());
}
add(
current,
"operators",
lv_operators_8_0,
"fr.inria.diverse.melange.Melange.ExternalImport");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 2 :
// InternalMelange.g:959:4: ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) )
{
// InternalMelange.g:959:4: ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) )
// InternalMelange.g:960:5: {...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 1)");
}
// InternalMelange.g:960:111: ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ )
// InternalMelange.g:961:6: ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+
{
getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 1);
// InternalMelange.g:964:6: ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+
int cnt20=0;
loop20:
do {
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==46) ) {
int LA20_2 = input.LA(2);
if ( ((true)) ) {
alt20=1;
}
}
switch (alt20) {
case 1 :
// InternalMelange.g:964:7: {...}? => ( (lv_operators_9_0= ruleWeave ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "true");
}
// InternalMelange.g:964:16: ( (lv_operators_9_0= ruleWeave ) )
// InternalMelange.g:965:1: (lv_operators_9_0= ruleWeave )
{
// InternalMelange.g:965:1: (lv_operators_9_0= ruleWeave )
// InternalMelange.g:966:3: lv_operators_9_0= ruleWeave
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExternalLanguageAccess().getOperatorsWeaveParserRuleCall_1_0());
}
pushFollow(FOLLOW_22);
lv_operators_9_0=ruleWeave();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getExternalLanguageRule());
}
add(
current,
"operators",
lv_operators_9_0,
"fr.inria.diverse.melange.Melange.Weave");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt20 >= 1 ) break loop20;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(20, input);
throw eee;
}
cnt20++;
} while (true);
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 3 :
// InternalMelange.g:989:4: ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) )
{
// InternalMelange.g:989:4: ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) )
// InternalMelange.g:990:5: {...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 2)");
}
// InternalMelange.g:990:111: ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) )
// InternalMelange.g:991:6: ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 2);
// InternalMelange.g:994:6: ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) )
// InternalMelange.g:994:7: {...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "true");
}
// InternalMelange.g:994:16: (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* )
// InternalMelange.g:994:18: otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )*
{
otherlv_10=(Token)match(input,24,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getExternalLanguageAccess().getXtextKeyword_2_0());
}
// InternalMelange.g:998:1: ( (lv_xtext_11_0= RULE_STRING ) )
// InternalMelange.g:999:1: (lv_xtext_11_0= RULE_STRING )
{
// InternalMelange.g:999:1: (lv_xtext_11_0= RULE_STRING )
// InternalMelange.g:1000:3: lv_xtext_11_0= RULE_STRING
{
lv_xtext_11_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_xtext_11_0, grammarAccess.getExternalLanguageAccess().getXtextSTRINGTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalLanguageRule());
}
addWithLastConsumed(
current,
"xtext",
lv_xtext_11_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:1016:2: (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )*
loop21:
do {
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==17) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// InternalMelange.g:1016:4: otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) )
{
otherlv_12=(Token)match(input,17,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getExternalLanguageAccess().getCommaKeyword_2_2_0());
}
// InternalMelange.g:1020:1: ( (lv_xtext_13_0= RULE_STRING ) )
// InternalMelange.g:1021:1: (lv_xtext_13_0= RULE_STRING )
{
// InternalMelange.g:1021:1: (lv_xtext_13_0= RULE_STRING )
// InternalMelange.g:1022:3: lv_xtext_13_0= RULE_STRING
{
lv_xtext_13_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_xtext_13_0, grammarAccess.getExternalLanguageAccess().getXtextSTRINGTerminalRuleCall_2_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalLanguageRule());
}
addWithLastConsumed(
current,
"xtext",
lv_xtext_13_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
default :
break loop21;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 4 :
// InternalMelange.g:1045:4: ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) )
{
// InternalMelange.g:1045:4: ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) )
// InternalMelange.g:1046:5: {...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 3)");
}
// InternalMelange.g:1046:111: ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) )
// InternalMelange.g:1047:6: ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 3);
// InternalMelange.g:1050:6: ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) )
// InternalMelange.g:1050:7: {...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "true");
}
// InternalMelange.g:1050:16: (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* )
// InternalMelange.g:1050:18: otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )*
{
otherlv_14=(Token)match(input,25,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getExternalLanguageAccess().getSiriusKeyword_3_0());
}
// InternalMelange.g:1054:1: ( (lv_sirius_15_0= RULE_STRING ) )
// InternalMelange.g:1055:1: (lv_sirius_15_0= RULE_STRING )
{
// InternalMelange.g:1055:1: (lv_sirius_15_0= RULE_STRING )
// InternalMelange.g:1056:3: lv_sirius_15_0= RULE_STRING
{
lv_sirius_15_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_sirius_15_0, grammarAccess.getExternalLanguageAccess().getSiriusSTRINGTerminalRuleCall_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalLanguageRule());
}
addWithLastConsumed(
current,
"sirius",
lv_sirius_15_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:1072:2: (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )*
loop22:
do {
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==17) ) {
alt22=1;
}
switch (alt22) {
case 1 :
// InternalMelange.g:1072:4: otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) )
{
otherlv_16=(Token)match(input,17,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getExternalLanguageAccess().getCommaKeyword_3_2_0());
}
// InternalMelange.g:1076:1: ( (lv_sirius_17_0= RULE_STRING ) )
// InternalMelange.g:1077:1: (lv_sirius_17_0= RULE_STRING )
{
// InternalMelange.g:1077:1: (lv_sirius_17_0= RULE_STRING )
// InternalMelange.g:1078:3: lv_sirius_17_0= RULE_STRING
{
lv_sirius_17_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_sirius_17_0, grammarAccess.getExternalLanguageAccess().getSiriusSTRINGTerminalRuleCall_3_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalLanguageRule());
}
addWithLastConsumed(
current,
"sirius",
lv_sirius_17_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
default :
break loop22;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 5 :
// InternalMelange.g:1101:4: ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) )
{
// InternalMelange.g:1101:4: ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) )
// InternalMelange.g:1102:5: {...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 4) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 4)");
}
// InternalMelange.g:1102:111: ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) )
// InternalMelange.g:1103:6: ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 4);
// InternalMelange.g:1106:6: ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) )
// InternalMelange.g:1106:7: {...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "true");
}
// InternalMelange.g:1106:16: (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* )
// InternalMelange.g:1106:18: otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )*
{
otherlv_18=(Token)match(input,26,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getExternalLanguageAccess().getEclKeyword_4_0());
}
// InternalMelange.g:1110:1: ( (lv_ecl_19_0= RULE_STRING ) )
// InternalMelange.g:1111:1: (lv_ecl_19_0= RULE_STRING )
{
// InternalMelange.g:1111:1: (lv_ecl_19_0= RULE_STRING )
// InternalMelange.g:1112:3: lv_ecl_19_0= RULE_STRING
{
lv_ecl_19_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_ecl_19_0, grammarAccess.getExternalLanguageAccess().getEclSTRINGTerminalRuleCall_4_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalLanguageRule());
}
addWithLastConsumed(
current,
"ecl",
lv_ecl_19_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:1128:2: (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )*
loop23:
do {
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==17) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// InternalMelange.g:1128:4: otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) )
{
otherlv_20=(Token)match(input,17,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getExternalLanguageAccess().getCommaKeyword_4_2_0());
}
// InternalMelange.g:1132:1: ( (lv_ecl_21_0= RULE_STRING ) )
// InternalMelange.g:1133:1: (lv_ecl_21_0= RULE_STRING )
{
// InternalMelange.g:1133:1: (lv_ecl_21_0= RULE_STRING )
// InternalMelange.g:1134:3: lv_ecl_21_0= RULE_STRING
{
lv_ecl_21_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_ecl_21_0, grammarAccess.getExternalLanguageAccess().getEclSTRINGTerminalRuleCall_4_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalLanguageRule());
}
addWithLastConsumed(
current,
"ecl",
lv_ecl_21_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
default :
break loop23;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 6 :
// InternalMelange.g:1157:4: ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) )
{
// InternalMelange.g:1157:4: ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) )
// InternalMelange.g:1158:5: {...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 5) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 5)");
}
// InternalMelange.g:1158:111: ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) )
// InternalMelange.g:1159:6: ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 5);
// InternalMelange.g:1162:6: ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) )
// InternalMelange.g:1162:7: {...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "true");
}
// InternalMelange.g:1162:16: (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) )
// InternalMelange.g:1162:18: otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) )
{
otherlv_22=(Token)match(input,27,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_22, grammarAccess.getExternalLanguageAccess().getXmofKeyword_5_0());
}
// InternalMelange.g:1166:1: ( (lv_xmof_23_0= RULE_STRING ) )
// InternalMelange.g:1167:1: (lv_xmof_23_0= RULE_STRING )
{
// InternalMelange.g:1167:1: (lv_xmof_23_0= RULE_STRING )
// InternalMelange.g:1168:3: lv_xmof_23_0= RULE_STRING
{
lv_xmof_23_0=(Token)match(input,RULE_STRING,FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_xmof_23_0, grammarAccess.getExternalLanguageAccess().getXmofSTRINGTerminalRuleCall_5_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalLanguageRule());
}
setWithLastConsumed(
current,
"xmof",
lv_xmof_23_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 7 :
// InternalMelange.g:1191:4: ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) )
{
// InternalMelange.g:1191:4: ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) )
// InternalMelange.g:1192:5: {...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 6) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 6)");
}
// InternalMelange.g:1192:111: ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) )
// InternalMelange.g:1193:6: ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 6);
// InternalMelange.g:1196:6: ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) )
// InternalMelange.g:1196:7: {...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "true");
}
// InternalMelange.g:1196:16: (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) )
// InternalMelange.g:1196:18: otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) )
{
otherlv_24=(Token)match(input,28,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_24, grammarAccess.getExternalLanguageAccess().getFileExtensionKeyword_6_0());
}
// InternalMelange.g:1200:1: ( (lv_fileExtension_25_0= RULE_STRING ) )
// InternalMelange.g:1201:1: (lv_fileExtension_25_0= RULE_STRING )
{
// InternalMelange.g:1201:1: (lv_fileExtension_25_0= RULE_STRING )
// InternalMelange.g:1202:3: lv_fileExtension_25_0= RULE_STRING
{
lv_fileExtension_25_0=(Token)match(input,RULE_STRING,FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_fileExtension_25_0, grammarAccess.getExternalLanguageAccess().getFileExtensionSTRINGTerminalRuleCall_6_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalLanguageRule());
}
setWithLastConsumed(
current,
"fileExtension",
lv_fileExtension_25_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup());
}
}
}
break;
case 8 :
// InternalMelange.g:1225:4: ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) )
{
// InternalMelange.g:1225:4: ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) )
// InternalMelange.g:1226:5: {...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 7) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 7)");
}
// InternalMelange.g:1226:111: ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) )
// InternalMelange.g:1227:6: ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) )
{
getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 7);
// InternalMelange.g:1230:6: ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) )
// InternalMelange.g:1230:7: {...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "true");
}
// InternalMelange.g:1230:16: ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' )
// InternalMelange.g:1230:17: (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}'
{
// InternalMelange.g:1230:17: (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )?
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==29) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// InternalMelange.g:1230:19: otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )?
{
otherlv_26=(Token)match(input,29,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_26, grammarAccess.getExternalLanguageAccess().getExactTypeKeyword_7_0_0());
}
// InternalMelange.g:1234:1: ( (lv_exactTypeName_27_0= ruleValidID ) )
// InternalMelange.g:1235:1: (lv_exactTypeName_27_0= ruleValidID )
{
// InternalMelange.g:1235:1: (lv_exactTypeName_27_0= ruleValidID )
// InternalMelange.g:1236:3: lv_exactTypeName_27_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExternalLanguageAccess().getExactTypeNameValidIDParserRuleCall_7_0_1_0());
}
pushFollow(FOLLOW_18);
lv_exactTypeName_27_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getExternalLanguageRule());
}
set(
current,
"exactTypeName",
lv_exactTypeName_27_0,
"org.eclipse.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:1252:2: ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )?
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==22) && (synpred4_InternalMelange())) {
alt24=1;
}
switch (alt24) {
case 1 :
// InternalMelange.g:1252:3: ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) )
{
// InternalMelange.g:1252:3: ( ( 'uri' )=>otherlv_28= 'uri' )
// InternalMelange.g:1252:4: ( 'uri' )=>otherlv_28= 'uri'
{
otherlv_28=(Token)match(input,22,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_28, grammarAccess.getExternalLanguageAccess().getUriKeyword_7_0_2_0());
}
}
// InternalMelange.g:1257:2: ( (lv_exactTypeUri_29_0= RULE_STRING ) )
// InternalMelange.g:1258:1: (lv_exactTypeUri_29_0= RULE_STRING )
{
// InternalMelange.g:1258:1: (lv_exactTypeUri_29_0= RULE_STRING )
// InternalMelange.g:1259:3: lv_exactTypeUri_29_0= RULE_STRING
{
lv_exactTypeUri_29_0=(Token)match(input,RULE_STRING,FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_exactTypeUri_29_0, grammarAccess.getExternalLanguageAccess().getExactTypeUriSTRINGTerminalRuleCall_7_0_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalLanguageRule());
}
setWithLastConsumed(
current,
"exactTypeUri",
lv_exactTypeUri_29_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
}
}
break;
}
otherlv_30=(Token)match(input,30,FOLLOW_22); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_30, grammarAccess.getExternalLanguageAccess().getRightCurlyBracketKeyword_7_1());
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup());
}
}
}
break;
default :
if ( cnt26 >= 1 ) break loop26;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(26, input);
throw eee;
}
cnt26++;
} while (true);
if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup())");
}
}
}
getUnorderedGroupHelper().leave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExternalLanguage"
// $ANTLR start "entryRuleEcoreModelType"
// InternalMelange.g:1302:1: entryRuleEcoreModelType returns [EObject current=null] : iv_ruleEcoreModelType= ruleEcoreModelType EOF ;
public final EObject entryRuleEcoreModelType() throws RecognitionException {
EObject current = null;
EObject iv_ruleEcoreModelType = null;
try {
// InternalMelange.g:1303:2: (iv_ruleEcoreModelType= ruleEcoreModelType EOF )
// InternalMelange.g:1304:2: iv_ruleEcoreModelType= ruleEcoreModelType EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEcoreModelTypeRule());
}
pushFollow(FOLLOW_1);
iv_ruleEcoreModelType=ruleEcoreModelType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEcoreModelType;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEcoreModelType"
// $ANTLR start "ruleEcoreModelType"
// InternalMelange.g:1311:1: ruleEcoreModelType returns [EObject current=null] : ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) ) ) ;
public final EObject ruleEcoreModelType() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token lv_ecoreUri_5_0=null;
Token otherlv_6=null;
Token lv_mtUri_7_0=null;
Token otherlv_8=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
enterRule();
try {
// InternalMelange.g:1314:28: ( ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) ) ) )
// InternalMelange.g:1315:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) ) )
{
// InternalMelange.g:1315:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) ) )
// InternalMelange.g:1317:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) )
{
// InternalMelange.g:1317:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) )
// InternalMelange.g:1318:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?)
{
getUnorderedGroupHelper().enter(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup());
// InternalMelange.g:1321:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?)
// InternalMelange.g:1322:3: ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?
{
// InternalMelange.g:1322:3: ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+
int cnt28=0;
loop28:
do {
int alt28=3;
switch ( input.LA(1) ) {
case 30:
{
int LA28_2 = input.LA(2);
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 1) ) {
alt28=2;
}
}
break;
case 31:
{
int LA28_3 = input.LA(2);
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 0) ) {
alt28=1;
}
}
break;
case 22:
{
int LA28_4 = input.LA(2);
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 1) ) {
alt28=2;
}
}
break;
}
switch (alt28) {
case 1 :
// InternalMelange.g:1324:4: ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) )
{
// InternalMelange.g:1324:4: ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) )
// InternalMelange.g:1325:5: {...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleEcoreModelType", "getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 0)");
}
// InternalMelange.g:1325:109: ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) )
// InternalMelange.g:1326:6: ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 0);
// InternalMelange.g:1329:6: ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) )
// InternalMelange.g:1329:7: {...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleEcoreModelType", "true");
}
// InternalMelange.g:1329:16: (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) )
// InternalMelange.g:1329:18: otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) )
{
otherlv_1=(Token)match(input,31,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getEcoreModelTypeAccess().getModeltypeKeyword_0_0());
}
// InternalMelange.g:1333:1: ( (lv_name_2_0= ruleValidID ) )
// InternalMelange.g:1334:1: (lv_name_2_0= ruleValidID )
{
// InternalMelange.g:1334:1: (lv_name_2_0= ruleValidID )
// InternalMelange.g:1335:3: lv_name_2_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEcoreModelTypeAccess().getNameValidIDParserRuleCall_0_1_0());
}
pushFollow(FOLLOW_24);
lv_name_2_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEcoreModelTypeRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,20,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getEcoreModelTypeAccess().getLeftCurlyBracketKeyword_0_2());
}
otherlv_4=(Token)match(input,32,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getEcoreModelTypeAccess().getSyntaxKeyword_0_3());
}
// InternalMelange.g:1359:1: ( (lv_ecoreUri_5_0= RULE_STRING ) )
// InternalMelange.g:1360:1: (lv_ecoreUri_5_0= RULE_STRING )
{
// InternalMelange.g:1360:1: (lv_ecoreUri_5_0= RULE_STRING )
// InternalMelange.g:1361:3: lv_ecoreUri_5_0= RULE_STRING
{
lv_ecoreUri_5_0=(Token)match(input,RULE_STRING,FOLLOW_25); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_ecoreUri_5_0, grammarAccess.getEcoreModelTypeAccess().getEcoreUriSTRINGTerminalRuleCall_0_4_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getEcoreModelTypeRule());
}
setWithLastConsumed(
current,
"ecoreUri",
lv_ecoreUri_5_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup());
}
}
}
break;
case 2 :
// InternalMelange.g:1384:4: ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) )
{
// InternalMelange.g:1384:4: ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) )
// InternalMelange.g:1385:5: {...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleEcoreModelType", "getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 1)");
}
// InternalMelange.g:1385:109: ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) )
// InternalMelange.g:1386:6: ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) )
{
getUnorderedGroupHelper().select(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 1);
// InternalMelange.g:1389:6: ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) )
// InternalMelange.g:1389:7: {...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleEcoreModelType", "true");
}
// InternalMelange.g:1389:16: ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' )
// InternalMelange.g:1389:17: (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}'
{
// InternalMelange.g:1389:17: (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )?
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==22) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// InternalMelange.g:1389:19: otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) )
{
otherlv_6=(Token)match(input,22,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getEcoreModelTypeAccess().getUriKeyword_1_0_0());
}
// InternalMelange.g:1393:1: ( (lv_mtUri_7_0= RULE_STRING ) )
// InternalMelange.g:1394:1: (lv_mtUri_7_0= RULE_STRING )
{
// InternalMelange.g:1394:1: (lv_mtUri_7_0= RULE_STRING )
// InternalMelange.g:1395:3: lv_mtUri_7_0= RULE_STRING
{
lv_mtUri_7_0=(Token)match(input,RULE_STRING,FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_mtUri_7_0, grammarAccess.getEcoreModelTypeAccess().getMtUriSTRINGTerminalRuleCall_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getEcoreModelTypeRule());
}
setWithLastConsumed(
current,
"mtUri",
lv_mtUri_7_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
}
otherlv_8=(Token)match(input,30,FOLLOW_25); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getEcoreModelTypeAccess().getRightCurlyBracketKeyword_1_1());
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup());
}
}
}
break;
default :
if ( cnt28 >= 1 ) break loop28;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(28, input);
throw eee;
}
cnt28++;
} while (true);
if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup()) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleEcoreModelType", "getUnorderedGroupHelper().canLeave(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup())");
}
}
}
getUnorderedGroupHelper().leave(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEcoreModelType"
// $ANTLR start "entryRuleXbaseTransformation"
// InternalMelange.g:1438:1: entryRuleXbaseTransformation returns [EObject current=null] : iv_ruleXbaseTransformation= ruleXbaseTransformation EOF ;
public final EObject entryRuleXbaseTransformation() throws RecognitionException {
EObject current = null;
EObject iv_ruleXbaseTransformation = null;
try {
// InternalMelange.g:1439:2: (iv_ruleXbaseTransformation= ruleXbaseTransformation EOF )
// InternalMelange.g:1440:2: iv_ruleXbaseTransformation= ruleXbaseTransformation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseTransformationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXbaseTransformation=ruleXbaseTransformation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXbaseTransformation;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXbaseTransformation"
// $ANTLR start "ruleXbaseTransformation"
// InternalMelange.g:1447:1: ruleXbaseTransformation returns [EObject current=null] : ( ( (lv_main_0_0= '@Main' ) )? otherlv_1= 'transformation' ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )? ( (lv_name_3_0= ruleValidID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )? otherlv_8= ')' ( (lv_body_9_0= ruleXBlockExpression ) ) ) ;
public final EObject ruleXbaseTransformation() throws RecognitionException {
EObject current = null;
Token lv_main_0_0=null;
Token otherlv_1=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
EObject lv_returnTypeRef_2_0 = null;
AntlrDatatypeRuleToken lv_name_3_0 = null;
EObject lv_parameters_5_0 = null;
EObject lv_parameters_7_0 = null;
EObject lv_body_9_0 = null;
enterRule();
try {
// InternalMelange.g:1450:28: ( ( ( (lv_main_0_0= '@Main' ) )? otherlv_1= 'transformation' ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )? ( (lv_name_3_0= ruleValidID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )? otherlv_8= ')' ( (lv_body_9_0= ruleXBlockExpression ) ) ) )
// InternalMelange.g:1451:1: ( ( (lv_main_0_0= '@Main' ) )? otherlv_1= 'transformation' ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )? ( (lv_name_3_0= ruleValidID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )? otherlv_8= ')' ( (lv_body_9_0= ruleXBlockExpression ) ) )
{
// InternalMelange.g:1451:1: ( ( (lv_main_0_0= '@Main' ) )? otherlv_1= 'transformation' ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )? ( (lv_name_3_0= ruleValidID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )? otherlv_8= ')' ( (lv_body_9_0= ruleXBlockExpression ) ) )
// InternalMelange.g:1451:2: ( (lv_main_0_0= '@Main' ) )? otherlv_1= 'transformation' ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )? ( (lv_name_3_0= ruleValidID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )? otherlv_8= ')' ( (lv_body_9_0= ruleXBlockExpression ) )
{
// InternalMelange.g:1451:2: ( (lv_main_0_0= '@Main' ) )?
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==33) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// InternalMelange.g:1452:1: (lv_main_0_0= '@Main' )
{
// InternalMelange.g:1452:1: (lv_main_0_0= '@Main' )
// InternalMelange.g:1453:3: lv_main_0_0= '@Main'
{
lv_main_0_0=(Token)match(input,33,FOLLOW_26); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_main_0_0, grammarAccess.getXbaseTransformationAccess().getMainMainKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXbaseTransformationRule());
}
setWithLastConsumed(current, "main", true, "@Main");
}
}
}
break;
}
otherlv_1=(Token)match(input,34,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXbaseTransformationAccess().getTransformationKeyword_1());
}
// InternalMelange.g:1470:1: ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )?
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==RULE_ID) ) {
int LA30_1 = input.LA(2);
if ( (LA30_1==RULE_ID||LA30_1==44||LA30_1==53||LA30_1==79) ) {
alt30=1;
}
}
else if ( (LA30_0==35||LA30_0==66) ) {
alt30=1;
}
switch (alt30) {
case 1 :
// InternalMelange.g:1471:1: (lv_returnTypeRef_2_0= ruleJvmTypeReference )
{
// InternalMelange.g:1471:1: (lv_returnTypeRef_2_0= ruleJvmTypeReference )
// InternalMelange.g:1472:3: lv_returnTypeRef_2_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseTransformationAccess().getReturnTypeRefJvmTypeReferenceParserRuleCall_2_0());
}
pushFollow(FOLLOW_3);
lv_returnTypeRef_2_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXbaseTransformationRule());
}
set(
current,
"returnTypeRef",
lv_returnTypeRef_2_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalMelange.g:1488:3: ( (lv_name_3_0= ruleValidID ) )
// InternalMelange.g:1489:1: (lv_name_3_0= ruleValidID )
{
// InternalMelange.g:1489:1: (lv_name_3_0= ruleValidID )
// InternalMelange.g:1490:3: lv_name_3_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseTransformationAccess().getNameValidIDParserRuleCall_3_0());
}
pushFollow(FOLLOW_27);
lv_name_3_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXbaseTransformationRule());
}
set(
current,
"name",
lv_name_3_0,
"org.eclipse.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,35,FOLLOW_28); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXbaseTransformationAccess().getLeftParenthesisKeyword_4());
}
// InternalMelange.g:1510:1: ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )?
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==RULE_ID||LA32_0==35||LA32_0==66) ) {
alt32=1;
}
switch (alt32) {
case 1 :
// InternalMelange.g:1510:2: ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )*
{
// InternalMelange.g:1510:2: ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) )
// InternalMelange.g:1511:1: (lv_parameters_5_0= ruleFullJvmFormalParameter )
{
// InternalMelange.g:1511:1: (lv_parameters_5_0= ruleFullJvmFormalParameter )
// InternalMelange.g:1512:3: lv_parameters_5_0= ruleFullJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseTransformationAccess().getParametersFullJvmFormalParameterParserRuleCall_5_0_0());
}
pushFollow(FOLLOW_29);
lv_parameters_5_0=ruleFullJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXbaseTransformationRule());
}
add(
current,
"parameters",
lv_parameters_5_0,
"org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:1528:2: (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )*
loop31:
do {
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==17) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// InternalMelange.g:1528:4: otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) )
{
otherlv_6=(Token)match(input,17,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXbaseTransformationAccess().getCommaKeyword_5_1_0());
}
// InternalMelange.g:1532:1: ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) )
// InternalMelange.g:1533:1: (lv_parameters_7_0= ruleFullJvmFormalParameter )
{
// InternalMelange.g:1533:1: (lv_parameters_7_0= ruleFullJvmFormalParameter )
// InternalMelange.g:1534:3: lv_parameters_7_0= ruleFullJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseTransformationAccess().getParametersFullJvmFormalParameterParserRuleCall_5_1_1_0());
}
pushFollow(FOLLOW_29);
lv_parameters_7_0=ruleFullJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXbaseTransformationRule());
}
add(
current,
"parameters",
lv_parameters_7_0,
"org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop31;
}
} while (true);
}
break;
}
otherlv_8=(Token)match(input,36,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXbaseTransformationAccess().getRightParenthesisKeyword_6());
}
// InternalMelange.g:1554:1: ( (lv_body_9_0= ruleXBlockExpression ) )
// InternalMelange.g:1555:1: (lv_body_9_0= ruleXBlockExpression )
{
// InternalMelange.g:1555:1: (lv_body_9_0= ruleXBlockExpression )
// InternalMelange.g:1556:3: lv_body_9_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseTransformationAccess().getBodyXBlockExpressionParserRuleCall_7_0());
}
pushFollow(FOLLOW_2);
lv_body_9_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXbaseTransformationRule());
}
set(
current,
"body",
lv_body_9_0,
"org.eclipse.xtext.xbase.Xbase.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXbaseTransformation"
// $ANTLR start "entryRuleMapping"
// InternalMelange.g:1580:1: entryRuleMapping returns [EObject current=null] : iv_ruleMapping= ruleMapping EOF ;
public final EObject entryRuleMapping() throws RecognitionException {
EObject current = null;
EObject iv_ruleMapping = null;
try {
// InternalMelange.g:1581:2: (iv_ruleMapping= ruleMapping EOF )
// InternalMelange.g:1582:2: iv_ruleMapping= ruleMapping EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMappingRule());
}
pushFollow(FOLLOW_1);
iv_ruleMapping=ruleMapping();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMapping;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMapping"
// $ANTLR start "ruleMapping"
// InternalMelange.g:1589:1: ruleMapping returns [EObject current=null] : (otherlv_0= 'map' ( ( ruleQualifiedName ) ) otherlv_2= 'to' ( ( ruleQualifiedName ) ) otherlv_4= '{' ( (lv_rules_5_0= ruleClassMapping ) )* otherlv_6= '}' ) ;
public final EObject ruleMapping() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_rules_5_0 = null;
enterRule();
try {
// InternalMelange.g:1592:28: ( (otherlv_0= 'map' ( ( ruleQualifiedName ) ) otherlv_2= 'to' ( ( ruleQualifiedName ) ) otherlv_4= '{' ( (lv_rules_5_0= ruleClassMapping ) )* otherlv_6= '}' ) )
// InternalMelange.g:1593:1: (otherlv_0= 'map' ( ( ruleQualifiedName ) ) otherlv_2= 'to' ( ( ruleQualifiedName ) ) otherlv_4= '{' ( (lv_rules_5_0= ruleClassMapping ) )* otherlv_6= '}' )
{
// InternalMelange.g:1593:1: (otherlv_0= 'map' ( ( ruleQualifiedName ) ) otherlv_2= 'to' ( ( ruleQualifiedName ) ) otherlv_4= '{' ( (lv_rules_5_0= ruleClassMapping ) )* otherlv_6= '}' )
// InternalMelange.g:1593:3: otherlv_0= 'map' ( ( ruleQualifiedName ) ) otherlv_2= 'to' ( ( ruleQualifiedName ) ) otherlv_4= '{' ( (lv_rules_5_0= ruleClassMapping ) )* otherlv_6= '}'
{
otherlv_0=(Token)match(input,37,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getMappingAccess().getMapKeyword_0());
}
// InternalMelange.g:1597:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:1598:1: ( ruleQualifiedName )
{
// InternalMelange.g:1598:1: ( ruleQualifiedName )
// InternalMelange.g:1599:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMappingRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMappingAccess().getFromLanguageCrossReference_1_0());
}
pushFollow(FOLLOW_30);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,38,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getMappingAccess().getToKeyword_2());
}
// InternalMelange.g:1616:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:1617:1: ( ruleQualifiedName )
{
// InternalMelange.g:1617:1: ( ruleQualifiedName )
// InternalMelange.g:1618:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMappingRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMappingAccess().getToModelTypeCrossReference_3_0());
}
pushFollow(FOLLOW_24);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,20,FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getMappingAccess().getLeftCurlyBracketKeyword_4());
}
// InternalMelange.g:1635:1: ( (lv_rules_5_0= ruleClassMapping ) )*
loop33:
do {
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==RULE_STRING) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// InternalMelange.g:1636:1: (lv_rules_5_0= ruleClassMapping )
{
// InternalMelange.g:1636:1: (lv_rules_5_0= ruleClassMapping )
// InternalMelange.g:1637:3: lv_rules_5_0= ruleClassMapping
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMappingAccess().getRulesClassMappingParserRuleCall_5_0());
}
pushFollow(FOLLOW_31);
lv_rules_5_0=ruleClassMapping();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMappingRule());
}
add(
current,
"rules",
lv_rules_5_0,
"fr.inria.diverse.melange.Melange.ClassMapping");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop33;
}
} while (true);
otherlv_6=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getMappingAccess().getRightCurlyBracketKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMapping"
// $ANTLR start "entryRulePackageMapping"
// InternalMelange.g:1665:1: entryRulePackageMapping returns [EObject current=null] : iv_rulePackageMapping= rulePackageMapping EOF ;
public final EObject entryRulePackageMapping() throws RecognitionException {
EObject current = null;
EObject iv_rulePackageMapping = null;
try {
// InternalMelange.g:1666:2: (iv_rulePackageMapping= rulePackageMapping EOF )
// InternalMelange.g:1667:2: iv_rulePackageMapping= rulePackageMapping EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageMappingRule());
}
pushFollow(FOLLOW_1);
iv_rulePackageMapping=rulePackageMapping();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePackageMapping;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePackageMapping"
// $ANTLR start "rulePackageMapping"
// InternalMelange.g:1674:1: rulePackageMapping returns [EObject current=null] : ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )? ) ;
public final EObject rulePackageMapping() throws RecognitionException {
EObject current = null;
Token lv_from_0_0=null;
Token otherlv_1=null;
Token lv_to_2_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_classes_4_0 = null;
enterRule();
try {
// InternalMelange.g:1677:28: ( ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )? ) )
// InternalMelange.g:1678:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )? )
{
// InternalMelange.g:1678:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )? )
// InternalMelange.g:1678:2: ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )?
{
// InternalMelange.g:1678:2: ( (lv_from_0_0= RULE_STRING ) )
// InternalMelange.g:1679:1: (lv_from_0_0= RULE_STRING )
{
// InternalMelange.g:1679:1: (lv_from_0_0= RULE_STRING )
// InternalMelange.g:1680:3: lv_from_0_0= RULE_STRING
{
lv_from_0_0=(Token)match(input,RULE_STRING,FOLLOW_30); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_from_0_0, grammarAccess.getPackageMappingAccess().getFromSTRINGTerminalRuleCall_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getPackageMappingRule());
}
setWithLastConsumed(
current,
"from",
lv_from_0_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
otherlv_1=(Token)match(input,38,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPackageMappingAccess().getToKeyword_1());
}
// InternalMelange.g:1700:1: ( (lv_to_2_0= RULE_STRING ) )
// InternalMelange.g:1701:1: (lv_to_2_0= RULE_STRING )
{
// InternalMelange.g:1701:1: (lv_to_2_0= RULE_STRING )
// InternalMelange.g:1702:3: lv_to_2_0= RULE_STRING
{
lv_to_2_0=(Token)match(input,RULE_STRING,FOLLOW_32); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_to_2_0, grammarAccess.getPackageMappingAccess().getToSTRINGTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getPackageMappingRule());
}
setWithLastConsumed(
current,
"to",
lv_to_2_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:1718:2: (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )?
int alt35=2;
int LA35_0 = input.LA(1);
if ( (LA35_0==20) ) {
alt35=1;
}
switch (alt35) {
case 1 :
// InternalMelange.g:1718:4: otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}'
{
otherlv_3=(Token)match(input,20,FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getPackageMappingAccess().getLeftCurlyBracketKeyword_3_0());
}
// InternalMelange.g:1722:1: ( (lv_classes_4_0= ruleClassMapping ) )*
loop34:
do {
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==RULE_STRING) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// InternalMelange.g:1723:1: (lv_classes_4_0= ruleClassMapping )
{
// InternalMelange.g:1723:1: (lv_classes_4_0= ruleClassMapping )
// InternalMelange.g:1724:3: lv_classes_4_0= ruleClassMapping
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPackageMappingAccess().getClassesClassMappingParserRuleCall_3_1_0());
}
pushFollow(FOLLOW_31);
lv_classes_4_0=ruleClassMapping();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPackageMappingRule());
}
add(
current,
"classes",
lv_classes_4_0,
"fr.inria.diverse.melange.Melange.ClassMapping");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop34;
}
} while (true);
otherlv_5=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getPackageMappingAccess().getRightCurlyBracketKeyword_3_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePackageMapping"
// $ANTLR start "entryRuleClassMapping"
// InternalMelange.g:1752:1: entryRuleClassMapping returns [EObject current=null] : iv_ruleClassMapping= ruleClassMapping EOF ;
public final EObject entryRuleClassMapping() throws RecognitionException {
EObject current = null;
EObject iv_ruleClassMapping = null;
try {
// InternalMelange.g:1753:2: (iv_ruleClassMapping= ruleClassMapping EOF )
// InternalMelange.g:1754:2: iv_ruleClassMapping= ruleClassMapping EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassMappingRule());
}
pushFollow(FOLLOW_1);
iv_ruleClassMapping=ruleClassMapping();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleClassMapping;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleClassMapping"
// $ANTLR start "ruleClassMapping"
// InternalMelange.g:1761:1: ruleClassMapping returns [EObject current=null] : ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )? ) ;
public final EObject ruleClassMapping() throws RecognitionException {
EObject current = null;
Token lv_from_0_0=null;
Token otherlv_1=null;
Token lv_to_2_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_properties_4_0 = null;
enterRule();
try {
// InternalMelange.g:1764:28: ( ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )? ) )
// InternalMelange.g:1765:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )? )
{
// InternalMelange.g:1765:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )? )
// InternalMelange.g:1765:2: ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )?
{
// InternalMelange.g:1765:2: ( (lv_from_0_0= RULE_STRING ) )
// InternalMelange.g:1766:1: (lv_from_0_0= RULE_STRING )
{
// InternalMelange.g:1766:1: (lv_from_0_0= RULE_STRING )
// InternalMelange.g:1767:3: lv_from_0_0= RULE_STRING
{
lv_from_0_0=(Token)match(input,RULE_STRING,FOLLOW_30); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_from_0_0, grammarAccess.getClassMappingAccess().getFromSTRINGTerminalRuleCall_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getClassMappingRule());
}
setWithLastConsumed(
current,
"from",
lv_from_0_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
otherlv_1=(Token)match(input,38,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getClassMappingAccess().getToKeyword_1());
}
// InternalMelange.g:1787:1: ( (lv_to_2_0= RULE_STRING ) )
// InternalMelange.g:1788:1: (lv_to_2_0= RULE_STRING )
{
// InternalMelange.g:1788:1: (lv_to_2_0= RULE_STRING )
// InternalMelange.g:1789:3: lv_to_2_0= RULE_STRING
{
lv_to_2_0=(Token)match(input,RULE_STRING,FOLLOW_32); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_to_2_0, grammarAccess.getClassMappingAccess().getToSTRINGTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getClassMappingRule());
}
setWithLastConsumed(
current,
"to",
lv_to_2_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:1805:2: (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )?
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==20) ) {
alt37=1;
}
switch (alt37) {
case 1 :
// InternalMelange.g:1805:4: otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}'
{
otherlv_3=(Token)match(input,20,FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getClassMappingAccess().getLeftCurlyBracketKeyword_3_0());
}
// InternalMelange.g:1809:1: ( (lv_properties_4_0= rulePropertyMapping ) )*
loop36:
do {
int alt36=2;
int LA36_0 = input.LA(1);
if ( (LA36_0==RULE_STRING) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// InternalMelange.g:1810:1: (lv_properties_4_0= rulePropertyMapping )
{
// InternalMelange.g:1810:1: (lv_properties_4_0= rulePropertyMapping )
// InternalMelange.g:1811:3: lv_properties_4_0= rulePropertyMapping
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassMappingAccess().getPropertiesPropertyMappingParserRuleCall_3_1_0());
}
pushFollow(FOLLOW_31);
lv_properties_4_0=rulePropertyMapping();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getClassMappingRule());
}
add(
current,
"properties",
lv_properties_4_0,
"fr.inria.diverse.melange.Melange.PropertyMapping");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop36;
}
} while (true);
otherlv_5=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getClassMappingAccess().getRightCurlyBracketKeyword_3_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleClassMapping"
// $ANTLR start "entryRulePropertyMapping"
// InternalMelange.g:1839:1: entryRulePropertyMapping returns [EObject current=null] : iv_rulePropertyMapping= rulePropertyMapping EOF ;
public final EObject entryRulePropertyMapping() throws RecognitionException {
EObject current = null;
EObject iv_rulePropertyMapping = null;
try {
// InternalMelange.g:1840:2: (iv_rulePropertyMapping= rulePropertyMapping EOF )
// InternalMelange.g:1841:2: iv_rulePropertyMapping= rulePropertyMapping EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPropertyMappingRule());
}
pushFollow(FOLLOW_1);
iv_rulePropertyMapping=rulePropertyMapping();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePropertyMapping;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePropertyMapping"
// $ANTLR start "rulePropertyMapping"
// InternalMelange.g:1848:1: rulePropertyMapping returns [EObject current=null] : ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) ) ;
public final EObject rulePropertyMapping() throws RecognitionException {
EObject current = null;
Token lv_from_0_0=null;
Token otherlv_1=null;
Token lv_to_2_0=null;
enterRule();
try {
// InternalMelange.g:1851:28: ( ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) ) )
// InternalMelange.g:1852:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) )
{
// InternalMelange.g:1852:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) )
// InternalMelange.g:1852:2: ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) )
{
// InternalMelange.g:1852:2: ( (lv_from_0_0= RULE_STRING ) )
// InternalMelange.g:1853:1: (lv_from_0_0= RULE_STRING )
{
// InternalMelange.g:1853:1: (lv_from_0_0= RULE_STRING )
// InternalMelange.g:1854:3: lv_from_0_0= RULE_STRING
{
lv_from_0_0=(Token)match(input,RULE_STRING,FOLLOW_30); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_from_0_0, grammarAccess.getPropertyMappingAccess().getFromSTRINGTerminalRuleCall_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getPropertyMappingRule());
}
setWithLastConsumed(
current,
"from",
lv_from_0_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
otherlv_1=(Token)match(input,38,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPropertyMappingAccess().getToKeyword_1());
}
// InternalMelange.g:1874:1: ( (lv_to_2_0= RULE_STRING ) )
// InternalMelange.g:1875:1: (lv_to_2_0= RULE_STRING )
{
// InternalMelange.g:1875:1: (lv_to_2_0= RULE_STRING )
// InternalMelange.g:1876:3: lv_to_2_0= RULE_STRING
{
lv_to_2_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_to_2_0, grammarAccess.getPropertyMappingAccess().getToSTRINGTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getPropertyMappingRule());
}
setWithLastConsumed(
current,
"to",
lv_to_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 "rulePropertyMapping"
// $ANTLR start "entryRuleOperator"
// InternalMelange.g:1900:1: entryRuleOperator returns [EObject current=null] : iv_ruleOperator= ruleOperator EOF ;
public final EObject entryRuleOperator() throws RecognitionException {
EObject current = null;
EObject iv_ruleOperator = null;
try {
// InternalMelange.g:1901:2: (iv_ruleOperator= ruleOperator EOF )
// InternalMelange.g:1902:2: iv_ruleOperator= ruleOperator EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorRule());
}
pushFollow(FOLLOW_1);
iv_ruleOperator=ruleOperator();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOperator;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOperator"
// $ANTLR start "ruleOperator"
// InternalMelange.g:1909:1: ruleOperator returns [EObject current=null] : (this_Import_0= ruleImport | this_Merge_1= ruleMerge | this_Slice_2= ruleSlice | this_Weave_3= ruleWeave ) ;
public final EObject ruleOperator() throws RecognitionException {
EObject current = null;
EObject this_Import_0 = null;
EObject this_Merge_1 = null;
EObject this_Slice_2 = null;
EObject this_Weave_3 = null;
enterRule();
try {
// InternalMelange.g:1912:28: ( (this_Import_0= ruleImport | this_Merge_1= ruleMerge | this_Slice_2= ruleSlice | this_Weave_3= ruleWeave ) )
// InternalMelange.g:1913:1: (this_Import_0= ruleImport | this_Merge_1= ruleMerge | this_Slice_2= ruleSlice | this_Weave_3= ruleWeave )
{
// InternalMelange.g:1913:1: (this_Import_0= ruleImport | this_Merge_1= ruleMerge | this_Slice_2= ruleSlice | this_Weave_3= ruleWeave )
int alt38=4;
switch ( input.LA(1) ) {
case 32:
{
alt38=1;
}
break;
case 41:
{
alt38=2;
}
break;
case 42:
{
alt38=3;
}
break;
case 46:
{
alt38=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 38, 0, input);
throw nvae;
}
switch (alt38) {
case 1 :
// InternalMelange.g:1914:5: this_Import_0= ruleImport
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorAccess().getImportParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_Import_0=ruleImport();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_Import_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalMelange.g:1924:5: this_Merge_1= ruleMerge
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorAccess().getMergeParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_Merge_1=ruleMerge();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_Merge_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalMelange.g:1934:5: this_Slice_2= ruleSlice
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorAccess().getSliceParserRuleCall_2());
}
pushFollow(FOLLOW_2);
this_Slice_2=ruleSlice();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_Slice_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalMelange.g:1944:5: this_Weave_3= ruleWeave
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorAccess().getWeaveParserRuleCall_3());
}
pushFollow(FOLLOW_2);
this_Weave_3=ruleWeave();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_Weave_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOperator"
// $ANTLR start "entryRuleImport"
// InternalMelange.g:1960:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ;
public final EObject entryRuleImport() throws RecognitionException {
EObject current = null;
EObject iv_ruleImport = null;
try {
// InternalMelange.g:1961:2: (iv_ruleImport= ruleImport EOF )
// InternalMelange.g:1962:2: iv_ruleImport= ruleImport EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getImportRule());
}
pushFollow(FOLLOW_1);
iv_ruleImport=ruleImport();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleImport;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleImport"
// $ANTLR start "ruleImport"
// InternalMelange.g:1969:1: ruleImport returns [EObject current=null] : (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )? ) ;
public final EObject ruleImport() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_ecoreUri_1_0=null;
Token otherlv_2=null;
Token lv_genmodelUris_3_0=null;
Token otherlv_4=null;
Token lv_genmodelUris_5_0=null;
Token otherlv_6=null;
Token otherlv_7=null;
Token otherlv_9=null;
EObject lv_mappingRules_8_0 = null;
enterRule();
try {
// InternalMelange.g:1972:28: ( (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )? ) )
// InternalMelange.g:1973:1: (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )? )
{
// InternalMelange.g:1973:1: (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )? )
// InternalMelange.g:1973:3: otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )?
{
otherlv_0=(Token)match(input,32,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getImportAccess().getSyntaxKeyword_0());
}
// InternalMelange.g:1977:1: ( (lv_ecoreUri_1_0= RULE_STRING ) )
// InternalMelange.g:1978:1: (lv_ecoreUri_1_0= RULE_STRING )
{
// InternalMelange.g:1978:1: (lv_ecoreUri_1_0= RULE_STRING )
// InternalMelange.g:1979:3: lv_ecoreUri_1_0= RULE_STRING
{
lv_ecoreUri_1_0=(Token)match(input,RULE_STRING,FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_ecoreUri_1_0, grammarAccess.getImportAccess().getEcoreUriSTRINGTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getImportRule());
}
setWithLastConsumed(
current,
"ecoreUri",
lv_ecoreUri_1_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:1995:2: (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )?
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==39) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// InternalMelange.g:1995:4: otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* )
{
otherlv_2=(Token)match(input,39,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getImportAccess().getWithGenmodelKeyword_2_0());
}
// InternalMelange.g:1999:1: ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* )
// InternalMelange.g:1999:2: ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )*
{
// InternalMelange.g:1999:2: ( (lv_genmodelUris_3_0= RULE_STRING ) )
// InternalMelange.g:2000:1: (lv_genmodelUris_3_0= RULE_STRING )
{
// InternalMelange.g:2000:1: (lv_genmodelUris_3_0= RULE_STRING )
// InternalMelange.g:2001:3: lv_genmodelUris_3_0= RULE_STRING
{
lv_genmodelUris_3_0=(Token)match(input,RULE_STRING,FOLLOW_34); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_genmodelUris_3_0, grammarAccess.getImportAccess().getGenmodelUrisSTRINGTerminalRuleCall_2_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getImportRule());
}
addWithLastConsumed(
current,
"genmodelUris",
lv_genmodelUris_3_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:2017:2: (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )*
loop39:
do {
int alt39=2;
int LA39_0 = input.LA(1);
if ( (LA39_0==17) ) {
alt39=1;
}
switch (alt39) {
case 1 :
// InternalMelange.g:2017:4: otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) )
{
otherlv_4=(Token)match(input,17,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getImportAccess().getCommaKeyword_2_1_1_0());
}
// InternalMelange.g:2021:1: ( (lv_genmodelUris_5_0= RULE_STRING ) )
// InternalMelange.g:2022:1: (lv_genmodelUris_5_0= RULE_STRING )
{
// InternalMelange.g:2022:1: (lv_genmodelUris_5_0= RULE_STRING )
// InternalMelange.g:2023:3: lv_genmodelUris_5_0= RULE_STRING
{
lv_genmodelUris_5_0=(Token)match(input,RULE_STRING,FOLLOW_34); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_genmodelUris_5_0, grammarAccess.getImportAccess().getGenmodelUrisSTRINGTerminalRuleCall_2_1_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getImportRule());
}
addWithLastConsumed(
current,
"genmodelUris",
lv_genmodelUris_5_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
default :
break loop39;
}
} while (true);
}
}
break;
}
// InternalMelange.g:2039:7: (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )?
int alt42=2;
int LA42_0 = input.LA(1);
if ( (LA42_0==40) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// InternalMelange.g:2039:9: otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}'
{
otherlv_6=(Token)match(input,40,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getImportAccess().getRenamingKeyword_3_0());
}
otherlv_7=(Token)match(input,20,FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getImportAccess().getLeftCurlyBracketKeyword_3_1());
}
// InternalMelange.g:2047:1: ( (lv_mappingRules_8_0= rulePackageMapping ) )*
loop41:
do {
int alt41=2;
int LA41_0 = input.LA(1);
if ( (LA41_0==RULE_STRING) ) {
alt41=1;
}
switch (alt41) {
case 1 :
// InternalMelange.g:2048:1: (lv_mappingRules_8_0= rulePackageMapping )
{
// InternalMelange.g:2048:1: (lv_mappingRules_8_0= rulePackageMapping )
// InternalMelange.g:2049:3: lv_mappingRules_8_0= rulePackageMapping
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getImportAccess().getMappingRulesPackageMappingParserRuleCall_3_2_0());
}
pushFollow(FOLLOW_31);
lv_mappingRules_8_0=rulePackageMapping();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getImportRule());
}
add(
current,
"mappingRules",
lv_mappingRules_8_0,
"fr.inria.diverse.melange.Melange.PackageMapping");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop41;
}
} while (true);
otherlv_9=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getImportAccess().getRightCurlyBracketKeyword_3_3());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleImport"
// $ANTLR start "entryRuleExternalImport"
// InternalMelange.g:2077:1: entryRuleExternalImport returns [EObject current=null] : iv_ruleExternalImport= ruleExternalImport EOF ;
public final EObject entryRuleExternalImport() throws RecognitionException {
EObject current = null;
EObject iv_ruleExternalImport = null;
try {
// InternalMelange.g:2078:2: (iv_ruleExternalImport= ruleExternalImport EOF )
// InternalMelange.g:2079:2: iv_ruleExternalImport= ruleExternalImport EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExternalImportRule());
}
pushFollow(FOLLOW_1);
iv_ruleExternalImport=ruleExternalImport();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleExternalImport;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExternalImport"
// $ANTLR start "ruleExternalImport"
// InternalMelange.g:2086:1: ruleExternalImport returns [EObject current=null] : (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? ) ;
public final EObject ruleExternalImport() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_ecoreUri_1_0=null;
Token otherlv_2=null;
Token lv_genmodelUris_3_0=null;
Token otherlv_4=null;
Token lv_genmodelUris_5_0=null;
enterRule();
try {
// InternalMelange.g:2089:28: ( (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? ) )
// InternalMelange.g:2090:1: (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? )
{
// InternalMelange.g:2090:1: (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? )
// InternalMelange.g:2090:3: otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )?
{
otherlv_0=(Token)match(input,32,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getExternalImportAccess().getSyntaxKeyword_0());
}
// InternalMelange.g:2094:1: ( (lv_ecoreUri_1_0= RULE_STRING ) )
// InternalMelange.g:2095:1: (lv_ecoreUri_1_0= RULE_STRING )
{
// InternalMelange.g:2095:1: (lv_ecoreUri_1_0= RULE_STRING )
// InternalMelange.g:2096:3: lv_ecoreUri_1_0= RULE_STRING
{
lv_ecoreUri_1_0=(Token)match(input,RULE_STRING,FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_ecoreUri_1_0, grammarAccess.getExternalImportAccess().getEcoreUriSTRINGTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalImportRule());
}
setWithLastConsumed(
current,
"ecoreUri",
lv_ecoreUri_1_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:2112:2: (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )?
int alt44=2;
int LA44_0 = input.LA(1);
if ( (LA44_0==39) ) {
alt44=1;
}
switch (alt44) {
case 1 :
// InternalMelange.g:2112:4: otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* )
{
otherlv_2=(Token)match(input,39,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getExternalImportAccess().getWithGenmodelKeyword_2_0());
}
// InternalMelange.g:2116:1: ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* )
// InternalMelange.g:2116:2: ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )*
{
// InternalMelange.g:2116:2: ( (lv_genmodelUris_3_0= RULE_STRING ) )
// InternalMelange.g:2117:1: (lv_genmodelUris_3_0= RULE_STRING )
{
// InternalMelange.g:2117:1: (lv_genmodelUris_3_0= RULE_STRING )
// InternalMelange.g:2118:3: lv_genmodelUris_3_0= RULE_STRING
{
lv_genmodelUris_3_0=(Token)match(input,RULE_STRING,FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_genmodelUris_3_0, grammarAccess.getExternalImportAccess().getGenmodelUrisSTRINGTerminalRuleCall_2_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalImportRule());
}
addWithLastConsumed(
current,
"genmodelUris",
lv_genmodelUris_3_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:2134:2: (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )*
loop43:
do {
int alt43=2;
int LA43_0 = input.LA(1);
if ( (LA43_0==17) ) {
alt43=1;
}
switch (alt43) {
case 1 :
// InternalMelange.g:2134:4: otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) )
{
otherlv_4=(Token)match(input,17,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getExternalImportAccess().getCommaKeyword_2_1_1_0());
}
// InternalMelange.g:2138:1: ( (lv_genmodelUris_5_0= RULE_STRING ) )
// InternalMelange.g:2139:1: (lv_genmodelUris_5_0= RULE_STRING )
{
// InternalMelange.g:2139:1: (lv_genmodelUris_5_0= RULE_STRING )
// InternalMelange.g:2140:3: lv_genmodelUris_5_0= RULE_STRING
{
lv_genmodelUris_5_0=(Token)match(input,RULE_STRING,FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_genmodelUris_5_0, grammarAccess.getExternalImportAccess().getGenmodelUrisSTRINGTerminalRuleCall_2_1_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExternalImportRule());
}
addWithLastConsumed(
current,
"genmodelUris",
lv_genmodelUris_5_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
default :
break loop43;
}
} while (true);
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExternalImport"
// $ANTLR start "entryRuleMerge"
// InternalMelange.g:2164:1: entryRuleMerge returns [EObject current=null] : iv_ruleMerge= ruleMerge EOF ;
public final EObject entryRuleMerge() throws RecognitionException {
EObject current = null;
EObject iv_ruleMerge = null;
try {
// InternalMelange.g:2165:2: (iv_ruleMerge= ruleMerge EOF )
// InternalMelange.g:2166:2: iv_ruleMerge= ruleMerge EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMergeRule());
}
pushFollow(FOLLOW_1);
iv_ruleMerge=ruleMerge();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMerge;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMerge"
// $ANTLR start "ruleMerge"
// InternalMelange.g:2173:1: ruleMerge returns [EObject current=null] : (otherlv_0= 'merge' ( ( ruleQualifiedName ) ) (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )? ) ;
public final EObject ruleMerge() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_mappingRules_4_0 = null;
enterRule();
try {
// InternalMelange.g:2176:28: ( (otherlv_0= 'merge' ( ( ruleQualifiedName ) ) (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )? ) )
// InternalMelange.g:2177:1: (otherlv_0= 'merge' ( ( ruleQualifiedName ) ) (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )? )
{
// InternalMelange.g:2177:1: (otherlv_0= 'merge' ( ( ruleQualifiedName ) ) (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )? )
// InternalMelange.g:2177:3: otherlv_0= 'merge' ( ( ruleQualifiedName ) ) (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )?
{
otherlv_0=(Token)match(input,41,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getMergeAccess().getMergeKeyword_0());
}
// InternalMelange.g:2181:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:2182:1: ( ruleQualifiedName )
{
// InternalMelange.g:2182:1: ( ruleQualifiedName )
// InternalMelange.g:2183:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMergeRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMergeAccess().getTargetLanguageLanguageCrossReference_1_0());
}
pushFollow(FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:2196:2: (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )?
int alt46=2;
int LA46_0 = input.LA(1);
if ( (LA46_0==40) ) {
alt46=1;
}
switch (alt46) {
case 1 :
// InternalMelange.g:2196:4: otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}'
{
otherlv_2=(Token)match(input,40,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getMergeAccess().getRenamingKeyword_2_0());
}
otherlv_3=(Token)match(input,20,FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getMergeAccess().getLeftCurlyBracketKeyword_2_1());
}
// InternalMelange.g:2204:1: ( (lv_mappingRules_4_0= rulePackageMapping ) )*
loop45:
do {
int alt45=2;
int LA45_0 = input.LA(1);
if ( (LA45_0==RULE_STRING) ) {
alt45=1;
}
switch (alt45) {
case 1 :
// InternalMelange.g:2205:1: (lv_mappingRules_4_0= rulePackageMapping )
{
// InternalMelange.g:2205:1: (lv_mappingRules_4_0= rulePackageMapping )
// InternalMelange.g:2206:3: lv_mappingRules_4_0= rulePackageMapping
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMergeAccess().getMappingRulesPackageMappingParserRuleCall_2_2_0());
}
pushFollow(FOLLOW_31);
lv_mappingRules_4_0=rulePackageMapping();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMergeRule());
}
add(
current,
"mappingRules",
lv_mappingRules_4_0,
"fr.inria.diverse.melange.Melange.PackageMapping");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop45;
}
} while (true);
otherlv_5=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getMergeAccess().getRightCurlyBracketKeyword_2_3());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMerge"
// $ANTLR start "entryRuleSlice"
// InternalMelange.g:2234:1: entryRuleSlice returns [EObject current=null] : iv_ruleSlice= ruleSlice EOF ;
public final EObject entryRuleSlice() throws RecognitionException {
EObject current = null;
EObject iv_ruleSlice = null;
try {
// InternalMelange.g:2235:2: (iv_ruleSlice= ruleSlice EOF )
// InternalMelange.g:2236:2: iv_ruleSlice= ruleSlice EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSliceRule());
}
pushFollow(FOLLOW_1);
iv_ruleSlice=ruleSlice();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSlice;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSlice"
// $ANTLR start "ruleSlice"
// InternalMelange.g:2243:1: ruleSlice returns [EObject current=null] : (otherlv_0= 'slice' ( ( ruleQualifiedName ) ) otherlv_2= 'on' otherlv_3= '[' ( (lv_roots_4_0= RULE_STRING ) ) (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )* otherlv_7= ']' (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )? ) ;
public final EObject ruleSlice() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_3=null;
Token lv_roots_4_0=null;
Token otherlv_5=null;
Token lv_roots_6_0=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_11=null;
EObject lv_mappingRules_10_0 = null;
enterRule();
try {
// InternalMelange.g:2246:28: ( (otherlv_0= 'slice' ( ( ruleQualifiedName ) ) otherlv_2= 'on' otherlv_3= '[' ( (lv_roots_4_0= RULE_STRING ) ) (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )* otherlv_7= ']' (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )? ) )
// InternalMelange.g:2247:1: (otherlv_0= 'slice' ( ( ruleQualifiedName ) ) otherlv_2= 'on' otherlv_3= '[' ( (lv_roots_4_0= RULE_STRING ) ) (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )* otherlv_7= ']' (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )? )
{
// InternalMelange.g:2247:1: (otherlv_0= 'slice' ( ( ruleQualifiedName ) ) otherlv_2= 'on' otherlv_3= '[' ( (lv_roots_4_0= RULE_STRING ) ) (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )* otherlv_7= ']' (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )? )
// InternalMelange.g:2247:3: otherlv_0= 'slice' ( ( ruleQualifiedName ) ) otherlv_2= 'on' otherlv_3= '[' ( (lv_roots_4_0= RULE_STRING ) ) (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )* otherlv_7= ']' (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )?
{
otherlv_0=(Token)match(input,42,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getSliceAccess().getSliceKeyword_0());
}
// InternalMelange.g:2251:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:2252:1: ( ruleQualifiedName )
{
// InternalMelange.g:2252:1: ( ruleQualifiedName )
// InternalMelange.g:2253:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSliceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSliceAccess().getTargetLanguageLanguageCrossReference_1_0());
}
pushFollow(FOLLOW_38);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,43,FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getSliceAccess().getOnKeyword_2());
}
otherlv_3=(Token)match(input,44,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getSliceAccess().getLeftSquareBracketKeyword_3());
}
// InternalMelange.g:2274:1: ( (lv_roots_4_0= RULE_STRING ) )
// InternalMelange.g:2275:1: (lv_roots_4_0= RULE_STRING )
{
// InternalMelange.g:2275:1: (lv_roots_4_0= RULE_STRING )
// InternalMelange.g:2276:3: lv_roots_4_0= RULE_STRING
{
lv_roots_4_0=(Token)match(input,RULE_STRING,FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_roots_4_0, grammarAccess.getSliceAccess().getRootsSTRINGTerminalRuleCall_4_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSliceRule());
}
addWithLastConsumed(
current,
"roots",
lv_roots_4_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
// InternalMelange.g:2292:2: (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )*
loop47:
do {
int alt47=2;
int LA47_0 = input.LA(1);
if ( (LA47_0==17) ) {
alt47=1;
}
switch (alt47) {
case 1 :
// InternalMelange.g:2292:4: otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) )
{
otherlv_5=(Token)match(input,17,FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getSliceAccess().getCommaKeyword_5_0());
}
// InternalMelange.g:2296:1: ( (lv_roots_6_0= RULE_STRING ) )
// InternalMelange.g:2297:1: (lv_roots_6_0= RULE_STRING )
{
// InternalMelange.g:2297:1: (lv_roots_6_0= RULE_STRING )
// InternalMelange.g:2298:3: lv_roots_6_0= RULE_STRING
{
lv_roots_6_0=(Token)match(input,RULE_STRING,FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_roots_6_0, grammarAccess.getSliceAccess().getRootsSTRINGTerminalRuleCall_5_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSliceRule());
}
addWithLastConsumed(
current,
"roots",
lv_roots_6_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
break;
default :
break loop47;
}
} while (true);
otherlv_7=(Token)match(input,45,FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getSliceAccess().getRightSquareBracketKeyword_6());
}
// InternalMelange.g:2318:1: (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )?
int alt49=2;
int LA49_0 = input.LA(1);
if ( (LA49_0==40) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// InternalMelange.g:2318:3: otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}'
{
otherlv_8=(Token)match(input,40,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getSliceAccess().getRenamingKeyword_7_0());
}
otherlv_9=(Token)match(input,20,FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getSliceAccess().getLeftCurlyBracketKeyword_7_1());
}
// InternalMelange.g:2326:1: ( (lv_mappingRules_10_0= rulePackageMapping ) )*
loop48:
do {
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0==RULE_STRING) ) {
alt48=1;
}
switch (alt48) {
case 1 :
// InternalMelange.g:2327:1: (lv_mappingRules_10_0= rulePackageMapping )
{
// InternalMelange.g:2327:1: (lv_mappingRules_10_0= rulePackageMapping )
// InternalMelange.g:2328:3: lv_mappingRules_10_0= rulePackageMapping
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSliceAccess().getMappingRulesPackageMappingParserRuleCall_7_2_0());
}
pushFollow(FOLLOW_31);
lv_mappingRules_10_0=rulePackageMapping();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSliceRule());
}
add(
current,
"mappingRules",
lv_mappingRules_10_0,
"fr.inria.diverse.melange.Melange.PackageMapping");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop48;
}
} while (true);
otherlv_11=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getSliceAccess().getRightCurlyBracketKeyword_7_3());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSlice"
// $ANTLR start "entryRuleInherit"
// InternalMelange.g:2356:1: entryRuleInherit returns [EObject current=null] : iv_ruleInherit= ruleInherit EOF ;
public final EObject entryRuleInherit() throws RecognitionException {
EObject current = null;
EObject iv_ruleInherit = null;
try {
// InternalMelange.g:2357:2: (iv_ruleInherit= ruleInherit EOF )
// InternalMelange.g:2358:2: iv_ruleInherit= ruleInherit EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInheritRule());
}
pushFollow(FOLLOW_1);
iv_ruleInherit=ruleInherit();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleInherit;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInherit"
// $ANTLR start "ruleInherit"
// InternalMelange.g:2365:1: ruleInherit returns [EObject current=null] : ( ( ruleQualifiedName ) ) ;
public final EObject ruleInherit() throws RecognitionException {
EObject current = null;
enterRule();
try {
// InternalMelange.g:2368:28: ( ( ( ruleQualifiedName ) ) )
// InternalMelange.g:2369:1: ( ( ruleQualifiedName ) )
{
// InternalMelange.g:2369:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:2370:1: ( ruleQualifiedName )
{
// InternalMelange.g:2370:1: ( ruleQualifiedName )
// InternalMelange.g:2371:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getInheritRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInheritAccess().getTargetLanguageLanguageCrossReference_0());
}
pushFollow(FOLLOW_2);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInherit"
// $ANTLR start "entryRuleWeave"
// InternalMelange.g:2392:1: entryRuleWeave returns [EObject current=null] : iv_ruleWeave= ruleWeave EOF ;
public final EObject entryRuleWeave() throws RecognitionException {
EObject current = null;
EObject iv_ruleWeave = null;
try {
// InternalMelange.g:2393:2: (iv_ruleWeave= ruleWeave EOF )
// InternalMelange.g:2394:2: iv_ruleWeave= ruleWeave EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWeaveRule());
}
pushFollow(FOLLOW_1);
iv_ruleWeave=ruleWeave();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleWeave;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleWeave"
// $ANTLR start "ruleWeave"
// InternalMelange.g:2401:1: ruleWeave returns [EObject current=null] : (this_AspectTypeRef_0= ruleAspectTypeRef | this_AspectWildcard_1= ruleAspectWildcard ) ;
public final EObject ruleWeave() throws RecognitionException {
EObject current = null;
EObject this_AspectTypeRef_0 = null;
EObject this_AspectWildcard_1 = null;
enterRule();
try {
// InternalMelange.g:2404:28: ( (this_AspectTypeRef_0= ruleAspectTypeRef | this_AspectWildcard_1= ruleAspectWildcard ) )
// InternalMelange.g:2405:1: (this_AspectTypeRef_0= ruleAspectTypeRef | this_AspectWildcard_1= ruleAspectWildcard )
{
// InternalMelange.g:2405:1: (this_AspectTypeRef_0= ruleAspectTypeRef | this_AspectWildcard_1= ruleAspectWildcard )
int alt50=2;
alt50 = dfa50.predict(input);
switch (alt50) {
case 1 :
// InternalMelange.g:2406:5: this_AspectTypeRef_0= ruleAspectTypeRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWeaveAccess().getAspectTypeRefParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_AspectTypeRef_0=ruleAspectTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AspectTypeRef_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalMelange.g:2416:5: this_AspectWildcard_1= ruleAspectWildcard
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWeaveAccess().getAspectWildcardParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_AspectWildcard_1=ruleAspectWildcard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AspectWildcard_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleWeave"
// $ANTLR start "entryRuleAspectTypeRef"
// InternalMelange.g:2432:1: entryRuleAspectTypeRef returns [EObject current=null] : iv_ruleAspectTypeRef= ruleAspectTypeRef EOF ;
public final EObject entryRuleAspectTypeRef() throws RecognitionException {
EObject current = null;
EObject iv_ruleAspectTypeRef = null;
try {
// InternalMelange.g:2433:2: (iv_ruleAspectTypeRef= ruleAspectTypeRef EOF )
// InternalMelange.g:2434:2: iv_ruleAspectTypeRef= ruleAspectTypeRef EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAspectTypeRefRule());
}
pushFollow(FOLLOW_1);
iv_ruleAspectTypeRef=ruleAspectTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAspectTypeRef;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAspectTypeRef"
// $ANTLR start "ruleAspectTypeRef"
// InternalMelange.g:2441:1: ruleAspectTypeRef returns [EObject current=null] : (otherlv_0= 'with' ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleAspectTypeRef() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_aspectTypeRef_1_0 = null;
enterRule();
try {
// InternalMelange.g:2444:28: ( (otherlv_0= 'with' ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) ) ) )
// InternalMelange.g:2445:1: (otherlv_0= 'with' ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) ) )
{
// InternalMelange.g:2445:1: (otherlv_0= 'with' ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) ) )
// InternalMelange.g:2445:3: otherlv_0= 'with' ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,46,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getAspectTypeRefAccess().getWithKeyword_0());
}
// InternalMelange.g:2449:1: ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) )
// InternalMelange.g:2450:1: (lv_aspectTypeRef_1_0= ruleJvmTypeReference )
{
// InternalMelange.g:2450:1: (lv_aspectTypeRef_1_0= ruleJvmTypeReference )
// InternalMelange.g:2451:3: lv_aspectTypeRef_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAspectTypeRefAccess().getAspectTypeRefJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FOLLOW_2);
lv_aspectTypeRef_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAspectTypeRefRule());
}
set(
current,
"aspectTypeRef",
lv_aspectTypeRef_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 "ruleAspectTypeRef"
// $ANTLR start "entryRuleAspectWildcard"
// InternalMelange.g:2475:1: entryRuleAspectWildcard returns [EObject current=null] : iv_ruleAspectWildcard= ruleAspectWildcard EOF ;
public final EObject entryRuleAspectWildcard() throws RecognitionException {
EObject current = null;
EObject iv_ruleAspectWildcard = null;
try {
// InternalMelange.g:2476:2: (iv_ruleAspectWildcard= ruleAspectWildcard EOF )
// InternalMelange.g:2477:2: iv_ruleAspectWildcard= ruleAspectWildcard EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAspectWildcardRule());
}
pushFollow(FOLLOW_1);
iv_ruleAspectWildcard=ruleAspectWildcard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAspectWildcard;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAspectWildcard"
// $ANTLR start "ruleAspectWildcard"
// InternalMelange.g:2484:1: ruleAspectWildcard returns [EObject current=null] : (otherlv_0= 'with' ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) ) ) ;
public final EObject ruleAspectWildcard() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
AntlrDatatypeRuleToken lv_aspectWildcardImport_1_0 = null;
enterRule();
try {
// InternalMelange.g:2487:28: ( (otherlv_0= 'with' ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) ) ) )
// InternalMelange.g:2488:1: (otherlv_0= 'with' ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) ) )
{
// InternalMelange.g:2488:1: (otherlv_0= 'with' ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) ) )
// InternalMelange.g:2488:3: otherlv_0= 'with' ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) )
{
otherlv_0=(Token)match(input,46,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getAspectWildcardAccess().getWithKeyword_0());
}
// InternalMelange.g:2492:1: ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) )
// InternalMelange.g:2493:1: (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard )
{
// InternalMelange.g:2493:1: (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard )
// InternalMelange.g:2494:3: lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAspectWildcardAccess().getAspectWildcardImportQualifiedNameWithWildcardParserRuleCall_1_0());
}
pushFollow(FOLLOW_2);
lv_aspectWildcardImport_1_0=ruleQualifiedNameWithWildcard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAspectWildcardRule());
}
set(
current,
"aspectWildcardImport",
lv_aspectWildcardImport_1_0,
"org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAspectWildcard"
// $ANTLR start "entryRuleXExpression"
// InternalMelange.g:2518:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ;
public final EObject entryRuleXExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXExpression = null;
try {
// InternalMelange.g:2519:2: (iv_ruleXExpression= ruleXExpression EOF )
// InternalMelange.g:2520:2: iv_ruleXExpression= ruleXExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXExpression=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXExpression"
// $ANTLR start "ruleXExpression"
// InternalMelange.g:2527: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 {
// InternalMelange.g:2530:28: (this_XAssignment_0= ruleXAssignment )
// InternalMelange.g:2532:5: this_XAssignment_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall());
}
pushFollow(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"
// InternalMelange.g:2548:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ;
public final EObject entryRuleXAssignment() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAssignment = null;
try {
// InternalMelange.g:2549:2: (iv_ruleXAssignment= ruleXAssignment EOF )
// InternalMelange.g:2550:2: iv_ruleXAssignment= ruleXAssignment EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentRule());
}
pushFollow(FOLLOW_1);
iv_ruleXAssignment=ruleXAssignment();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAssignment;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAssignment"
// $ANTLR start "ruleXAssignment"
// InternalMelange.g:2557: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 {
// InternalMelange.g:2560:28: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) )
// InternalMelange.g:2561:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
{
// InternalMelange.g:2561:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
int alt52=2;
switch ( input.LA(1) ) {
case RULE_ID:
{
int LA52_1 = input.LA(2);
if ( (LA52_1==47) ) {
alt52=1;
}
else if ( (LA52_1==EOF||(LA52_1>=RULE_STRING && LA52_1<=RULE_ID)||LA52_1==17||LA52_1==20||LA52_1==30||(LA52_1>=35 && LA52_1<=36)||(LA52_1>=44 && LA52_1<=45)||(LA52_1>=48 && LA52_1<=82)||(LA52_1>=84 && LA52_1<=111)) ) {
alt52=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 52, 1, input);
throw nvae;
}
}
break;
case 96:
{
int LA52_2 = input.LA(2);
if ( (LA52_2==47) ) {
alt52=1;
}
else if ( (LA52_2==EOF||(LA52_2>=RULE_STRING && LA52_2<=RULE_ID)||LA52_2==17||LA52_2==20||LA52_2==30||(LA52_2>=35 && LA52_2<=36)||(LA52_2>=44 && LA52_2<=45)||(LA52_2>=48 && LA52_2<=82)||(LA52_2>=84 && LA52_2<=111)) ) {
alt52=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 52, 2, input);
throw nvae;
}
}
break;
case 97:
{
int LA52_3 = input.LA(2);
if ( (LA52_3==47) ) {
alt52=1;
}
else if ( (LA52_3==EOF||(LA52_3>=RULE_STRING && LA52_3<=RULE_ID)||LA52_3==17||LA52_3==20||LA52_3==30||(LA52_3>=35 && LA52_3<=36)||(LA52_3>=44 && LA52_3<=45)||(LA52_3>=48 && LA52_3<=82)||(LA52_3>=84 && LA52_3<=111)) ) {
alt52=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 52, 3, input);
throw nvae;
}
}
break;
case 98:
{
int LA52_4 = input.LA(2);
if ( (LA52_4==47) ) {
alt52=1;
}
else if ( (LA52_4==EOF||(LA52_4>=RULE_STRING && LA52_4<=RULE_ID)||LA52_4==17||LA52_4==20||LA52_4==30||(LA52_4>=35 && LA52_4<=36)||(LA52_4>=44 && LA52_4<=45)||(LA52_4>=48 && LA52_4<=82)||(LA52_4>=84 && LA52_4<=111)) ) {
alt52=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 52, 4, input);
throw nvae;
}
}
break;
case 99:
{
int LA52_5 = input.LA(2);
if ( (LA52_5==47) ) {
alt52=1;
}
else if ( (LA52_5==EOF||(LA52_5>=RULE_STRING && LA52_5<=RULE_ID)||LA52_5==17||LA52_5==20||LA52_5==30||(LA52_5>=35 && LA52_5<=36)||(LA52_5>=44 && LA52_5<=45)||(LA52_5>=48 && LA52_5<=82)||(LA52_5>=84 && LA52_5<=111)) ) {
alt52=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 52, 5, input);
throw nvae;
}
}
break;
case RULE_STRING:
case RULE_HEX:
case RULE_INT:
case RULE_DECIMAL:
case 20:
case 35:
case 44:
case 53:
case 69:
case 70:
case 75:
case 82:
case 85:
case 87:
case 91:
case 92:
case 93:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 106:
case 107:
case 108:
case 110:
{
alt52=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 52, 0, input);
throw nvae;
}
switch (alt52) {
case 1 :
// InternalMelange.g:2561:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
{
// InternalMelange.g:2561:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
// InternalMelange.g:2561:3: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) )
{
// InternalMelange.g:2561:3: ()
// InternalMelange.g:2562:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(),
current);
}
}
// InternalMelange.g:2567:2: ( ( ruleFeatureCallID ) )
// InternalMelange.g:2568:1: ( ruleFeatureCallID )
{
// InternalMelange.g:2568:1: ( ruleFeatureCallID )
// InternalMelange.g:2569: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(FOLLOW_41);
ruleFeatureCallID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2());
}
pushFollow(FOLLOW_42);
ruleOpSingleAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
// InternalMelange.g:2590:1: ( (lv_value_3_0= ruleXAssignment ) )
// InternalMelange.g:2591:1: (lv_value_3_0= ruleXAssignment )
{
// InternalMelange.g:2591:1: (lv_value_3_0= ruleXAssignment )
// InternalMelange.g:2592:3: lv_value_3_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0());
}
pushFollow(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 :
// InternalMelange.g:2609:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
{
// InternalMelange.g:2609:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
// InternalMelange.g:2610:5: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0());
}
pushFollow(FOLLOW_43);
this_XOrExpression_4=ruleXOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XOrExpression_4;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:2618:1: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
int alt51=2;
alt51 = dfa51.predict(input);
switch (alt51) {
case 1 :
// InternalMelange.g:2618:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) )
{
// InternalMelange.g:2618:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) )
// InternalMelange.g:2618:3: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) )
{
// InternalMelange.g:2623:6: ( () ( ( ruleOpMultiAssign ) ) )
// InternalMelange.g:2623:7: () ( ( ruleOpMultiAssign ) )
{
// InternalMelange.g:2623:7: ()
// InternalMelange.g:2624:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
current);
}
}
// InternalMelange.g:2629:2: ( ( ruleOpMultiAssign ) )
// InternalMelange.g:2630:1: ( ruleOpMultiAssign )
{
// InternalMelange.g:2630:1: ( ruleOpMultiAssign )
// InternalMelange.g:2631: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(FOLLOW_42);
ruleOpMultiAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalMelange.g:2644:4: ( (lv_rightOperand_7_0= ruleXAssignment ) )
// InternalMelange.g:2645:1: (lv_rightOperand_7_0= ruleXAssignment )
{
// InternalMelange.g:2645:1: (lv_rightOperand_7_0= ruleXAssignment )
// InternalMelange.g:2646:3: lv_rightOperand_7_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0());
}
pushFollow(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"
// InternalMelange.g:2670:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ;
public final String entryRuleOpSingleAssign() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpSingleAssign = null;
try {
// InternalMelange.g:2671:2: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF )
// InternalMelange.g:2672:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpSingleAssignRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpSingleAssign=ruleOpSingleAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpSingleAssign.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpSingleAssign"
// $ANTLR start "ruleOpSingleAssign"
// InternalMelange.g:2679:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ;
public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalMelange.g:2682:28: (kw= '=' )
// InternalMelange.g:2684:2: kw= '='
{
kw=(Token)match(input,47,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"
// InternalMelange.g:2697:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ;
public final String entryRuleOpMultiAssign() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpMultiAssign = null;
try {
// InternalMelange.g:2698:2: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF )
// InternalMelange.g:2699:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpMultiAssignRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpMultiAssign=ruleOpMultiAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpMultiAssign.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpMultiAssign"
// $ANTLR start "ruleOpMultiAssign"
// InternalMelange.g:2706: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 {
// InternalMelange.g:2709:28: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) )
// InternalMelange.g:2710:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
{
// InternalMelange.g:2710:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
int alt54=7;
switch ( input.LA(1) ) {
case 48:
{
alt54=1;
}
break;
case 49:
{
alt54=2;
}
break;
case 50:
{
alt54=3;
}
break;
case 51:
{
alt54=4;
}
break;
case 52:
{
alt54=5;
}
break;
case 53:
{
alt54=6;
}
break;
case 54:
{
alt54=7;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 54, 0, input);
throw nvae;
}
switch (alt54) {
case 1 :
// InternalMelange.g:2711:2: kw= '+='
{
kw=(Token)match(input,48,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0());
}
}
break;
case 2 :
// InternalMelange.g:2718:2: kw= '-='
{
kw=(Token)match(input,49,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1());
}
}
break;
case 3 :
// InternalMelange.g:2725:2: kw= '*='
{
kw=(Token)match(input,50,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2());
}
}
break;
case 4 :
// InternalMelange.g:2732:2: kw= '/='
{
kw=(Token)match(input,51,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3());
}
}
break;
case 5 :
// InternalMelange.g:2739:2: kw= '%='
{
kw=(Token)match(input,52,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4());
}
}
break;
case 6 :
// InternalMelange.g:2745:6: (kw= '<' kw= '<' kw= '=' )
{
// InternalMelange.g:2745:6: (kw= '<' kw= '<' kw= '=' )
// InternalMelange.g:2746:2: kw= '<' kw= '<' kw= '='
{
kw=(Token)match(input,53,FOLLOW_44); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0());
}
kw=(Token)match(input,53,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1());
}
kw=(Token)match(input,47,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2());
}
}
}
break;
case 7 :
// InternalMelange.g:2764:6: (kw= '>' (kw= '>' )? kw= '>=' )
{
// InternalMelange.g:2764:6: (kw= '>' (kw= '>' )? kw= '>=' )
// InternalMelange.g:2765:2: kw= '>' (kw= '>' )? kw= '>='
{
kw=(Token)match(input,54,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0());
}
// InternalMelange.g:2770:1: (kw= '>' )?
int alt53=2;
int LA53_0 = input.LA(1);
if ( (LA53_0==54) ) {
alt53=1;
}
switch (alt53) {
case 1 :
// InternalMelange.g:2771:2: kw= '>'
{
kw=(Token)match(input,54,FOLLOW_46); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1());
}
}
break;
}
kw=(Token)match(input,55,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"
// InternalMelange.g:2790:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ;
public final EObject entryRuleXOrExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXOrExpression = null;
try {
// InternalMelange.g:2791:2: (iv_ruleXOrExpression= ruleXOrExpression EOF )
// InternalMelange.g:2792:2: iv_ruleXOrExpression= ruleXOrExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOrExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXOrExpression=ruleXOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXOrExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXOrExpression"
// $ANTLR start "ruleXOrExpression"
// InternalMelange.g:2799: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 {
// InternalMelange.g:2802:28: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) )
// InternalMelange.g:2803:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
{
// InternalMelange.g:2803:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
// InternalMelange.g:2804:5: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_47);
this_XAndExpression_0=ruleXAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAndExpression_0;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:2812:1: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
loop55:
do {
int alt55=2;
int LA55_0 = input.LA(1);
if ( (LA55_0==56) ) {
int LA55_2 = input.LA(2);
if ( (synpred6_InternalMelange()) ) {
alt55=1;
}
}
switch (alt55) {
case 1 :
// InternalMelange.g:2812:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) )
{
// InternalMelange.g:2812:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) )
// InternalMelange.g:2812:3: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) )
{
// InternalMelange.g:2817:6: ( () ( ( ruleOpOr ) ) )
// InternalMelange.g:2817:7: () ( ( ruleOpOr ) )
{
// InternalMelange.g:2817:7: ()
// InternalMelange.g:2818:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalMelange.g:2823:2: ( ( ruleOpOr ) )
// InternalMelange.g:2824:1: ( ruleOpOr )
{
// InternalMelange.g:2824:1: ( ruleOpOr )
// InternalMelange.g:2825: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(FOLLOW_42);
ruleOpOr();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalMelange.g:2838:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) )
// InternalMelange.g:2839:1: (lv_rightOperand_3_0= ruleXAndExpression )
{
// InternalMelange.g:2839:1: (lv_rightOperand_3_0= ruleXAndExpression )
// InternalMelange.g:2840:3: lv_rightOperand_3_0= ruleXAndExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_47);
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 loop55;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXOrExpression"
// $ANTLR start "entryRuleOpOr"
// InternalMelange.g:2864:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ;
public final String entryRuleOpOr() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpOr = null;
try {
// InternalMelange.g:2865:2: (iv_ruleOpOr= ruleOpOr EOF )
// InternalMelange.g:2866:2: iv_ruleOpOr= ruleOpOr EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpOrRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpOr=ruleOpOr();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpOr.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpOr"
// $ANTLR start "ruleOpOr"
// InternalMelange.g:2873:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ;
public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalMelange.g:2876:28: (kw= '||' )
// InternalMelange.g:2878:2: kw= '||'
{
kw=(Token)match(input,56,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"
// InternalMelange.g:2891:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ;
public final EObject entryRuleXAndExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAndExpression = null;
try {
// InternalMelange.g:2892:2: (iv_ruleXAndExpression= ruleXAndExpression EOF )
// InternalMelange.g:2893:2: iv_ruleXAndExpression= ruleXAndExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAndExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXAndExpression=ruleXAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAndExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAndExpression"
// $ANTLR start "ruleXAndExpression"
// InternalMelange.g:2900: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 {
// InternalMelange.g:2903:28: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) )
// InternalMelange.g:2904:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
{
// InternalMelange.g:2904:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
// InternalMelange.g:2905:5: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_48);
this_XEqualityExpression_0=ruleXEqualityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XEqualityExpression_0;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:2913:1: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
loop56:
do {
int alt56=2;
int LA56_0 = input.LA(1);
if ( (LA56_0==57) ) {
int LA56_2 = input.LA(2);
if ( (synpred7_InternalMelange()) ) {
alt56=1;
}
}
switch (alt56) {
case 1 :
// InternalMelange.g:2913:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
{
// InternalMelange.g:2913:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) )
// InternalMelange.g:2913:3: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) )
{
// InternalMelange.g:2918:6: ( () ( ( ruleOpAnd ) ) )
// InternalMelange.g:2918:7: () ( ( ruleOpAnd ) )
{
// InternalMelange.g:2918:7: ()
// InternalMelange.g:2919:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalMelange.g:2924:2: ( ( ruleOpAnd ) )
// InternalMelange.g:2925:1: ( ruleOpAnd )
{
// InternalMelange.g:2925:1: ( ruleOpAnd )
// InternalMelange.g:2926: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(FOLLOW_42);
ruleOpAnd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalMelange.g:2939:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
// InternalMelange.g:2940:1: (lv_rightOperand_3_0= ruleXEqualityExpression )
{
// InternalMelange.g:2940:1: (lv_rightOperand_3_0= ruleXEqualityExpression )
// InternalMelange.g:2941:3: lv_rightOperand_3_0= ruleXEqualityExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_48);
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 loop56;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAndExpression"
// $ANTLR start "entryRuleOpAnd"
// InternalMelange.g:2965:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ;
public final String entryRuleOpAnd() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpAnd = null;
try {
// InternalMelange.g:2966:2: (iv_ruleOpAnd= ruleOpAnd EOF )
// InternalMelange.g:2967:2: iv_ruleOpAnd= ruleOpAnd EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpAndRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpAnd=ruleOpAnd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpAnd.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpAnd"
// $ANTLR start "ruleOpAnd"
// InternalMelange.g:2974:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ;
public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalMelange.g:2977:28: (kw= '&&' )
// InternalMelange.g:2979:2: kw= '&&'
{
kw=(Token)match(input,57,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"
// InternalMelange.g:2992:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ;
public final EObject entryRuleXEqualityExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXEqualityExpression = null;
try {
// InternalMelange.g:2993:2: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF )
// InternalMelange.g:2994:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEqualityExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXEqualityExpression=ruleXEqualityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXEqualityExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXEqualityExpression"
// $ANTLR start "ruleXEqualityExpression"
// InternalMelange.g:3001: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 {
// InternalMelange.g:3004:28: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) )
// InternalMelange.g:3005:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
{
// InternalMelange.g:3005:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
// InternalMelange.g:3006:5: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_49);
this_XRelationalExpression_0=ruleXRelationalExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XRelationalExpression_0;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:3014:1: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
loop57:
do {
int alt57=2;
switch ( input.LA(1) ) {
case 58:
{
int LA57_2 = input.LA(2);
if ( (synpred8_InternalMelange()) ) {
alt57=1;
}
}
break;
case 59:
{
int LA57_3 = input.LA(2);
if ( (synpred8_InternalMelange()) ) {
alt57=1;
}
}
break;
case 60:
{
int LA57_4 = input.LA(2);
if ( (synpred8_InternalMelange()) ) {
alt57=1;
}
}
break;
case 61:
{
int LA57_5 = input.LA(2);
if ( (synpred8_InternalMelange()) ) {
alt57=1;
}
}
break;
}
switch (alt57) {
case 1 :
// InternalMelange.g:3014:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
{
// InternalMelange.g:3014:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) )
// InternalMelange.g:3014:3: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) )
{
// InternalMelange.g:3019:6: ( () ( ( ruleOpEquality ) ) )
// InternalMelange.g:3019:7: () ( ( ruleOpEquality ) )
{
// InternalMelange.g:3019:7: ()
// InternalMelange.g:3020:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalMelange.g:3025:2: ( ( ruleOpEquality ) )
// InternalMelange.g:3026:1: ( ruleOpEquality )
{
// InternalMelange.g:3026:1: ( ruleOpEquality )
// InternalMelange.g:3027: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(FOLLOW_42);
ruleOpEquality();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalMelange.g:3040:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
// InternalMelange.g:3041:1: (lv_rightOperand_3_0= ruleXRelationalExpression )
{
// InternalMelange.g:3041:1: (lv_rightOperand_3_0= ruleXRelationalExpression )
// InternalMelange.g:3042:3: lv_rightOperand_3_0= ruleXRelationalExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_49);
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 loop57;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXEqualityExpression"
// $ANTLR start "entryRuleOpEquality"
// InternalMelange.g:3066:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ;
public final String entryRuleOpEquality() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpEquality = null;
try {
// InternalMelange.g:3067:2: (iv_ruleOpEquality= ruleOpEquality EOF )
// InternalMelange.g:3068:2: iv_ruleOpEquality= ruleOpEquality EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpEqualityRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpEquality=ruleOpEquality();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpEquality.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpEquality"
// $ANTLR start "ruleOpEquality"
// InternalMelange.g:3075: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 {
// InternalMelange.g:3078:28: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) )
// InternalMelange.g:3079:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
{
// InternalMelange.g:3079:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
int alt58=4;
switch ( input.LA(1) ) {
case 58:
{
alt58=1;
}
break;
case 59:
{
alt58=2;
}
break;
case 60:
{
alt58=3;
}
break;
case 61:
{
alt58=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 58, 0, input);
throw nvae;
}
switch (alt58) {
case 1 :
// InternalMelange.g:3080:2: kw= '=='
{
kw=(Token)match(input,58,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0());
}
}
break;
case 2 :
// InternalMelange.g:3087:2: kw= '!='
{
kw=(Token)match(input,59,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1());
}
}
break;
case 3 :
// InternalMelange.g:3094:2: kw= '==='
{
kw=(Token)match(input,60,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2());
}
}
break;
case 4 :
// InternalMelange.g:3101:2: kw= '!=='
{
kw=(Token)match(input,61,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"
// InternalMelange.g:3114:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ;
public final EObject entryRuleXRelationalExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXRelationalExpression = null;
try {
// InternalMelange.g:3115:2: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF )
// InternalMelange.g:3116:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXRelationalExpression=ruleXRelationalExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXRelationalExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXRelationalExpression"
// $ANTLR start "ruleXRelationalExpression"
// InternalMelange.g:3123: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 {
// InternalMelange.g:3126:28: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) )
// InternalMelange.g:3127:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
{
// InternalMelange.g:3127:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
// InternalMelange.g:3128: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(FOLLOW_50);
this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XOtherOperatorExpression_0;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:3136:1: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
loop59:
do {
int alt59=3;
switch ( input.LA(1) ) {
case 53:
{
int LA59_2 = input.LA(2);
if ( (synpred10_InternalMelange()) ) {
alt59=2;
}
}
break;
case 54:
{
int LA59_3 = input.LA(2);
if ( (synpred10_InternalMelange()) ) {
alt59=2;
}
}
break;
case 62:
{
int LA59_4 = input.LA(2);
if ( (synpred9_InternalMelange()) ) {
alt59=1;
}
}
break;
case 55:
{
int LA59_5 = input.LA(2);
if ( (synpred10_InternalMelange()) ) {
alt59=2;
}
}
break;
}
switch (alt59) {
case 1 :
// InternalMelange.g:3136:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
{
// InternalMelange.g:3136:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
// InternalMelange.g:3136:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
{
// InternalMelange.g:3136:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) )
// InternalMelange.g:3136:4: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' )
{
// InternalMelange.g:3138:5: ( () otherlv_2= 'instanceof' )
// InternalMelange.g:3138:6: () otherlv_2= 'instanceof'
{
// InternalMelange.g:3138:6: ()
// InternalMelange.g:3139:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(),
current);
}
}
otherlv_2=(Token)match(input,62,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1());
}
}
}
// InternalMelange.g:3148:3: ( (lv_type_3_0= ruleJvmTypeReference ) )
// InternalMelange.g:3149:1: (lv_type_3_0= ruleJvmTypeReference )
{
// InternalMelange.g:3149:1: (lv_type_3_0= ruleJvmTypeReference )
// InternalMelange.g:3150:3: lv_type_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0());
}
pushFollow(FOLLOW_50);
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 :
// InternalMelange.g:3167:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
{
// InternalMelange.g:3167:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
// InternalMelange.g:3167:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
{
// InternalMelange.g:3167:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) )
// InternalMelange.g:3167:8: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) )
{
// InternalMelange.g:3172:6: ( () ( ( ruleOpCompare ) ) )
// InternalMelange.g:3172:7: () ( ( ruleOpCompare ) )
{
// InternalMelange.g:3172:7: ()
// InternalMelange.g:3173:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
current);
}
}
// InternalMelange.g:3178:2: ( ( ruleOpCompare ) )
// InternalMelange.g:3179:1: ( ruleOpCompare )
{
// InternalMelange.g:3179:1: ( ruleOpCompare )
// InternalMelange.g:3180: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(FOLLOW_42);
ruleOpCompare();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalMelange.g:3193:4: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
// InternalMelange.g:3194:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
{
// InternalMelange.g:3194:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
// InternalMelange.g:3195:3: lv_rightOperand_6_0= ruleXOtherOperatorExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0());
}
pushFollow(FOLLOW_50);
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 loop59;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXRelationalExpression"
// $ANTLR start "entryRuleOpCompare"
// InternalMelange.g:3219:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ;
public final String entryRuleOpCompare() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpCompare = null;
try {
// InternalMelange.g:3220:2: (iv_ruleOpCompare= ruleOpCompare EOF )
// InternalMelange.g:3221:2: iv_ruleOpCompare= ruleOpCompare EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpCompareRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpCompare=ruleOpCompare();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpCompare.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpCompare"
// $ANTLR start "ruleOpCompare"
// InternalMelange.g:3228: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 {
// InternalMelange.g:3231:28: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) )
// InternalMelange.g:3232:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
{
// InternalMelange.g:3232:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
int alt60=4;
switch ( input.LA(1) ) {
case 55:
{
alt60=1;
}
break;
case 53:
{
int LA60_2 = input.LA(2);
if ( (LA60_2==EOF||(LA60_2>=RULE_STRING && LA60_2<=RULE_ID)||LA60_2==20||LA60_2==35||LA60_2==44||LA60_2==53||(LA60_2>=69 && LA60_2<=70)||LA60_2==75||LA60_2==82||LA60_2==85||LA60_2==87||(LA60_2>=91 && LA60_2<=93)||(LA60_2>=96 && LA60_2<=108)||LA60_2==110) ) {
alt60=4;
}
else if ( (LA60_2==47) ) {
alt60=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 60, 2, input);
throw nvae;
}
}
break;
case 54:
{
alt60=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 60, 0, input);
throw nvae;
}
switch (alt60) {
case 1 :
// InternalMelange.g:3233:2: kw= '>='
{
kw=(Token)match(input,55,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0());
}
}
break;
case 2 :
// InternalMelange.g:3239:6: (kw= '<' kw= '=' )
{
// InternalMelange.g:3239:6: (kw= '<' kw= '=' )
// InternalMelange.g:3240:2: kw= '<' kw= '='
{
kw=(Token)match(input,53,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0());
}
kw=(Token)match(input,47,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1());
}
}
}
break;
case 3 :
// InternalMelange.g:3253:2: kw= '>'
{
kw=(Token)match(input,54,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2());
}
}
break;
case 4 :
// InternalMelange.g:3260:2: kw= '<'
{
kw=(Token)match(input,53,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"
// InternalMelange.g:3273:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ;
public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXOtherOperatorExpression = null;
try {
// InternalMelange.g:3274:2: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF )
// InternalMelange.g:3275:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXOtherOperatorExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXOtherOperatorExpression"
// $ANTLR start "ruleXOtherOperatorExpression"
// InternalMelange.g:3282: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 {
// InternalMelange.g:3285:28: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) )
// InternalMelange.g:3286:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
{
// InternalMelange.g:3286:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
// InternalMelange.g:3287:5: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_51);
this_XAdditiveExpression_0=ruleXAdditiveExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAdditiveExpression_0;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:3295:1: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
loop61:
do {
int alt61=2;
alt61 = dfa61.predict(input);
switch (alt61) {
case 1 :
// InternalMelange.g:3295:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
{
// InternalMelange.g:3295:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) )
// InternalMelange.g:3295:3: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) )
{
// InternalMelange.g:3300:6: ( () ( ( ruleOpOther ) ) )
// InternalMelange.g:3300:7: () ( ( ruleOpOther ) )
{
// InternalMelange.g:3300:7: ()
// InternalMelange.g:3301:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalMelange.g:3306:2: ( ( ruleOpOther ) )
// InternalMelange.g:3307:1: ( ruleOpOther )
{
// InternalMelange.g:3307:1: ( ruleOpOther )
// InternalMelange.g:3308: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(FOLLOW_42);
ruleOpOther();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalMelange.g:3321:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
// InternalMelange.g:3322:1: (lv_rightOperand_3_0= ruleXAdditiveExpression )
{
// InternalMelange.g:3322:1: (lv_rightOperand_3_0= ruleXAdditiveExpression )
// InternalMelange.g:3323:3: lv_rightOperand_3_0= ruleXAdditiveExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_51);
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 loop61;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXOtherOperatorExpression"
// $ANTLR start "entryRuleOpOther"
// InternalMelange.g:3347:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ;
public final String entryRuleOpOther() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpOther = null;
try {
// InternalMelange.g:3348:2: (iv_ruleOpOther= ruleOpOther EOF )
// InternalMelange.g:3349:2: iv_ruleOpOther= ruleOpOther EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpOtherRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpOther=ruleOpOther();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpOther.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpOther"
// $ANTLR start "ruleOpOther"
// InternalMelange.g:3356: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 {
// InternalMelange.g:3359:28: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) )
// InternalMelange.g:3360:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
{
// InternalMelange.g:3360:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
int alt64=9;
alt64 = dfa64.predict(input);
switch (alt64) {
case 1 :
// InternalMelange.g:3361:2: kw= '->'
{
kw=(Token)match(input,63,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0());
}
}
break;
case 2 :
// InternalMelange.g:3368:2: kw= '..<'
{
kw=(Token)match(input,64,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1());
}
}
break;
case 3 :
// InternalMelange.g:3374:6: (kw= '>' kw= '..' )
{
// InternalMelange.g:3374:6: (kw= '>' kw= '..' )
// InternalMelange.g:3375:2: kw= '>' kw= '..'
{
kw=(Token)match(input,54,FOLLOW_52); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0());
}
kw=(Token)match(input,65,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1());
}
}
}
break;
case 4 :
// InternalMelange.g:3388:2: kw= '..'
{
kw=(Token)match(input,65,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3());
}
}
break;
case 5 :
// InternalMelange.g:3395:2: kw= '=>'
{
kw=(Token)match(input,66,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4());
}
}
break;
case 6 :
// InternalMelange.g:3401:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
{
// InternalMelange.g:3401:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
// InternalMelange.g:3402:2: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
{
kw=(Token)match(input,54,FOLLOW_53); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0());
}
// InternalMelange.g:3407:1: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
int alt62=2;
int LA62_0 = input.LA(1);
if ( (LA62_0==54) ) {
int LA62_1 = input.LA(2);
if ( (LA62_1==EOF||(LA62_1>=RULE_STRING && LA62_1<=RULE_ID)||LA62_1==20||LA62_1==35||LA62_1==44||LA62_1==53||(LA62_1>=69 && LA62_1<=70)||LA62_1==75||LA62_1==82||LA62_1==85||LA62_1==87||(LA62_1>=91 && LA62_1<=93)||(LA62_1>=96 && LA62_1<=108)||LA62_1==110) ) {
alt62=2;
}
else if ( (LA62_1==54) && (synpred12_InternalMelange())) {
alt62=1;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 62, 1, input);
throw nvae;
}
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 62, 0, input);
throw nvae;
}
switch (alt62) {
case 1 :
// InternalMelange.g:3407:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
{
// InternalMelange.g:3407:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
// InternalMelange.g:3407:3: ( ( '>' '>' ) )=> (kw= '>' kw= '>' )
{
// InternalMelange.g:3411:5: (kw= '>' kw= '>' )
// InternalMelange.g:3412:2: kw= '>' kw= '>'
{
kw=(Token)match(input,54,FOLLOW_53); 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,54,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 :
// InternalMelange.g:3425:2: kw= '>'
{
kw=(Token)match(input,54,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 :
// InternalMelange.g:3431:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
{
// InternalMelange.g:3431:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
// InternalMelange.g:3432:2: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
{
kw=(Token)match(input,53,FOLLOW_54); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0());
}
// InternalMelange.g:3437:1: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
int alt63=3;
int LA63_0 = input.LA(1);
if ( (LA63_0==53) ) {
int LA63_1 = input.LA(2);
if ( (synpred13_InternalMelange()) ) {
alt63=1;
}
else if ( (true) ) {
alt63=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 63, 1, input);
throw nvae;
}
}
else if ( (LA63_0==66) ) {
alt63=3;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 63, 0, input);
throw nvae;
}
switch (alt63) {
case 1 :
// InternalMelange.g:3437:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
{
// InternalMelange.g:3437:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
// InternalMelange.g:3437:3: ( ( '<' '<' ) )=> (kw= '<' kw= '<' )
{
// InternalMelange.g:3441:5: (kw= '<' kw= '<' )
// InternalMelange.g:3442:2: kw= '<' kw= '<'
{
kw=(Token)match(input,53,FOLLOW_44); 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,53,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 :
// InternalMelange.g:3455:2: kw= '<'
{
kw=(Token)match(input,53,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 :
// InternalMelange.g:3462:2: kw= '=>'
{
kw=(Token)match(input,66,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 :
// InternalMelange.g:3469:2: kw= '<>'
{
kw=(Token)match(input,67,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7());
}
}
break;
case 9 :
// InternalMelange.g:3476:2: kw= '?:'
{
kw=(Token)match(input,68,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"
// InternalMelange.g:3489:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ;
public final EObject entryRuleXAdditiveExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAdditiveExpression = null;
try {
// InternalMelange.g:3490:2: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF )
// InternalMelange.g:3491:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAdditiveExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXAdditiveExpression=ruleXAdditiveExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAdditiveExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAdditiveExpression"
// $ANTLR start "ruleXAdditiveExpression"
// InternalMelange.g:3498: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 {
// InternalMelange.g:3501:28: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) )
// InternalMelange.g:3502:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
{
// InternalMelange.g:3502:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
// InternalMelange.g:3503:5: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_55);
this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XMultiplicativeExpression_0;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:3511:1: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
loop65:
do {
int alt65=2;
int LA65_0 = input.LA(1);
if ( (LA65_0==69) ) {
int LA65_2 = input.LA(2);
if ( (synpred14_InternalMelange()) ) {
alt65=1;
}
}
else if ( (LA65_0==70) ) {
int LA65_3 = input.LA(2);
if ( (synpred14_InternalMelange()) ) {
alt65=1;
}
}
switch (alt65) {
case 1 :
// InternalMelange.g:3511:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
{
// InternalMelange.g:3511:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) )
// InternalMelange.g:3511:3: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) )
{
// InternalMelange.g:3516:6: ( () ( ( ruleOpAdd ) ) )
// InternalMelange.g:3516:7: () ( ( ruleOpAdd ) )
{
// InternalMelange.g:3516:7: ()
// InternalMelange.g:3517:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalMelange.g:3522:2: ( ( ruleOpAdd ) )
// InternalMelange.g:3523:1: ( ruleOpAdd )
{
// InternalMelange.g:3523:1: ( ruleOpAdd )
// InternalMelange.g:3524: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(FOLLOW_42);
ruleOpAdd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalMelange.g:3537:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
// InternalMelange.g:3538:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
{
// InternalMelange.g:3538:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
// InternalMelange.g:3539:3: lv_rightOperand_3_0= ruleXMultiplicativeExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_55);
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 loop65;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAdditiveExpression"
// $ANTLR start "entryRuleOpAdd"
// InternalMelange.g:3563:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ;
public final String entryRuleOpAdd() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpAdd = null;
try {
// InternalMelange.g:3564:2: (iv_ruleOpAdd= ruleOpAdd EOF )
// InternalMelange.g:3565:2: iv_ruleOpAdd= ruleOpAdd EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpAddRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpAdd=ruleOpAdd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpAdd.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpAdd"
// $ANTLR start "ruleOpAdd"
// InternalMelange.g:3572:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ;
public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalMelange.g:3575:28: ( (kw= '+' | kw= '-' ) )
// InternalMelange.g:3576:1: (kw= '+' | kw= '-' )
{
// InternalMelange.g:3576:1: (kw= '+' | kw= '-' )
int alt66=2;
int LA66_0 = input.LA(1);
if ( (LA66_0==69) ) {
alt66=1;
}
else if ( (LA66_0==70) ) {
alt66=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 66, 0, input);
throw nvae;
}
switch (alt66) {
case 1 :
// InternalMelange.g:3577:2: kw= '+'
{
kw=(Token)match(input,69,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0());
}
}
break;
case 2 :
// InternalMelange.g:3584:2: kw= '-'
{
kw=(Token)match(input,70,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"
// InternalMelange.g:3597:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ;
public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXMultiplicativeExpression = null;
try {
// InternalMelange.g:3598:2: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF )
// InternalMelange.g:3599:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXMultiplicativeExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXMultiplicativeExpression"
// $ANTLR start "ruleXMultiplicativeExpression"
// InternalMelange.g:3606: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 {
// InternalMelange.g:3609:28: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) )
// InternalMelange.g:3610:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
{
// InternalMelange.g:3610:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
// InternalMelange.g:3611:5: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0());
}
pushFollow(FOLLOW_56);
this_XUnaryOperation_0=ruleXUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XUnaryOperation_0;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:3619:1: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
loop67:
do {
int alt67=2;
switch ( input.LA(1) ) {
case 71:
{
int LA67_2 = input.LA(2);
if ( (synpred15_InternalMelange()) ) {
alt67=1;
}
}
break;
case 72:
{
int LA67_3 = input.LA(2);
if ( (synpred15_InternalMelange()) ) {
alt67=1;
}
}
break;
case 73:
{
int LA67_4 = input.LA(2);
if ( (synpred15_InternalMelange()) ) {
alt67=1;
}
}
break;
case 74:
{
int LA67_5 = input.LA(2);
if ( (synpred15_InternalMelange()) ) {
alt67=1;
}
}
break;
}
switch (alt67) {
case 1 :
// InternalMelange.g:3619:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
{
// InternalMelange.g:3619:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) )
// InternalMelange.g:3619:3: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) )
{
// InternalMelange.g:3624:6: ( () ( ( ruleOpMulti ) ) )
// InternalMelange.g:3624:7: () ( ( ruleOpMulti ) )
{
// InternalMelange.g:3624:7: ()
// InternalMelange.g:3625:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalMelange.g:3630:2: ( ( ruleOpMulti ) )
// InternalMelange.g:3631:1: ( ruleOpMulti )
{
// InternalMelange.g:3631:1: ( ruleOpMulti )
// InternalMelange.g:3632: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(FOLLOW_42);
ruleOpMulti();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalMelange.g:3645:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
// InternalMelange.g:3646:1: (lv_rightOperand_3_0= ruleXUnaryOperation )
{
// InternalMelange.g:3646:1: (lv_rightOperand_3_0= ruleXUnaryOperation )
// InternalMelange.g:3647:3: lv_rightOperand_3_0= ruleXUnaryOperation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_56);
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 loop67;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXMultiplicativeExpression"
// $ANTLR start "entryRuleOpMulti"
// InternalMelange.g:3671:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ;
public final String entryRuleOpMulti() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpMulti = null;
try {
// InternalMelange.g:3672:2: (iv_ruleOpMulti= ruleOpMulti EOF )
// InternalMelange.g:3673:2: iv_ruleOpMulti= ruleOpMulti EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpMultiRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpMulti=ruleOpMulti();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpMulti.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpMulti"
// $ANTLR start "ruleOpMulti"
// InternalMelange.g:3680: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 {
// InternalMelange.g:3683:28: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) )
// InternalMelange.g:3684:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
{
// InternalMelange.g:3684:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
int alt68=4;
switch ( input.LA(1) ) {
case 71:
{
alt68=1;
}
break;
case 72:
{
alt68=2;
}
break;
case 73:
{
alt68=3;
}
break;
case 74:
{
alt68=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 68, 0, input);
throw nvae;
}
switch (alt68) {
case 1 :
// InternalMelange.g:3685:2: kw= '*'
{
kw=(Token)match(input,71,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0());
}
}
break;
case 2 :
// InternalMelange.g:3692:2: kw= '**'
{
kw=(Token)match(input,72,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1());
}
}
break;
case 3 :
// InternalMelange.g:3699:2: kw= '/'
{
kw=(Token)match(input,73,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2());
}
}
break;
case 4 :
// InternalMelange.g:3706:2: kw= '%'
{
kw=(Token)match(input,74,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"
// InternalMelange.g:3719:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ;
public final EObject entryRuleXUnaryOperation() throws RecognitionException {
EObject current = null;
EObject iv_ruleXUnaryOperation = null;
try {
// InternalMelange.g:3720:2: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF )
// InternalMelange.g:3721:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXUnaryOperationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXUnaryOperation=ruleXUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXUnaryOperation;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXUnaryOperation"
// $ANTLR start "ruleXUnaryOperation"
// InternalMelange.g:3728: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 {
// InternalMelange.g:3731:28: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) )
// InternalMelange.g:3732:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
{
// InternalMelange.g:3732:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
int alt69=2;
int LA69_0 = input.LA(1);
if ( ((LA69_0>=69 && LA69_0<=70)||LA69_0==75) ) {
alt69=1;
}
else if ( ((LA69_0>=RULE_STRING && LA69_0<=RULE_ID)||LA69_0==20||LA69_0==35||LA69_0==44||LA69_0==53||LA69_0==82||LA69_0==85||LA69_0==87||(LA69_0>=91 && LA69_0<=93)||(LA69_0>=96 && LA69_0<=108)||LA69_0==110) ) {
alt69=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 69, 0, input);
throw nvae;
}
switch (alt69) {
case 1 :
// InternalMelange.g:3732:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
{
// InternalMelange.g:3732:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
// InternalMelange.g:3732:3: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) )
{
// InternalMelange.g:3732:3: ()
// InternalMelange.g:3733:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(),
current);
}
}
// InternalMelange.g:3738:2: ( ( ruleOpUnary ) )
// InternalMelange.g:3739:1: ( ruleOpUnary )
{
// InternalMelange.g:3739:1: ( ruleOpUnary )
// InternalMelange.g:3740: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(FOLLOW_42);
ruleOpUnary();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:3753:2: ( (lv_operand_2_0= ruleXUnaryOperation ) )
// InternalMelange.g:3754:1: (lv_operand_2_0= ruleXUnaryOperation )
{
// InternalMelange.g:3754:1: (lv_operand_2_0= ruleXUnaryOperation )
// InternalMelange.g:3755:3: lv_operand_2_0= ruleXUnaryOperation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0());
}
pushFollow(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 :
// InternalMelange.g:3773:5: this_XCastedExpression_3= ruleXCastedExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1());
}
pushFollow(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"
// InternalMelange.g:3789:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ;
public final String entryRuleOpUnary() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpUnary = null;
try {
// InternalMelange.g:3790:2: (iv_ruleOpUnary= ruleOpUnary EOF )
// InternalMelange.g:3791:2: iv_ruleOpUnary= ruleOpUnary EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpUnaryRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpUnary=ruleOpUnary();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpUnary.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpUnary"
// $ANTLR start "ruleOpUnary"
// InternalMelange.g:3798: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 {
// InternalMelange.g:3801:28: ( (kw= '!' | kw= '-' | kw= '+' ) )
// InternalMelange.g:3802:1: (kw= '!' | kw= '-' | kw= '+' )
{
// InternalMelange.g:3802:1: (kw= '!' | kw= '-' | kw= '+' )
int alt70=3;
switch ( input.LA(1) ) {
case 75:
{
alt70=1;
}
break;
case 70:
{
alt70=2;
}
break;
case 69:
{
alt70=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 70, 0, input);
throw nvae;
}
switch (alt70) {
case 1 :
// InternalMelange.g:3803:2: kw= '!'
{
kw=(Token)match(input,75,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0());
}
}
break;
case 2 :
// InternalMelange.g:3810:2: kw= '-'
{
kw=(Token)match(input,70,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1());
}
}
break;
case 3 :
// InternalMelange.g:3817:2: kw= '+'
{
kw=(Token)match(input,69,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"
// InternalMelange.g:3830:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ;
public final EObject entryRuleXCastedExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCastedExpression = null;
try {
// InternalMelange.g:3831:2: (iv_ruleXCastedExpression= ruleXCastedExpression EOF )
// InternalMelange.g:3832:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCastedExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXCastedExpression=ruleXCastedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCastedExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCastedExpression"
// $ANTLR start "ruleXCastedExpression"
// InternalMelange.g:3839: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 {
// InternalMelange.g:3842:28: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) )
// InternalMelange.g:3843:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
{
// InternalMelange.g:3843:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
// InternalMelange.g:3844:5: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0());
}
pushFollow(FOLLOW_57);
this_XPostfixOperation_0=ruleXPostfixOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XPostfixOperation_0;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:3852:1: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
loop71:
do {
int alt71=2;
int LA71_0 = input.LA(1);
if ( (LA71_0==76) ) {
int LA71_2 = input.LA(2);
if ( (synpred16_InternalMelange()) ) {
alt71=1;
}
}
switch (alt71) {
case 1 :
// InternalMelange.g:3852:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
{
// InternalMelange.g:3852:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) )
// InternalMelange.g:3852:3: ( ( () 'as' ) )=> ( () otherlv_2= 'as' )
{
// InternalMelange.g:3854:5: ( () otherlv_2= 'as' )
// InternalMelange.g:3854:6: () otherlv_2= 'as'
{
// InternalMelange.g:3854:6: ()
// InternalMelange.g:3855:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(),
current);
}
}
otherlv_2=(Token)match(input,76,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1());
}
}
}
// InternalMelange.g:3864:3: ( (lv_type_3_0= ruleJvmTypeReference ) )
// InternalMelange.g:3865:1: (lv_type_3_0= ruleJvmTypeReference )
{
// InternalMelange.g:3865:1: (lv_type_3_0= ruleJvmTypeReference )
// InternalMelange.g:3866:3: lv_type_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_57);
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 loop71;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXCastedExpression"
// $ANTLR start "entryRuleXPostfixOperation"
// InternalMelange.g:3890:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ;
public final EObject entryRuleXPostfixOperation() throws RecognitionException {
EObject current = null;
EObject iv_ruleXPostfixOperation = null;
try {
// InternalMelange.g:3891:2: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF )
// InternalMelange.g:3892:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPostfixOperationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXPostfixOperation=ruleXPostfixOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXPostfixOperation;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXPostfixOperation"
// $ANTLR start "ruleXPostfixOperation"
// InternalMelange.g:3899: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 {
// InternalMelange.g:3902:28: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) )
// InternalMelange.g:3903:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
{
// InternalMelange.g:3903:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
// InternalMelange.g:3904:5: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0());
}
pushFollow(FOLLOW_58);
this_XMemberFeatureCall_0=ruleXMemberFeatureCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XMemberFeatureCall_0;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:3912:1: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
int alt72=2;
int LA72_0 = input.LA(1);
if ( (LA72_0==77) ) {
int LA72_1 = input.LA(2);
if ( (synpred17_InternalMelange()) ) {
alt72=1;
}
}
else if ( (LA72_0==78) ) {
int LA72_2 = input.LA(2);
if ( (synpred17_InternalMelange()) ) {
alt72=1;
}
}
switch (alt72) {
case 1 :
// InternalMelange.g:3912:2: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) )
{
// InternalMelange.g:3917:6: ( () ( ( ruleOpPostfix ) ) )
// InternalMelange.g:3917:7: () ( ( ruleOpPostfix ) )
{
// InternalMelange.g:3917:7: ()
// InternalMelange.g:3918:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(),
current);
}
}
// InternalMelange.g:3923:2: ( ( ruleOpPostfix ) )
// InternalMelange.g:3924:1: ( ruleOpPostfix )
{
// InternalMelange.g:3924:1: ( ruleOpPostfix )
// InternalMelange.g:3925: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(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"
// InternalMelange.g:3946:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ;
public final String entryRuleOpPostfix() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpPostfix = null;
try {
// InternalMelange.g:3947:2: (iv_ruleOpPostfix= ruleOpPostfix EOF )
// InternalMelange.g:3948:2: iv_ruleOpPostfix= ruleOpPostfix EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpPostfixRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpPostfix=ruleOpPostfix();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpPostfix.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpPostfix"
// $ANTLR start "ruleOpPostfix"
// InternalMelange.g:3955:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ;
public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalMelange.g:3958:28: ( (kw= '++' | kw= '--' ) )
// InternalMelange.g:3959:1: (kw= '++' | kw= '--' )
{
// InternalMelange.g:3959:1: (kw= '++' | kw= '--' )
int alt73=2;
int LA73_0 = input.LA(1);
if ( (LA73_0==77) ) {
alt73=1;
}
else if ( (LA73_0==78) ) {
alt73=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 73, 0, input);
throw nvae;
}
switch (alt73) {
case 1 :
// InternalMelange.g:3960:2: kw= '++'
{
kw=(Token)match(input,77,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0());
}
}
break;
case 2 :
// InternalMelange.g:3967:2: kw= '--'
{
kw=(Token)match(input,78,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"
// InternalMelange.g:3980:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ;
public final EObject entryRuleXMemberFeatureCall() throws RecognitionException {
EObject current = null;
EObject iv_ruleXMemberFeatureCall = null;
try {
// InternalMelange.g:3981:2: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF )
// InternalMelange.g:3982:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallRule());
}
pushFollow(FOLLOW_1);
iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXMemberFeatureCall;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXMemberFeatureCall"
// $ANTLR start "ruleXMemberFeatureCall"
// InternalMelange.g:3989: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 {
// InternalMelange.g:3992: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 ) )? ) )* ) )
// InternalMelange.g:3993: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 ) )? ) )* )
{
// InternalMelange.g:3993: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 ) )? ) )* )
// InternalMelange.g:3994: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(FOLLOW_59);
this_XPrimaryExpression_0=ruleXPrimaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XPrimaryExpression_0;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:4002: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 ) )? ) )*
loop82:
do {
int alt82=3;
switch ( input.LA(1) ) {
case 79:
{
int LA82_2 = input.LA(2);
if ( (synpred18_InternalMelange()) ) {
alt82=1;
}
else if ( (synpred19_InternalMelange()) ) {
alt82=2;
}
}
break;
case 80:
{
int LA82_3 = input.LA(2);
if ( (synpred18_InternalMelange()) ) {
alt82=1;
}
else if ( (synpred19_InternalMelange()) ) {
alt82=2;
}
}
break;
case 81:
{
int LA82_4 = input.LA(2);
if ( (synpred19_InternalMelange()) ) {
alt82=2;
}
}
break;
}
switch (alt82) {
case 1 :
// InternalMelange.g:4002:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
{
// InternalMelange.g:4002:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
// InternalMelange.g:4002:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) )
{
// InternalMelange.g:4002:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
// InternalMelange.g:4002:4: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
{
// InternalMelange.g:4015:25: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
// InternalMelange.g:4015:26: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
{
// InternalMelange.g:4015:26: ()
// InternalMelange.g:4016:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(),
current);
}
}
// InternalMelange.g:4021:2: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) )
int alt74=2;
int LA74_0 = input.LA(1);
if ( (LA74_0==79) ) {
alt74=1;
}
else if ( (LA74_0==80) ) {
alt74=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 74, 0, input);
throw nvae;
}
switch (alt74) {
case 1 :
// InternalMelange.g:4021:4: otherlv_2= '.'
{
otherlv_2=(Token)match(input,79,FOLLOW_60); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0());
}
}
break;
case 2 :
// InternalMelange.g:4026:6: ( (lv_explicitStatic_3_0= '::' ) )
{
// InternalMelange.g:4026:6: ( (lv_explicitStatic_3_0= '::' ) )
// InternalMelange.g:4027:1: (lv_explicitStatic_3_0= '::' )
{
// InternalMelange.g:4027:1: (lv_explicitStatic_3_0= '::' )
// InternalMelange.g:4028:3: lv_explicitStatic_3_0= '::'
{
lv_explicitStatic_3_0=(Token)match(input,80,FOLLOW_60); 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;
}
// InternalMelange.g:4041:3: ( ( ruleFeatureCallID ) )
// InternalMelange.g:4042:1: ( ruleFeatureCallID )
{
// InternalMelange.g:4042:1: ( ruleFeatureCallID )
// InternalMelange.g:4043: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(FOLLOW_41);
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(FOLLOW_42);
ruleOpSingleAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:4064:3: ( (lv_value_6_0= ruleXAssignment ) )
// InternalMelange.g:4065:1: (lv_value_6_0= ruleXAssignment )
{
// InternalMelange.g:4065:1: (lv_value_6_0= ruleXAssignment )
// InternalMelange.g:4066:3: lv_value_6_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0());
}
pushFollow(FOLLOW_59);
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 :
// InternalMelange.g:4083: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 ) )? )
{
// InternalMelange.g:4083: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 ) )? )
// InternalMelange.g:4083: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 ) )?
{
// InternalMelange.g:4083:7: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) )
// InternalMelange.g:4083:8: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
{
// InternalMelange.g:4099:7: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
// InternalMelange.g:4099:8: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
{
// InternalMelange.g:4099:8: ()
// InternalMelange.g:4100:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(),
current);
}
}
// InternalMelange.g:4105:2: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
int alt75=3;
switch ( input.LA(1) ) {
case 79:
{
alt75=1;
}
break;
case 81:
{
alt75=2;
}
break;
case 80:
{
alt75=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 75, 0, input);
throw nvae;
}
switch (alt75) {
case 1 :
// InternalMelange.g:4105:4: otherlv_8= '.'
{
otherlv_8=(Token)match(input,79,FOLLOW_61); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0());
}
}
break;
case 2 :
// InternalMelange.g:4110:6: ( (lv_nullSafe_9_0= '?.' ) )
{
// InternalMelange.g:4110:6: ( (lv_nullSafe_9_0= '?.' ) )
// InternalMelange.g:4111:1: (lv_nullSafe_9_0= '?.' )
{
// InternalMelange.g:4111:1: (lv_nullSafe_9_0= '?.' )
// InternalMelange.g:4112:3: lv_nullSafe_9_0= '?.'
{
lv_nullSafe_9_0=(Token)match(input,81,FOLLOW_61); 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 :
// InternalMelange.g:4126:6: ( (lv_explicitStatic_10_0= '::' ) )
{
// InternalMelange.g:4126:6: ( (lv_explicitStatic_10_0= '::' ) )
// InternalMelange.g:4127:1: (lv_explicitStatic_10_0= '::' )
{
// InternalMelange.g:4127:1: (lv_explicitStatic_10_0= '::' )
// InternalMelange.g:4128:3: lv_explicitStatic_10_0= '::'
{
lv_explicitStatic_10_0=(Token)match(input,80,FOLLOW_61); 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;
}
}
}
// InternalMelange.g:4141:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )?
int alt77=2;
int LA77_0 = input.LA(1);
if ( (LA77_0==53) ) {
alt77=1;
}
switch (alt77) {
case 1 :
// InternalMelange.g:4141:7: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>'
{
otherlv_11=(Token)match(input,53,FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0());
}
// InternalMelange.g:4145:1: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) )
// InternalMelange.g:4146:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
{
// InternalMelange.g:4146:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
// InternalMelange.g:4147:3: lv_typeArguments_12_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0());
}
pushFollow(FOLLOW_63);
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();
}
}
}
// InternalMelange.g:4163:2: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )*
loop76:
do {
int alt76=2;
int LA76_0 = input.LA(1);
if ( (LA76_0==17) ) {
alt76=1;
}
switch (alt76) {
case 1 :
// InternalMelange.g:4163:4: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
{
otherlv_13=(Token)match(input,17,FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0());
}
// InternalMelange.g:4167:1: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
// InternalMelange.g:4168:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
{
// InternalMelange.g:4168:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
// InternalMelange.g:4169:3: lv_typeArguments_14_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0());
}
pushFollow(FOLLOW_63);
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 loop76;
}
} while (true);
otherlv_15=(Token)match(input,54,FOLLOW_61); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3());
}
}
break;
}
// InternalMelange.g:4189:3: ( ( ruleIdOrSuper ) )
// InternalMelange.g:4190:1: ( ruleIdOrSuper )
{
// InternalMelange.g:4190:1: ( ruleIdOrSuper )
// InternalMelange.g:4191: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(FOLLOW_64);
ruleIdOrSuper();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:4204: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 alt80=2;
alt80 = dfa80.predict(input);
switch (alt80) {
case 1 :
// InternalMelange.g:4204: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= ')'
{
// InternalMelange.g:4204:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) )
// InternalMelange.g:4204:4: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' )
{
// InternalMelange.g:4211:1: (lv_explicitOperationCall_17_0= '(' )
// InternalMelange.g:4212:3: lv_explicitOperationCall_17_0= '('
{
lv_explicitOperationCall_17_0=(Token)match(input,35,FOLLOW_65); 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, "(");
}
}
}
// InternalMelange.g:4225:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?
int alt79=3;
alt79 = dfa79.predict(input);
switch (alt79) {
case 1 :
// InternalMelange.g:4225:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
{
// InternalMelange.g:4225:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
// InternalMelange.g:4225:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure )
{
// InternalMelange.g:4242:1: (lv_memberCallArguments_18_0= ruleXShortClosure )
// InternalMelange.g:4243:3: lv_memberCallArguments_18_0= ruleXShortClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0());
}
pushFollow(FOLLOW_66);
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 :
// InternalMelange.g:4260:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
{
// InternalMelange.g:4260:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
// InternalMelange.g:4260:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
{
// InternalMelange.g:4260:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) )
// InternalMelange.g:4261:1: (lv_memberCallArguments_19_0= ruleXExpression )
{
// InternalMelange.g:4261:1: (lv_memberCallArguments_19_0= ruleXExpression )
// InternalMelange.g:4262:3: lv_memberCallArguments_19_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0());
}
pushFollow(FOLLOW_29);
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();
}
}
}
// InternalMelange.g:4278:2: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
loop78:
do {
int alt78=2;
int LA78_0 = input.LA(1);
if ( (LA78_0==17) ) {
alt78=1;
}
switch (alt78) {
case 1 :
// InternalMelange.g:4278:4: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) )
{
otherlv_20=(Token)match(input,17,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0());
}
// InternalMelange.g:4282:1: ( (lv_memberCallArguments_21_0= ruleXExpression ) )
// InternalMelange.g:4283:1: (lv_memberCallArguments_21_0= ruleXExpression )
{
// InternalMelange.g:4283:1: (lv_memberCallArguments_21_0= ruleXExpression )
// InternalMelange.g:4284:3: lv_memberCallArguments_21_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0());
}
pushFollow(FOLLOW_29);
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 loop78;
}
} while (true);
}
}
break;
}
otherlv_22=(Token)match(input,36,FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2());
}
}
break;
}
// InternalMelange.g:4304:3: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
int alt81=2;
alt81 = dfa81.predict(input);
switch (alt81) {
case 1 :
// InternalMelange.g:4304:4: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure )
{
// InternalMelange.g:4307:1: (lv_memberCallArguments_23_0= ruleXClosure )
// InternalMelange.g:4308:3: lv_memberCallArguments_23_0= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0());
}
pushFollow(FOLLOW_59);
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 loop82;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXMemberFeatureCall"
// $ANTLR start "entryRuleXPrimaryExpression"
// InternalMelange.g:4332:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ;
public final EObject entryRuleXPrimaryExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXPrimaryExpression = null;
try {
// InternalMelange.g:4333:2: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF )
// InternalMelange.g:4334:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXPrimaryExpression=ruleXPrimaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXPrimaryExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXPrimaryExpression"
// $ANTLR start "ruleXPrimaryExpression"
// InternalMelange.g:4341: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 {
// InternalMelange.g:4344: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 ) )
// InternalMelange.g:4345: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 )
{
// InternalMelange.g:4345: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 alt83=15;
alt83 = dfa83.predict(input);
switch (alt83) {
case 1 :
// InternalMelange.g:4346:5: this_XConstructorCall_0= ruleXConstructorCall
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0());
}
pushFollow(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 :
// InternalMelange.g:4356:5: this_XBlockExpression_1= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1());
}
pushFollow(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 :
// InternalMelange.g:4366:5: this_XSwitchExpression_2= ruleXSwitchExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2());
}
pushFollow(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 :
// InternalMelange.g:4375:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
{
// InternalMelange.g:4375:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
// InternalMelange.g:4375:7: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3());
}
pushFollow(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 :
// InternalMelange.g:4389:5: this_XFeatureCall_4= ruleXFeatureCall
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4());
}
pushFollow(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 :
// InternalMelange.g:4399:5: this_XLiteral_5= ruleXLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5());
}
pushFollow(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 :
// InternalMelange.g:4409:5: this_XIfExpression_6= ruleXIfExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6());
}
pushFollow(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 :
// InternalMelange.g:4418:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
{
// InternalMelange.g:4418:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
// InternalMelange.g:4418:7: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7());
}
pushFollow(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 :
// InternalMelange.g:4437:5: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8());
}
pushFollow(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 :
// InternalMelange.g:4447:5: this_XWhileExpression_9= ruleXWhileExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9());
}
pushFollow(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 :
// InternalMelange.g:4457:5: this_XDoWhileExpression_10= ruleXDoWhileExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10());
}
pushFollow(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 :
// InternalMelange.g:4467:5: this_XThrowExpression_11= ruleXThrowExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11());
}
pushFollow(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 :
// InternalMelange.g:4477:5: this_XReturnExpression_12= ruleXReturnExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12());
}
pushFollow(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 :
// InternalMelange.g:4487:5: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13());
}
pushFollow(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 :
// InternalMelange.g:4497:5: this_XParenthesizedExpression_14= ruleXParenthesizedExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14());
}
pushFollow(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"
// InternalMelange.g:4513:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ;
public final EObject entryRuleXLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXLiteral = null;
try {
// InternalMelange.g:4514:2: (iv_ruleXLiteral= ruleXLiteral EOF )
// InternalMelange.g:4515:2: iv_ruleXLiteral= ruleXLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXLiteral=ruleXLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXLiteral"
// $ANTLR start "ruleXLiteral"
// InternalMelange.g:4522: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 {
// InternalMelange.g:4525: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 ) )
// InternalMelange.g:4526: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 )
{
// InternalMelange.g:4526: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 alt84=7;
int LA84_0 = input.LA(1);
if ( (LA84_0==82) ) {
alt84=1;
}
else if ( (LA84_0==44) && (synpred25_InternalMelange())) {
alt84=2;
}
else if ( ((LA84_0>=102 && LA84_0<=103)) ) {
alt84=3;
}
else if ( ((LA84_0>=RULE_HEX && LA84_0<=RULE_DECIMAL)) ) {
alt84=4;
}
else if ( (LA84_0==104) ) {
alt84=5;
}
else if ( (LA84_0==RULE_STRING) ) {
alt84=6;
}
else if ( (LA84_0==105) ) {
alt84=7;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 84, 0, input);
throw nvae;
}
switch (alt84) {
case 1 :
// InternalMelange.g:4527:5: this_XCollectionLiteral_0= ruleXCollectionLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0());
}
pushFollow(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 :
// InternalMelange.g:4536:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
{
// InternalMelange.g:4536:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
// InternalMelange.g:4536:7: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1());
}
pushFollow(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 :
// InternalMelange.g:4549:5: this_XBooleanLiteral_2= ruleXBooleanLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2());
}
pushFollow(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 :
// InternalMelange.g:4559:5: this_XNumberLiteral_3= ruleXNumberLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3());
}
pushFollow(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 :
// InternalMelange.g:4569:5: this_XNullLiteral_4= ruleXNullLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4());
}
pushFollow(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 :
// InternalMelange.g:4579:5: this_XStringLiteral_5= ruleXStringLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5());
}
pushFollow(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 :
// InternalMelange.g:4589:5: this_XTypeLiteral_6= ruleXTypeLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6());
}
pushFollow(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"
// InternalMelange.g:4605:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ;
public final EObject entryRuleXCollectionLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCollectionLiteral = null;
try {
// InternalMelange.g:4606:2: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF )
// InternalMelange.g:4607:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCollectionLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXCollectionLiteral=ruleXCollectionLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCollectionLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCollectionLiteral"
// $ANTLR start "ruleXCollectionLiteral"
// InternalMelange.g:4614: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 {
// InternalMelange.g:4617:28: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) )
// InternalMelange.g:4618:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
{
// InternalMelange.g:4618:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
int alt85=2;
int LA85_0 = input.LA(1);
if ( (LA85_0==82) ) {
int LA85_1 = input.LA(2);
if ( (LA85_1==44) ) {
alt85=2;
}
else if ( (LA85_1==20) ) {
alt85=1;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 85, 1, input);
throw nvae;
}
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 85, 0, input);
throw nvae;
}
switch (alt85) {
case 1 :
// InternalMelange.g:4619:5: this_XSetLiteral_0= ruleXSetLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0());
}
pushFollow(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 :
// InternalMelange.g:4629:5: this_XListLiteral_1= ruleXListLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1());
}
pushFollow(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"
// InternalMelange.g:4645:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ;
public final EObject entryRuleXSetLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXSetLiteral = null;
try {
// InternalMelange.g:4646:2: (iv_ruleXSetLiteral= ruleXSetLiteral EOF )
// InternalMelange.g:4647:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSetLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXSetLiteral=ruleXSetLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXSetLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXSetLiteral"
// $ANTLR start "ruleXSetLiteral"
// InternalMelange.g:4654: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 {
// InternalMelange.g:4657:28: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) )
// InternalMelange.g:4658:1: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
{
// InternalMelange.g:4658:1: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
// InternalMelange.g:4658:2: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}'
{
// InternalMelange.g:4658:2: ()
// InternalMelange.g:4659:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,82,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1());
}
otherlv_2=(Token)match(input,20,FOLLOW_68); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2());
}
// InternalMelange.g:4672:1: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
int alt87=2;
int LA87_0 = input.LA(1);
if ( ((LA87_0>=RULE_STRING && LA87_0<=RULE_ID)||LA87_0==20||LA87_0==35||LA87_0==44||LA87_0==53||(LA87_0>=69 && LA87_0<=70)||LA87_0==75||LA87_0==82||LA87_0==85||LA87_0==87||(LA87_0>=91 && LA87_0<=93)||(LA87_0>=96 && LA87_0<=108)||LA87_0==110) ) {
alt87=1;
}
switch (alt87) {
case 1 :
// InternalMelange.g:4672:2: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
{
// InternalMelange.g:4672:2: ( (lv_elements_3_0= ruleXExpression ) )
// InternalMelange.g:4673:1: (lv_elements_3_0= ruleXExpression )
{
// InternalMelange.g:4673:1: (lv_elements_3_0= ruleXExpression )
// InternalMelange.g:4674:3: lv_elements_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
}
pushFollow(FOLLOW_69);
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();
}
}
}
// InternalMelange.g:4690:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
loop86:
do {
int alt86=2;
int LA86_0 = input.LA(1);
if ( (LA86_0==17) ) {
alt86=1;
}
switch (alt86) {
case 1 :
// InternalMelange.g:4690:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
{
otherlv_4=(Token)match(input,17,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0());
}
// InternalMelange.g:4694:1: ( (lv_elements_5_0= ruleXExpression ) )
// InternalMelange.g:4695:1: (lv_elements_5_0= ruleXExpression )
{
// InternalMelange.g:4695:1: (lv_elements_5_0= ruleXExpression )
// InternalMelange.g:4696:3: lv_elements_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
}
pushFollow(FOLLOW_69);
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 loop86;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,30,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"
// InternalMelange.g:4724:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ;
public final EObject entryRuleXListLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXListLiteral = null;
try {
// InternalMelange.g:4725:2: (iv_ruleXListLiteral= ruleXListLiteral EOF )
// InternalMelange.g:4726:2: iv_ruleXListLiteral= ruleXListLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXListLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXListLiteral=ruleXListLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXListLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXListLiteral"
// $ANTLR start "ruleXListLiteral"
// InternalMelange.g:4733: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 {
// InternalMelange.g:4736:28: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) )
// InternalMelange.g:4737:1: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
{
// InternalMelange.g:4737:1: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
// InternalMelange.g:4737:2: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']'
{
// InternalMelange.g:4737:2: ()
// InternalMelange.g:4738:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,82,FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1());
}
otherlv_2=(Token)match(input,44,FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2());
}
// InternalMelange.g:4751:1: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
int alt89=2;
int LA89_0 = input.LA(1);
if ( ((LA89_0>=RULE_STRING && LA89_0<=RULE_ID)||LA89_0==20||LA89_0==35||LA89_0==44||LA89_0==53||(LA89_0>=69 && LA89_0<=70)||LA89_0==75||LA89_0==82||LA89_0==85||LA89_0==87||(LA89_0>=91 && LA89_0<=93)||(LA89_0>=96 && LA89_0<=108)||LA89_0==110) ) {
alt89=1;
}
switch (alt89) {
case 1 :
// InternalMelange.g:4751:2: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
{
// InternalMelange.g:4751:2: ( (lv_elements_3_0= ruleXExpression ) )
// InternalMelange.g:4752:1: (lv_elements_3_0= ruleXExpression )
{
// InternalMelange.g:4752:1: (lv_elements_3_0= ruleXExpression )
// InternalMelange.g:4753:3: lv_elements_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
}
pushFollow(FOLLOW_40);
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();
}
}
}
// InternalMelange.g:4769:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
loop88:
do {
int alt88=2;
int LA88_0 = input.LA(1);
if ( (LA88_0==17) ) {
alt88=1;
}
switch (alt88) {
case 1 :
// InternalMelange.g:4769:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
{
otherlv_4=(Token)match(input,17,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0());
}
// InternalMelange.g:4773:1: ( (lv_elements_5_0= ruleXExpression ) )
// InternalMelange.g:4774:1: (lv_elements_5_0= ruleXExpression )
{
// InternalMelange.g:4774:1: (lv_elements_5_0= ruleXExpression )
// InternalMelange.g:4775:3: lv_elements_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
}
pushFollow(FOLLOW_40);
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 loop88;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,45,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"
// InternalMelange.g:4803:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ;
public final EObject entryRuleXClosure() throws RecognitionException {
EObject current = null;
EObject iv_ruleXClosure = null;
try {
// InternalMelange.g:4804:2: (iv_ruleXClosure= ruleXClosure EOF )
// InternalMelange.g:4805:2: iv_ruleXClosure= ruleXClosure EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureRule());
}
pushFollow(FOLLOW_1);
iv_ruleXClosure=ruleXClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXClosure;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXClosure"
// $ANTLR start "ruleXClosure"
// InternalMelange.g:4812: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 {
// InternalMelange.g:4815: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= ']' ) )
// InternalMelange.g:4816: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= ']' )
{
// InternalMelange.g:4816: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= ']' )
// InternalMelange.g:4816: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= ']'
{
// InternalMelange.g:4816:2: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) )
// InternalMelange.g:4816:3: ( ( () '[' ) )=> ( () otherlv_1= '[' )
{
// InternalMelange.g:4818:5: ( () otherlv_1= '[' )
// InternalMelange.g:4818:6: () otherlv_1= '['
{
// InternalMelange.g:4818:6: ()
// InternalMelange.g:4819:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(),
current);
}
}
otherlv_1=(Token)match(input,44,FOLLOW_71); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1());
}
}
}
// InternalMelange.g:4828:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?
int alt92=2;
alt92 = dfa92.predict(input);
switch (alt92) {
case 1 :
// InternalMelange.g:4828:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
{
// InternalMelange.g:4843:6: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
// InternalMelange.g:4843:7: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) )
{
// InternalMelange.g:4843:7: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )?
int alt91=2;
int LA91_0 = input.LA(1);
if ( (LA91_0==RULE_ID||LA91_0==35||LA91_0==66) ) {
alt91=1;
}
switch (alt91) {
case 1 :
// InternalMelange.g:4843:8: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
{
// InternalMelange.g:4843:8: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) )
// InternalMelange.g:4844:1: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
{
// InternalMelange.g:4844:1: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
// InternalMelange.g:4845:3: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0());
}
pushFollow(FOLLOW_72);
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();
}
}
}
// InternalMelange.g:4861:2: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
loop90:
do {
int alt90=2;
int LA90_0 = input.LA(1);
if ( (LA90_0==17) ) {
alt90=1;
}
switch (alt90) {
case 1 :
// InternalMelange.g:4861:4: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
{
otherlv_3=(Token)match(input,17,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0());
}
// InternalMelange.g:4865:1: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
// InternalMelange.g:4866:1: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
{
// InternalMelange.g:4866:1: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
// InternalMelange.g:4867:3: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0());
}
pushFollow(FOLLOW_72);
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 loop90;
}
} while (true);
}
break;
}
// InternalMelange.g:4883:6: ( (lv_explicitSyntax_5_0= '|' ) )
// InternalMelange.g:4884:1: (lv_explicitSyntax_5_0= '|' )
{
// InternalMelange.g:4884:1: (lv_explicitSyntax_5_0= '|' )
// InternalMelange.g:4885:3: lv_explicitSyntax_5_0= '|'
{
lv_explicitSyntax_5_0=(Token)match(input,83,FOLLOW_73); 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;
}
// InternalMelange.g:4898:5: ( (lv_expression_6_0= ruleXExpressionInClosure ) )
// InternalMelange.g:4899:1: (lv_expression_6_0= ruleXExpressionInClosure )
{
// InternalMelange.g:4899:1: (lv_expression_6_0= ruleXExpressionInClosure )
// InternalMelange.g:4900:3: lv_expression_6_0= ruleXExpressionInClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0());
}
pushFollow(FOLLOW_74);
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,45,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"
// InternalMelange.g:4928:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ;
public final EObject entryRuleXExpressionInClosure() throws RecognitionException {
EObject current = null;
EObject iv_ruleXExpressionInClosure = null;
try {
// InternalMelange.g:4929:2: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF )
// InternalMelange.g:4930:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionInClosureRule());
}
pushFollow(FOLLOW_1);
iv_ruleXExpressionInClosure=ruleXExpressionInClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXExpressionInClosure;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXExpressionInClosure"
// $ANTLR start "ruleXExpressionInClosure"
// InternalMelange.g:4937: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 {
// InternalMelange.g:4940:28: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) )
// InternalMelange.g:4941:1: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
{
// InternalMelange.g:4941:1: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
// InternalMelange.g:4941:2: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
{
// InternalMelange.g:4941:2: ()
// InternalMelange.g:4942:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(),
current);
}
}
// InternalMelange.g:4947:2: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
loop94:
do {
int alt94=2;
int LA94_0 = input.LA(1);
if ( ((LA94_0>=RULE_STRING && LA94_0<=RULE_ID)||LA94_0==20||LA94_0==35||LA94_0==44||LA94_0==53||(LA94_0>=69 && LA94_0<=70)||LA94_0==75||LA94_0==82||LA94_0==85||LA94_0==87||(LA94_0>=91 && LA94_0<=108)||LA94_0==110) ) {
alt94=1;
}
switch (alt94) {
case 1 :
// InternalMelange.g:4947:3: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )?
{
// InternalMelange.g:4947:3: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) )
// InternalMelange.g:4948:1: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
{
// InternalMelange.g:4948:1: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
// InternalMelange.g:4949:3: lv_expressions_1_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0());
}
pushFollow(FOLLOW_75);
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();
}
}
}
// InternalMelange.g:4965:2: (otherlv_2= ';' )?
int alt93=2;
int LA93_0 = input.LA(1);
if ( (LA93_0==84) ) {
alt93=1;
}
switch (alt93) {
case 1 :
// InternalMelange.g:4965:4: otherlv_2= ';'
{
otherlv_2=(Token)match(input,84,FOLLOW_76); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
}
}
break;
}
}
break;
default :
break loop94;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXExpressionInClosure"
// $ANTLR start "entryRuleXShortClosure"
// InternalMelange.g:4977:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ;
public final EObject entryRuleXShortClosure() throws RecognitionException {
EObject current = null;
EObject iv_ruleXShortClosure = null;
try {
// InternalMelange.g:4978:2: (iv_ruleXShortClosure= ruleXShortClosure EOF )
// InternalMelange.g:4979:2: iv_ruleXShortClosure= ruleXShortClosure EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureRule());
}
pushFollow(FOLLOW_1);
iv_ruleXShortClosure=ruleXShortClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXShortClosure;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXShortClosure"
// $ANTLR start "ruleXShortClosure"
// InternalMelange.g:4986: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 {
// InternalMelange.g:4989:28: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) )
// InternalMelange.g:4990:1: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
{
// InternalMelange.g:4990:1: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
// InternalMelange.g:4990:2: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) )
{
// InternalMelange.g:4990:2: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) )
// InternalMelange.g:4990:3: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
{
// InternalMelange.g:5006:6: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
// InternalMelange.g:5006:7: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) )
{
// InternalMelange.g:5006:7: ()
// InternalMelange.g:5007:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(),
current);
}
}
// InternalMelange.g:5012:2: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )?
int alt96=2;
int LA96_0 = input.LA(1);
if ( (LA96_0==RULE_ID||LA96_0==35||LA96_0==66) ) {
alt96=1;
}
switch (alt96) {
case 1 :
// InternalMelange.g:5012:3: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
{
// InternalMelange.g:5012:3: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) )
// InternalMelange.g:5013:1: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
{
// InternalMelange.g:5013:1: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
// InternalMelange.g:5014:3: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0());
}
pushFollow(FOLLOW_72);
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();
}
}
}
// InternalMelange.g:5030:2: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
loop95:
do {
int alt95=2;
int LA95_0 = input.LA(1);
if ( (LA95_0==17) ) {
alt95=1;
}
switch (alt95) {
case 1 :
// InternalMelange.g:5030:4: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
{
otherlv_2=(Token)match(input,17,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0());
}
// InternalMelange.g:5034:1: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
// InternalMelange.g:5035:1: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
{
// InternalMelange.g:5035:1: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
// InternalMelange.g:5036:3: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0());
}
pushFollow(FOLLOW_72);
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 loop95;
}
} while (true);
}
break;
}
// InternalMelange.g:5052:6: ( (lv_explicitSyntax_4_0= '|' ) )
// InternalMelange.g:5053:1: (lv_explicitSyntax_4_0= '|' )
{
// InternalMelange.g:5053:1: (lv_explicitSyntax_4_0= '|' )
// InternalMelange.g:5054:3: lv_explicitSyntax_4_0= '|'
{
lv_explicitSyntax_4_0=(Token)match(input,83,FOLLOW_42); 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, "|");
}
}
}
}
}
// InternalMelange.g:5067:4: ( (lv_expression_5_0= ruleXExpression ) )
// InternalMelange.g:5068:1: (lv_expression_5_0= ruleXExpression )
{
// InternalMelange.g:5068:1: (lv_expression_5_0= ruleXExpression )
// InternalMelange.g:5069:3: lv_expression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0());
}
pushFollow(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"
// InternalMelange.g:5093:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ;
public final EObject entryRuleXParenthesizedExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXParenthesizedExpression = null;
try {
// InternalMelange.g:5094:2: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF )
// InternalMelange.g:5095:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXParenthesizedExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXParenthesizedExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXParenthesizedExpression"
// $ANTLR start "ruleXParenthesizedExpression"
// InternalMelange.g:5102: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 {
// InternalMelange.g:5105:28: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) )
// InternalMelange.g:5106:1: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
{
// InternalMelange.g:5106:1: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
// InternalMelange.g:5106:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')'
{
otherlv_0=(Token)match(input,35,FOLLOW_42); 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(FOLLOW_66);
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,36,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"
// InternalMelange.g:5131:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ;
public final EObject entryRuleXIfExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXIfExpression = null;
try {
// InternalMelange.g:5132:2: (iv_ruleXIfExpression= ruleXIfExpression EOF )
// InternalMelange.g:5133:2: iv_ruleXIfExpression= ruleXIfExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXIfExpression=ruleXIfExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXIfExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXIfExpression"
// $ANTLR start "ruleXIfExpression"
// InternalMelange.g:5140: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 {
// InternalMelange.g:5143: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 ) ) )? ) )
// InternalMelange.g:5144: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 ) ) )? )
{
// InternalMelange.g:5144: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 ) ) )? )
// InternalMelange.g:5144: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 ) ) )?
{
// InternalMelange.g:5144:2: ()
// InternalMelange.g:5145:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,85,FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1());
}
otherlv_2=(Token)match(input,35,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2());
}
// InternalMelange.g:5158:1: ( (lv_if_3_0= ruleXExpression ) )
// InternalMelange.g:5159:1: (lv_if_3_0= ruleXExpression )
{
// InternalMelange.g:5159:1: (lv_if_3_0= ruleXExpression )
// InternalMelange.g:5160:3: lv_if_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0());
}
pushFollow(FOLLOW_66);
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,36,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4());
}
// InternalMelange.g:5180:1: ( (lv_then_5_0= ruleXExpression ) )
// InternalMelange.g:5181:1: (lv_then_5_0= ruleXExpression )
{
// InternalMelange.g:5181:1: (lv_then_5_0= ruleXExpression )
// InternalMelange.g:5182:3: lv_then_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0());
}
pushFollow(FOLLOW_77);
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();
}
}
}
// InternalMelange.g:5198:2: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
int alt97=2;
int LA97_0 = input.LA(1);
if ( (LA97_0==86) ) {
int LA97_1 = input.LA(2);
if ( (synpred29_InternalMelange()) ) {
alt97=1;
}
}
switch (alt97) {
case 1 :
// InternalMelange.g:5198:3: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) )
{
// InternalMelange.g:5198:3: ( ( 'else' )=>otherlv_6= 'else' )
// InternalMelange.g:5198:4: ( 'else' )=>otherlv_6= 'else'
{
otherlv_6=(Token)match(input,86,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0());
}
}
// InternalMelange.g:5203:2: ( (lv_else_7_0= ruleXExpression ) )
// InternalMelange.g:5204:1: (lv_else_7_0= ruleXExpression )
{
// InternalMelange.g:5204:1: (lv_else_7_0= ruleXExpression )
// InternalMelange.g:5205:3: lv_else_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0());
}
pushFollow(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"
// InternalMelange.g:5229:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ;
public final EObject entryRuleXSwitchExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXSwitchExpression = null;
try {
// InternalMelange.g:5230:2: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF )
// InternalMelange.g:5231:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXSwitchExpression=ruleXSwitchExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXSwitchExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXSwitchExpression"
// $ANTLR start "ruleXSwitchExpression"
// InternalMelange.g:5238: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 {
// InternalMelange.g:5241: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= '}' ) )
// InternalMelange.g:5242: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= '}' )
{
// InternalMelange.g:5242: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= '}' )
// InternalMelange.g:5242: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= '}'
{
// InternalMelange.g:5242:2: ()
// InternalMelange.g:5243:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,87,FOLLOW_78); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1());
}
// InternalMelange.g:5252: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 alt99=2;
alt99 = dfa99.predict(input);
switch (alt99) {
case 1 :
// InternalMelange.g:5252:2: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
{
// InternalMelange.g:5252:2: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
// InternalMelange.g:5252:3: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')'
{
// InternalMelange.g:5252:3: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
// InternalMelange.g:5252:4: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
{
// InternalMelange.g:5258:5: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
// InternalMelange.g:5258:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
{
otherlv_2=(Token)match(input,35,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0());
}
// InternalMelange.g:5262:1: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
// InternalMelange.g:5263:1: (lv_declaredParam_3_0= ruleJvmFormalParameter )
{
// InternalMelange.g:5263:1: (lv_declaredParam_3_0= ruleJvmFormalParameter )
// InternalMelange.g:5264:3: lv_declaredParam_3_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0());
}
pushFollow(FOLLOW_79);
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,88,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2());
}
}
}
// InternalMelange.g:5284:3: ( (lv_switch_5_0= ruleXExpression ) )
// InternalMelange.g:5285:1: (lv_switch_5_0= ruleXExpression )
{
// InternalMelange.g:5285:1: (lv_switch_5_0= ruleXExpression )
// InternalMelange.g:5286:3: lv_switch_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0());
}
pushFollow(FOLLOW_66);
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,36,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2());
}
}
}
break;
case 2 :
// InternalMelange.g:5307:6: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
{
// InternalMelange.g:5307:6: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
// InternalMelange.g:5307:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) )
{
// InternalMelange.g:5307:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?
int alt98=2;
alt98 = dfa98.predict(input);
switch (alt98) {
case 1 :
// InternalMelange.g:5307:8: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
{
// InternalMelange.g:5312:5: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
// InternalMelange.g:5312:6: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':'
{
// InternalMelange.g:5312:6: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) )
// InternalMelange.g:5313:1: (lv_declaredParam_7_0= ruleJvmFormalParameter )
{
// InternalMelange.g:5313:1: (lv_declaredParam_7_0= ruleJvmFormalParameter )
// InternalMelange.g:5314:3: lv_declaredParam_7_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0());
}
pushFollow(FOLLOW_79);
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,88,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1());
}
}
}
break;
}
// InternalMelange.g:5334:4: ( (lv_switch_9_0= ruleXExpression ) )
// InternalMelange.g:5335:1: (lv_switch_9_0= ruleXExpression )
{
// InternalMelange.g:5335:1: (lv_switch_9_0= ruleXExpression )
// InternalMelange.g:5336:3: lv_switch_9_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0());
}
pushFollow(FOLLOW_24);
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,20,FOLLOW_80); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3());
}
// InternalMelange.g:5356:1: ( (lv_cases_11_0= ruleXCasePart ) )*
loop100:
do {
int alt100=2;
int LA100_0 = input.LA(1);
if ( (LA100_0==RULE_ID||LA100_0==17||LA100_0==35||LA100_0==66||LA100_0==88||LA100_0==90) ) {
alt100=1;
}
switch (alt100) {
case 1 :
// InternalMelange.g:5357:1: (lv_cases_11_0= ruleXCasePart )
{
// InternalMelange.g:5357:1: (lv_cases_11_0= ruleXCasePart )
// InternalMelange.g:5358:3: lv_cases_11_0= ruleXCasePart
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0());
}
pushFollow(FOLLOW_80);
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 loop100;
}
} while (true);
// InternalMelange.g:5374:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )?
int alt101=2;
int LA101_0 = input.LA(1);
if ( (LA101_0==89) ) {
alt101=1;
}
switch (alt101) {
case 1 :
// InternalMelange.g:5374:5: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) )
{
otherlv_12=(Token)match(input,89,FOLLOW_79); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0());
}
otherlv_13=(Token)match(input,88,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1());
}
// InternalMelange.g:5382:1: ( (lv_default_14_0= ruleXExpression ) )
// InternalMelange.g:5383:1: (lv_default_14_0= ruleXExpression )
{
// InternalMelange.g:5383:1: (lv_default_14_0= ruleXExpression )
// InternalMelange.g:5384:3: lv_default_14_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0());
}
pushFollow(FOLLOW_19);
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,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"
// InternalMelange.g:5412:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ;
public final EObject entryRuleXCasePart() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCasePart = null;
try {
// InternalMelange.g:5413:2: (iv_ruleXCasePart= ruleXCasePart EOF )
// InternalMelange.g:5414:2: iv_ruleXCasePart= ruleXCasePart EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartRule());
}
pushFollow(FOLLOW_1);
iv_ruleXCasePart=ruleXCasePart();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCasePart;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCasePart"
// $ANTLR start "ruleXCasePart"
// InternalMelange.g:5421: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 {
// InternalMelange.g:5424: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= ',' ) ) ) ) )
// InternalMelange.g:5425: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= ',' ) ) ) )
{
// InternalMelange.g:5425: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= ',' ) ) ) )
// InternalMelange.g:5425: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= ',' ) ) )
{
// InternalMelange.g:5425:2: ()
// InternalMelange.g:5426:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXCasePartAccess().getXCasePartAction_0(),
current);
}
}
// InternalMelange.g:5431:2: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )?
int alt102=2;
int LA102_0 = input.LA(1);
if ( (LA102_0==RULE_ID||LA102_0==35||LA102_0==66) ) {
alt102=1;
}
switch (alt102) {
case 1 :
// InternalMelange.g:5432:1: (lv_typeGuard_1_0= ruleJvmTypeReference )
{
// InternalMelange.g:5432:1: (lv_typeGuard_1_0= ruleJvmTypeReference )
// InternalMelange.g:5433:3: lv_typeGuard_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FOLLOW_81);
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;
}
// InternalMelange.g:5449:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )?
int alt103=2;
int LA103_0 = input.LA(1);
if ( (LA103_0==90) ) {
alt103=1;
}
switch (alt103) {
case 1 :
// InternalMelange.g:5449:5: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) )
{
otherlv_2=(Token)match(input,90,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0());
}
// InternalMelange.g:5453:1: ( (lv_case_3_0= ruleXExpression ) )
// InternalMelange.g:5454:1: (lv_case_3_0= ruleXExpression )
{
// InternalMelange.g:5454:1: (lv_case_3_0= ruleXExpression )
// InternalMelange.g:5455:3: lv_case_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0());
}
pushFollow(FOLLOW_82);
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;
}
// InternalMelange.g:5471:4: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
int alt104=2;
int LA104_0 = input.LA(1);
if ( (LA104_0==88) ) {
alt104=1;
}
else if ( (LA104_0==17) ) {
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 :
// InternalMelange.g:5471:5: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
{
// InternalMelange.g:5471:5: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
// InternalMelange.g:5471:7: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) )
{
otherlv_4=(Token)match(input,88,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0());
}
// InternalMelange.g:5475:1: ( (lv_then_5_0= ruleXExpression ) )
// InternalMelange.g:5476:1: (lv_then_5_0= ruleXExpression )
{
// InternalMelange.g:5476:1: (lv_then_5_0= ruleXExpression )
// InternalMelange.g:5477:3: lv_then_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0());
}
pushFollow(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 :
// InternalMelange.g:5494:6: ( (lv_fallThrough_6_0= ',' ) )
{
// InternalMelange.g:5494:6: ( (lv_fallThrough_6_0= ',' ) )
// InternalMelange.g:5495:1: (lv_fallThrough_6_0= ',' )
{
// InternalMelange.g:5495:1: (lv_fallThrough_6_0= ',' )
// InternalMelange.g:5496:3: lv_fallThrough_6_0= ','
{
lv_fallThrough_6_0=(Token)match(input,17,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"
// InternalMelange.g:5517:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ;
public final EObject entryRuleXForLoopExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXForLoopExpression = null;
try {
// InternalMelange.g:5518:2: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF )
// InternalMelange.g:5519:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXForLoopExpression=ruleXForLoopExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXForLoopExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXForLoopExpression"
// $ANTLR start "ruleXForLoopExpression"
// InternalMelange.g:5526: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 {
// InternalMelange.g:5529: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 ) ) ) )
// InternalMelange.g:5530: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 ) ) )
{
// InternalMelange.g:5530: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 ) ) )
// InternalMelange.g:5530: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 ) )
{
// InternalMelange.g:5530:2: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
// InternalMelange.g:5530:3: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
{
// InternalMelange.g:5538:5: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
// InternalMelange.g:5538:6: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
{
// InternalMelange.g:5538:6: ()
// InternalMelange.g:5539:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(),
current);
}
}
otherlv_1=(Token)match(input,91,FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1());
}
otherlv_2=(Token)match(input,35,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2());
}
// InternalMelange.g:5552:1: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
// InternalMelange.g:5553:1: (lv_declaredParam_3_0= ruleJvmFormalParameter )
{
// InternalMelange.g:5553:1: (lv_declaredParam_3_0= ruleJvmFormalParameter )
// InternalMelange.g:5554:3: lv_declaredParam_3_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0());
}
pushFollow(FOLLOW_79);
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,88,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4());
}
}
}
// InternalMelange.g:5574:3: ( (lv_forExpression_5_0= ruleXExpression ) )
// InternalMelange.g:5575:1: (lv_forExpression_5_0= ruleXExpression )
{
// InternalMelange.g:5575:1: (lv_forExpression_5_0= ruleXExpression )
// InternalMelange.g:5576:3: lv_forExpression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0());
}
pushFollow(FOLLOW_66);
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,36,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2());
}
// InternalMelange.g:5596:1: ( (lv_eachExpression_7_0= ruleXExpression ) )
// InternalMelange.g:5597:1: (lv_eachExpression_7_0= ruleXExpression )
{
// InternalMelange.g:5597:1: (lv_eachExpression_7_0= ruleXExpression )
// InternalMelange.g:5598:3: lv_eachExpression_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0());
}
pushFollow(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"
// InternalMelange.g:5622:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ;
public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXBasicForLoopExpression = null;
try {
// InternalMelange.g:5623:2: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF )
// InternalMelange.g:5624:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXBasicForLoopExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXBasicForLoopExpression"
// $ANTLR start "ruleXBasicForLoopExpression"
// InternalMelange.g:5631: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 {
// InternalMelange.g:5634: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 ) ) ) )
// InternalMelange.g:5635: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 ) ) )
{
// InternalMelange.g:5635: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 ) ) )
// InternalMelange.g:5635: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 ) )
{
// InternalMelange.g:5635:2: ()
// InternalMelange.g:5636:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,91,FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1());
}
otherlv_2=(Token)match(input,35,FOLLOW_83); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2());
}
// InternalMelange.g:5649:1: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )?
int alt106=2;
int LA106_0 = input.LA(1);
if ( ((LA106_0>=RULE_STRING && LA106_0<=RULE_ID)||LA106_0==20||LA106_0==35||LA106_0==44||LA106_0==53||(LA106_0>=69 && LA106_0<=70)||LA106_0==75||LA106_0==82||LA106_0==85||LA106_0==87||(LA106_0>=91 && LA106_0<=108)||LA106_0==110) ) {
alt106=1;
}
switch (alt106) {
case 1 :
// InternalMelange.g:5649:2: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
{
// InternalMelange.g:5649:2: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) )
// InternalMelange.g:5650:1: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
{
// InternalMelange.g:5650:1: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
// InternalMelange.g:5651:3: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0());
}
pushFollow(FOLLOW_84);
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();
}
}
}
// InternalMelange.g:5667:2: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
loop105:
do {
int alt105=2;
int LA105_0 = input.LA(1);
if ( (LA105_0==17) ) {
alt105=1;
}
switch (alt105) {
case 1 :
// InternalMelange.g:5667:4: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
{
otherlv_4=(Token)match(input,17,FOLLOW_85); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0());
}
// InternalMelange.g:5671:1: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
// InternalMelange.g:5672:1: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
{
// InternalMelange.g:5672:1: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
// InternalMelange.g:5673:3: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0());
}
pushFollow(FOLLOW_84);
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 loop105;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,84,FOLLOW_86); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4());
}
// InternalMelange.g:5693:1: ( (lv_expression_7_0= ruleXExpression ) )?
int alt107=2;
int LA107_0 = input.LA(1);
if ( ((LA107_0>=RULE_STRING && LA107_0<=RULE_ID)||LA107_0==20||LA107_0==35||LA107_0==44||LA107_0==53||(LA107_0>=69 && LA107_0<=70)||LA107_0==75||LA107_0==82||LA107_0==85||LA107_0==87||(LA107_0>=91 && LA107_0<=93)||(LA107_0>=96 && LA107_0<=108)||LA107_0==110) ) {
alt107=1;
}
switch (alt107) {
case 1 :
// InternalMelange.g:5694:1: (lv_expression_7_0= ruleXExpression )
{
// InternalMelange.g:5694:1: (lv_expression_7_0= ruleXExpression )
// InternalMelange.g:5695:3: lv_expression_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0());
}
pushFollow(FOLLOW_87);
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,84,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6());
}
// InternalMelange.g:5715:1: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )?
int alt109=2;
int LA109_0 = input.LA(1);
if ( ((LA109_0>=RULE_STRING && LA109_0<=RULE_ID)||LA109_0==20||LA109_0==35||LA109_0==44||LA109_0==53||(LA109_0>=69 && LA109_0<=70)||LA109_0==75||LA109_0==82||LA109_0==85||LA109_0==87||(LA109_0>=91 && LA109_0<=93)||(LA109_0>=96 && LA109_0<=108)||LA109_0==110) ) {
alt109=1;
}
switch (alt109) {
case 1 :
// InternalMelange.g:5715:2: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
{
// InternalMelange.g:5715:2: ( (lv_updateExpressions_9_0= ruleXExpression ) )
// InternalMelange.g:5716:1: (lv_updateExpressions_9_0= ruleXExpression )
{
// InternalMelange.g:5716:1: (lv_updateExpressions_9_0= ruleXExpression )
// InternalMelange.g:5717:3: lv_updateExpressions_9_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0());
}
pushFollow(FOLLOW_29);
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();
}
}
}
// InternalMelange.g:5733:2: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
loop108:
do {
int alt108=2;
int LA108_0 = input.LA(1);
if ( (LA108_0==17) ) {
alt108=1;
}
switch (alt108) {
case 1 :
// InternalMelange.g:5733:4: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) )
{
otherlv_10=(Token)match(input,17,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0());
}
// InternalMelange.g:5737:1: ( (lv_updateExpressions_11_0= ruleXExpression ) )
// InternalMelange.g:5738:1: (lv_updateExpressions_11_0= ruleXExpression )
{
// InternalMelange.g:5738:1: (lv_updateExpressions_11_0= ruleXExpression )
// InternalMelange.g:5739:3: lv_updateExpressions_11_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0());
}
pushFollow(FOLLOW_29);
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 loop108;
}
} while (true);
}
break;
}
otherlv_12=(Token)match(input,36,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8());
}
// InternalMelange.g:5759:1: ( (lv_eachExpression_13_0= ruleXExpression ) )
// InternalMelange.g:5760:1: (lv_eachExpression_13_0= ruleXExpression )
{
// InternalMelange.g:5760:1: (lv_eachExpression_13_0= ruleXExpression )
// InternalMelange.g:5761:3: lv_eachExpression_13_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0());
}
pushFollow(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"
// InternalMelange.g:5785:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ;
public final EObject entryRuleXWhileExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXWhileExpression = null;
try {
// InternalMelange.g:5786:2: (iv_ruleXWhileExpression= ruleXWhileExpression EOF )
// InternalMelange.g:5787:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXWhileExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXWhileExpression=ruleXWhileExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXWhileExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXWhileExpression"
// $ANTLR start "ruleXWhileExpression"
// InternalMelange.g:5794: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 {
// InternalMelange.g:5797:28: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) )
// InternalMelange.g:5798:1: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
{
// InternalMelange.g:5798:1: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
// InternalMelange.g:5798:2: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) )
{
// InternalMelange.g:5798:2: ()
// InternalMelange.g:5799:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,92,FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1());
}
otherlv_2=(Token)match(input,35,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2());
}
// InternalMelange.g:5812:1: ( (lv_predicate_3_0= ruleXExpression ) )
// InternalMelange.g:5813:1: (lv_predicate_3_0= ruleXExpression )
{
// InternalMelange.g:5813:1: (lv_predicate_3_0= ruleXExpression )
// InternalMelange.g:5814:3: lv_predicate_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0());
}
pushFollow(FOLLOW_66);
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,36,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4());
}
// InternalMelange.g:5834:1: ( (lv_body_5_0= ruleXExpression ) )
// InternalMelange.g:5835:1: (lv_body_5_0= ruleXExpression )
{
// InternalMelange.g:5835:1: (lv_body_5_0= ruleXExpression )
// InternalMelange.g:5836:3: lv_body_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0());
}
pushFollow(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"
// InternalMelange.g:5860:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ;
public final EObject entryRuleXDoWhileExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXDoWhileExpression = null;
try {
// InternalMelange.g:5861:2: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF )
// InternalMelange.g:5862:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDoWhileExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXDoWhileExpression=ruleXDoWhileExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXDoWhileExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXDoWhileExpression"
// $ANTLR start "ruleXDoWhileExpression"
// InternalMelange.g:5869: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 {
// InternalMelange.g:5872:28: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) )
// InternalMelange.g:5873:1: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
{
// InternalMelange.g:5873:1: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
// InternalMelange.g:5873:2: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')'
{
// InternalMelange.g:5873:2: ()
// InternalMelange.g:5874:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,93,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1());
}
// InternalMelange.g:5883:1: ( (lv_body_2_0= ruleXExpression ) )
// InternalMelange.g:5884:1: (lv_body_2_0= ruleXExpression )
{
// InternalMelange.g:5884:1: (lv_body_2_0= ruleXExpression )
// InternalMelange.g:5885:3: lv_body_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0());
}
pushFollow(FOLLOW_89);
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,92,FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3());
}
otherlv_4=(Token)match(input,35,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4());
}
// InternalMelange.g:5909:1: ( (lv_predicate_5_0= ruleXExpression ) )
// InternalMelange.g:5910:1: (lv_predicate_5_0= ruleXExpression )
{
// InternalMelange.g:5910:1: (lv_predicate_5_0= ruleXExpression )
// InternalMelange.g:5911:3: lv_predicate_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0());
}
pushFollow(FOLLOW_66);
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,36,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 "entryRuleXBlockExpression"
// InternalMelange.g:5939:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ;
public final EObject entryRuleXBlockExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXBlockExpression = null;
try {
// InternalMelange.g:5940:2: (iv_ruleXBlockExpression= ruleXBlockExpression EOF )
// InternalMelange.g:5941:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBlockExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXBlockExpression=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXBlockExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXBlockExpression"
// $ANTLR start "ruleXBlockExpression"
// InternalMelange.g:5948: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 {
// InternalMelange.g:5951:28: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) )
// InternalMelange.g:5952:1: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
{
// InternalMelange.g:5952:1: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
// InternalMelange.g:5952:2: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}'
{
// InternalMelange.g:5952:2: ()
// InternalMelange.g:5953:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,20,FOLLOW_90); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1());
}
// InternalMelange.g:5962:1: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )*
loop111:
do {
int alt111=2;
int LA111_0 = input.LA(1);
if ( ((LA111_0>=RULE_STRING && LA111_0<=RULE_ID)||LA111_0==20||LA111_0==35||LA111_0==44||LA111_0==53||(LA111_0>=69 && LA111_0<=70)||LA111_0==75||LA111_0==82||LA111_0==85||LA111_0==87||(LA111_0>=91 && LA111_0<=108)||LA111_0==110) ) {
alt111=1;
}
switch (alt111) {
case 1 :
// InternalMelange.g:5962:2: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )?
{
// InternalMelange.g:5962:2: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) )
// InternalMelange.g:5963:1: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
{
// InternalMelange.g:5963:1: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
// InternalMelange.g:5964:3: lv_expressions_2_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0());
}
pushFollow(FOLLOW_91);
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();
}
}
}
// InternalMelange.g:5980:2: (otherlv_3= ';' )?
int alt110=2;
int LA110_0 = input.LA(1);
if ( (LA110_0==84) ) {
alt110=1;
}
switch (alt110) {
case 1 :
// InternalMelange.g:5980:4: otherlv_3= ';'
{
otherlv_3=(Token)match(input,84,FOLLOW_90); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1());
}
}
break;
}
}
break;
default :
break loop111;
}
} while (true);
otherlv_4=(Token)match(input,30,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 "entryRuleXExpressionOrVarDeclaration"
// InternalMelange.g:5996:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ;
public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException {
EObject current = null;
EObject iv_ruleXExpressionOrVarDeclaration = null;
try {
// InternalMelange.g:5997:2: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF )
// InternalMelange.g:5998:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXExpressionOrVarDeclaration;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXExpressionOrVarDeclaration"
// $ANTLR start "ruleXExpressionOrVarDeclaration"
// InternalMelange.g:6005: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 {
// InternalMelange.g:6008:28: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) )
// InternalMelange.g:6009:1: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
{
// InternalMelange.g:6009:1: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
int alt112=2;
int LA112_0 = input.LA(1);
if ( ((LA112_0>=94 && LA112_0<=95)) ) {
alt112=1;
}
else if ( ((LA112_0>=RULE_STRING && LA112_0<=RULE_ID)||LA112_0==20||LA112_0==35||LA112_0==44||LA112_0==53||(LA112_0>=69 && LA112_0<=70)||LA112_0==75||LA112_0==82||LA112_0==85||LA112_0==87||(LA112_0>=91 && LA112_0<=93)||(LA112_0>=96 && LA112_0<=108)||LA112_0==110) ) {
alt112=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 112, 0, input);
throw nvae;
}
switch (alt112) {
case 1 :
// InternalMelange.g:6010:5: this_XVariableDeclaration_0= ruleXVariableDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0());
}
pushFollow(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 :
// InternalMelange.g:6020:5: this_XExpression_1= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1());
}
pushFollow(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"
// InternalMelange.g:6036:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ;
public final EObject entryRuleXVariableDeclaration() throws RecognitionException {
EObject current = null;
EObject iv_ruleXVariableDeclaration = null;
try {
// InternalMelange.g:6037:2: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF )
// InternalMelange.g:6038:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXVariableDeclaration=ruleXVariableDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXVariableDeclaration;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXVariableDeclaration"
// $ANTLR start "ruleXVariableDeclaration"
// InternalMelange.g:6045: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 {
// InternalMelange.g:6048: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 ) ) )? ) )
// InternalMelange.g:6049: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 ) ) )? )
{
// InternalMelange.g:6049: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 ) ) )? )
// InternalMelange.g:6049: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 ) ) )?
{
// InternalMelange.g:6049:2: ()
// InternalMelange.g:6050:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(),
current);
}
}
// InternalMelange.g:6055:2: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' )
int alt113=2;
int LA113_0 = input.LA(1);
if ( (LA113_0==94) ) {
alt113=1;
}
else if ( (LA113_0==95) ) {
alt113=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 113, 0, input);
throw nvae;
}
switch (alt113) {
case 1 :
// InternalMelange.g:6055:3: ( (lv_writeable_1_0= 'var' ) )
{
// InternalMelange.g:6055:3: ( (lv_writeable_1_0= 'var' ) )
// InternalMelange.g:6056:1: (lv_writeable_1_0= 'var' )
{
// InternalMelange.g:6056:1: (lv_writeable_1_0= 'var' )
// InternalMelange.g:6057:3: lv_writeable_1_0= 'var'
{
lv_writeable_1_0=(Token)match(input,94,FOLLOW_16); 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 :
// InternalMelange.g:6071:7: otherlv_2= 'val'
{
otherlv_2=(Token)match(input,95,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1());
}
}
break;
}
// InternalMelange.g:6075:2: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) )
int alt114=2;
int LA114_0 = input.LA(1);
if ( (LA114_0==RULE_ID) ) {
int LA114_1 = input.LA(2);
if ( (synpred33_InternalMelange()) ) {
alt114=1;
}
else if ( (true) ) {
alt114=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 114, 1, input);
throw nvae;
}
}
else if ( (LA114_0==35) && (synpred33_InternalMelange())) {
alt114=1;
}
else if ( (LA114_0==66) && (synpred33_InternalMelange())) {
alt114=1;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 114, 0, input);
throw nvae;
}
switch (alt114) {
case 1 :
// InternalMelange.g:6075:3: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
{
// InternalMelange.g:6075:3: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
// InternalMelange.g:6075:4: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
{
// InternalMelange.g:6083:6: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
// InternalMelange.g:6083:7: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) )
{
// InternalMelange.g:6083:7: ( (lv_type_3_0= ruleJvmTypeReference ) )
// InternalMelange.g:6084:1: (lv_type_3_0= ruleJvmTypeReference )
{
// InternalMelange.g:6084:1: (lv_type_3_0= ruleJvmTypeReference )
// InternalMelange.g:6085:3: lv_type_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0());
}
pushFollow(FOLLOW_3);
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();
}
}
}
// InternalMelange.g:6101:2: ( (lv_name_4_0= ruleValidID ) )
// InternalMelange.g:6102:1: (lv_name_4_0= ruleValidID )
{
// InternalMelange.g:6102:1: (lv_name_4_0= ruleValidID )
// InternalMelange.g:6103:3: lv_name_4_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0());
}
pushFollow(FOLLOW_92);
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.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
}
}
break;
case 2 :
// InternalMelange.g:6120:6: ( (lv_name_5_0= ruleValidID ) )
{
// InternalMelange.g:6120:6: ( (lv_name_5_0= ruleValidID ) )
// InternalMelange.g:6121:1: (lv_name_5_0= ruleValidID )
{
// InternalMelange.g:6121:1: (lv_name_5_0= ruleValidID )
// InternalMelange.g:6122:3: lv_name_5_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0());
}
pushFollow(FOLLOW_92);
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.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalMelange.g:6138:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )?
int alt115=2;
int LA115_0 = input.LA(1);
if ( (LA115_0==47) ) {
alt115=1;
}
switch (alt115) {
case 1 :
// InternalMelange.g:6138:5: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) )
{
otherlv_6=(Token)match(input,47,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0());
}
// InternalMelange.g:6142:1: ( (lv_right_7_0= ruleXExpression ) )
// InternalMelange.g:6143:1: (lv_right_7_0= ruleXExpression )
{
// InternalMelange.g:6143:1: (lv_right_7_0= ruleXExpression )
// InternalMelange.g:6144:3: lv_right_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0());
}
pushFollow(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"
// InternalMelange.g:6168:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ;
public final EObject entryRuleJvmFormalParameter() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmFormalParameter = null;
try {
// InternalMelange.g:6169:2: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF )
// InternalMelange.g:6170:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmFormalParameterRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmFormalParameter=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmFormalParameter;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmFormalParameter"
// $ANTLR start "ruleJvmFormalParameter"
// InternalMelange.g:6177: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 {
// InternalMelange.g:6180:28: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) )
// InternalMelange.g:6181:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
{
// InternalMelange.g:6181:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
// InternalMelange.g:6181:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) )
{
// InternalMelange.g:6181:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )?
int alt116=2;
int LA116_0 = input.LA(1);
if ( (LA116_0==RULE_ID) ) {
int LA116_1 = input.LA(2);
if ( (LA116_1==RULE_ID||LA116_1==44||LA116_1==53||LA116_1==79) ) {
alt116=1;
}
}
else if ( (LA116_0==35||LA116_0==66) ) {
alt116=1;
}
switch (alt116) {
case 1 :
// InternalMelange.g:6182:1: (lv_parameterType_0_0= ruleJvmTypeReference )
{
// InternalMelange.g:6182:1: (lv_parameterType_0_0= ruleJvmTypeReference )
// InternalMelange.g:6183:3: lv_parameterType_0_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0());
}
pushFollow(FOLLOW_3);
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;
}
// InternalMelange.g:6199:3: ( (lv_name_1_0= ruleValidID ) )
// InternalMelange.g:6200:1: (lv_name_1_0= ruleValidID )
{
// InternalMelange.g:6200:1: (lv_name_1_0= ruleValidID )
// InternalMelange.g:6201:3: lv_name_1_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0());
}
pushFollow(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.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmFormalParameter"
// $ANTLR start "entryRuleFullJvmFormalParameter"
// InternalMelange.g:6225:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ;
public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException {
EObject current = null;
EObject iv_ruleFullJvmFormalParameter = null;
try {
// InternalMelange.g:6226:2: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF )
// InternalMelange.g:6227:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFullJvmFormalParameterRule());
}
pushFollow(FOLLOW_1);
iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleFullJvmFormalParameter;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFullJvmFormalParameter"
// $ANTLR start "ruleFullJvmFormalParameter"
// InternalMelange.g:6234: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 {
// InternalMelange.g:6237:28: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) )
// InternalMelange.g:6238:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
{
// InternalMelange.g:6238:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
// InternalMelange.g:6238:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) )
{
// InternalMelange.g:6238:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )
// InternalMelange.g:6239:1: (lv_parameterType_0_0= ruleJvmTypeReference )
{
// InternalMelange.g:6239:1: (lv_parameterType_0_0= ruleJvmTypeReference )
// InternalMelange.g:6240:3: lv_parameterType_0_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0());
}
pushFollow(FOLLOW_3);
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();
}
}
}
// InternalMelange.g:6256:2: ( (lv_name_1_0= ruleValidID ) )
// InternalMelange.g:6257:1: (lv_name_1_0= ruleValidID )
{
// InternalMelange.g:6257:1: (lv_name_1_0= ruleValidID )
// InternalMelange.g:6258:3: lv_name_1_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0());
}
pushFollow(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.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFullJvmFormalParameter"
// $ANTLR start "entryRuleXFeatureCall"
// InternalMelange.g:6282:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ;
public final EObject entryRuleXFeatureCall() throws RecognitionException {
EObject current = null;
EObject iv_ruleXFeatureCall = null;
try {
// InternalMelange.g:6283:2: (iv_ruleXFeatureCall= ruleXFeatureCall EOF )
// InternalMelange.g:6284:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallRule());
}
pushFollow(FOLLOW_1);
iv_ruleXFeatureCall=ruleXFeatureCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXFeatureCall;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXFeatureCall"
// $ANTLR start "ruleXFeatureCall"
// InternalMelange.g:6291: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 {
// InternalMelange.g:6294: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 ) )? ) )
// InternalMelange.g:6295: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 ) )? )
{
// InternalMelange.g:6295: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 ) )? )
// InternalMelange.g:6295: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 ) )?
{
// InternalMelange.g:6295:2: ()
// InternalMelange.g:6296:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(),
current);
}
}
// InternalMelange.g:6301:2: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )?
int alt118=2;
int LA118_0 = input.LA(1);
if ( (LA118_0==53) ) {
alt118=1;
}
switch (alt118) {
case 1 :
// InternalMelange.g:6301:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>'
{
otherlv_1=(Token)match(input,53,FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0());
}
// InternalMelange.g:6305:1: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) )
// InternalMelange.g:6306:1: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
{
// InternalMelange.g:6306:1: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
// InternalMelange.g:6307:3: lv_typeArguments_2_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_63);
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();
}
}
}
// InternalMelange.g:6323:2: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )*
loop117:
do {
int alt117=2;
int LA117_0 = input.LA(1);
if ( (LA117_0==17) ) {
alt117=1;
}
switch (alt117) {
case 1 :
// InternalMelange.g:6323:4: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
{
otherlv_3=(Token)match(input,17,FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0());
}
// InternalMelange.g:6327:1: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
// InternalMelange.g:6328:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
{
// InternalMelange.g:6328:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
// InternalMelange.g:6329:3: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
}
pushFollow(FOLLOW_63);
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 loop117;
}
} while (true);
otherlv_5=(Token)match(input,54,FOLLOW_61); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3());
}
}
break;
}
// InternalMelange.g:6349:3: ( ( ruleIdOrSuper ) )
// InternalMelange.g:6350:1: ( ruleIdOrSuper )
{
// InternalMelange.g:6350:1: ( ruleIdOrSuper )
// InternalMelange.g:6351:3: ruleIdOrSuper
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXFeatureCallRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0());
}
pushFollow(FOLLOW_93);
ruleIdOrSuper();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:6364: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 alt121=2;
alt121 = dfa121.predict(input);
switch (alt121) {
case 1 :
// InternalMelange.g:6364: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= ')'
{
// InternalMelange.g:6364:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) )
// InternalMelange.g:6364:4: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' )
{
// InternalMelange.g:6371:1: (lv_explicitOperationCall_7_0= '(' )
// InternalMelange.g:6372:3: lv_explicitOperationCall_7_0= '('
{
lv_explicitOperationCall_7_0=(Token)match(input,35,FOLLOW_65); 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, "(");
}
}
}
// InternalMelange.g:6385:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?
int alt120=3;
alt120 = dfa120.predict(input);
switch (alt120) {
case 1 :
// InternalMelange.g:6385:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
{
// InternalMelange.g:6385:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
// InternalMelange.g:6385:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure )
{
// InternalMelange.g:6402:1: (lv_featureCallArguments_8_0= ruleXShortClosure )
// InternalMelange.g:6403:3: lv_featureCallArguments_8_0= ruleXShortClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0());
}
pushFollow(FOLLOW_66);
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 :
// InternalMelange.g:6420:6: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
{
// InternalMelange.g:6420:6: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
// InternalMelange.g:6420:7: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
{
// InternalMelange.g:6420:7: ( (lv_featureCallArguments_9_0= ruleXExpression ) )
// InternalMelange.g:6421:1: (lv_featureCallArguments_9_0= ruleXExpression )
{
// InternalMelange.g:6421:1: (lv_featureCallArguments_9_0= ruleXExpression )
// InternalMelange.g:6422:3: lv_featureCallArguments_9_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0());
}
pushFollow(FOLLOW_29);
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();
}
}
}
// InternalMelange.g:6438:2: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
loop119:
do {
int alt119=2;
int LA119_0 = input.LA(1);
if ( (LA119_0==17) ) {
alt119=1;
}
switch (alt119) {
case 1 :
// InternalMelange.g:6438:4: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) )
{
otherlv_10=(Token)match(input,17,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0());
}
// InternalMelange.g:6442:1: ( (lv_featureCallArguments_11_0= ruleXExpression ) )
// InternalMelange.g:6443:1: (lv_featureCallArguments_11_0= ruleXExpression )
{
// InternalMelange.g:6443:1: (lv_featureCallArguments_11_0= ruleXExpression )
// InternalMelange.g:6444:3: lv_featureCallArguments_11_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0());
}
pushFollow(FOLLOW_29);
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 loop119;
}
} while (true);
}
}
break;
}
otherlv_12=(Token)match(input,36,FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2());
}
}
break;
}
// InternalMelange.g:6464:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
int alt122=2;
alt122 = dfa122.predict(input);
switch (alt122) {
case 1 :
// InternalMelange.g:6464:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure )
{
// InternalMelange.g:6467:1: (lv_featureCallArguments_13_0= ruleXClosure )
// InternalMelange.g:6468:3: lv_featureCallArguments_13_0= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0());
}
pushFollow(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 "entryRuleFeatureCallID"
// InternalMelange.g:6492:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ;
public final String entryRuleFeatureCallID() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleFeatureCallID = null;
try {
// InternalMelange.g:6493:2: (iv_ruleFeatureCallID= ruleFeatureCallID EOF )
// InternalMelange.g:6494:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFeatureCallIDRule());
}
pushFollow(FOLLOW_1);
iv_ruleFeatureCallID=ruleFeatureCallID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleFeatureCallID.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFeatureCallID"
// $ANTLR start "ruleFeatureCallID"
// InternalMelange.g:6501:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ;
public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_ValidID_0 = null;
enterRule();
try {
// InternalMelange.g:6504:28: ( (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) )
// InternalMelange.g:6505:1: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' )
{
// InternalMelange.g:6505:1: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' )
int alt123=5;
switch ( input.LA(1) ) {
case RULE_ID:
{
alt123=1;
}
break;
case 96:
{
alt123=2;
}
break;
case 97:
{
alt123=3;
}
break;
case 98:
{
alt123=4;
}
break;
case 99:
{
alt123=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 123, 0, input);
throw nvae;
}
switch (alt123) {
case 1 :
// InternalMelange.g:6506:5: this_ValidID_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0());
}
pushFollow(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 :
// InternalMelange.g:6518:2: kw= 'extends'
{
kw=(Token)match(input,96,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1());
}
}
break;
case 3 :
// InternalMelange.g:6525:2: kw= 'static'
{
kw=(Token)match(input,97,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2());
}
}
break;
case 4 :
// InternalMelange.g:6532:2: kw= 'import'
{
kw=(Token)match(input,98,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_3());
}
}
break;
case 5 :
// InternalMelange.g:6539:2: kw= 'extension'
{
kw=(Token)match(input,99,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFeatureCallID"
// $ANTLR start "entryRuleIdOrSuper"
// InternalMelange.g:6552:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ;
public final String entryRuleIdOrSuper() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleIdOrSuper = null;
try {
// InternalMelange.g:6553:2: (iv_ruleIdOrSuper= ruleIdOrSuper EOF )
// InternalMelange.g:6554:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIdOrSuperRule());
}
pushFollow(FOLLOW_1);
iv_ruleIdOrSuper=ruleIdOrSuper();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIdOrSuper.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIdOrSuper"
// $ANTLR start "ruleIdOrSuper"
// InternalMelange.g:6561: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 {
// InternalMelange.g:6564:28: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) )
// InternalMelange.g:6565:1: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
{
// InternalMelange.g:6565:1: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
int alt124=2;
int LA124_0 = input.LA(1);
if ( (LA124_0==RULE_ID||(LA124_0>=96 && LA124_0<=99)) ) {
alt124=1;
}
else if ( (LA124_0==100) ) {
alt124=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 124, 0, input);
throw nvae;
}
switch (alt124) {
case 1 :
// InternalMelange.g:6566:5: this_FeatureCallID_0= ruleFeatureCallID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0());
}
pushFollow(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 :
// InternalMelange.g:6578:2: kw= 'super'
{
kw=(Token)match(input,100,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"
// InternalMelange.g:6591:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ;
public final EObject entryRuleXConstructorCall() throws RecognitionException {
EObject current = null;
EObject iv_ruleXConstructorCall = null;
try {
// InternalMelange.g:6592:2: (iv_ruleXConstructorCall= ruleXConstructorCall EOF )
// InternalMelange.g:6593:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallRule());
}
pushFollow(FOLLOW_1);
iv_ruleXConstructorCall=ruleXConstructorCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXConstructorCall;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXConstructorCall"
// $ANTLR start "ruleXConstructorCall"
// InternalMelange.g:6600: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 {
// InternalMelange.g:6603: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 ) )? ) )
// InternalMelange.g:6604: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 ) )? )
{
// InternalMelange.g:6604: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 ) )? )
// InternalMelange.g:6604: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 ) )?
{
// InternalMelange.g:6604:2: ()
// InternalMelange.g:6605:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(),
current);
}
}
otherlv_1=(Token)match(input,101,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1());
}
// InternalMelange.g:6614:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:6615:1: ( ruleQualifiedName )
{
// InternalMelange.g:6615:1: ( ruleQualifiedName )
// InternalMelange.g:6616:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXConstructorCallRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0());
}
pushFollow(FOLLOW_95);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:6629:2: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?
int alt126=2;
alt126 = dfa126.predict(input);
switch (alt126) {
case 1 :
// InternalMelange.g:6629:3: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>'
{
// InternalMelange.g:6629:3: ( ( '<' )=>otherlv_3= '<' )
// InternalMelange.g:6629:4: ( '<' )=>otherlv_3= '<'
{
otherlv_3=(Token)match(input,53,FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0());
}
}
// InternalMelange.g:6634:2: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
// InternalMelange.g:6635:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
{
// InternalMelange.g:6635:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
// InternalMelange.g:6636:3: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0());
}
pushFollow(FOLLOW_63);
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();
}
}
}
// InternalMelange.g:6652:2: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )*
loop125:
do {
int alt125=2;
int LA125_0 = input.LA(1);
if ( (LA125_0==17) ) {
alt125=1;
}
switch (alt125) {
case 1 :
// InternalMelange.g:6652:4: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
{
otherlv_5=(Token)match(input,17,FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0());
}
// InternalMelange.g:6656:1: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
// InternalMelange.g:6657:1: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
{
// InternalMelange.g:6657:1: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
// InternalMelange.g:6658:3: lv_typeArguments_6_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0());
}
pushFollow(FOLLOW_63);
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 loop125;
}
} while (true);
otherlv_7=(Token)match(input,54,FOLLOW_93); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3());
}
}
break;
}
// InternalMelange.g:6678: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 alt129=2;
alt129 = dfa129.predict(input);
switch (alt129) {
case 1 :
// InternalMelange.g:6678: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= ')'
{
// InternalMelange.g:6678:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) )
// InternalMelange.g:6678:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' )
{
// InternalMelange.g:6685:1: (lv_explicitConstructorCall_8_0= '(' )
// InternalMelange.g:6686:3: lv_explicitConstructorCall_8_0= '('
{
lv_explicitConstructorCall_8_0=(Token)match(input,35,FOLLOW_65); 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, "(");
}
}
}
// InternalMelange.g:6699:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?
int alt128=3;
alt128 = dfa128.predict(input);
switch (alt128) {
case 1 :
// InternalMelange.g:6699:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
{
// InternalMelange.g:6699:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
// InternalMelange.g:6699:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure )
{
// InternalMelange.g:6716:1: (lv_arguments_9_0= ruleXShortClosure )
// InternalMelange.g:6717:3: lv_arguments_9_0= ruleXShortClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0());
}
pushFollow(FOLLOW_66);
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 :
// InternalMelange.g:6734:6: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
{
// InternalMelange.g:6734:6: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
// InternalMelange.g:6734:7: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
{
// InternalMelange.g:6734:7: ( (lv_arguments_10_0= ruleXExpression ) )
// InternalMelange.g:6735:1: (lv_arguments_10_0= ruleXExpression )
{
// InternalMelange.g:6735:1: (lv_arguments_10_0= ruleXExpression )
// InternalMelange.g:6736:3: lv_arguments_10_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0());
}
pushFollow(FOLLOW_29);
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();
}
}
}
// InternalMelange.g:6752:2: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
loop127:
do {
int alt127=2;
int LA127_0 = input.LA(1);
if ( (LA127_0==17) ) {
alt127=1;
}
switch (alt127) {
case 1 :
// InternalMelange.g:6752:4: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) )
{
otherlv_11=(Token)match(input,17,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0());
}
// InternalMelange.g:6756:1: ( (lv_arguments_12_0= ruleXExpression ) )
// InternalMelange.g:6757:1: (lv_arguments_12_0= ruleXExpression )
{
// InternalMelange.g:6757:1: (lv_arguments_12_0= ruleXExpression )
// InternalMelange.g:6758:3: lv_arguments_12_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0());
}
pushFollow(FOLLOW_29);
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 loop127;
}
} while (true);
}
}
break;
}
otherlv_13=(Token)match(input,36,FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2());
}
}
break;
}
// InternalMelange.g:6778:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
int alt130=2;
alt130 = dfa130.predict(input);
switch (alt130) {
case 1 :
// InternalMelange.g:6778:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure )
{
// InternalMelange.g:6781:1: (lv_arguments_14_0= ruleXClosure )
// InternalMelange.g:6782:3: lv_arguments_14_0= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0());
}
pushFollow(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"
// InternalMelange.g:6806:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ;
public final EObject entryRuleXBooleanLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXBooleanLiteral = null;
try {
// InternalMelange.g:6807:2: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF )
// InternalMelange.g:6808:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBooleanLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXBooleanLiteral=ruleXBooleanLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXBooleanLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXBooleanLiteral"
// $ANTLR start "ruleXBooleanLiteral"
// InternalMelange.g:6815: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 {
// InternalMelange.g:6818:28: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) )
// InternalMelange.g:6819:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
{
// InternalMelange.g:6819:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
// InternalMelange.g:6819:2: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
{
// InternalMelange.g:6819:2: ()
// InternalMelange.g:6820:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(),
current);
}
}
// InternalMelange.g:6825:2: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
int alt131=2;
int LA131_0 = input.LA(1);
if ( (LA131_0==102) ) {
alt131=1;
}
else if ( (LA131_0==103) ) {
alt131=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 131, 0, input);
throw nvae;
}
switch (alt131) {
case 1 :
// InternalMelange.g:6825:4: otherlv_1= 'false'
{
otherlv_1=(Token)match(input,102,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0());
}
}
break;
case 2 :
// InternalMelange.g:6830:6: ( (lv_isTrue_2_0= 'true' ) )
{
// InternalMelange.g:6830:6: ( (lv_isTrue_2_0= 'true' ) )
// InternalMelange.g:6831:1: (lv_isTrue_2_0= 'true' )
{
// InternalMelange.g:6831:1: (lv_isTrue_2_0= 'true' )
// InternalMelange.g:6832:3: lv_isTrue_2_0= 'true'
{
lv_isTrue_2_0=(Token)match(input,103,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"
// InternalMelange.g:6853:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ;
public final EObject entryRuleXNullLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXNullLiteral = null;
try {
// InternalMelange.g:6854:2: (iv_ruleXNullLiteral= ruleXNullLiteral EOF )
// InternalMelange.g:6855:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXNullLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXNullLiteral=ruleXNullLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXNullLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXNullLiteral"
// $ANTLR start "ruleXNullLiteral"
// InternalMelange.g:6862:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
public final EObject ruleXNullLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalMelange.g:6865:28: ( ( () otherlv_1= 'null' ) )
// InternalMelange.g:6866:1: ( () otherlv_1= 'null' )
{
// InternalMelange.g:6866:1: ( () otherlv_1= 'null' )
// InternalMelange.g:6866:2: () otherlv_1= 'null'
{
// InternalMelange.g:6866:2: ()
// InternalMelange.g:6867:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,104,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"
// InternalMelange.g:6884:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ;
public final EObject entryRuleXNumberLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXNumberLiteral = null;
try {
// InternalMelange.g:6885:2: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF )
// InternalMelange.g:6886:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXNumberLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXNumberLiteral=ruleXNumberLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXNumberLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXNumberLiteral"
// $ANTLR start "ruleXNumberLiteral"
// InternalMelange.g:6893: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 {
// InternalMelange.g:6896:28: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) )
// InternalMelange.g:6897:1: ( () ( (lv_value_1_0= ruleNumber ) ) )
{
// InternalMelange.g:6897:1: ( () ( (lv_value_1_0= ruleNumber ) ) )
// InternalMelange.g:6897:2: () ( (lv_value_1_0= ruleNumber ) )
{
// InternalMelange.g:6897:2: ()
// InternalMelange.g:6898:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(),
current);
}
}
// InternalMelange.g:6903:2: ( (lv_value_1_0= ruleNumber ) )
// InternalMelange.g:6904:1: (lv_value_1_0= ruleNumber )
{
// InternalMelange.g:6904:1: (lv_value_1_0= ruleNumber )
// InternalMelange.g:6905:3: lv_value_1_0= ruleNumber
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0());
}
pushFollow(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"
// InternalMelange.g:6929:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ;
public final EObject entryRuleXStringLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXStringLiteral = null;
try {
// InternalMelange.g:6930:2: (iv_ruleXStringLiteral= ruleXStringLiteral EOF )
// InternalMelange.g:6931:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXStringLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXStringLiteral=ruleXStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXStringLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXStringLiteral"
// $ANTLR start "ruleXStringLiteral"
// InternalMelange.g:6938: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 {
// InternalMelange.g:6941:28: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) )
// InternalMelange.g:6942:1: ( () ( (lv_value_1_0= RULE_STRING ) ) )
{
// InternalMelange.g:6942:1: ( () ( (lv_value_1_0= RULE_STRING ) ) )
// InternalMelange.g:6942:2: () ( (lv_value_1_0= RULE_STRING ) )
{
// InternalMelange.g:6942:2: ()
// InternalMelange.g:6943:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(),
current);
}
}
// InternalMelange.g:6948:2: ( (lv_value_1_0= RULE_STRING ) )
// InternalMelange.g:6949:1: (lv_value_1_0= RULE_STRING )
{
// InternalMelange.g:6949:1: (lv_value_1_0= RULE_STRING )
// InternalMelange.g:6950:3: lv_value_1_0= RULE_STRING
{
lv_value_1_0=(Token)match(input,RULE_STRING,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"
// InternalMelange.g:6974:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ;
public final EObject entryRuleXTypeLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXTypeLiteral = null;
try {
// InternalMelange.g:6975:2: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF )
// InternalMelange.g:6976:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXTypeLiteral=ruleXTypeLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXTypeLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXTypeLiteral"
// $ANTLR start "ruleXTypeLiteral"
// InternalMelange.g:6983: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 {
// InternalMelange.g:6986:28: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) )
// InternalMelange.g:6987:1: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
{
// InternalMelange.g:6987:1: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
// InternalMelange.g:6987:2: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')'
{
// InternalMelange.g:6987:2: ()
// InternalMelange.g:6988:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,105,FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1());
}
otherlv_2=(Token)match(input,35,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2());
}
// InternalMelange.g:7001:1: ( ( ruleQualifiedName ) )
// InternalMelange.g:7002:1: ( ruleQualifiedName )
{
// InternalMelange.g:7002:1: ( ruleQualifiedName )
// InternalMelange.g:7003:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXTypeLiteralRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0());
}
pushFollow(FOLLOW_96);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:7016:2: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )*
loop132:
do {
int alt132=2;
int LA132_0 = input.LA(1);
if ( (LA132_0==44) ) {
alt132=1;
}
switch (alt132) {
case 1 :
// InternalMelange.g:7017:1: (lv_arrayDimensions_4_0= ruleArrayBrackets )
{
// InternalMelange.g:7017:1: (lv_arrayDimensions_4_0= ruleArrayBrackets )
// InternalMelange.g:7018:3: lv_arrayDimensions_4_0= ruleArrayBrackets
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0());
}
pushFollow(FOLLOW_96);
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 loop132;
}
} while (true);
otherlv_5=(Token)match(input,36,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"
// InternalMelange.g:7046:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ;
public final EObject entryRuleXThrowExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXThrowExpression = null;
try {
// InternalMelange.g:7047:2: (iv_ruleXThrowExpression= ruleXThrowExpression EOF )
// InternalMelange.g:7048:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXThrowExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXThrowExpression=ruleXThrowExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXThrowExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXThrowExpression"
// $ANTLR start "ruleXThrowExpression"
// InternalMelange.g:7055: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 {
// InternalMelange.g:7058:28: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) )
// InternalMelange.g:7059:1: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
{
// InternalMelange.g:7059:1: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
// InternalMelange.g:7059:2: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) )
{
// InternalMelange.g:7059:2: ()
// InternalMelange.g:7060:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,106,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1());
}
// InternalMelange.g:7069:1: ( (lv_expression_2_0= ruleXExpression ) )
// InternalMelange.g:7070:1: (lv_expression_2_0= ruleXExpression )
{
// InternalMelange.g:7070:1: (lv_expression_2_0= ruleXExpression )
// InternalMelange.g:7071:3: lv_expression_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
}
pushFollow(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"
// InternalMelange.g:7095:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ;
public final EObject entryRuleXReturnExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXReturnExpression = null;
try {
// InternalMelange.g:7096:2: (iv_ruleXReturnExpression= ruleXReturnExpression EOF )
// InternalMelange.g:7097:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReturnExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXReturnExpression=ruleXReturnExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXReturnExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXReturnExpression"
// $ANTLR start "ruleXReturnExpression"
// InternalMelange.g:7104:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 {
// InternalMelange.g:7107:28: ( ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 ) )? ) )
// InternalMelange.g:7108:1: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 ) )? )
{
// InternalMelange.g:7108:1: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 ) )? )
// InternalMelange.g:7108:2: () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 ) )?
{
// InternalMelange.g:7108:2: ()
// InternalMelange.g:7109:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,107,FOLLOW_97); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1());
}
// InternalMelange.g:7118:1: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 alt133=2;
alt133 = dfa133.predict(input);
switch (alt133) {
case 1 :
// InternalMelange.g:7118:2: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 )
{
// InternalMelange.g:7146:1: (lv_expression_2_0= ruleXExpression )
// InternalMelange.g:7147:3: lv_expression_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
}
pushFollow(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"
// InternalMelange.g:7171:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ;
public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXTryCatchFinallyExpression = null;
try {
// InternalMelange.g:7172:2: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF )
// InternalMelange.g:7173:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXTryCatchFinallyExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXTryCatchFinallyExpression"
// $ANTLR start "ruleXTryCatchFinallyExpression"
// InternalMelange.g:7180: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 {
// InternalMelange.g:7183: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 ) ) ) ) ) )
// InternalMelange.g:7184: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 ) ) ) ) )
{
// InternalMelange.g:7184: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 ) ) ) ) )
// InternalMelange.g:7184: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 ) ) ) )
{
// InternalMelange.g:7184:2: ()
// InternalMelange.g:7185:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,108,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1());
}
// InternalMelange.g:7194:1: ( (lv_expression_2_0= ruleXExpression ) )
// InternalMelange.g:7195:1: (lv_expression_2_0= ruleXExpression )
{
// InternalMelange.g:7195:1: (lv_expression_2_0= ruleXExpression )
// InternalMelange.g:7196:3: lv_expression_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
}
pushFollow(FOLLOW_98);
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();
}
}
}
// InternalMelange.g:7212: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 alt136=2;
int LA136_0 = input.LA(1);
if ( (LA136_0==111) ) {
alt136=1;
}
else if ( (LA136_0==109) ) {
alt136=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 136, 0, input);
throw nvae;
}
switch (alt136) {
case 1 :
// InternalMelange.g:7212:3: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
{
// InternalMelange.g:7212:3: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
// InternalMelange.g:7212:4: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
{
// InternalMelange.g:7212:4: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+
int cnt134=0;
loop134:
do {
int alt134=2;
int LA134_0 = input.LA(1);
if ( (LA134_0==111) ) {
int LA134_2 = input.LA(2);
if ( (synpred42_InternalMelange()) ) {
alt134=1;
}
}
switch (alt134) {
case 1 :
// InternalMelange.g:7212:5: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause )
{
// InternalMelange.g:7214:1: (lv_catchClauses_3_0= ruleXCatchClause )
// InternalMelange.g:7215:3: lv_catchClauses_3_0= ruleXCatchClause
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0());
}
pushFollow(FOLLOW_99);
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 ( cnt134 >= 1 ) break loop134;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(134, input);
throw eee;
}
cnt134++;
} while (true);
// InternalMelange.g:7231:3: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
int alt135=2;
int LA135_0 = input.LA(1);
if ( (LA135_0==109) ) {
int LA135_1 = input.LA(2);
if ( (synpred43_InternalMelange()) ) {
alt135=1;
}
}
switch (alt135) {
case 1 :
// InternalMelange.g:7231:4: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) )
{
// InternalMelange.g:7231:4: ( ( 'finally' )=>otherlv_4= 'finally' )
// InternalMelange.g:7231:5: ( 'finally' )=>otherlv_4= 'finally'
{
otherlv_4=(Token)match(input,109,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0());
}
}
// InternalMelange.g:7236:2: ( (lv_finallyExpression_5_0= ruleXExpression ) )
// InternalMelange.g:7237:1: (lv_finallyExpression_5_0= ruleXExpression )
{
// InternalMelange.g:7237:1: (lv_finallyExpression_5_0= ruleXExpression )
// InternalMelange.g:7238:3: lv_finallyExpression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0());
}
pushFollow(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 :
// InternalMelange.g:7255:6: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
{
// InternalMelange.g:7255:6: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
// InternalMelange.g:7255:8: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) )
{
otherlv_6=(Token)match(input,109,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0());
}
// InternalMelange.g:7259:1: ( (lv_finallyExpression_7_0= ruleXExpression ) )
// InternalMelange.g:7260:1: (lv_finallyExpression_7_0= ruleXExpression )
{
// InternalMelange.g:7260:1: (lv_finallyExpression_7_0= ruleXExpression )
// InternalMelange.g:7261:3: lv_finallyExpression_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0());
}
pushFollow(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"
// InternalMelange.g:7285:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ;
public final EObject entryRuleXSynchronizedExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXSynchronizedExpression = null;
try {
// InternalMelange.g:7286:2: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF )
// InternalMelange.g:7287:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSynchronizedExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXSynchronizedExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXSynchronizedExpression"
// $ANTLR start "ruleXSynchronizedExpression"
// InternalMelange.g:7294: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 {
// InternalMelange.g:7297:28: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) )
// InternalMelange.g:7298:1: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
{
// InternalMelange.g:7298:1: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
// InternalMelange.g:7298:2: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) )
{
// InternalMelange.g:7298:2: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) )
// InternalMelange.g:7298:3: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' )
{
// InternalMelange.g:7301:5: ( () otherlv_1= 'synchronized' otherlv_2= '(' )
// InternalMelange.g:7301:6: () otherlv_1= 'synchronized' otherlv_2= '('
{
// InternalMelange.g:7301:6: ()
// InternalMelange.g:7302:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(),
current);
}
}
otherlv_1=(Token)match(input,110,FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1());
}
otherlv_2=(Token)match(input,35,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2());
}
}
}
// InternalMelange.g:7315:3: ( (lv_param_3_0= ruleXExpression ) )
// InternalMelange.g:7316:1: (lv_param_3_0= ruleXExpression )
{
// InternalMelange.g:7316:1: (lv_param_3_0= ruleXExpression )
// InternalMelange.g:7317:3: lv_param_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0());
}
pushFollow(FOLLOW_66);
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,36,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2());
}
// InternalMelange.g:7337:1: ( (lv_expression_5_0= ruleXExpression ) )
// InternalMelange.g:7338:1: (lv_expression_5_0= ruleXExpression )
{
// InternalMelange.g:7338:1: (lv_expression_5_0= ruleXExpression )
// InternalMelange.g:7339:3: lv_expression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0());
}
pushFollow(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"
// InternalMelange.g:7363:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ;
public final EObject entryRuleXCatchClause() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCatchClause = null;
try {
// InternalMelange.g:7364:2: (iv_ruleXCatchClause= ruleXCatchClause EOF )
// InternalMelange.g:7365:2: iv_ruleXCatchClause= ruleXCatchClause EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCatchClauseRule());
}
pushFollow(FOLLOW_1);
iv_ruleXCatchClause=ruleXCatchClause();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCatchClause;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCatchClause"
// $ANTLR start "ruleXCatchClause"
// InternalMelange.g:7372: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 {
// InternalMelange.g:7375:28: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) )
// InternalMelange.g:7376:1: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
{
// InternalMelange.g:7376:1: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
// InternalMelange.g:7376:2: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) )
{
// InternalMelange.g:7376:2: ( ( 'catch' )=>otherlv_0= 'catch' )
// InternalMelange.g:7376:3: ( 'catch' )=>otherlv_0= 'catch'
{
otherlv_0=(Token)match(input,111,FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0());
}
}
otherlv_1=(Token)match(input,35,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1());
}
// InternalMelange.g:7385:1: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) )
// InternalMelange.g:7386:1: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
{
// InternalMelange.g:7386:1: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
// InternalMelange.g:7387:3: lv_declaredParam_2_0= ruleFullJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0());
}
pushFollow(FOLLOW_66);
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,36,FOLLOW_42); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3());
}
// InternalMelange.g:7407:1: ( (lv_expression_4_0= ruleXExpression ) )
// InternalMelange.g:7408:1: (lv_expression_4_0= ruleXExpression )
{
// InternalMelange.g:7408:1: (lv_expression_4_0= ruleXExpression )
// InternalMelange.g:7409:3: lv_expression_4_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0());
}
pushFollow(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"
// InternalMelange.g:7433:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
public final String entryRuleQualifiedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQualifiedName = null;
try {
// InternalMelange.g:7434:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
// InternalMelange.g:7435:2: iv_ruleQualifiedName= ruleQualifiedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameRule());
}
pushFollow(FOLLOW_1);
iv_ruleQualifiedName=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQualifiedName.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQualifiedName"
// $ANTLR start "ruleQualifiedName"
// InternalMelange.g:7442: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 {
// InternalMelange.g:7445:28: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) )
// InternalMelange.g:7446:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
{
// InternalMelange.g:7446:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
// InternalMelange.g:7447:5: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0());
}
pushFollow(FOLLOW_100);
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();
}
// InternalMelange.g:7457:1: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
loop137:
do {
int alt137=2;
int LA137_0 = input.LA(1);
if ( (LA137_0==79) ) {
int LA137_2 = input.LA(2);
if ( (LA137_2==RULE_ID) ) {
int LA137_3 = input.LA(3);
if ( (synpred46_InternalMelange()) ) {
alt137=1;
}
}
}
switch (alt137) {
case 1 :
// InternalMelange.g:7457:2: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID
{
// InternalMelange.g:7457:2: ( ( '.' )=>kw= '.' )
// InternalMelange.g:7457:3: ( '.' )=>kw= '.'
{
kw=(Token)match(input,79,FOLLOW_3); 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(FOLLOW_100);
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 loop137;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQualifiedName"
// $ANTLR start "entryRuleNumber"
// InternalMelange.g:7484: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 {
// InternalMelange.g:7488:2: (iv_ruleNumber= ruleNumber EOF )
// InternalMelange.g:7489:2: iv_ruleNumber= ruleNumber EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNumberRule());
}
pushFollow(FOLLOW_1);
iv_ruleNumber=ruleNumber();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNumber.getText();
}
match(input,EOF,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"
// InternalMelange.g:7499: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 {
// InternalMelange.g:7503: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 ) )? ) ) )
// InternalMelange.g:7504: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 ) )? ) )
{
// InternalMelange.g:7504: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 alt141=2;
int LA141_0 = input.LA(1);
if ( (LA141_0==RULE_HEX) ) {
alt141=1;
}
else if ( ((LA141_0>=RULE_INT && LA141_0<=RULE_DECIMAL)) ) {
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 :
// InternalMelange.g:7504:6: this_HEX_0= RULE_HEX
{
this_HEX_0=(Token)match(input,RULE_HEX,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 :
// InternalMelange.g:7512:6: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
{
// InternalMelange.g:7512:6: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
// InternalMelange.g:7512:7: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
{
// InternalMelange.g:7512:7: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL )
int alt138=2;
int LA138_0 = input.LA(1);
if ( (LA138_0==RULE_INT) ) {
alt138=1;
}
else if ( (LA138_0==RULE_DECIMAL) ) {
alt138=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 138, 0, input);
throw nvae;
}
switch (alt138) {
case 1 :
// InternalMelange.g:7512:12: this_INT_1= RULE_INT
{
this_INT_1=(Token)match(input,RULE_INT,FOLLOW_100); 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 :
// InternalMelange.g:7520:10: this_DECIMAL_2= RULE_DECIMAL
{
this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FOLLOW_100); 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;
}
// InternalMelange.g:7527:2: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
int alt140=2;
int LA140_0 = input.LA(1);
if ( (LA140_0==79) ) {
int LA140_1 = input.LA(2);
if ( ((LA140_1>=RULE_INT && LA140_1<=RULE_DECIMAL)) ) {
alt140=1;
}
}
switch (alt140) {
case 1 :
// InternalMelange.g:7528:2: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
{
kw=(Token)match(input,79,FOLLOW_101); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0());
}
// InternalMelange.g:7533:1: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
int alt139=2;
int LA139_0 = input.LA(1);
if ( (LA139_0==RULE_INT) ) {
alt139=1;
}
else if ( (LA139_0==RULE_DECIMAL) ) {
alt139=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 139, 0, input);
throw nvae;
}
switch (alt139) {
case 1 :
// InternalMelange.g:7533:6: this_INT_4= RULE_INT
{
this_INT_4=(Token)match(input,RULE_INT,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 :
// InternalMelange.g:7541:10: this_DECIMAL_5= RULE_DECIMAL
{
this_DECIMAL_5=(Token)match(input,RULE_DECIMAL,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"
// InternalMelange.g:7561:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ;
public final EObject entryRuleJvmTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmTypeReference = null;
try {
// InternalMelange.g:7562:2: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF )
// InternalMelange.g:7563:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeReferenceRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmTypeReference=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmTypeReference;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmTypeReference"
// $ANTLR start "ruleJvmTypeReference"
// InternalMelange.g:7570: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 {
// InternalMelange.g:7573:28: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) )
// InternalMelange.g:7574:1: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
{
// InternalMelange.g:7574:1: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
int alt143=2;
int LA143_0 = input.LA(1);
if ( (LA143_0==RULE_ID) ) {
alt143=1;
}
else if ( (LA143_0==35||LA143_0==66) ) {
alt143=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 143, 0, input);
throw nvae;
}
switch (alt143) {
case 1 :
// InternalMelange.g:7574:2: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
{
// InternalMelange.g:7574:2: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
// InternalMelange.g:7575:5: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0());
}
pushFollow(FOLLOW_94);
this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_JvmParameterizedTypeReference_0;
afterParserOrEnumRuleCall();
}
// InternalMelange.g:7583:1: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
loop142:
do {
int alt142=2;
int LA142_0 = input.LA(1);
if ( (LA142_0==44) ) {
int LA142_2 = input.LA(2);
if ( (LA142_2==45) ) {
int LA142_3 = input.LA(3);
if ( (synpred47_InternalMelange()) ) {
alt142=1;
}
}
}
switch (alt142) {
case 1 :
// InternalMelange.g:7583:2: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets )
{
// InternalMelange.g:7584:24: ( () ruleArrayBrackets )
// InternalMelange.g:7584:25: () ruleArrayBrackets
{
// InternalMelange.g:7584:25: ()
// InternalMelange.g:7585: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(FOLLOW_94);
ruleArrayBrackets();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop142;
}
} while (true);
}
}
break;
case 2 :
// InternalMelange.g:7600:5: this_XFunctionTypeRef_3= ruleXFunctionTypeRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1());
}
pushFollow(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"
// InternalMelange.g:7616:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ;
public final String entryRuleArrayBrackets() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleArrayBrackets = null;
try {
// InternalMelange.g:7617:2: (iv_ruleArrayBrackets= ruleArrayBrackets EOF )
// InternalMelange.g:7618:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getArrayBracketsRule());
}
pushFollow(FOLLOW_1);
iv_ruleArrayBrackets=ruleArrayBrackets();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleArrayBrackets.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleArrayBrackets"
// $ANTLR start "ruleArrayBrackets"
// InternalMelange.g:7625:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ;
public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalMelange.g:7628:28: ( (kw= '[' kw= ']' ) )
// InternalMelange.g:7629:1: (kw= '[' kw= ']' )
{
// InternalMelange.g:7629:1: (kw= '[' kw= ']' )
// InternalMelange.g:7630:2: kw= '[' kw= ']'
{
kw=(Token)match(input,44,FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0());
}
kw=(Token)match(input,45,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"
// InternalMelange.g:7649:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ;
public final EObject entryRuleXFunctionTypeRef() throws RecognitionException {
EObject current = null;
EObject iv_ruleXFunctionTypeRef = null;
try {
// InternalMelange.g:7650:2: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF )
// InternalMelange.g:7651:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefRule());
}
pushFollow(FOLLOW_1);
iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXFunctionTypeRef;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXFunctionTypeRef"
// $ANTLR start "ruleXFunctionTypeRef"
// InternalMelange.g:7658: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 {
// InternalMelange.g:7661:28: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) )
// InternalMelange.g:7662:1: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
{
// InternalMelange.g:7662:1: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
// InternalMelange.g:7662:2: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) )
{
// InternalMelange.g:7662:2: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )?
int alt146=2;
int LA146_0 = input.LA(1);
if ( (LA146_0==35) ) {
alt146=1;
}
switch (alt146) {
case 1 :
// InternalMelange.g:7662:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')'
{
otherlv_0=(Token)match(input,35,FOLLOW_28); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0());
}
// InternalMelange.g:7666:1: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )?
int alt145=2;
int LA145_0 = input.LA(1);
if ( (LA145_0==RULE_ID||LA145_0==35||LA145_0==66) ) {
alt145=1;
}
switch (alt145) {
case 1 :
// InternalMelange.g:7666:2: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
{
// InternalMelange.g:7666:2: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) )
// InternalMelange.g:7667:1: (lv_paramTypes_1_0= ruleJvmTypeReference )
{
// InternalMelange.g:7667:1: (lv_paramTypes_1_0= ruleJvmTypeReference )
// InternalMelange.g:7668:3: lv_paramTypes_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0());
}
pushFollow(FOLLOW_29);
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();
}
}
}
// InternalMelange.g:7684:2: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
loop144:
do {
int alt144=2;
int LA144_0 = input.LA(1);
if ( (LA144_0==17) ) {
alt144=1;
}
switch (alt144) {
case 1 :
// InternalMelange.g:7684:4: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
{
otherlv_2=(Token)match(input,17,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0());
}
// InternalMelange.g:7688:1: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
// InternalMelange.g:7689:1: (lv_paramTypes_3_0= ruleJvmTypeReference )
{
// InternalMelange.g:7689:1: (lv_paramTypes_3_0= ruleJvmTypeReference )
// InternalMelange.g:7690:3: lv_paramTypes_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0());
}
pushFollow(FOLLOW_29);
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 loop144;
}
} while (true);
}
break;
}
otherlv_4=(Token)match(input,36,FOLLOW_102); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2());
}
}
break;
}
otherlv_5=(Token)match(input,66,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1());
}
// InternalMelange.g:7714:1: ( (lv_returnType_6_0= ruleJvmTypeReference ) )
// InternalMelange.g:7715:1: (lv_returnType_6_0= ruleJvmTypeReference )
{
// InternalMelange.g:7715:1: (lv_returnType_6_0= ruleJvmTypeReference )
// InternalMelange.g:7716:3: lv_returnType_6_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0());
}
pushFollow(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"
// InternalMelange.g:7740:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ;
public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmParameterizedTypeReference = null;
try {
// InternalMelange.g:7741:2: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF )
// InternalMelange.g:7742:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmParameterizedTypeReference;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmParameterizedTypeReference"
// $ANTLR start "ruleJvmParameterizedTypeReference"
// InternalMelange.g:7749: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 {
// InternalMelange.g:7752: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= '>' )? )* )? ) )
// InternalMelange.g:7753: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= '>' )? )* )? )
{
// InternalMelange.g:7753: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= '>' )? )* )? )
// InternalMelange.g:7753: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= '>' )? )* )?
{
// InternalMelange.g:7753:2: ( ( ruleQualifiedName ) )
// InternalMelange.g:7754:1: ( ruleQualifiedName )
{
// InternalMelange.g:7754:1: ( ruleQualifiedName )
// InternalMelange.g:7755:3: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0());
}
pushFollow(FOLLOW_103);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:7768: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 alt151=2;
alt151 = dfa151.predict(input);
switch (alt151) {
case 1 :
// InternalMelange.g:7768: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= '>' )? )*
{
// InternalMelange.g:7768:3: ( ( '<' )=>otherlv_1= '<' )
// InternalMelange.g:7768:4: ( '<' )=>otherlv_1= '<'
{
otherlv_1=(Token)match(input,53,FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0());
}
}
// InternalMelange.g:7773:2: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) )
// InternalMelange.g:7774:1: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
{
// InternalMelange.g:7774:1: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
// InternalMelange.g:7775:3: lv_arguments_2_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_63);
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();
}
}
}
// InternalMelange.g:7791:2: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )*
loop147:
do {
int alt147=2;
int LA147_0 = input.LA(1);
if ( (LA147_0==17) ) {
alt147=1;
}
switch (alt147) {
case 1 :
// InternalMelange.g:7791:4: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
{
otherlv_3=(Token)match(input,17,FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0());
}
// InternalMelange.g:7795:1: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
// InternalMelange.g:7796:1: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
{
// InternalMelange.g:7796:1: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
// InternalMelange.g:7797:3: lv_arguments_4_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
}
pushFollow(FOLLOW_63);
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 loop147;
}
} while (true);
otherlv_5=(Token)match(input,54,FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3());
}
// InternalMelange.g:7817:1: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
loop150:
do {
int alt150=2;
int LA150_0 = input.LA(1);
if ( (LA150_0==79) ) {
int LA150_2 = input.LA(2);
if ( (LA150_2==RULE_ID) ) {
int LA150_3 = input.LA(3);
if ( (synpred49_InternalMelange()) ) {
alt150=1;
}
}
}
switch (alt150) {
case 1 :
// InternalMelange.g:7817:2: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
{
// InternalMelange.g:7817:2: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) )
// InternalMelange.g:7817:3: ( ( () '.' ) )=> ( () otherlv_7= '.' )
{
// InternalMelange.g:7819:5: ( () otherlv_7= '.' )
// InternalMelange.g:7819:6: () otherlv_7= '.'
{
// InternalMelange.g:7819:6: ()
// InternalMelange.g:7820:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(),
current);
}
}
otherlv_7=(Token)match(input,79,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1());
}
}
}
// InternalMelange.g:7829:3: ( ( ruleValidID ) )
// InternalMelange.g:7830:1: ( ruleValidID )
{
// InternalMelange.g:7830:1: ( ruleValidID )
// InternalMelange.g:7831: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(FOLLOW_104);
ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:7844:2: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
int alt149=2;
alt149 = dfa149.predict(input);
switch (alt149) {
case 1 :
// InternalMelange.g:7844:3: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>'
{
// InternalMelange.g:7844:3: ( ( '<' )=>otherlv_9= '<' )
// InternalMelange.g:7844:4: ( '<' )=>otherlv_9= '<'
{
otherlv_9=(Token)match(input,53,FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0());
}
}
// InternalMelange.g:7849:2: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) )
// InternalMelange.g:7850:1: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
{
// InternalMelange.g:7850:1: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
// InternalMelange.g:7851:3: lv_arguments_10_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0());
}
pushFollow(FOLLOW_63);
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();
}
}
}
// InternalMelange.g:7867:2: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )*
loop148:
do {
int alt148=2;
int LA148_0 = input.LA(1);
if ( (LA148_0==17) ) {
alt148=1;
}
switch (alt148) {
case 1 :
// InternalMelange.g:7867:4: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
{
otherlv_11=(Token)match(input,17,FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0());
}
// InternalMelange.g:7871:1: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
// InternalMelange.g:7872:1: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
{
// InternalMelange.g:7872:1: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
// InternalMelange.g:7873:3: lv_arguments_12_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0());
}
pushFollow(FOLLOW_63);
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 loop148;
}
} while (true);
otherlv_13=(Token)match(input,54,FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3());
}
}
break;
}
}
break;
default :
break loop150;
}
} while (true);
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmParameterizedTypeReference"
// $ANTLR start "entryRuleJvmArgumentTypeReference"
// InternalMelange.g:7901:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ;
public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmArgumentTypeReference = null;
try {
// InternalMelange.g:7902:2: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF )
// InternalMelange.g:7903:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmArgumentTypeReference;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmArgumentTypeReference"
// $ANTLR start "ruleJvmArgumentTypeReference"
// InternalMelange.g:7910: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 {
// InternalMelange.g:7913:28: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) )
// InternalMelange.g:7914:1: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
{
// InternalMelange.g:7914:1: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
int alt152=2;
int LA152_0 = input.LA(1);
if ( (LA152_0==RULE_ID||LA152_0==35||LA152_0==66) ) {
alt152=1;
}
else if ( (LA152_0==112) ) {
alt152=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 152, 0, input);
throw nvae;
}
switch (alt152) {
case 1 :
// InternalMelange.g:7915:5: this_JvmTypeReference_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0());
}
pushFollow(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 :
// InternalMelange.g:7925:5: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1());
}
pushFollow(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"
// InternalMelange.g:7941:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ;
public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmWildcardTypeReference = null;
try {
// InternalMelange.g:7942:2: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF )
// InternalMelange.g:7943:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmWildcardTypeReference;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmWildcardTypeReference"
// $ANTLR start "ruleJvmWildcardTypeReference"
// InternalMelange.g:7950: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 {
// InternalMelange.g:7953:28: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) )
// InternalMelange.g:7954:1: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
{
// InternalMelange.g:7954:1: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
// InternalMelange.g:7954:2: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
{
// InternalMelange.g:7954:2: ()
// InternalMelange.g:7955:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(),
current);
}
}
otherlv_1=(Token)match(input,112,FOLLOW_105); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1());
}
// InternalMelange.g:7964:1: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
int alt155=3;
int LA155_0 = input.LA(1);
if ( (LA155_0==96) ) {
alt155=1;
}
else if ( (LA155_0==100) ) {
alt155=2;
}
switch (alt155) {
case 1 :
// InternalMelange.g:7964:2: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
{
// InternalMelange.g:7964:2: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
// InternalMelange.g:7964:3: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
{
// InternalMelange.g:7964:3: ( (lv_constraints_2_0= ruleJvmUpperBound ) )
// InternalMelange.g:7965:1: (lv_constraints_2_0= ruleJvmUpperBound )
{
// InternalMelange.g:7965:1: (lv_constraints_2_0= ruleJvmUpperBound )
// InternalMelange.g:7966:3: lv_constraints_2_0= ruleJvmUpperBound
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0());
}
pushFollow(FOLLOW_106);
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();
}
}
}
// InternalMelange.g:7982:2: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
loop153:
do {
int alt153=2;
int LA153_0 = input.LA(1);
if ( (LA153_0==113) ) {
alt153=1;
}
switch (alt153) {
case 1 :
// InternalMelange.g:7983:1: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
{
// InternalMelange.g:7983:1: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
// InternalMelange.g:7984:3: lv_constraints_3_0= ruleJvmUpperBoundAnded
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0());
}
pushFollow(FOLLOW_106);
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 loop153;
}
} while (true);
}
}
break;
case 2 :
// InternalMelange.g:8001:6: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
{
// InternalMelange.g:8001:6: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
// InternalMelange.g:8001:7: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
{
// InternalMelange.g:8001:7: ( (lv_constraints_4_0= ruleJvmLowerBound ) )
// InternalMelange.g:8002:1: (lv_constraints_4_0= ruleJvmLowerBound )
{
// InternalMelange.g:8002:1: (lv_constraints_4_0= ruleJvmLowerBound )
// InternalMelange.g:8003:3: lv_constraints_4_0= ruleJvmLowerBound
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0());
}
pushFollow(FOLLOW_106);
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();
}
}
}
// InternalMelange.g:8019:2: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
loop154:
do {
int alt154=2;
int LA154_0 = input.LA(1);
if ( (LA154_0==113) ) {
alt154=1;
}
switch (alt154) {
case 1 :
// InternalMelange.g:8020:1: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
{
// InternalMelange.g:8020:1: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
// InternalMelange.g:8021:3: lv_constraints_5_0= ruleJvmLowerBoundAnded
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0());
}
pushFollow(FOLLOW_106);
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 loop154;
}
} while (true);
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmWildcardTypeReference"
// $ANTLR start "entryRuleJvmUpperBound"
// InternalMelange.g:8045:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ;
public final EObject entryRuleJvmUpperBound() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmUpperBound = null;
try {
// InternalMelange.g:8046:2: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF )
// InternalMelange.g:8047:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmUpperBound=ruleJvmUpperBound();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmUpperBound;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmUpperBound"
// $ANTLR start "ruleJvmUpperBound"
// InternalMelange.g:8054: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 {
// InternalMelange.g:8057:28: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalMelange.g:8058:1: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalMelange.g:8058:1: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalMelange.g:8058:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,96,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0());
}
// InternalMelange.g:8062:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalMelange.g:8063:1: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalMelange.g:8063:1: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalMelange.g:8064:3: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(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"
// InternalMelange.g:8088:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ;
public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmUpperBoundAnded = null;
try {
// InternalMelange.g:8089:2: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF )
// InternalMelange.g:8090:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmUpperBoundAnded;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmUpperBoundAnded"
// $ANTLR start "ruleJvmUpperBoundAnded"
// InternalMelange.g:8097: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 {
// InternalMelange.g:8100:28: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalMelange.g:8101:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalMelange.g:8101:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalMelange.g:8101:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,113,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0());
}
// InternalMelange.g:8105:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalMelange.g:8106:1: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalMelange.g:8106:1: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalMelange.g:8107:3: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(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"
// InternalMelange.g:8131:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ;
public final EObject entryRuleJvmLowerBound() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmLowerBound = null;
try {
// InternalMelange.g:8132:2: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF )
// InternalMelange.g:8133:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmLowerBound=ruleJvmLowerBound();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmLowerBound;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmLowerBound"
// $ANTLR start "ruleJvmLowerBound"
// InternalMelange.g:8140: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 {
// InternalMelange.g:8143:28: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalMelange.g:8144:1: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalMelange.g:8144:1: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalMelange.g:8144:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,100,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0());
}
// InternalMelange.g:8148:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalMelange.g:8149:1: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalMelange.g:8149:1: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalMelange.g:8150:3: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(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"
// InternalMelange.g:8174:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ;
public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmLowerBoundAnded = null;
try {
// InternalMelange.g:8175:2: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF )
// InternalMelange.g:8176:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmLowerBoundAnded;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmLowerBoundAnded"
// $ANTLR start "ruleJvmLowerBoundAnded"
// InternalMelange.g:8183: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 {
// InternalMelange.g:8186:28: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalMelange.g:8187:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalMelange.g:8187:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalMelange.g:8187:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,113,FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0());
}
// InternalMelange.g:8191:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalMelange.g:8192:1: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalMelange.g:8192:1: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalMelange.g:8193:3: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(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"
// InternalMelange.g:8219:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ;
public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null;
try {
// InternalMelange.g:8220:2: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF )
// InternalMelange.g:8221:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule());
}
pushFollow(FOLLOW_1);
iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQualifiedNameWithWildcard.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQualifiedNameWithWildcard"
// $ANTLR start "ruleQualifiedNameWithWildcard"
// InternalMelange.g:8228: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 {
// InternalMelange.g:8231:28: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) )
// InternalMelange.g:8232:1: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
{
// InternalMelange.g:8232:1: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
// InternalMelange.g:8233:5: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*'
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0());
}
pushFollow(FOLLOW_107);
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,79,FOLLOW_108); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1());
}
kw=(Token)match(input,71,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 "entryRuleValidID"
// InternalMelange.g:8263:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ;
public final String entryRuleValidID() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleValidID = null;
try {
// InternalMelange.g:8264:2: (iv_ruleValidID= ruleValidID EOF )
// InternalMelange.g:8265:2: iv_ruleValidID= ruleValidID EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValidIDRule());
}
pushFollow(FOLLOW_1);
iv_ruleValidID=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleValidID.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleValidID"
// $ANTLR start "ruleValidID"
// InternalMelange.g:8272:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ;
public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_ID_0=null;
enterRule();
try {
// InternalMelange.g:8275:28: (this_ID_0= RULE_ID )
// InternalMelange.g:8276:5: this_ID_0= RULE_ID
{
this_ID_0=(Token)match(input,RULE_ID,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.getValidIDAccess().getIDTerminalRuleCall());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleValidID"
// $ANTLR start "entryRuleXImportSection"
// InternalMelange.g:8291:1: entryRuleXImportSection returns [EObject current=null] : iv_ruleXImportSection= ruleXImportSection EOF ;
public final EObject entryRuleXImportSection() throws RecognitionException {
EObject current = null;
EObject iv_ruleXImportSection = null;
try {
// InternalMelange.g:8292:2: (iv_ruleXImportSection= ruleXImportSection EOF )
// InternalMelange.g:8293:2: iv_ruleXImportSection= ruleXImportSection EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportSectionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXImportSection=ruleXImportSection();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXImportSection;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXImportSection"
// $ANTLR start "ruleXImportSection"
// InternalMelange.g:8300:1: ruleXImportSection returns [EObject current=null] : ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ ;
public final EObject ruleXImportSection() throws RecognitionException {
EObject current = null;
EObject lv_importDeclarations_0_0 = null;
enterRule();
try {
// InternalMelange.g:8303:28: ( ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ )
// InternalMelange.g:8304:1: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
{
// InternalMelange.g:8304:1: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
int cnt156=0;
loop156:
do {
int alt156=2;
int LA156_0 = input.LA(1);
if ( (LA156_0==98) ) {
alt156=1;
}
switch (alt156) {
case 1 :
// InternalMelange.g:8305:1: (lv_importDeclarations_0_0= ruleXImportDeclaration )
{
// InternalMelange.g:8305:1: (lv_importDeclarations_0_0= ruleXImportDeclaration )
// InternalMelange.g:8306:3: lv_importDeclarations_0_0= ruleXImportDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportSectionAccess().getImportDeclarationsXImportDeclarationParserRuleCall_0());
}
pushFollow(FOLLOW_109);
lv_importDeclarations_0_0=ruleXImportDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXImportSectionRule());
}
add(
current,
"importDeclarations",
lv_importDeclarations_0_0,
"org.eclipse.xtext.xbase.Xtype.XImportDeclaration");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt156 >= 1 ) break loop156;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(156, input);
throw eee;
}
cnt156++;
} while (true);
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXImportSection"
// $ANTLR start "entryRuleXImportDeclaration"
// InternalMelange.g:8330:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ;
public final EObject entryRuleXImportDeclaration() throws RecognitionException {
EObject current = null;
EObject iv_ruleXImportDeclaration = null;
try {
// InternalMelange.g:8331:2: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF )
// InternalMelange.g:8332:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXImportDeclaration=ruleXImportDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXImportDeclaration;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXImportDeclaration"
// $ANTLR start "ruleXImportDeclaration"
// InternalMelange.g:8339: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 {
// InternalMelange.g:8342: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= ';' )? ) )
// InternalMelange.g:8343: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= ';' )? )
{
// InternalMelange.g:8343: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= ';' )? )
// InternalMelange.g:8343: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,98,FOLLOW_110); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0());
}
// InternalMelange.g:8347: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 alt159=3;
alt159 = dfa159.predict(input);
switch (alt159) {
case 1 :
// InternalMelange.g:8347:2: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) )
{
// InternalMelange.g:8347:2: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) )
// InternalMelange.g:8347:3: ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) )
{
// InternalMelange.g:8347:3: ( (lv_static_1_0= 'static' ) )
// InternalMelange.g:8348:1: (lv_static_1_0= 'static' )
{
// InternalMelange.g:8348:1: (lv_static_1_0= 'static' )
// InternalMelange.g:8349:3: lv_static_1_0= 'static'
{
lv_static_1_0=(Token)match(input,97,FOLLOW_111); 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");
}
}
}
// InternalMelange.g:8362:2: ( (lv_extension_2_0= 'extension' ) )?
int alt157=2;
int LA157_0 = input.LA(1);
if ( (LA157_0==99) ) {
alt157=1;
}
switch (alt157) {
case 1 :
// InternalMelange.g:8363:1: (lv_extension_2_0= 'extension' )
{
// InternalMelange.g:8363:1: (lv_extension_2_0= 'extension' )
// InternalMelange.g:8364:3: lv_extension_2_0= 'extension'
{
lv_extension_2_0=(Token)match(input,99,FOLLOW_111); 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;
}
// InternalMelange.g:8377:3: ( ( ruleQualifiedNameInStaticImport ) )
// InternalMelange.g:8378:1: ( ruleQualifiedNameInStaticImport )
{
// InternalMelange.g:8378:1: ( ruleQualifiedNameInStaticImport )
// InternalMelange.g:8379: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(FOLLOW_112);
ruleQualifiedNameInStaticImport();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalMelange.g:8392:2: ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) )
int alt158=2;
int LA158_0 = input.LA(1);
if ( (LA158_0==71) ) {
alt158=1;
}
else if ( (LA158_0==RULE_ID) ) {
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 :
// InternalMelange.g:8392:3: ( (lv_wildcard_4_0= '*' ) )
{
// InternalMelange.g:8392:3: ( (lv_wildcard_4_0= '*' ) )
// InternalMelange.g:8393:1: (lv_wildcard_4_0= '*' )
{
// InternalMelange.g:8393:1: (lv_wildcard_4_0= '*' )
// InternalMelange.g:8394:3: lv_wildcard_4_0= '*'
{
lv_wildcard_4_0=(Token)match(input,71,FOLLOW_113); 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 :
// InternalMelange.g:8408:6: ( (lv_memberName_5_0= ruleValidID ) )
{
// InternalMelange.g:8408:6: ( (lv_memberName_5_0= ruleValidID ) )
// InternalMelange.g:8409:1: (lv_memberName_5_0= ruleValidID )
{
// InternalMelange.g:8409:1: (lv_memberName_5_0= ruleValidID )
// InternalMelange.g:8410:3: lv_memberName_5_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0());
}
pushFollow(FOLLOW_113);
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.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalMelange.g:8427:6: ( ( ruleQualifiedName ) )
{
// InternalMelange.g:8427:6: ( ( ruleQualifiedName ) )
// InternalMelange.g:8428:1: ( ruleQualifiedName )
{
// InternalMelange.g:8428:1: ( ruleQualifiedName )
// InternalMelange.g:8429: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(FOLLOW_113);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalMelange.g:8443:6: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) )
{
// InternalMelange.g:8443:6: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) )
// InternalMelange.g:8444:1: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard )
{
// InternalMelange.g:8444:1: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard )
// InternalMelange.g:8445:3: lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0());
}
pushFollow(FOLLOW_113);
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;
}
// InternalMelange.g:8461:3: (otherlv_8= ';' )?
int alt160=2;
int LA160_0 = input.LA(1);
if ( (LA160_0==84) ) {
alt160=1;
}
switch (alt160) {
case 1 :
// InternalMelange.g:8461:5: otherlv_8= ';'
{
otherlv_8=(Token)match(input,84,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"
// InternalMelange.g:8473:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ;
public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null;
try {
// InternalMelange.g:8474:2: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF )
// InternalMelange.g:8475:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule());
}
pushFollow(FOLLOW_1);
iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQualifiedNameInStaticImport.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQualifiedNameInStaticImport"
// $ANTLR start "ruleQualifiedNameInStaticImport"
// InternalMelange.g:8482: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 {
// InternalMelange.g:8485:28: ( (this_ValidID_0= ruleValidID kw= '.' )+ )
// InternalMelange.g:8486:1: (this_ValidID_0= ruleValidID kw= '.' )+
{
// InternalMelange.g:8486:1: (this_ValidID_0= ruleValidID kw= '.' )+
int cnt161=0;
loop161:
do {
int alt161=2;
int LA161_0 = input.LA(1);
if ( (LA161_0==RULE_ID) ) {
int LA161_2 = input.LA(2);
if ( (LA161_2==79) ) {
alt161=1;
}
}
switch (alt161) {
case 1 :
// InternalMelange.g:8487:5: this_ValidID_0= ruleValidID kw= '.'
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0());
}
pushFollow(FOLLOW_107);
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,79,FOLLOW_114); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1());
}
}
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);
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQualifiedNameInStaticImport"
// $ANTLR start "ruleResourceType"
// InternalMelange.g:8511:1: ruleResourceType returns [Enumerator current=null] : ( (enumLiteral_0= 'Melange' ) | (enumLiteral_1= 'EMF' ) | (enumLiteral_2= 'Xtext' ) ) ;
public final Enumerator ruleResourceType() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
Token enumLiteral_1=null;
Token enumLiteral_2=null;
enterRule();
try {
// InternalMelange.g:8513:28: ( ( (enumLiteral_0= 'Melange' ) | (enumLiteral_1= 'EMF' ) | (enumLiteral_2= 'Xtext' ) ) )
// InternalMelange.g:8514:1: ( (enumLiteral_0= 'Melange' ) | (enumLiteral_1= 'EMF' ) | (enumLiteral_2= 'Xtext' ) )
{
// InternalMelange.g:8514:1: ( (enumLiteral_0= 'Melange' ) | (enumLiteral_1= 'EMF' ) | (enumLiteral_2= 'Xtext' ) )
int alt162=3;
switch ( input.LA(1) ) {
case 114:
{
alt162=1;
}
break;
case 115:
{
alt162=2;
}
break;
case 116:
{
alt162=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 162, 0, input);
throw nvae;
}
switch (alt162) {
case 1 :
// InternalMelange.g:8514:2: (enumLiteral_0= 'Melange' )
{
// InternalMelange.g:8514:2: (enumLiteral_0= 'Melange' )
// InternalMelange.g:8514:4: enumLiteral_0= 'Melange'
{
enumLiteral_0=(Token)match(input,114,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getResourceTypeAccess().getMELANGEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getResourceTypeAccess().getMELANGEEnumLiteralDeclaration_0());
}
}
}
break;
case 2 :
// InternalMelange.g:8520:6: (enumLiteral_1= 'EMF' )
{
// InternalMelange.g:8520:6: (enumLiteral_1= 'EMF' )
// InternalMelange.g:8520:8: enumLiteral_1= 'EMF'
{
enumLiteral_1=(Token)match(input,115,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getResourceTypeAccess().getEMFEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getResourceTypeAccess().getEMFEnumLiteralDeclaration_1());
}
}
}
break;
case 3 :
// InternalMelange.g:8526:6: (enumLiteral_2= 'Xtext' )
{
// InternalMelange.g:8526:6: (enumLiteral_2= 'Xtext' )
// InternalMelange.g:8526:8: enumLiteral_2= 'Xtext'
{
enumLiteral_2=(Token)match(input,116,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getResourceTypeAccess().getXTEXTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getResourceTypeAccess().getXTEXTEnumLiteralDeclaration_2());
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleResourceType"
// $ANTLR start synpred1_InternalMelange
public final void synpred1_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:170:8: ( 'external' )
// InternalMelange.g:170:10: 'external'
{
match(input,14,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred1_InternalMelange
// $ANTLR start synpred2_InternalMelange
public final void synpred2_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:477:5: ( 'uri' )
// InternalMelange.g:477:7: 'uri'
{
match(input,22,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred2_InternalMelange
// $ANTLR start synpred3_InternalMelange
public final void synpred3_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:793:4: ( 'uri' )
// InternalMelange.g:793:6: 'uri'
{
match(input,22,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred3_InternalMelange
// $ANTLR start synpred4_InternalMelange
public final void synpred4_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:1252:4: ( 'uri' )
// InternalMelange.g:1252:6: 'uri'
{
match(input,22,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred4_InternalMelange
// $ANTLR start synpred5_InternalMelange
public final void synpred5_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:2618:3: ( ( () ( ( ruleOpMultiAssign ) ) ) )
// InternalMelange.g:2618:4: ( () ( ( ruleOpMultiAssign ) ) )
{
// InternalMelange.g:2618:4: ( () ( ( ruleOpMultiAssign ) ) )
// InternalMelange.g:2618:5: () ( ( ruleOpMultiAssign ) )
{
// InternalMelange.g:2618:5: ()
// InternalMelange.g:2619:1:
{
}
// InternalMelange.g:2619:2: ( ( ruleOpMultiAssign ) )
// InternalMelange.g:2620:1: ( ruleOpMultiAssign )
{
// InternalMelange.g:2620:1: ( ruleOpMultiAssign )
// InternalMelange.g:2621:3: ruleOpMultiAssign
{
pushFollow(FOLLOW_2);
ruleOpMultiAssign();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred5_InternalMelange
// $ANTLR start synpred6_InternalMelange
public final void synpred6_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:2812:3: ( ( () ( ( ruleOpOr ) ) ) )
// InternalMelange.g:2812:4: ( () ( ( ruleOpOr ) ) )
{
// InternalMelange.g:2812:4: ( () ( ( ruleOpOr ) ) )
// InternalMelange.g:2812:5: () ( ( ruleOpOr ) )
{
// InternalMelange.g:2812:5: ()
// InternalMelange.g:2813:1:
{
}
// InternalMelange.g:2813:2: ( ( ruleOpOr ) )
// InternalMelange.g:2814:1: ( ruleOpOr )
{
// InternalMelange.g:2814:1: ( ruleOpOr )
// InternalMelange.g:2815:3: ruleOpOr
{
pushFollow(FOLLOW_2);
ruleOpOr();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred6_InternalMelange
// $ANTLR start synpred7_InternalMelange
public final void synpred7_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:2913:3: ( ( () ( ( ruleOpAnd ) ) ) )
// InternalMelange.g:2913:4: ( () ( ( ruleOpAnd ) ) )
{
// InternalMelange.g:2913:4: ( () ( ( ruleOpAnd ) ) )
// InternalMelange.g:2913:5: () ( ( ruleOpAnd ) )
{
// InternalMelange.g:2913:5: ()
// InternalMelange.g:2914:1:
{
}
// InternalMelange.g:2914:2: ( ( ruleOpAnd ) )
// InternalMelange.g:2915:1: ( ruleOpAnd )
{
// InternalMelange.g:2915:1: ( ruleOpAnd )
// InternalMelange.g:2916:3: ruleOpAnd
{
pushFollow(FOLLOW_2);
ruleOpAnd();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred7_InternalMelange
// $ANTLR start synpred8_InternalMelange
public final void synpred8_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:3014:3: ( ( () ( ( ruleOpEquality ) ) ) )
// InternalMelange.g:3014:4: ( () ( ( ruleOpEquality ) ) )
{
// InternalMelange.g:3014:4: ( () ( ( ruleOpEquality ) ) )
// InternalMelange.g:3014:5: () ( ( ruleOpEquality ) )
{
// InternalMelange.g:3014:5: ()
// InternalMelange.g:3015:1:
{
}
// InternalMelange.g:3015:2: ( ( ruleOpEquality ) )
// InternalMelange.g:3016:1: ( ruleOpEquality )
{
// InternalMelange.g:3016:1: ( ruleOpEquality )
// InternalMelange.g:3017:3: ruleOpEquality
{
pushFollow(FOLLOW_2);
ruleOpEquality();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred8_InternalMelange
// $ANTLR start synpred9_InternalMelange
public final void synpred9_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:3136:4: ( ( () 'instanceof' ) )
// InternalMelange.g:3136:5: ( () 'instanceof' )
{
// InternalMelange.g:3136:5: ( () 'instanceof' )
// InternalMelange.g:3136:6: () 'instanceof'
{
// InternalMelange.g:3136:6: ()
// InternalMelange.g:3137:1:
{
}
match(input,62,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred9_InternalMelange
// $ANTLR start synpred10_InternalMelange
public final void synpred10_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:3167:8: ( ( () ( ( ruleOpCompare ) ) ) )
// InternalMelange.g:3167:9: ( () ( ( ruleOpCompare ) ) )
{
// InternalMelange.g:3167:9: ( () ( ( ruleOpCompare ) ) )
// InternalMelange.g:3167:10: () ( ( ruleOpCompare ) )
{
// InternalMelange.g:3167:10: ()
// InternalMelange.g:3168:1:
{
}
// InternalMelange.g:3168:2: ( ( ruleOpCompare ) )
// InternalMelange.g:3169:1: ( ruleOpCompare )
{
// InternalMelange.g:3169:1: ( ruleOpCompare )
// InternalMelange.g:3170:3: ruleOpCompare
{
pushFollow(FOLLOW_2);
ruleOpCompare();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred10_InternalMelange
// $ANTLR start synpred11_InternalMelange
public final void synpred11_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:3295:3: ( ( () ( ( ruleOpOther ) ) ) )
// InternalMelange.g:3295:4: ( () ( ( ruleOpOther ) ) )
{
// InternalMelange.g:3295:4: ( () ( ( ruleOpOther ) ) )
// InternalMelange.g:3295:5: () ( ( ruleOpOther ) )
{
// InternalMelange.g:3295:5: ()
// InternalMelange.g:3296:1:
{
}
// InternalMelange.g:3296:2: ( ( ruleOpOther ) )
// InternalMelange.g:3297:1: ( ruleOpOther )
{
// InternalMelange.g:3297:1: ( ruleOpOther )
// InternalMelange.g:3298:3: ruleOpOther
{
pushFollow(FOLLOW_2);
ruleOpOther();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred11_InternalMelange
// $ANTLR start synpred12_InternalMelange
public final void synpred12_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:3407:3: ( ( '>' '>' ) )
// InternalMelange.g:3407:4: ( '>' '>' )
{
// InternalMelange.g:3407:4: ( '>' '>' )
// InternalMelange.g:3408:2: '>' '>'
{
match(input,54,FOLLOW_53); if (state.failed) return ;
match(input,54,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred12_InternalMelange
// $ANTLR start synpred13_InternalMelange
public final void synpred13_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:3437:3: ( ( '<' '<' ) )
// InternalMelange.g:3437:4: ( '<' '<' )
{
// InternalMelange.g:3437:4: ( '<' '<' )
// InternalMelange.g:3438:2: '<' '<'
{
match(input,53,FOLLOW_44); if (state.failed) return ;
match(input,53,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred13_InternalMelange
// $ANTLR start synpred14_InternalMelange
public final void synpred14_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:3511:3: ( ( () ( ( ruleOpAdd ) ) ) )
// InternalMelange.g:3511:4: ( () ( ( ruleOpAdd ) ) )
{
// InternalMelange.g:3511:4: ( () ( ( ruleOpAdd ) ) )
// InternalMelange.g:3511:5: () ( ( ruleOpAdd ) )
{
// InternalMelange.g:3511:5: ()
// InternalMelange.g:3512:1:
{
}
// InternalMelange.g:3512:2: ( ( ruleOpAdd ) )
// InternalMelange.g:3513:1: ( ruleOpAdd )
{
// InternalMelange.g:3513:1: ( ruleOpAdd )
// InternalMelange.g:3514:3: ruleOpAdd
{
pushFollow(FOLLOW_2);
ruleOpAdd();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred14_InternalMelange
// $ANTLR start synpred15_InternalMelange
public final void synpred15_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:3619:3: ( ( () ( ( ruleOpMulti ) ) ) )
// InternalMelange.g:3619:4: ( () ( ( ruleOpMulti ) ) )
{
// InternalMelange.g:3619:4: ( () ( ( ruleOpMulti ) ) )
// InternalMelange.g:3619:5: () ( ( ruleOpMulti ) )
{
// InternalMelange.g:3619:5: ()
// InternalMelange.g:3620:1:
{
}
// InternalMelange.g:3620:2: ( ( ruleOpMulti ) )
// InternalMelange.g:3621:1: ( ruleOpMulti )
{
// InternalMelange.g:3621:1: ( ruleOpMulti )
// InternalMelange.g:3622:3: ruleOpMulti
{
pushFollow(FOLLOW_2);
ruleOpMulti();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred15_InternalMelange
// $ANTLR start synpred16_InternalMelange
public final void synpred16_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:3852:3: ( ( () 'as' ) )
// InternalMelange.g:3852:4: ( () 'as' )
{
// InternalMelange.g:3852:4: ( () 'as' )
// InternalMelange.g:3852:5: () 'as'
{
// InternalMelange.g:3852:5: ()
// InternalMelange.g:3853:1:
{
}
match(input,76,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred16_InternalMelange
// $ANTLR start synpred17_InternalMelange
public final void synpred17_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:3912:2: ( ( () ( ( ruleOpPostfix ) ) ) )
// InternalMelange.g:3912:3: ( () ( ( ruleOpPostfix ) ) )
{
// InternalMelange.g:3912:3: ( () ( ( ruleOpPostfix ) ) )
// InternalMelange.g:3912:4: () ( ( ruleOpPostfix ) )
{
// InternalMelange.g:3912:4: ()
// InternalMelange.g:3913:1:
{
}
// InternalMelange.g:3913:2: ( ( ruleOpPostfix ) )
// InternalMelange.g:3914:1: ( ruleOpPostfix )
{
// InternalMelange.g:3914:1: ( ruleOpPostfix )
// InternalMelange.g:3915:3: ruleOpPostfix
{
pushFollow(FOLLOW_2);
ruleOpPostfix();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred17_InternalMelange
// $ANTLR start synpred18_InternalMelange
public final void synpred18_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:4002:4: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
// InternalMelange.g:4002:5: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
{
// InternalMelange.g:4002:5: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
// InternalMelange.g:4002:6: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
{
// InternalMelange.g:4002:6: ()
// InternalMelange.g:4003:1:
{
}
// InternalMelange.g:4003:2: ( '.' | ( ( '::' ) ) )
int alt163=2;
int LA163_0 = input.LA(1);
if ( (LA163_0==79) ) {
alt163=1;
}
else if ( (LA163_0==80) ) {
alt163=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 163, 0, input);
throw nvae;
}
switch (alt163) {
case 1 :
// InternalMelange.g:4003:4: '.'
{
match(input,79,FOLLOW_60); if (state.failed) return ;
}
break;
case 2 :
// InternalMelange.g:4005:6: ( ( '::' ) )
{
// InternalMelange.g:4005:6: ( ( '::' ) )
// InternalMelange.g:4006:1: ( '::' )
{
// InternalMelange.g:4006:1: ( '::' )
// InternalMelange.g:4007:2: '::'
{
match(input,80,FOLLOW_60); if (state.failed) return ;
}
}
}
break;
}
// InternalMelange.g:4011:3: ( ( ruleFeatureCallID ) )
// InternalMelange.g:4012:1: ( ruleFeatureCallID )
{
// InternalMelange.g:4012:1: ( ruleFeatureCallID )
// InternalMelange.g:4013:3: ruleFeatureCallID
{
pushFollow(FOLLOW_41);
ruleFeatureCallID();
state._fsp--;
if (state.failed) return ;
}
}
pushFollow(FOLLOW_2);
ruleOpSingleAssign();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred18_InternalMelange
// $ANTLR start synpred19_InternalMelange
public final void synpred19_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:4083:8: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )
// InternalMelange.g:4083:9: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
{
// InternalMelange.g:4083:9: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
// InternalMelange.g:4083:10: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
{
// InternalMelange.g:4083:10: ()
// InternalMelange.g:4084:1:
{
}
// InternalMelange.g:4084:2: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
int alt164=3;
switch ( input.LA(1) ) {
case 79:
{
alt164=1;
}
break;
case 81:
{
alt164=2;
}
break;
case 80:
{
alt164=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 164, 0, input);
throw nvae;
}
switch (alt164) {
case 1 :
// InternalMelange.g:4084:4: '.'
{
match(input,79,FOLLOW_2); if (state.failed) return ;
}
break;
case 2 :
// InternalMelange.g:4086:6: ( ( '?.' ) )
{
// InternalMelange.g:4086:6: ( ( '?.' ) )
// InternalMelange.g:4087:1: ( '?.' )
{
// InternalMelange.g:4087:1: ( '?.' )
// InternalMelange.g:4088:2: '?.'
{
match(input,81,FOLLOW_2); if (state.failed) return ;
}
}
}
break;
case 3 :
// InternalMelange.g:4093:6: ( ( '::' ) )
{
// InternalMelange.g:4093:6: ( ( '::' ) )
// InternalMelange.g:4094:1: ( '::' )
{
// InternalMelange.g:4094:1: ( '::' )
// InternalMelange.g:4095:2: '::'
{
match(input,80,FOLLOW_2); if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred19_InternalMelange
// $ANTLR start synpred20_InternalMelange
public final void synpred20_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:4204:4: ( ( '(' ) )
// InternalMelange.g:4205:1: ( '(' )
{
// InternalMelange.g:4205:1: ( '(' )
// InternalMelange.g:4206:2: '('
{
match(input,35,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred20_InternalMelange
// $ANTLR start synpred21_InternalMelange
public final void synpred21_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:4225:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalMelange.g:4225:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalMelange.g:4225:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalMelange.g:4225:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalMelange.g:4225:6: ()
// InternalMelange.g:4226:1:
{
}
// InternalMelange.g:4226:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt166=2;
int LA166_0 = input.LA(1);
if ( (LA166_0==RULE_ID||LA166_0==35||LA166_0==66) ) {
alt166=1;
}
switch (alt166) {
case 1 :
// InternalMelange.g:4226:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalMelange.g:4226:3: ( ( ruleJvmFormalParameter ) )
// InternalMelange.g:4227:1: ( ruleJvmFormalParameter )
{
// InternalMelange.g:4227:1: ( ruleJvmFormalParameter )
// InternalMelange.g:4228:1: ruleJvmFormalParameter
{
pushFollow(FOLLOW_72);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalMelange.g:4230:2: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop165:
do {
int alt165=2;
int LA165_0 = input.LA(1);
if ( (LA165_0==17) ) {
alt165=1;
}
switch (alt165) {
case 1 :
// InternalMelange.g:4230:4: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,17,FOLLOW_16); if (state.failed) return ;
// InternalMelange.g:4231:1: ( ( ruleJvmFormalParameter ) )
// InternalMelange.g:4232:1: ( ruleJvmFormalParameter )
{
// InternalMelange.g:4232:1: ( ruleJvmFormalParameter )
// InternalMelange.g:4233:1: ruleJvmFormalParameter
{
pushFollow(FOLLOW_72);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop165;
}
} while (true);
}
break;
}
// InternalMelange.g:4235:6: ( ( '|' ) )
// InternalMelange.g:4236:1: ( '|' )
{
// InternalMelange.g:4236:1: ( '|' )
// InternalMelange.g:4237:2: '|'
{
match(input,83,FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred21_InternalMelange
// $ANTLR start synpred22_InternalMelange
public final void synpred22_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:4304:4: ( ( () '[' ) )
// InternalMelange.g:4304:5: ( () '[' )
{
// InternalMelange.g:4304:5: ( () '[' )
// InternalMelange.g:4304:6: () '['
{
// InternalMelange.g:4304:6: ()
// InternalMelange.g:4305:1:
{
}
match(input,44,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred22_InternalMelange
// $ANTLR start synpred23_InternalMelange
public final void synpred23_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:4375:7: ( ( () 'synchronized' '(' ) )
// InternalMelange.g:4375:8: ( () 'synchronized' '(' )
{
// InternalMelange.g:4375:8: ( () 'synchronized' '(' )
// InternalMelange.g:4375:9: () 'synchronized' '('
{
// InternalMelange.g:4375:9: ()
// InternalMelange.g:4376:1:
{
}
match(input,110,FOLLOW_27); if (state.failed) return ;
match(input,35,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred23_InternalMelange
// $ANTLR start synpred24_InternalMelange
public final void synpred24_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:4418:7: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
// InternalMelange.g:4418:8: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
{
// InternalMelange.g:4418:8: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
// InternalMelange.g:4418:9: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':'
{
// InternalMelange.g:4418:9: ()
// InternalMelange.g:4419:1:
{
}
match(input,91,FOLLOW_27); if (state.failed) return ;
match(input,35,FOLLOW_16); if (state.failed) return ;
// InternalMelange.g:4421:1: ( ( ruleJvmFormalParameter ) )
// InternalMelange.g:4422:1: ( ruleJvmFormalParameter )
{
// InternalMelange.g:4422:1: ( ruleJvmFormalParameter )
// InternalMelange.g:4423:1: ruleJvmFormalParameter
{
pushFollow(FOLLOW_79);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
match(input,88,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred24_InternalMelange
// $ANTLR start synpred25_InternalMelange
public final void synpred25_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:4536:7: ( ( () '[' ) )
// InternalMelange.g:4536:8: ( () '[' )
{
// InternalMelange.g:4536:8: ( () '[' )
// InternalMelange.g:4536:9: () '['
{
// InternalMelange.g:4536:9: ()
// InternalMelange.g:4537:1:
{
}
match(input,44,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred25_InternalMelange
// $ANTLR start synpred27_InternalMelange
public final void synpred27_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:4828:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalMelange.g:4828:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalMelange.g:4828:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalMelange.g:4828:6: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalMelange.g:4828:6: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt168=2;
int LA168_0 = input.LA(1);
if ( (LA168_0==RULE_ID||LA168_0==35||LA168_0==66) ) {
alt168=1;
}
switch (alt168) {
case 1 :
// InternalMelange.g:4828:7: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalMelange.g:4828:7: ( ( ruleJvmFormalParameter ) )
// InternalMelange.g:4829:1: ( ruleJvmFormalParameter )
{
// InternalMelange.g:4829:1: ( ruleJvmFormalParameter )
// InternalMelange.g:4830:1: ruleJvmFormalParameter
{
pushFollow(FOLLOW_72);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalMelange.g:4832:2: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop167:
do {
int alt167=2;
int LA167_0 = input.LA(1);
if ( (LA167_0==17) ) {
alt167=1;
}
switch (alt167) {
case 1 :
// InternalMelange.g:4832:4: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,17,FOLLOW_16); if (state.failed) return ;
// InternalMelange.g:4833:1: ( ( ruleJvmFormalParameter ) )
// InternalMelange.g:4834:1: ( ruleJvmFormalParameter )
{
// InternalMelange.g:4834:1: ( ruleJvmFormalParameter )
// InternalMelange.g:4835:1: ruleJvmFormalParameter
{
pushFollow(FOLLOW_72);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop167;
}
} while (true);
}
break;
}
// InternalMelange.g:4837:6: ( ( '|' ) )
// InternalMelange.g:4838:1: ( '|' )
{
// InternalMelange.g:4838:1: ( '|' )
// InternalMelange.g:4839:2: '|'
{
match(input,83,FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred27_InternalMelange
// $ANTLR start synpred29_InternalMelange
public final void synpred29_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:5198:4: ( 'else' )
// InternalMelange.g:5198:6: 'else'
{
match(input,86,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred29_InternalMelange
// $ANTLR start synpred30_InternalMelange
public final void synpred30_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:5252:4: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
// InternalMelange.g:5252:5: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
{
// InternalMelange.g:5252:5: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
// InternalMelange.g:5252:7: '(' ( ( ruleJvmFormalParameter ) ) ':'
{
match(input,35,FOLLOW_16); if (state.failed) return ;
// InternalMelange.g:5253:1: ( ( ruleJvmFormalParameter ) )
// InternalMelange.g:5254:1: ( ruleJvmFormalParameter )
{
// InternalMelange.g:5254:1: ( ruleJvmFormalParameter )
// InternalMelange.g:5255:1: ruleJvmFormalParameter
{
pushFollow(FOLLOW_79);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
match(input,88,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred30_InternalMelange
// $ANTLR start synpred31_InternalMelange
public final void synpred31_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:5307:8: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )
// InternalMelange.g:5307:9: ( ( ( ruleJvmFormalParameter ) ) ':' )
{
// InternalMelange.g:5307:9: ( ( ( ruleJvmFormalParameter ) ) ':' )
// InternalMelange.g:5307:10: ( ( ruleJvmFormalParameter ) ) ':'
{
// InternalMelange.g:5307:10: ( ( ruleJvmFormalParameter ) )
// InternalMelange.g:5308:1: ( ruleJvmFormalParameter )
{
// InternalMelange.g:5308:1: ( ruleJvmFormalParameter )
// InternalMelange.g:5309:1: ruleJvmFormalParameter
{
pushFollow(FOLLOW_79);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
match(input,88,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred31_InternalMelange
// $ANTLR start synpred33_InternalMelange
public final void synpred33_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:6075:4: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )
// InternalMelange.g:6075:5: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
{
// InternalMelange.g:6075:5: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
// InternalMelange.g:6075:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) )
{
// InternalMelange.g:6075:6: ( ( ruleJvmTypeReference ) )
// InternalMelange.g:6076:1: ( ruleJvmTypeReference )
{
// InternalMelange.g:6076:1: ( ruleJvmTypeReference )
// InternalMelange.g:6077:1: ruleJvmTypeReference
{
pushFollow(FOLLOW_3);
ruleJvmTypeReference();
state._fsp--;
if (state.failed) return ;
}
}
// InternalMelange.g:6079:2: ( ( ruleValidID ) )
// InternalMelange.g:6080:1: ( ruleValidID )
{
// InternalMelange.g:6080:1: ( ruleValidID )
// InternalMelange.g:6081:1: ruleValidID
{
pushFollow(FOLLOW_2);
ruleValidID();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred33_InternalMelange
// $ANTLR start synpred34_InternalMelange
public final void synpred34_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:6364:4: ( ( '(' ) )
// InternalMelange.g:6365:1: ( '(' )
{
// InternalMelange.g:6365:1: ( '(' )
// InternalMelange.g:6366:2: '('
{
match(input,35,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred34_InternalMelange
// $ANTLR start synpred35_InternalMelange
public final void synpred35_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:6385:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalMelange.g:6385:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalMelange.g:6385:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalMelange.g:6385:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalMelange.g:6385:6: ()
// InternalMelange.g:6386:1:
{
}
// InternalMelange.g:6386:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt172=2;
int LA172_0 = input.LA(1);
if ( (LA172_0==RULE_ID||LA172_0==35||LA172_0==66) ) {
alt172=1;
}
switch (alt172) {
case 1 :
// InternalMelange.g:6386:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalMelange.g:6386:3: ( ( ruleJvmFormalParameter ) )
// InternalMelange.g:6387:1: ( ruleJvmFormalParameter )
{
// InternalMelange.g:6387:1: ( ruleJvmFormalParameter )
// InternalMelange.g:6388:1: ruleJvmFormalParameter
{
pushFollow(FOLLOW_72);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalMelange.g:6390:2: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop171:
do {
int alt171=2;
int LA171_0 = input.LA(1);
if ( (LA171_0==17) ) {
alt171=1;
}
switch (alt171) {
case 1 :
// InternalMelange.g:6390:4: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,17,FOLLOW_16); if (state.failed) return ;
// InternalMelange.g:6391:1: ( ( ruleJvmFormalParameter ) )
// InternalMelange.g:6392:1: ( ruleJvmFormalParameter )
{
// InternalMelange.g:6392:1: ( ruleJvmFormalParameter )
// InternalMelange.g:6393:1: ruleJvmFormalParameter
{
pushFollow(FOLLOW_72);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop171;
}
} while (true);
}
break;
}
// InternalMelange.g:6395:6: ( ( '|' ) )
// InternalMelange.g:6396:1: ( '|' )
{
// InternalMelange.g:6396:1: ( '|' )
// InternalMelange.g:6397:2: '|'
{
match(input,83,FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred35_InternalMelange
// $ANTLR start synpred36_InternalMelange
public final void synpred36_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:6464:4: ( ( () '[' ) )
// InternalMelange.g:6464:5: ( () '[' )
{
// InternalMelange.g:6464:5: ( () '[' )
// InternalMelange.g:6464:6: () '['
{
// InternalMelange.g:6464:6: ()
// InternalMelange.g:6465:1:
{
}
match(input,44,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred36_InternalMelange
// $ANTLR start synpred37_InternalMelange
public final void synpred37_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:6629:4: ( '<' )
// InternalMelange.g:6629:6: '<'
{
match(input,53,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred37_InternalMelange
// $ANTLR start synpred38_InternalMelange
public final void synpred38_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:6678:5: ( ( '(' ) )
// InternalMelange.g:6679:1: ( '(' )
{
// InternalMelange.g:6679:1: ( '(' )
// InternalMelange.g:6680:2: '('
{
match(input,35,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred38_InternalMelange
// $ANTLR start synpred39_InternalMelange
public final void synpred39_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:6699:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalMelange.g:6699:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalMelange.g:6699:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalMelange.g:6699:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalMelange.g:6699:6: ()
// InternalMelange.g:6700:1:
{
}
// InternalMelange.g:6700:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt174=2;
int LA174_0 = input.LA(1);
if ( (LA174_0==RULE_ID||LA174_0==35||LA174_0==66) ) {
alt174=1;
}
switch (alt174) {
case 1 :
// InternalMelange.g:6700:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalMelange.g:6700:3: ( ( ruleJvmFormalParameter ) )
// InternalMelange.g:6701:1: ( ruleJvmFormalParameter )
{
// InternalMelange.g:6701:1: ( ruleJvmFormalParameter )
// InternalMelange.g:6702:1: ruleJvmFormalParameter
{
pushFollow(FOLLOW_72);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalMelange.g:6704:2: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop173:
do {
int alt173=2;
int LA173_0 = input.LA(1);
if ( (LA173_0==17) ) {
alt173=1;
}
switch (alt173) {
case 1 :
// InternalMelange.g:6704:4: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,17,FOLLOW_16); if (state.failed) return ;
// InternalMelange.g:6705:1: ( ( ruleJvmFormalParameter ) )
// InternalMelange.g:6706:1: ( ruleJvmFormalParameter )
{
// InternalMelange.g:6706:1: ( ruleJvmFormalParameter )
// InternalMelange.g:6707:1: ruleJvmFormalParameter
{
pushFollow(FOLLOW_72);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop173;
}
} while (true);
}
break;
}
// InternalMelange.g:6709:6: ( ( '|' ) )
// InternalMelange.g:6710:1: ( '|' )
{
// InternalMelange.g:6710:1: ( '|' )
// InternalMelange.g:6711:2: '|'
{
match(input,83,FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred39_InternalMelange
// $ANTLR start synpred40_InternalMelange
public final void synpred40_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:6778:4: ( ( () '[' ) )
// InternalMelange.g:6778:5: ( () '[' )
{
// InternalMelange.g:6778:5: ( () '[' )
// InternalMelange.g:6778:6: () '['
{
// InternalMelange.g:6778:6: ()
// InternalMelange.g:6779:1:
{
}
match(input,44,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred40_InternalMelange
// $ANTLR start synpred41_InternalMelange
public final void synpred41_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:7118:2: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 )
// InternalMelange.g:
{
if ( (input.LA(1)>=RULE_STRING && input.LA(1)<=RULE_ID)||input.LA(1)==20||input.LA(1)==35||input.LA(1)==44||input.LA(1)==53||(input.LA(1)>=69 && input.LA(1)<=70)||input.LA(1)==75||input.LA(1)==82||input.LA(1)==85||input.LA(1)==87||(input.LA(1)>=91 && input.LA(1)<=93)||(input.LA(1)>=96 && input.LA(1)<=108)||input.LA(1)==110 ) {
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 synpred41_InternalMelange
// $ANTLR start synpred42_InternalMelange
public final void synpred42_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:7212:5: ( 'catch' )
// InternalMelange.g:7212:7: 'catch'
{
match(input,111,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred42_InternalMelange
// $ANTLR start synpred43_InternalMelange
public final void synpred43_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:7231:5: ( 'finally' )
// InternalMelange.g:7231:7: 'finally'
{
match(input,109,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred43_InternalMelange
// $ANTLR start synpred46_InternalMelange
public final void synpred46_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:7457:3: ( '.' )
// InternalMelange.g:7458:2: '.'
{
match(input,79,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred46_InternalMelange
// $ANTLR start synpred47_InternalMelange
public final void synpred47_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:7583:2: ( ( () ruleArrayBrackets ) )
// InternalMelange.g:7583:3: ( () ruleArrayBrackets )
{
// InternalMelange.g:7583:3: ( () ruleArrayBrackets )
// InternalMelange.g:7583:4: () ruleArrayBrackets
{
// InternalMelange.g:7583:4: ()
// InternalMelange.g:7584:1:
{
}
pushFollow(FOLLOW_2);
ruleArrayBrackets();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred47_InternalMelange
// $ANTLR start synpred48_InternalMelange
public final void synpred48_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:7768:4: ( '<' )
// InternalMelange.g:7768:6: '<'
{
match(input,53,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred48_InternalMelange
// $ANTLR start synpred49_InternalMelange
public final void synpred49_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:7817:3: ( ( () '.' ) )
// InternalMelange.g:7817:4: ( () '.' )
{
// InternalMelange.g:7817:4: ( () '.' )
// InternalMelange.g:7817:5: () '.'
{
// InternalMelange.g:7817:5: ()
// InternalMelange.g:7818:1:
{
}
match(input,79,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred49_InternalMelange
// $ANTLR start synpred50_InternalMelange
public final void synpred50_InternalMelange_fragment() throws RecognitionException {
// InternalMelange.g:7844:4: ( '<' )
// InternalMelange.g:7844:6: '<'
{
match(input,53,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred50_InternalMelange
// Delegated rules
public final boolean synpred25_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred25_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred41_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred37_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred8_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred10_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred13_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred18_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred3_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred47_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred49_InternalMelange_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 synpred15_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred15_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred35_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred19_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred6_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred12_InternalMelange_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 synpred31_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred31_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred46_InternalMelange_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 synpred43_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred43_InternalMelange_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 synpred50_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred50_InternalMelange_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 synpred2_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred2_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred16_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred5_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred34_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred22_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred4_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred48_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred33_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred17_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred36_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred29_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred30_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred40_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred24_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred9_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred21_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred38_InternalMelange_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 synpred27_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred27_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred20_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred23_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred7_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred11_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred39_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred1_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred14_InternalMelange_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_InternalMelange() {
state.backtracking++;
int start = input.mark();
try {
synpred42_InternalMelange_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 DFA17 dfa17 = new DFA17(this);
protected DFA26 dfa26 = new DFA26(this);
protected DFA50 dfa50 = new DFA50(this);
protected DFA51 dfa51 = new DFA51(this);
protected DFA61 dfa61 = new DFA61(this);
protected DFA64 dfa64 = new DFA64(this);
protected DFA80 dfa80 = new DFA80(this);
protected DFA79 dfa79 = new DFA79(this);
protected DFA81 dfa81 = new DFA81(this);
protected DFA83 dfa83 = new DFA83(this);
protected DFA92 dfa92 = new DFA92(this);
protected DFA99 dfa99 = new DFA99(this);
protected DFA98 dfa98 = new DFA98(this);
protected DFA121 dfa121 = new DFA121(this);
protected DFA120 dfa120 = new DFA120(this);
protected DFA122 dfa122 = new DFA122(this);
protected DFA126 dfa126 = new DFA126(this);
protected DFA129 dfa129 = new DFA129(this);
protected DFA128 dfa128 = new DFA128(this);
protected DFA130 dfa130 = new DFA130(this);
protected DFA133 dfa133 = new DFA133(this);
protected DFA151 dfa151 = new DFA151(this);
protected DFA149 dfa149 = new DFA149(this);
protected DFA159 dfa159 = new DFA159(this);
static final String dfa_1s = "\23\uffff";
static final String dfa_2s = "\1\1\22\uffff";
static final String dfa_3s = "\1\16\1\uffff\11\0\10\uffff";
static final String dfa_4s = "\1\45\1\uffff\11\0\10\uffff";
static final String dfa_5s = "\1\uffff\1\11\11\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10";
static final String dfa_6s = "\2\uffff\1\7\1\2\1\4\1\5\1\6\1\10\1\0\1\3\1\1\10\uffff}>";
static final String[] dfa_7s = {
"\1\1\1\2\5\uffff\1\3\1\1\1\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\1\1\uffff\2\1\2\uffff\1\1",
"",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
""
};
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 DFA17 extends DFA {
public DFA17(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 17;
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 "()+ loopback of 272:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA17_8 = input.LA(1);
int index17_8 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 6) ) {s = 17;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index17_8);
if ( s>=0 ) return s;
break;
case 1 :
int LA17_10 = input.LA(1);
int index17_10 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 7) ) {s = 18;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index17_10);
if ( s>=0 ) return s;
break;
case 2 :
int LA17_3 = input.LA(1);
int index17_3 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 1) ) {s = 12;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index17_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA17_9 = input.LA(1);
int index17_9 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 7) ) {s = 18;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index17_9);
if ( s>=0 ) return s;
break;
case 4 :
int LA17_4 = input.LA(1);
int index17_4 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 2) ) {s = 13;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index17_4);
if ( s>=0 ) return s;
break;
case 5 :
int LA17_5 = input.LA(1);
int index17_5 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 3) ) {s = 14;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index17_5);
if ( s>=0 ) return s;
break;
case 6 :
int LA17_6 = input.LA(1);
int index17_6 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 4) ) {s = 15;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index17_6);
if ( s>=0 ) return s;
break;
case 7 :
int LA17_2 = input.LA(1);
int index17_2 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 0) ) {s = 11;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index17_2);
if ( s>=0 ) return s;
break;
case 8 :
int LA17_7 = input.LA(1);
int index17_7 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 5) ) {s = 16;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index17_7);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 17, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_8s = "\47\uffff";
static final String dfa_9s = "\1\1\23\uffff\1\1\22\uffff";
static final String dfa_10s = "\1\16\1\uffff\1\10\5\4\1\10\1\0\1\uffff\1\20\5\0\1\26\1\uffff\1\10\1\16\5\uffff\1\4\1\0\1\21\1\4\1\36\2\10\1\0\2\21\1\uffff\1\10\1\21";
static final String dfa_11s = "\1\56\1\uffff\1\10\5\4\1\10\1\0\1\uffff\1\24\5\0\1\36\1\uffff\1\10\1\56\5\uffff\1\4\1\0\1\117\1\4\1\36\2\10\1\0\2\117\1\uffff\1\10\1\117";
static final String dfa_12s = "\1\uffff\1\11\10\uffff\1\2\7\uffff\1\10\2\uffff\1\3\1\4\1\5\1\6\1\7\12\uffff\1\1\2\uffff";
static final String dfa_13s = "\1\3\10\uffff\1\1\2\uffff\1\4\1\7\1\0\1\2\1\10\12\uffff\1\5\5\uffff\1\6\5\uffff}>";
static final String[] dfa_14s = {
"\1\1\1\2\5\uffff\2\1\1\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\1\1\uffff\2\1\2\uffff\1\1\10\uffff\1\12",
"",
"\1\13",
"\1\14",
"\1\15",
"\1\16",
"\1\17",
"\1\20",
"\1\21",
"\1\uffff",
"",
"\1\1\1\uffff\1\23\1\1\1\24",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\32\7\uffff\1\33",
"",
"\1\34",
"\2\1\5\uffff\2\1\1\uffff\10\1\1\35\2\1\2\uffff\1\1\3\uffff\2\1\3\uffff\1\1",
"",
"",
"",
"",
"",
"\1\36",
"\1\uffff",
"\1\40\1\uffff\1\1\1\24\72\uffff\1\37",
"\1\41",
"\1\33",
"\1\42",
"\1\43",
"\1\uffff",
"\1\40\1\uffff\1\1\1\24\72\uffff\1\37",
"\1\40\1\uffff\1\1\1\24\72\uffff\1\45",
"",
"\1\46",
"\1\40\1\uffff\1\1\1\24\72\uffff\1\45"
};
static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s);
static final short[] dfa_9 = DFA.unpackEncodedString(dfa_9s);
static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s);
static final char[] dfa_11 = DFA.unpackEncodedStringToUnsignedChars(dfa_11s);
static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s);
static final short[][] dfa_14 = unpackEncodedStringArray(dfa_14s);
class DFA26 extends DFA {
public DFA26(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 26;
this.eot = dfa_8;
this.eof = dfa_9;
this.min = dfa_10;
this.max = dfa_11;
this.accept = dfa_12;
this.special = dfa_13;
this.transition = dfa_14;
}
public String getDescription() {
return "()+ loopback of 863:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA26_14 = input.LA(1);
int index26_14 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 4) ) {s = 23;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index26_14);
if ( s>=0 ) return s;
break;
case 1 :
int LA26_9 = input.LA(1);
int index26_9 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 7) ) {s = 18;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index26_9);
if ( s>=0 ) return s;
break;
case 2 :
int LA26_15 = input.LA(1);
int index26_15 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 5) ) {s = 24;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index26_15);
if ( s>=0 ) return s;
break;
case 3 :
int LA26_0 = input.LA(1);
int index26_0 = input.index();
input.rewind();
s = -1;
if ( (LA26_0==EOF||LA26_0==14||(LA26_0>=21 && LA26_0<=22)||LA26_0==31||(LA26_0>=33 && LA26_0<=34)||LA26_0==37) ) {s = 1;}
else if ( (LA26_0==15) ) {s = 2;}
else if ( (LA26_0==24) ) {s = 3;}
else if ( (LA26_0==25) ) {s = 4;}
else if ( (LA26_0==26) ) {s = 5;}
else if ( (LA26_0==27) ) {s = 6;}
else if ( (LA26_0==28) ) {s = 7;}
else if ( (LA26_0==29) ) {s = 8;}
else if ( (LA26_0==30) ) {s = 9;}
else if ( LA26_0 == 46 && getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 1) ) {s = 10;}
input.seek(index26_0);
if ( s>=0 ) return s;
break;
case 4 :
int LA26_12 = input.LA(1);
int index26_12 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 2) ) {s = 21;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index26_12);
if ( s>=0 ) return s;
break;
case 5 :
int LA26_27 = input.LA(1);
int index26_27 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 7) ) {s = 18;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index26_27);
if ( s>=0 ) return s;
break;
case 6 :
int LA26_33 = input.LA(1);
int index26_33 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 0) ) {s = 36;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index26_33);
if ( s>=0 ) return s;
break;
case 7 :
int LA26_13 = input.LA(1);
int index26_13 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 3) ) {s = 22;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index26_13);
if ( s>=0 ) return s;
break;
case 8 :
int LA26_16 = input.LA(1);
int index26_16 = input.index();
input.rewind();
s = -1;
if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 6) ) {s = 25;}
else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;}
input.seek(index26_16);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 26, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_15s = "\7\uffff";
static final String dfa_16s = "\2\uffff\1\3\2\uffff\1\3\1\uffff";
static final String dfa_17s = "\1\56\1\10\1\16\1\uffff\1\10\1\16\1\uffff";
static final String dfa_18s = "\1\56\1\102\1\117\1\uffff\1\107\1\117\1\uffff";
static final String dfa_19s = "\3\uffff\1\1\2\uffff\1\2";
static final String dfa_20s = "\7\uffff}>";
static final String[] dfa_21s = {
"\1\1",
"\1\2\32\uffff\1\3\36\uffff\1\3",
"\2\3\5\uffff\2\3\1\uffff\13\3\2\uffff\1\3\3\uffff\2\3\1\uffff\1\3\1\uffff\1\3\6\uffff\1\3\31\uffff\1\4",
"",
"\1\5\76\uffff\1\6",
"\2\3\5\uffff\2\3\1\uffff\13\3\2\uffff\1\3\3\uffff\2\3\1\uffff\1\3\1\uffff\1\3\6\uffff\1\3\31\uffff\1\4",
""
};
static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s);
static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s);
static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s);
static final char[] dfa_18 = DFA.unpackEncodedStringToUnsignedChars(dfa_18s);
static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s);
static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s);
static final short[][] dfa_21 = unpackEncodedStringArray(dfa_21s);
class DFA50 extends DFA {
public DFA50(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 50;
this.eot = dfa_15;
this.eof = dfa_16;
this.min = dfa_17;
this.max = dfa_18;
this.accept = dfa_19;
this.special = dfa_20;
this.transition = dfa_21;
}
public String getDescription() {
return "2405:1: (this_AspectTypeRef_0= ruleAspectTypeRef | this_AspectWildcard_1= ruleAspectWildcard )";
}
}
static final String dfa_22s = "\12\uffff";
static final String dfa_23s = "\1\10\11\uffff";
static final String dfa_24s = "\1\4\7\0\2\uffff";
static final String dfa_25s = "\1\157\7\0\2\uffff";
static final String dfa_26s = "\10\uffff\1\2\1\1";
static final String dfa_27s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\6\1\5\2\uffff}>";
static final String[] dfa_28s = {
"\5\10\10\uffff\1\10\2\uffff\1\10\11\uffff\1\10\4\uffff\2\10\7\uffff\2\10\2\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\34\10\1\uffff\34\10",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
""
};
static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s);
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 DFA51 extends DFA {
public DFA51(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 51;
this.eot = dfa_22;
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 "2618: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 LA51_1 = input.LA(1);
int index51_1 = input.index();
input.rewind();
s = -1;
if ( (synpred5_InternalMelange()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index51_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA51_2 = input.LA(1);
int index51_2 = input.index();
input.rewind();
s = -1;
if ( (synpred5_InternalMelange()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index51_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA51_3 = input.LA(1);
int index51_3 = input.index();
input.rewind();
s = -1;
if ( (synpred5_InternalMelange()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index51_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA51_4 = input.LA(1);
int index51_4 = input.index();
input.rewind();
s = -1;
if ( (synpred5_InternalMelange()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index51_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA51_5 = input.LA(1);
int index51_5 = input.index();
input.rewind();
s = -1;
if ( (synpred5_InternalMelange()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index51_5);
if ( s>=0 ) return s;
break;
case 5 :
int LA51_7 = input.LA(1);
int index51_7 = input.index();
input.rewind();
s = -1;
if ( (synpred5_InternalMelange()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index51_7);
if ( s>=0 ) return s;
break;
case 6 :
int LA51_6 = input.LA(1);
int index51_6 = input.index();
input.rewind();
s = -1;
if ( (synpred5_InternalMelange()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index51_6);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 51, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_29s = "\13\uffff";
static final String dfa_30s = "\1\1\12\uffff";
static final String dfa_31s = "\1\4\1\uffff\10\0\1\uffff";
static final String dfa_32s = "\1\157\1\uffff\10\0\1\uffff";
static final String dfa_33s = "\1\uffff\1\2\10\uffff\1\1";
static final String dfa_34s = "\2\uffff\1\6\1\2\1\3\1\4\1\5\1\7\1\0\1\1\1\uffff}>";
static final String[] dfa_35s = {
"\5\1\10\uffff\1\1\2\uffff\1\1\11\uffff\1\1\4\uffff\2\1\7\uffff\2\1\2\uffff\5\1\1\2\1\3\10\1\1\4\1\5\1\6\1\7\1\10\1\11\16\1\1\uffff\34\1",
"",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
""
};
static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s);
static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s);
static final char[] dfa_31 = DFA.unpackEncodedStringToUnsignedChars(dfa_31s);
static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s);
static final short[] dfa_33 = DFA.unpackEncodedString(dfa_33s);
static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s);
static final short[][] dfa_35 = unpackEncodedStringArray(dfa_35s);
class DFA61 extends DFA {
public DFA61(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 61;
this.eot = dfa_29;
this.eof = dfa_30;
this.min = dfa_31;
this.max = dfa_32;
this.accept = dfa_33;
this.special = dfa_34;
this.transition = dfa_35;
}
public String getDescription() {
return "()* loopback of 3295: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 LA61_8 = input.LA(1);
int index61_8 = input.index();
input.rewind();
s = -1;
if ( (synpred11_InternalMelange()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index61_8);
if ( s>=0 ) return s;
break;
case 1 :
int LA61_9 = input.LA(1);
int index61_9 = input.index();
input.rewind();
s = -1;
if ( (synpred11_InternalMelange()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index61_9);
if ( s>=0 ) return s;
break;
case 2 :
int LA61_3 = input.LA(1);
int index61_3 = input.index();
input.rewind();
s = -1;
if ( (synpred11_InternalMelange()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index61_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA61_4 = input.LA(1);
int index61_4 = input.index();
input.rewind();
s = -1;
if ( (synpred11_InternalMelange()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index61_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA61_5 = input.LA(1);
int index61_5 = input.index();
input.rewind();
s = -1;
if ( (synpred11_InternalMelange()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index61_5);
if ( s>=0 ) return s;
break;
case 5 :
int LA61_6 = input.LA(1);
int index61_6 = input.index();
input.rewind();
s = -1;
if ( (synpred11_InternalMelange()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index61_6);
if ( s>=0 ) return s;
break;
case 6 :
int LA61_2 = input.LA(1);
int index61_2 = input.index();
input.rewind();
s = -1;
if ( (synpred11_InternalMelange()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index61_2);
if ( s>=0 ) return s;
break;
case 7 :
int LA61_7 = input.LA(1);
int index61_7 = input.index();
input.rewind();
s = -1;
if ( (synpred11_InternalMelange()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index61_7);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 61, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_36s = "\1\65\2\uffff\1\66\7\uffff";
static final String dfa_37s = "\1\104\2\uffff\1\101\7\uffff";
static final String dfa_38s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\3\1\6";
static final String dfa_39s = "\13\uffff}>";
static final String[] dfa_40s = {
"\1\6\1\3\10\uffff\1\1\1\2\1\4\1\5\1\7\1\10",
"",
"",
"\1\12\12\uffff\1\11",
"",
"",
"",
"",
"",
"",
""
};
static final char[] dfa_36 = DFA.unpackEncodedStringToUnsignedChars(dfa_36s);
static final char[] dfa_37 = DFA.unpackEncodedStringToUnsignedChars(dfa_37s);
static final short[] dfa_38 = DFA.unpackEncodedString(dfa_38s);
static final short[] dfa_39 = DFA.unpackEncodedString(dfa_39s);
static final short[][] dfa_40 = unpackEncodedStringArray(dfa_40s);
class DFA64 extends DFA {
public DFA64(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 64;
this.eot = dfa_29;
this.eof = dfa_29;
this.min = dfa_36;
this.max = dfa_37;
this.accept = dfa_38;
this.special = dfa_39;
this.transition = dfa_40;
}
public String getDescription() {
return "3360:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )";
}
}
static final String dfa_41s = "\116\uffff";
static final String dfa_42s = "\1\2\115\uffff";
static final String dfa_43s = "\1\4\1\0\114\uffff";
static final String dfa_44s = "\1\157\1\0\114\uffff";
static final String dfa_45s = "\2\uffff\1\2\112\uffff\1\1";
static final String dfa_46s = "\1\uffff\1\0\114\uffff}>";
static final String[] dfa_47s = {
"\5\2\10\uffff\1\2\2\uffff\1\2\11\uffff\1\2\4\uffff\1\1\1\2\7\uffff\2\2\2\uffff\43\2\1\uffff\34\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s);
static final short[] dfa_42 = DFA.unpackEncodedString(dfa_42s);
static final char[] dfa_43 = DFA.unpackEncodedStringToUnsignedChars(dfa_43s);
static final char[] dfa_44 = DFA.unpackEncodedStringToUnsignedChars(dfa_44s);
static final short[] dfa_45 = DFA.unpackEncodedString(dfa_45s);
static final short[] dfa_46 = DFA.unpackEncodedString(dfa_46s);
static final short[][] dfa_47 = unpackEncodedStringArray(dfa_47s);
class DFA80 extends DFA {
public DFA80(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 80;
this.eot = dfa_41;
this.eof = dfa_42;
this.min = dfa_43;
this.max = dfa_44;
this.accept = dfa_45;
this.special = dfa_46;
this.transition = dfa_47;
}
public String getDescription() {
return "4204: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 LA80_1 = input.LA(1);
int index80_1 = input.index();
input.rewind();
s = -1;
if ( (synpred20_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 2;}
input.seek(index80_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 80, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_48s = "\44\uffff";
static final String dfa_49s = "\1\4\2\0\41\uffff";
static final String dfa_50s = "\1\156\2\0\41\uffff";
static final String dfa_51s = "\3\uffff\2\1\1\2\35\uffff\1\3";
static final String dfa_52s = "\1\0\1\1\1\2\41\uffff}>";
static final String[] dfa_53s = {
"\4\5\1\1\13\uffff\1\5\16\uffff\1\2\1\43\7\uffff\1\5\10\uffff\1\5\14\uffff\1\3\2\uffff\2\5\4\uffff\1\5\6\uffff\1\5\1\4\1\uffff\1\5\1\uffff\1\5\3\uffff\3\5\2\uffff\15\5\1\uffff\1\5",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_48 = DFA.unpackEncodedString(dfa_48s);
static final char[] dfa_49 = DFA.unpackEncodedStringToUnsignedChars(dfa_49s);
static final char[] dfa_50 = DFA.unpackEncodedStringToUnsignedChars(dfa_50s);
static final short[] dfa_51 = DFA.unpackEncodedString(dfa_51s);
static final short[] dfa_52 = DFA.unpackEncodedString(dfa_52s);
static final short[][] dfa_53 = unpackEncodedStringArray(dfa_53s);
class DFA79 extends DFA {
public DFA79(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 79;
this.eot = dfa_48;
this.eof = dfa_48;
this.min = dfa_49;
this.max = dfa_50;
this.accept = dfa_51;
this.special = dfa_52;
this.transition = dfa_53;
}
public String getDescription() {
return "4225: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 LA79_0 = input.LA(1);
int index79_0 = input.index();
input.rewind();
s = -1;
if ( (LA79_0==RULE_ID) ) {s = 1;}
else if ( (LA79_0==35) ) {s = 2;}
else if ( (LA79_0==66) && (synpred21_InternalMelange())) {s = 3;}
else if ( (LA79_0==83) && (synpred21_InternalMelange())) {s = 4;}
else if ( ((LA79_0>=RULE_STRING && LA79_0<=RULE_DECIMAL)||LA79_0==20||LA79_0==44||LA79_0==53||(LA79_0>=69 && LA79_0<=70)||LA79_0==75||LA79_0==82||LA79_0==85||LA79_0==87||(LA79_0>=91 && LA79_0<=93)||(LA79_0>=96 && LA79_0<=108)||LA79_0==110) ) {s = 5;}
else if ( (LA79_0==36) ) {s = 35;}
input.seek(index79_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA79_1 = input.LA(1);
int index79_1 = input.index();
input.rewind();
s = -1;
if ( (synpred21_InternalMelange()) ) {s = 4;}
else if ( (true) ) {s = 5;}
input.seek(index79_1);
if ( s>=0 ) return s;
break;
case 2 :
int LA79_2 = input.LA(1);
int index79_2 = input.index();
input.rewind();
s = -1;
if ( (synpred21_InternalMelange()) ) {s = 4;}
else if ( (true) ) {s = 5;}
input.seek(index79_2);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 79, _s, input);
error(nvae);
throw nvae;
}
}
static final String[] dfa_54s = {
"\5\2\10\uffff\1\2\2\uffff\1\2\11\uffff\1\2\4\uffff\2\2\7\uffff\1\1\1\2\2\uffff\43\2\1\uffff\34\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[][] dfa_54 = unpackEncodedStringArray(dfa_54s);
class DFA81 extends DFA {
public DFA81(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 81;
this.eot = dfa_41;
this.eof = dfa_42;
this.min = dfa_43;
this.max = dfa_44;
this.accept = dfa_45;
this.special = dfa_46;
this.transition = dfa_54;
}
public String getDescription() {
return "4304: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 LA81_1 = input.LA(1);
int index81_1 = input.index();
input.rewind();
s = -1;
if ( (synpred22_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 2;}
input.seek(index81_1);
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_55s = "\40\uffff";
static final String dfa_56s = "\1\4\26\uffff\1\0\10\uffff";
static final String dfa_57s = "\1\156\26\uffff\1\0\10\uffff";
static final String dfa_58s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\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_59s = "\1\0\26\uffff\1\1\10\uffff}>";
static final String[] dfa_60s = {
"\4\14\1\5\13\uffff\1\2\16\uffff\1\35\10\uffff\1\14\10\uffff\1\5\34\uffff\1\14\2\uffff\1\26\1\uffff\1\3\3\uffff\1\27\1\30\1\31\2\uffff\5\5\1\1\4\14\1\32\1\33\1\34\1\uffff\1\4",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_55 = DFA.unpackEncodedString(dfa_55s);
static final char[] dfa_56 = DFA.unpackEncodedStringToUnsignedChars(dfa_56s);
static final char[] dfa_57 = DFA.unpackEncodedStringToUnsignedChars(dfa_57s);
static final short[] dfa_58 = DFA.unpackEncodedString(dfa_58s);
static final short[] dfa_59 = DFA.unpackEncodedString(dfa_59s);
static final short[][] dfa_60 = unpackEncodedStringArray(dfa_60s);
class DFA83 extends DFA {
public DFA83(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 83;
this.eot = dfa_55;
this.eof = dfa_55;
this.min = dfa_56;
this.max = dfa_57;
this.accept = dfa_58;
this.special = dfa_59;
this.transition = dfa_60;
}
public String getDescription() {
return "4345: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 LA83_0 = input.LA(1);
int index83_0 = input.index();
input.rewind();
s = -1;
if ( (LA83_0==101) ) {s = 1;}
else if ( (LA83_0==20) ) {s = 2;}
else if ( (LA83_0==87) ) {s = 3;}
else if ( (LA83_0==110) && (synpred23_InternalMelange())) {s = 4;}
else if ( (LA83_0==RULE_ID||LA83_0==53||(LA83_0>=96 && LA83_0<=100)) ) {s = 5;}
else if ( ((LA83_0>=RULE_STRING && LA83_0<=RULE_DECIMAL)||LA83_0==44||LA83_0==82||(LA83_0>=102 && LA83_0<=105)) ) {s = 12;}
else if ( (LA83_0==85) ) {s = 22;}
else if ( (LA83_0==91) ) {s = 23;}
else if ( (LA83_0==92) ) {s = 24;}
else if ( (LA83_0==93) ) {s = 25;}
else if ( (LA83_0==106) ) {s = 26;}
else if ( (LA83_0==107) ) {s = 27;}
else if ( (LA83_0==108) ) {s = 28;}
else if ( (LA83_0==35) ) {s = 29;}
input.seek(index83_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA83_23 = input.LA(1);
int index83_23 = input.index();
input.rewind();
s = -1;
if ( (synpred24_InternalMelange()) ) {s = 30;}
else if ( (true) ) {s = 31;}
input.seek(index83_23);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 83, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_61s = "\46\uffff";
static final String dfa_62s = "\1\4\2\0\43\uffff";
static final String dfa_63s = "\1\156\2\0\43\uffff";
static final String dfa_64s = "\3\uffff\2\1\1\2\40\uffff";
static final String dfa_65s = "\1\0\1\1\1\2\43\uffff}>";
static final String[] dfa_66s = {
"\4\5\1\1\13\uffff\1\5\16\uffff\1\2\10\uffff\2\5\7\uffff\1\5\14\uffff\1\3\2\uffff\2\5\4\uffff\1\5\6\uffff\1\5\1\4\1\uffff\1\5\1\uffff\1\5\3\uffff\22\5\1\uffff\1\5",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_61 = DFA.unpackEncodedString(dfa_61s);
static final char[] dfa_62 = DFA.unpackEncodedStringToUnsignedChars(dfa_62s);
static final char[] dfa_63 = DFA.unpackEncodedStringToUnsignedChars(dfa_63s);
static final short[] dfa_64 = DFA.unpackEncodedString(dfa_64s);
static final short[] dfa_65 = DFA.unpackEncodedString(dfa_65s);
static final short[][] dfa_66 = unpackEncodedStringArray(dfa_66s);
class DFA92 extends DFA {
public DFA92(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 92;
this.eot = dfa_61;
this.eof = dfa_61;
this.min = dfa_62;
this.max = dfa_63;
this.accept = dfa_64;
this.special = dfa_65;
this.transition = dfa_66;
}
public String getDescription() {
return "4828: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 LA92_0 = input.LA(1);
int index92_0 = input.index();
input.rewind();
s = -1;
if ( (LA92_0==RULE_ID) ) {s = 1;}
else if ( (LA92_0==35) ) {s = 2;}
else if ( (LA92_0==66) && (synpred27_InternalMelange())) {s = 3;}
else if ( (LA92_0==83) && (synpred27_InternalMelange())) {s = 4;}
else if ( ((LA92_0>=RULE_STRING && LA92_0<=RULE_DECIMAL)||LA92_0==20||(LA92_0>=44 && LA92_0<=45)||LA92_0==53||(LA92_0>=69 && LA92_0<=70)||LA92_0==75||LA92_0==82||LA92_0==85||LA92_0==87||(LA92_0>=91 && LA92_0<=108)||LA92_0==110) ) {s = 5;}
input.seek(index92_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA92_1 = input.LA(1);
int index92_1 = input.index();
input.rewind();
s = -1;
if ( (synpred27_InternalMelange()) ) {s = 4;}
else if ( (true) ) {s = 5;}
input.seek(index92_1);
if ( s>=0 ) return s;
break;
case 2 :
int LA92_2 = input.LA(1);
int index92_2 = input.index();
input.rewind();
s = -1;
if ( (synpred27_InternalMelange()) ) {s = 4;}
else if ( (true) ) {s = 5;}
input.seek(index92_2);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 92, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_67s = "\43\uffff";
static final String dfa_68s = "\1\4\1\0\41\uffff";
static final String dfa_69s = "\1\156\1\0\41\uffff";
static final String dfa_70s = "\2\uffff\1\2\37\uffff\1\1";
static final String dfa_71s = "\1\uffff\1\0\41\uffff}>";
static final String[] dfa_72s = {
"\5\2\13\uffff\1\2\16\uffff\1\1\10\uffff\1\2\10\uffff\1\2\14\uffff\1\2\2\uffff\2\2\4\uffff\1\2\6\uffff\1\2\2\uffff\1\2\1\uffff\1\2\3\uffff\3\2\2\uffff\15\2\1\uffff\1\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_67 = DFA.unpackEncodedString(dfa_67s);
static final char[] dfa_68 = DFA.unpackEncodedStringToUnsignedChars(dfa_68s);
static final char[] dfa_69 = DFA.unpackEncodedStringToUnsignedChars(dfa_69s);
static final short[] dfa_70 = DFA.unpackEncodedString(dfa_70s);
static final short[] dfa_71 = DFA.unpackEncodedString(dfa_71s);
static final short[][] dfa_72 = unpackEncodedStringArray(dfa_72s);
class DFA99 extends DFA {
public DFA99(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 99;
this.eot = dfa_67;
this.eof = dfa_67;
this.min = dfa_68;
this.max = dfa_69;
this.accept = dfa_70;
this.special = dfa_71;
this.transition = dfa_72;
}
public String getDescription() {
return "5252: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 LA99_1 = input.LA(1);
int index99_1 = input.index();
input.rewind();
s = -1;
if ( (synpred30_InternalMelange()) ) {s = 34;}
else if ( (true) ) {s = 2;}
input.seek(index99_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 99, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_73s = "\42\uffff";
static final String dfa_74s = "\1\4\2\0\37\uffff";
static final String dfa_75s = "\1\156\2\0\37\uffff";
static final String dfa_76s = "\3\uffff\1\1\1\2\35\uffff";
static final String dfa_77s = "\1\0\1\1\1\2\37\uffff}>";
static final String[] dfa_78s = {
"\4\4\1\1\13\uffff\1\4\16\uffff\1\2\10\uffff\1\4\10\uffff\1\4\14\uffff\1\3\2\uffff\2\4\4\uffff\1\4\6\uffff\1\4\2\uffff\1\4\1\uffff\1\4\3\uffff\3\4\2\uffff\15\4\1\uffff\1\4",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_73 = DFA.unpackEncodedString(dfa_73s);
static final char[] dfa_74 = DFA.unpackEncodedStringToUnsignedChars(dfa_74s);
static final char[] dfa_75 = DFA.unpackEncodedStringToUnsignedChars(dfa_75s);
static final short[] dfa_76 = DFA.unpackEncodedString(dfa_76s);
static final short[] dfa_77 = DFA.unpackEncodedString(dfa_77s);
static final short[][] dfa_78 = unpackEncodedStringArray(dfa_78s);
class DFA98 extends DFA {
public DFA98(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 98;
this.eot = dfa_73;
this.eof = dfa_73;
this.min = dfa_74;
this.max = dfa_75;
this.accept = dfa_76;
this.special = dfa_77;
this.transition = dfa_78;
}
public String getDescription() {
return "5307: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 LA98_0 = input.LA(1);
int index98_0 = input.index();
input.rewind();
s = -1;
if ( (LA98_0==RULE_ID) ) {s = 1;}
else if ( (LA98_0==35) ) {s = 2;}
else if ( (LA98_0==66) && (synpred31_InternalMelange())) {s = 3;}
else if ( ((LA98_0>=RULE_STRING && LA98_0<=RULE_DECIMAL)||LA98_0==20||LA98_0==44||LA98_0==53||(LA98_0>=69 && LA98_0<=70)||LA98_0==75||LA98_0==82||LA98_0==85||LA98_0==87||(LA98_0>=91 && LA98_0<=93)||(LA98_0>=96 && LA98_0<=108)||LA98_0==110) ) {s = 4;}
input.seek(index98_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA98_1 = input.LA(1);
int index98_1 = input.index();
input.rewind();
s = -1;
if ( (synpred31_InternalMelange()) ) {s = 3;}
else if ( (true) ) {s = 4;}
input.seek(index98_1);
if ( s>=0 ) return s;
break;
case 2 :
int LA98_2 = input.LA(1);
int index98_2 = input.index();
input.rewind();
s = -1;
if ( (synpred31_InternalMelange()) ) {s = 3;}
else if ( (true) ) {s = 4;}
input.seek(index98_2);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 98, _s, input);
error(nvae);
throw nvae;
}
}
class DFA121 extends DFA {
public DFA121(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 121;
this.eot = dfa_41;
this.eof = dfa_42;
this.min = dfa_43;
this.max = dfa_44;
this.accept = dfa_45;
this.special = dfa_46;
this.transition = dfa_47;
}
public String getDescription() {
return "6364: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 LA121_1 = input.LA(1);
int index121_1 = input.index();
input.rewind();
s = -1;
if ( (synpred34_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 2;}
input.seek(index121_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 121, _s, input);
error(nvae);
throw nvae;
}
}
class DFA120 extends DFA {
public DFA120(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 120;
this.eot = dfa_48;
this.eof = dfa_48;
this.min = dfa_49;
this.max = dfa_50;
this.accept = dfa_51;
this.special = dfa_52;
this.transition = dfa_53;
}
public String getDescription() {
return "6385: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 LA120_0 = input.LA(1);
int index120_0 = input.index();
input.rewind();
s = -1;
if ( (LA120_0==RULE_ID) ) {s = 1;}
else if ( (LA120_0==35) ) {s = 2;}
else if ( (LA120_0==66) && (synpred35_InternalMelange())) {s = 3;}
else if ( (LA120_0==83) && (synpred35_InternalMelange())) {s = 4;}
else if ( ((LA120_0>=RULE_STRING && LA120_0<=RULE_DECIMAL)||LA120_0==20||LA120_0==44||LA120_0==53||(LA120_0>=69 && LA120_0<=70)||LA120_0==75||LA120_0==82||LA120_0==85||LA120_0==87||(LA120_0>=91 && LA120_0<=93)||(LA120_0>=96 && LA120_0<=108)||LA120_0==110) ) {s = 5;}
else if ( (LA120_0==36) ) {s = 35;}
input.seek(index120_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA120_1 = input.LA(1);
int index120_1 = input.index();
input.rewind();
s = -1;
if ( (synpred35_InternalMelange()) ) {s = 4;}
else if ( (true) ) {s = 5;}
input.seek(index120_1);
if ( s>=0 ) return s;
break;
case 2 :
int LA120_2 = input.LA(1);
int index120_2 = input.index();
input.rewind();
s = -1;
if ( (synpred35_InternalMelange()) ) {s = 4;}
else if ( (true) ) {s = 5;}
input.seek(index120_2);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 120, _s, input);
error(nvae);
throw nvae;
}
}
class DFA122 extends DFA {
public DFA122(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 122;
this.eot = dfa_41;
this.eof = dfa_42;
this.min = dfa_43;
this.max = dfa_44;
this.accept = dfa_45;
this.special = dfa_46;
this.transition = dfa_54;
}
public String getDescription() {
return "6464: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 LA122_1 = input.LA(1);
int index122_1 = input.index();
input.rewind();
s = -1;
if ( (synpred36_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 2;}
input.seek(index122_1);
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_79s = {
"\5\2\10\uffff\1\2\2\uffff\1\2\11\uffff\1\2\4\uffff\2\2\7\uffff\2\2\2\uffff\5\2\1\1\35\2\1\uffff\34\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[][] dfa_79 = unpackEncodedStringArray(dfa_79s);
class DFA126 extends DFA {
public DFA126(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 126;
this.eot = dfa_41;
this.eof = dfa_42;
this.min = dfa_43;
this.max = dfa_44;
this.accept = dfa_45;
this.special = dfa_46;
this.transition = dfa_79;
}
public String getDescription() {
return "6629: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 LA126_1 = input.LA(1);
int index126_1 = input.index();
input.rewind();
s = -1;
if ( (synpred37_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 2;}
input.seek(index126_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 126, _s, input);
error(nvae);
throw nvae;
}
}
class DFA129 extends DFA {
public DFA129(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 129;
this.eot = dfa_41;
this.eof = dfa_42;
this.min = dfa_43;
this.max = dfa_44;
this.accept = dfa_45;
this.special = dfa_46;
this.transition = dfa_47;
}
public String getDescription() {
return "6678: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 LA129_1 = input.LA(1);
int index129_1 = input.index();
input.rewind();
s = -1;
if ( (synpred38_InternalMelange()) ) {s = 77;}
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;
}
}
class DFA128 extends DFA {
public DFA128(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 128;
this.eot = dfa_48;
this.eof = dfa_48;
this.min = dfa_49;
this.max = dfa_50;
this.accept = dfa_51;
this.special = dfa_52;
this.transition = dfa_53;
}
public String getDescription() {
return "6699: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 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==35) ) {s = 2;}
else if ( (LA128_0==66) && (synpred39_InternalMelange())) {s = 3;}
else if ( (LA128_0==83) && (synpred39_InternalMelange())) {s = 4;}
else if ( ((LA128_0>=RULE_STRING && LA128_0<=RULE_DECIMAL)||LA128_0==20||LA128_0==44||LA128_0==53||(LA128_0>=69 && LA128_0<=70)||LA128_0==75||LA128_0==82||LA128_0==85||LA128_0==87||(LA128_0>=91 && LA128_0<=93)||(LA128_0>=96 && LA128_0<=108)||LA128_0==110) ) {s = 5;}
else if ( (LA128_0==36) ) {s = 35;}
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 ( (synpred39_InternalMelange()) ) {s = 4;}
else if ( (true) ) {s = 5;}
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 ( (synpred39_InternalMelange()) ) {s = 4;}
else if ( (true) ) {s = 5;}
input.seek(index128_2);
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;
}
}
class DFA130 extends DFA {
public DFA130(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 130;
this.eot = dfa_41;
this.eof = dfa_42;
this.min = dfa_43;
this.max = dfa_44;
this.accept = dfa_45;
this.special = dfa_46;
this.transition = dfa_54;
}
public String getDescription() {
return "6778: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 LA130_1 = input.LA(1);
int index130_1 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 2;}
input.seek(index130_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 130, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_80s = "\1\41\115\uffff";
static final String dfa_81s = "\1\4\40\0\55\uffff";
static final String dfa_82s = "\1\157\40\0\55\uffff";
static final String dfa_83s = "\41\uffff\1\2\53\uffff\1\1";
static final String dfa_84s = "\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\55\uffff}>";
static final String[] dfa_85s = {
"\1\27\1\23\1\24\1\25\1\1\10\uffff\1\41\2\uffff\1\12\11\uffff\1\41\4\uffff\1\40\1\41\7\uffff\1\20\1\41\2\uffff\5\41\1\15\17\41\1\10\1\7\4\41\1\6\6\41\1\17\1\uffff\1\41\1\31\1\41\1\13\3\41\1\32\1\33\1\34\2\41\1\2\1\3\1\4\1\5\1\16\1\11\1\21\1\22\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41",
"\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_80 = DFA.unpackEncodedString(dfa_80s);
static final char[] dfa_81 = DFA.unpackEncodedStringToUnsignedChars(dfa_81s);
static final char[] dfa_82 = DFA.unpackEncodedStringToUnsignedChars(dfa_82s);
static final short[] dfa_83 = DFA.unpackEncodedString(dfa_83s);
static final short[] dfa_84 = DFA.unpackEncodedString(dfa_84s);
static final short[][] dfa_85 = unpackEncodedStringArray(dfa_85s);
class DFA133 extends DFA {
public DFA133(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 133;
this.eot = dfa_41;
this.eof = dfa_80;
this.min = dfa_81;
this.max = dfa_82;
this.accept = dfa_83;
this.special = dfa_84;
this.transition = dfa_85;
}
public String getDescription() {
return "7118:1: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 LA133_1 = input.LA(1);
int index133_1 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA133_2 = input.LA(1);
int index133_2 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA133_3 = input.LA(1);
int index133_3 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA133_4 = input.LA(1);
int index133_4 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA133_5 = input.LA(1);
int index133_5 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_5);
if ( s>=0 ) return s;
break;
case 5 :
int LA133_6 = input.LA(1);
int index133_6 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_6);
if ( s>=0 ) return s;
break;
case 6 :
int LA133_7 = input.LA(1);
int index133_7 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_7);
if ( s>=0 ) return s;
break;
case 7 :
int LA133_8 = input.LA(1);
int index133_8 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_8);
if ( s>=0 ) return s;
break;
case 8 :
int LA133_9 = input.LA(1);
int index133_9 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_9);
if ( s>=0 ) return s;
break;
case 9 :
int LA133_10 = input.LA(1);
int index133_10 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_10);
if ( s>=0 ) return s;
break;
case 10 :
int LA133_11 = input.LA(1);
int index133_11 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_11);
if ( s>=0 ) return s;
break;
case 11 :
int LA133_12 = input.LA(1);
int index133_12 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_12);
if ( s>=0 ) return s;
break;
case 12 :
int LA133_13 = input.LA(1);
int index133_13 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_13);
if ( s>=0 ) return s;
break;
case 13 :
int LA133_14 = input.LA(1);
int index133_14 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_14);
if ( s>=0 ) return s;
break;
case 14 :
int LA133_15 = input.LA(1);
int index133_15 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_15);
if ( s>=0 ) return s;
break;
case 15 :
int LA133_16 = input.LA(1);
int index133_16 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_16);
if ( s>=0 ) return s;
break;
case 16 :
int LA133_17 = input.LA(1);
int index133_17 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_17);
if ( s>=0 ) return s;
break;
case 17 :
int LA133_18 = input.LA(1);
int index133_18 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_18);
if ( s>=0 ) return s;
break;
case 18 :
int LA133_19 = input.LA(1);
int index133_19 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_19);
if ( s>=0 ) return s;
break;
case 19 :
int LA133_20 = input.LA(1);
int index133_20 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_20);
if ( s>=0 ) return s;
break;
case 20 :
int LA133_21 = input.LA(1);
int index133_21 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_21);
if ( s>=0 ) return s;
break;
case 21 :
int LA133_22 = input.LA(1);
int index133_22 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_22);
if ( s>=0 ) return s;
break;
case 22 :
int LA133_23 = input.LA(1);
int index133_23 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_23);
if ( s>=0 ) return s;
break;
case 23 :
int LA133_24 = input.LA(1);
int index133_24 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_24);
if ( s>=0 ) return s;
break;
case 24 :
int LA133_25 = input.LA(1);
int index133_25 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_25);
if ( s>=0 ) return s;
break;
case 25 :
int LA133_26 = input.LA(1);
int index133_26 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_26);
if ( s>=0 ) return s;
break;
case 26 :
int LA133_27 = input.LA(1);
int index133_27 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_27);
if ( s>=0 ) return s;
break;
case 27 :
int LA133_28 = input.LA(1);
int index133_28 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_28);
if ( s>=0 ) return s;
break;
case 28 :
int LA133_29 = input.LA(1);
int index133_29 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_29);
if ( s>=0 ) return s;
break;
case 29 :
int LA133_30 = input.LA(1);
int index133_30 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_30);
if ( s>=0 ) return s;
break;
case 30 :
int LA133_31 = input.LA(1);
int index133_31 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_31);
if ( s>=0 ) return s;
break;
case 31 :
int LA133_32 = input.LA(1);
int index133_32 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalMelange()) ) {s = 77;}
else if ( (true) ) {s = 33;}
input.seek(index133_32);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 133, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_86s = "\141\uffff";
static final String dfa_87s = "\1\2\140\uffff";
static final String dfa_88s = "\1\4\1\0\137\uffff";
static final String dfa_89s = "\1\161\1\0\137\uffff";
static final String dfa_90s = "\2\uffff\1\2\135\uffff\1\1";
static final String dfa_91s = "\1\uffff\1\0\137\uffff}>";
static final String[] dfa_92s = {
"\5\2\5\uffff\2\2\1\uffff\1\2\2\uffff\3\2\1\uffff\16\2\3\uffff\2\2\1\uffff\3\2\1\uffff\5\2\1\1\35\2\1\uffff\34\2\1\uffff\1\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_86 = DFA.unpackEncodedString(dfa_86s);
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 DFA151 extends DFA {
public DFA151(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 151;
this.eot = dfa_86;
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 "7768: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 LA151_1 = input.LA(1);
int index151_1 = input.index();
input.rewind();
s = -1;
if ( (synpred48_InternalMelange()) ) {s = 96;}
else if ( (true) ) {s = 2;}
input.seek(index151_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 151, _s, input);
error(nvae);
throw nvae;
}
}
class DFA149 extends DFA {
public DFA149(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 149;
this.eot = dfa_86;
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 "7844: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 LA149_1 = input.LA(1);
int index149_1 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalMelange()) ) {s = 96;}
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;
}
}
static final String dfa_93s = "\2\uffff\1\4\3\uffff\1\4";
static final String dfa_94s = "\1\10\1\uffff\1\16\1\10\2\uffff\1\16";
static final String dfa_95s = "\1\141\1\uffff\1\142\1\107\2\uffff\1\142";
static final String dfa_96s = "\1\uffff\1\1\2\uffff\1\2\1\3\1\uffff";
static final String[] dfa_97s = {
"\1\2\130\uffff\1\1",
"",
"\2\4\5\uffff\2\4\1\uffff\10\4\1\uffff\2\4\2\uffff\1\4\51\uffff\1\3\4\uffff\1\4\15\uffff\1\4",
"\1\6\76\uffff\1\5",
"",
"",
"\2\4\5\uffff\2\4\1\uffff\10\4\1\uffff\2\4\2\uffff\1\4\51\uffff\1\3\4\uffff\1\4\15\uffff\1\4"
};
static final short[] dfa_93 = DFA.unpackEncodedString(dfa_93s);
static final char[] dfa_94 = DFA.unpackEncodedStringToUnsignedChars(dfa_94s);
static final char[] dfa_95 = DFA.unpackEncodedStringToUnsignedChars(dfa_95s);
static final short[] dfa_96 = DFA.unpackEncodedString(dfa_96s);
static final short[][] dfa_97 = unpackEncodedStringArray(dfa_97s);
class DFA159 extends DFA {
public DFA159(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 159;
this.eot = dfa_15;
this.eof = dfa_93;
this.min = dfa_94;
this.max = dfa_95;
this.accept = dfa_96;
this.special = dfa_20;
this.transition = dfa_97;
}
public String getDescription() {
return "8347: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 ) ) )";
}
}
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[]{0x0000000000000100L});
public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x00000026FF60C002L,0x0000000400000000L});
public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00000026FF60C002L});
public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x000040007F008000L});
public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x00000000001D0000L});
public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000001E0000L});
public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x00000000001A0000L});
public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000120000L});
public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x000046017F208002L});
public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x001C000000000000L});
public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x000000007FE08002L});
public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x000000007F208002L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000800000100L,0x0000000000000004L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x000000007F228002L});
public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000040400000L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000040000000L});
public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000140000L});
public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x000040007F008002L});
public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x000040007F028002L});
public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x00000000C0400002L});
public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000800000000L});
public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000001800000100L,0x0000000000000004L});
public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001000020000L});
public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000004000000000L});
public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000040000010L});
public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000100002L});
public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000018000000002L});
public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000010000020002L});
public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000008000000002L});
public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000020002L});
public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000010000000002L});
public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000100000000000L});
public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000200000020000L});
public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000800000000000L});
public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x00201008001001F0L,0x00005FFF38A40860L});
public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x007F000000000002L});
public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0020000000000000L});
public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x00C0000000000000L});
public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0080000000000000L});
public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0100000000000002L});
public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0200000000000002L});
public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x3C00000000000002L});
public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x40E0000000000002L});
public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x8060000000000002L,0x000000000000001FL});
public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0040000000000000L});
public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0020000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000060L});
public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000780L});
public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L});
public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000002L,0x0000000000006000L});
public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000002L,0x0000000000038000L});
public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000100L,0x0000000F00000000L});
public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0020000000000100L,0x0000001F00000000L});
public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000800000100L,0x0001000000000004L});
public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0040000000020000L});
public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000100800000002L,0x0000000000038000L});
public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x00201018001001F0L,0x00005FFF38AC0864L});
public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000001000000000L});
public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000100000000002L,0x0000000000038000L});
public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x00201008401001F0L,0x00005FFF38A40860L});
public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000040020000L});
public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x00203008001001F0L,0x00005FFF38A40860L});
public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x00203008001001F0L,0x00005FFFF8AC0864L});
public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000020000L,0x0000000000080000L});
public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x00203008001001F0L,0x00005FFFF8A40860L});
public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000200000000000L});
public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x00201008001001F2L,0x00005FFFF8B40860L});
public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x00201008001001F2L,0x00005FFFF8A40860L});
public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000002L,0x0000000000400000L});
public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x00201008001001F0L,0x00005FFF38A40864L});
public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000840020100L,0x0000000007000004L});
public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000020000L,0x0000000005000000L});
public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000020000L,0x0000000001000000L});
public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x00201008001001F0L,0x00005FFFF8B40860L});
public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000020000L,0x0000000000100000L});
public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x00201008001001F0L,0x00005FFFF8A40860L});
public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x00201008001001F0L,0x00005FFF38B40860L});
public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x00201018001001F0L,0x00005FFF38A40860L});
public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x00201008401001F0L,0x00005FFFF8A40860L});
public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x00201008401001F0L,0x00005FFFF8B40860L});
public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000800000000002L});
public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000100800000002L});
public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000100000000002L});
public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0020100800000002L});
public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000101000000000L});
public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x00201008001001F2L,0x00005FFF38A40860L});
public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000000L,0x0000A00000000000L});
public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000002L,0x0000A00000000000L});
public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x00000000000000C0L});
public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0020000000000002L});
public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0020000000000002L,0x0000000000008000L});
public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000000002L,0x0000001100000000L});
public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000002L,0x0002000000000000L});
public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000100L,0x0000000200000000L});
public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000100L,0x0000000800000000L});
public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000080L});
public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000002L,0x0000000000100000L});
public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000000102L});
}