package de.ugoe.cs.swe.bnftools.parser.antlr.internal; import org.eclipse.xtext.*; import org.eclipse.xtext.parser.*; import org.eclipse.xtext.parser.impl.*; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; import de.ugoe.cs.swe.bnftools.services.EbnfGrammarAccess; 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 InternalEbnfParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { "", "", "", "", "RULE_ID", "RULE_SECTIONHEADER", "RULE_ML_COMMENT", "RULE_STRING", "RULE_INT", "RULE_LOGIC", "RULE_COLON", "RULE_WS", "RULE_SL_COMMENT", "'grammar'", "'/bnf'", "';'", "'/delta'", "'/merge'", "'import'", "'/'", "'core'", "'package'", "'update'", "'label:'", "'.'", "'::='", "'('", "')'", "'<-'", "']'", "'}'", "'|'", "'['", "'{'", "'*'", "'+'", "'global'", "'combinator:'", "'rule'", "'hook'", "'#'", "','" }; public static final int RULE_ID=4; public static final int T__40=40; public static final int RULE_SECTIONHEADER=5; public static final int T__41=41; public static final int T__29=29; public static final int T__28=28; public static final int T__27=27; public static final int T__26=26; public static final int T__25=25; public static final int T__24=24; public static final int T__23=23; public static final int T__22=22; public static final int T__21=21; public static final int T__20=20; public static final int RULE_SL_COMMENT=12; public static final int EOF=-1; public static final int RULE_ML_COMMENT=6; public static final int T__30=30; public static final int T__19=19; public static final int RULE_COLON=10; public static final int T__31=31; public static final int RULE_STRING=7; public static final int T__32=32; public static final int T__33=33; public static final int T__16=16; public static final int T__34=34; public static final int T__15=15; public static final int T__35=35; public static final int T__18=18; public static final int T__36=36; public static final int T__17=17; public static final int RULE_LOGIC=9; 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__14=14; public static final int T__13=13; public static final int RULE_INT=8; public static final int RULE_WS=11; // delegates // delegators public InternalEbnfParser(TokenStream input) { this(input, new RecognizerSharedState()); } public InternalEbnfParser(TokenStream input, RecognizerSharedState state) { super(input, state); this.state.ruleMemo = new HashMap[102+1]; } public String[] getTokenNames() { return InternalEbnfParser.tokenNames; } public String getGrammarFileName() { return "../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g"; } /* This grammar contains a lot of empty actions to work around a bug in ANTLR. Otherwise the ANTLR tool will create synpreds that cannot be compiled in some rare cases. */ private EbnfGrammarAccess grammarAccess; public InternalEbnfParser(TokenStream input, EbnfGrammarAccess grammarAccess) { this(input); this.grammarAccess = grammarAccess; registerRules(grammarAccess.getGrammar()); } @Override protected String getFirstRuleName() { return "EtsiBnf"; } @Override protected EbnfGrammarAccess getGrammarAccess() { return grammarAccess; } // $ANTLR start "entryRuleEtsiBnf" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:74:1: entryRuleEtsiBnf returns [EObject current=null] : iv_ruleEtsiBnf= ruleEtsiBnf EOF ; public final EObject entryRuleEtsiBnf() throws RecognitionException { EObject current = null; int entryRuleEtsiBnf_StartIndex = input.index(); EObject iv_ruleEtsiBnf = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 1) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:75:2: (iv_ruleEtsiBnf= ruleEtsiBnf EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:76:2: iv_ruleEtsiBnf= ruleEtsiBnf EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEtsiBnfRule()); } pushFollow(FOLLOW_ruleEtsiBnf_in_entryRuleEtsiBnf88); iv_ruleEtsiBnf=ruleEtsiBnf(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEtsiBnf; } match(input,EOF,FOLLOW_EOF_in_entryRuleEtsiBnf98); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 1, entryRuleEtsiBnf_StartIndex); } } return current; } // $ANTLR end "entryRuleEtsiBnf" // $ANTLR start "ruleEtsiBnf" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:83:1: ruleEtsiBnf returns [EObject current=null] : ( (otherlv_0= 'grammar' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_type_2_0= '/bnf' ) )? otherlv_3= ';' ( (lv_importSection_4_0= ruleImportSection ) )? ( (lv_bnfEntry_5_0= ruleBnfEntry ) )+ ) ) | ( ( (lv_type_6_0= '/delta' ) ) otherlv_7= ';' ( (lv_importSection_8_0= ruleImportSection ) )? ( (lv_deltaEntry_9_0= ruleDeltaEntry ) )* ) | ( ( (lv_type_10_0= '/merge' ) ) otherlv_11= ';' ( (lv_importSection_12_0= ruleImportSection ) )? ( (lv_mergeEntry_13_0= ruleMergeEntry ) )* ) ) ; public final EObject ruleEtsiBnf() throws RecognitionException { EObject current = null; int ruleEtsiBnf_StartIndex = input.index(); Token otherlv_0=null; Token lv_name_1_0=null; Token lv_type_2_0=null; Token otherlv_3=null; Token lv_type_6_0=null; Token otherlv_7=null; Token lv_type_10_0=null; Token otherlv_11=null; EObject lv_importSection_4_0 = null; EObject lv_bnfEntry_5_0 = null; EObject lv_importSection_8_0 = null; EObject lv_deltaEntry_9_0 = null; EObject lv_importSection_12_0 = null; EObject lv_mergeEntry_13_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 2) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:86:28: ( ( (otherlv_0= 'grammar' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_type_2_0= '/bnf' ) )? otherlv_3= ';' ( (lv_importSection_4_0= ruleImportSection ) )? ( (lv_bnfEntry_5_0= ruleBnfEntry ) )+ ) ) | ( ( (lv_type_6_0= '/delta' ) ) otherlv_7= ';' ( (lv_importSection_8_0= ruleImportSection ) )? ( (lv_deltaEntry_9_0= ruleDeltaEntry ) )* ) | ( ( (lv_type_10_0= '/merge' ) ) otherlv_11= ';' ( (lv_importSection_12_0= ruleImportSection ) )? ( (lv_mergeEntry_13_0= ruleMergeEntry ) )* ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:87:1: ( (otherlv_0= 'grammar' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_type_2_0= '/bnf' ) )? otherlv_3= ';' ( (lv_importSection_4_0= ruleImportSection ) )? ( (lv_bnfEntry_5_0= ruleBnfEntry ) )+ ) ) | ( ( (lv_type_6_0= '/delta' ) ) otherlv_7= ';' ( (lv_importSection_8_0= ruleImportSection ) )? ( (lv_deltaEntry_9_0= ruleDeltaEntry ) )* ) | ( ( (lv_type_10_0= '/merge' ) ) otherlv_11= ';' ( (lv_importSection_12_0= ruleImportSection ) )? ( (lv_mergeEntry_13_0= ruleMergeEntry ) )* ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:87:1: ( (otherlv_0= 'grammar' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_type_2_0= '/bnf' ) )? otherlv_3= ';' ( (lv_importSection_4_0= ruleImportSection ) )? ( (lv_bnfEntry_5_0= ruleBnfEntry ) )+ ) ) | ( ( (lv_type_6_0= '/delta' ) ) otherlv_7= ';' ( (lv_importSection_8_0= ruleImportSection ) )? ( (lv_deltaEntry_9_0= ruleDeltaEntry ) )* ) | ( ( (lv_type_10_0= '/merge' ) ) otherlv_11= ';' ( (lv_importSection_12_0= ruleImportSection ) )? ( (lv_mergeEntry_13_0= ruleMergeEntry ) )* ) ) int alt8=3; switch ( input.LA(1) ) { case 13: { alt8=1; } break; case 16: { alt8=2; } break; case 17: { alt8=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 8, 0, input); throw nvae; } switch (alt8) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:87:2: (otherlv_0= 'grammar' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_type_2_0= '/bnf' ) )? otherlv_3= ';' ( (lv_importSection_4_0= ruleImportSection ) )? ( (lv_bnfEntry_5_0= ruleBnfEntry ) )+ ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:87:2: (otherlv_0= 'grammar' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_type_2_0= '/bnf' ) )? otherlv_3= ';' ( (lv_importSection_4_0= ruleImportSection ) )? ( (lv_bnfEntry_5_0= ruleBnfEntry ) )+ ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:87:4: otherlv_0= 'grammar' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_type_2_0= '/bnf' ) )? otherlv_3= ';' ( (lv_importSection_4_0= ruleImportSection ) )? ( (lv_bnfEntry_5_0= ruleBnfEntry ) )+ ) { otherlv_0=(Token)match(input,13,FOLLOW_13_in_ruleEtsiBnf136); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getEtsiBnfAccess().getGrammarKeyword_0_0()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:91:1: ( (lv_name_1_0= RULE_ID ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:92:1: (lv_name_1_0= RULE_ID ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:92:1: (lv_name_1_0= RULE_ID ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:93:3: lv_name_1_0= RULE_ID { lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEtsiBnf153); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_1_0, grammarAccess.getEtsiBnfAccess().getNameIDTerminalRuleCall_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getEtsiBnfRule()); } setWithLastConsumed( current, "name", lv_name_1_0, "ID"); } } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:109:2: ( ( (lv_type_2_0= '/bnf' ) )? otherlv_3= ';' ( (lv_importSection_4_0= ruleImportSection ) )? ( (lv_bnfEntry_5_0= ruleBnfEntry ) )+ ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:109:3: ( (lv_type_2_0= '/bnf' ) )? otherlv_3= ';' ( (lv_importSection_4_0= ruleImportSection ) )? ( (lv_bnfEntry_5_0= ruleBnfEntry ) )+ { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:109:3: ( (lv_type_2_0= '/bnf' ) )? int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==14) ) { alt1=1; } switch (alt1) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:110:1: (lv_type_2_0= '/bnf' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:110:1: (lv_type_2_0= '/bnf' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:111:3: lv_type_2_0= '/bnf' { lv_type_2_0=(Token)match(input,14,FOLLOW_14_in_ruleEtsiBnf177); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_type_2_0, grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getEtsiBnfRule()); } setWithLastConsumed(current, "type", lv_type_2_0, "/bnf"); } } } break; } otherlv_3=(Token)match(input,15,FOLLOW_15_in_ruleEtsiBnf203); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_0_2_1()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:128:1: ( (lv_importSection_4_0= ruleImportSection ) )? int alt2=2; int LA2_0 = input.LA(1); if ( (LA2_0==18) ) { alt2=1; } switch (alt2) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:129:1: (lv_importSection_4_0= ruleImportSection ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:129:1: (lv_importSection_4_0= ruleImportSection ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:130:3: lv_importSection_4_0= ruleImportSection { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_0_2_2_0()); } pushFollow(FOLLOW_ruleImportSection_in_ruleEtsiBnf224); lv_importSection_4_0=ruleImportSection(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEtsiBnfRule()); } set( current, "importSection", lv_importSection_4_0, "ImportSection"); afterParserOrEnumRuleCall(); } } } break; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:146:3: ( (lv_bnfEntry_5_0= ruleBnfEntry ) )+ int cnt3=0; loop3: do { int alt3=2; int LA3_0 = input.LA(1); if ( ((LA3_0>=RULE_ID && LA3_0<=RULE_ML_COMMENT)||LA3_0==RULE_INT) ) { alt3=1; } switch (alt3) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:147:1: (lv_bnfEntry_5_0= ruleBnfEntry ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:147:1: (lv_bnfEntry_5_0= ruleBnfEntry ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:148:3: lv_bnfEntry_5_0= ruleBnfEntry { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEtsiBnfAccess().getBnfEntryBnfEntryParserRuleCall_0_2_3_0()); } pushFollow(FOLLOW_ruleBnfEntry_in_ruleEtsiBnf246); lv_bnfEntry_5_0=ruleBnfEntry(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEtsiBnfRule()); } add( current, "bnfEntry", lv_bnfEntry_5_0, "BnfEntry"); afterParserOrEnumRuleCall(); } } } break; default : if ( cnt3 >= 1 ) break loop3; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(3, input); throw eee; } cnt3++; } while (true); } } } break; case 2 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:165:6: ( ( (lv_type_6_0= '/delta' ) ) otherlv_7= ';' ( (lv_importSection_8_0= ruleImportSection ) )? ( (lv_deltaEntry_9_0= ruleDeltaEntry ) )* ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:165:6: ( ( (lv_type_6_0= '/delta' ) ) otherlv_7= ';' ( (lv_importSection_8_0= ruleImportSection ) )? ( (lv_deltaEntry_9_0= ruleDeltaEntry ) )* ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:165:7: ( (lv_type_6_0= '/delta' ) ) otherlv_7= ';' ( (lv_importSection_8_0= ruleImportSection ) )? ( (lv_deltaEntry_9_0= ruleDeltaEntry ) )* { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:165:7: ( (lv_type_6_0= '/delta' ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:166:1: (lv_type_6_0= '/delta' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:166:1: (lv_type_6_0= '/delta' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:167:3: lv_type_6_0= '/delta' { lv_type_6_0=(Token)match(input,16,FOLLOW_16_in_ruleEtsiBnf274); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_type_6_0, grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getEtsiBnfRule()); } setWithLastConsumed(current, "type", lv_type_6_0, "/delta"); } } } otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleEtsiBnf299); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_1_1()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:184:1: ( (lv_importSection_8_0= ruleImportSection ) )? int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==18) ) { alt4=1; } switch (alt4) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:185:1: (lv_importSection_8_0= ruleImportSection ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:185:1: (lv_importSection_8_0= ruleImportSection ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:186:3: lv_importSection_8_0= ruleImportSection { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_1_2_0()); } pushFollow(FOLLOW_ruleImportSection_in_ruleEtsiBnf320); lv_importSection_8_0=ruleImportSection(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEtsiBnfRule()); } set( current, "importSection", lv_importSection_8_0, "ImportSection"); afterParserOrEnumRuleCall(); } } } break; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:202:3: ( (lv_deltaEntry_9_0= ruleDeltaEntry ) )* loop5: do { int alt5=2; int LA5_0 = input.LA(1); if ( ((LA5_0>=RULE_ID && LA5_0<=RULE_SECTIONHEADER)||LA5_0==RULE_INT) ) { alt5=1; } switch (alt5) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:203:1: (lv_deltaEntry_9_0= ruleDeltaEntry ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:203:1: (lv_deltaEntry_9_0= ruleDeltaEntry ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:204:3: lv_deltaEntry_9_0= ruleDeltaEntry { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEtsiBnfAccess().getDeltaEntryDeltaEntryParserRuleCall_1_3_0()); } pushFollow(FOLLOW_ruleDeltaEntry_in_ruleEtsiBnf342); lv_deltaEntry_9_0=ruleDeltaEntry(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEtsiBnfRule()); } add( current, "deltaEntry", lv_deltaEntry_9_0, "DeltaEntry"); afterParserOrEnumRuleCall(); } } } break; default : break loop5; } } while (true); } } break; case 3 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:221:6: ( ( (lv_type_10_0= '/merge' ) ) otherlv_11= ';' ( (lv_importSection_12_0= ruleImportSection ) )? ( (lv_mergeEntry_13_0= ruleMergeEntry ) )* ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:221:6: ( ( (lv_type_10_0= '/merge' ) ) otherlv_11= ';' ( (lv_importSection_12_0= ruleImportSection ) )? ( (lv_mergeEntry_13_0= ruleMergeEntry ) )* ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:221:7: ( (lv_type_10_0= '/merge' ) ) otherlv_11= ';' ( (lv_importSection_12_0= ruleImportSection ) )? ( (lv_mergeEntry_13_0= ruleMergeEntry ) )* { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:221:7: ( (lv_type_10_0= '/merge' ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:222:1: (lv_type_10_0= '/merge' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:222:1: (lv_type_10_0= '/merge' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:223:3: lv_type_10_0= '/merge' { lv_type_10_0=(Token)match(input,17,FOLLOW_17_in_ruleEtsiBnf369); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_type_10_0, grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getEtsiBnfRule()); } setWithLastConsumed(current, "type", lv_type_10_0, "/merge"); } } } otherlv_11=(Token)match(input,15,FOLLOW_15_in_ruleEtsiBnf394); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_2_1()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:240:1: ( (lv_importSection_12_0= ruleImportSection ) )? int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==18) ) { alt6=1; } switch (alt6) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:241:1: (lv_importSection_12_0= ruleImportSection ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:241:1: (lv_importSection_12_0= ruleImportSection ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:242:3: lv_importSection_12_0= ruleImportSection { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_2_2_0()); } pushFollow(FOLLOW_ruleImportSection_in_ruleEtsiBnf415); lv_importSection_12_0=ruleImportSection(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEtsiBnfRule()); } set( current, "importSection", lv_importSection_12_0, "ImportSection"); afterParserOrEnumRuleCall(); } } } break; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:258:3: ( (lv_mergeEntry_13_0= ruleMergeEntry ) )* loop7: do { int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0==RULE_SECTIONHEADER||LA7_0==36||(LA7_0>=38 && LA7_0<=39)) ) { alt7=1; } switch (alt7) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:259:1: (lv_mergeEntry_13_0= ruleMergeEntry ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:259:1: (lv_mergeEntry_13_0= ruleMergeEntry ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:260:3: lv_mergeEntry_13_0= ruleMergeEntry { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEtsiBnfAccess().getMergeEntryMergeEntryParserRuleCall_2_3_0()); } pushFollow(FOLLOW_ruleMergeEntry_in_ruleEtsiBnf437); lv_mergeEntry_13_0=ruleMergeEntry(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEtsiBnfRule()); } add( current, "mergeEntry", lv_mergeEntry_13_0, "MergeEntry"); afterParserOrEnumRuleCall(); } } } break; default : break loop7; } } while (true); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 2, ruleEtsiBnf_StartIndex); } } return current; } // $ANTLR end "ruleEtsiBnf" // $ANTLR start "entryRuleImportSection" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:284:1: entryRuleImportSection returns [EObject current=null] : iv_ruleImportSection= ruleImportSection EOF ; public final EObject entryRuleImportSection() throws RecognitionException { EObject current = null; int entryRuleImportSection_StartIndex = input.index(); EObject iv_ruleImportSection = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 3) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:285:2: (iv_ruleImportSection= ruleImportSection EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:286:2: iv_ruleImportSection= ruleImportSection EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getImportSectionRule()); } pushFollow(FOLLOW_ruleImportSection_in_entryRuleImportSection475); iv_ruleImportSection=ruleImportSection(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleImportSection; } match(input,EOF,FOLLOW_EOF_in_entryRuleImportSection485); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 3, entryRuleImportSection_StartIndex); } } return current; } // $ANTLR end "entryRuleImportSection" // $ANTLR start "ruleImportSection" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:293:1: ruleImportSection returns [EObject current=null] : ( (lv_imports_0_0= ruleImport ) )+ ; public final EObject ruleImportSection() throws RecognitionException { EObject current = null; int ruleImportSection_StartIndex = input.index(); EObject lv_imports_0_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 4) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:296:28: ( ( (lv_imports_0_0= ruleImport ) )+ ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:297:1: ( (lv_imports_0_0= ruleImport ) )+ { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:297:1: ( (lv_imports_0_0= ruleImport ) )+ int cnt9=0; loop9: do { int alt9=2; int LA9_0 = input.LA(1); if ( (LA9_0==18) ) { alt9=1; } switch (alt9) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:298:1: (lv_imports_0_0= ruleImport ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:298:1: (lv_imports_0_0= ruleImport ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:299:3: lv_imports_0_0= ruleImport { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getImportSectionAccess().getImportsImportParserRuleCall_0()); } pushFollow(FOLLOW_ruleImport_in_ruleImportSection530); lv_imports_0_0=ruleImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getImportSectionRule()); } add( current, "imports", lv_imports_0_0, "Import"); afterParserOrEnumRuleCall(); } } } break; default : if ( cnt9 >= 1 ) break loop9; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(9, input); throw eee; } cnt9++; } while (true); } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 4, ruleImportSection_StartIndex); } } return current; } // $ANTLR end "ruleImportSection" // $ANTLR start "entryRuleBnfEntry" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:323:1: entryRuleBnfEntry returns [EObject current=null] : iv_ruleBnfEntry= ruleBnfEntry EOF ; public final EObject entryRuleBnfEntry() throws RecognitionException { EObject current = null; int entryRuleBnfEntry_StartIndex = input.index(); EObject iv_ruleBnfEntry = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 5) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:324:2: (iv_ruleBnfEntry= ruleBnfEntry EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:325:2: iv_ruleBnfEntry= ruleBnfEntry EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBnfEntryRule()); } pushFollow(FOLLOW_ruleBnfEntry_in_entryRuleBnfEntry566); iv_ruleBnfEntry=ruleBnfEntry(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleBnfEntry; } match(input,EOF,FOLLOW_EOF_in_entryRuleBnfEntry576); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 5, entryRuleBnfEntry_StartIndex); } } return current; } // $ANTLR end "entryRuleBnfEntry" // $ANTLR start "ruleBnfEntry" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:332:1: ruleBnfEntry returns [EObject current=null] : ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_rule_1_0= ruleRule ) ) | ( (lv_comment_2_0= ruleComment ) ) ) ; public final EObject ruleBnfEntry() throws RecognitionException { EObject current = null; int ruleBnfEntry_StartIndex = input.index(); EObject lv_sectionheader_0_0 = null; EObject lv_rule_1_0 = null; EObject lv_comment_2_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 6) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:335:28: ( ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_rule_1_0= ruleRule ) ) | ( (lv_comment_2_0= ruleComment ) ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:336:1: ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_rule_1_0= ruleRule ) ) | ( (lv_comment_2_0= ruleComment ) ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:336:1: ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_rule_1_0= ruleRule ) ) | ( (lv_comment_2_0= ruleComment ) ) ) int alt10=3; switch ( input.LA(1) ) { case RULE_SECTIONHEADER: { alt10=1; } break; case RULE_ID: case RULE_INT: { alt10=2; } break; case RULE_ML_COMMENT: { alt10=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 10, 0, input); throw nvae; } switch (alt10) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:336:2: ( (lv_sectionheader_0_0= ruleSectionHeading ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:336:2: ( (lv_sectionheader_0_0= ruleSectionHeading ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:337:1: (lv_sectionheader_0_0= ruleSectionHeading ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:337:1: (lv_sectionheader_0_0= ruleSectionHeading ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:338:3: lv_sectionheader_0_0= ruleSectionHeading { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBnfEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0()); } pushFollow(FOLLOW_ruleSectionHeading_in_ruleBnfEntry622); lv_sectionheader_0_0=ruleSectionHeading(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getBnfEntryRule()); } set( current, "sectionheader", lv_sectionheader_0_0, "SectionHeading"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:355:6: ( (lv_rule_1_0= ruleRule ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:355:6: ( (lv_rule_1_0= ruleRule ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:356:1: (lv_rule_1_0= ruleRule ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:356:1: (lv_rule_1_0= ruleRule ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:357:3: lv_rule_1_0= ruleRule { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBnfEntryAccess().getRuleRuleParserRuleCall_1_0()); } pushFollow(FOLLOW_ruleRule_in_ruleBnfEntry649); lv_rule_1_0=ruleRule(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getBnfEntryRule()); } set( current, "rule", lv_rule_1_0, "Rule"); afterParserOrEnumRuleCall(); } } } } break; case 3 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:374:6: ( (lv_comment_2_0= ruleComment ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:374:6: ( (lv_comment_2_0= ruleComment ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:375:1: (lv_comment_2_0= ruleComment ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:375:1: (lv_comment_2_0= ruleComment ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:376:3: lv_comment_2_0= ruleComment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBnfEntryAccess().getCommentCommentParserRuleCall_2_0()); } pushFollow(FOLLOW_ruleComment_in_ruleBnfEntry676); lv_comment_2_0=ruleComment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getBnfEntryRule()); } set( current, "comment", lv_comment_2_0, "Comment"); afterParserOrEnumRuleCall(); } } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 6, ruleBnfEntry_StartIndex); } } return current; } // $ANTLR end "ruleBnfEntry" // $ANTLR start "entryRuleDeltaEntry" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:400:1: entryRuleDeltaEntry returns [EObject current=null] : iv_ruleDeltaEntry= ruleDeltaEntry EOF ; public final EObject entryRuleDeltaEntry() throws RecognitionException { EObject current = null; int entryRuleDeltaEntry_StartIndex = input.index(); EObject iv_ruleDeltaEntry = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 7) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:401:2: (iv_ruleDeltaEntry= ruleDeltaEntry EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:402:2: iv_ruleDeltaEntry= ruleDeltaEntry EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDeltaEntryRule()); } pushFollow(FOLLOW_ruleDeltaEntry_in_entryRuleDeltaEntry712); iv_ruleDeltaEntry=ruleDeltaEntry(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleDeltaEntry; } match(input,EOF,FOLLOW_EOF_in_entryRuleDeltaEntry722); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 7, entryRuleDeltaEntry_StartIndex); } } return current; } // $ANTLR end "entryRuleDeltaEntry" // $ANTLR start "ruleDeltaEntry" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:409:1: ruleDeltaEntry returns [EObject current=null] : ( ( (lv_rule_0_0= ruleRule ) ) | ( (lv_sectionheader_1_0= ruleSectionHeading ) ) | ( (lv_extRule_2_0= ruleExtRule ) ) ) ; public final EObject ruleDeltaEntry() throws RecognitionException { EObject current = null; int ruleDeltaEntry_StartIndex = input.index(); EObject lv_rule_0_0 = null; EObject lv_sectionheader_1_0 = null; EObject lv_extRule_2_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 8) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:412:28: ( ( ( (lv_rule_0_0= ruleRule ) ) | ( (lv_sectionheader_1_0= ruleSectionHeading ) ) | ( (lv_extRule_2_0= ruleExtRule ) ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:413:1: ( ( (lv_rule_0_0= ruleRule ) ) | ( (lv_sectionheader_1_0= ruleSectionHeading ) ) | ( (lv_extRule_2_0= ruleExtRule ) ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:413:1: ( ( (lv_rule_0_0= ruleRule ) ) | ( (lv_sectionheader_1_0= ruleSectionHeading ) ) | ( (lv_extRule_2_0= ruleExtRule ) ) ) int alt11=3; switch ( input.LA(1) ) { case RULE_INT: { int LA11_1 = input.LA(2); if ( (LA11_1==RULE_ID) ) { int LA11_4 = input.LA(3); if ( (LA11_4==24) ) { int LA11_5 = input.LA(4); if ( (LA11_5==RULE_ID) ) { int LA11_2 = input.LA(5); if ( (LA11_2==26) ) { alt11=3; } else if ( (LA11_2==25) ) { alt11=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 11, 2, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 11, 5, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 11, 4, input); throw nvae; } } else if ( (LA11_1==24) ) { int LA11_5 = input.LA(3); if ( (LA11_5==RULE_ID) ) { int LA11_2 = input.LA(4); if ( (LA11_2==26) ) { alt11=3; } else if ( (LA11_2==25) ) { alt11=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 11, 2, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 11, 5, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 11, 1, input); throw nvae; } } break; case RULE_ID: { int LA11_2 = input.LA(2); if ( (LA11_2==26) ) { alt11=3; } else if ( (LA11_2==25) ) { alt11=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 11, 2, input); throw nvae; } } break; case RULE_SECTIONHEADER: { alt11=2; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 11, 0, input); throw nvae; } switch (alt11) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:413:2: ( (lv_rule_0_0= ruleRule ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:413:2: ( (lv_rule_0_0= ruleRule ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:414:1: (lv_rule_0_0= ruleRule ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:414:1: (lv_rule_0_0= ruleRule ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:415:3: lv_rule_0_0= ruleRule { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDeltaEntryAccess().getRuleRuleParserRuleCall_0_0()); } pushFollow(FOLLOW_ruleRule_in_ruleDeltaEntry768); lv_rule_0_0=ruleRule(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDeltaEntryRule()); } set( current, "rule", lv_rule_0_0, "Rule"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:432:6: ( (lv_sectionheader_1_0= ruleSectionHeading ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:432:6: ( (lv_sectionheader_1_0= ruleSectionHeading ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:433:1: (lv_sectionheader_1_0= ruleSectionHeading ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:433:1: (lv_sectionheader_1_0= ruleSectionHeading ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:434:3: lv_sectionheader_1_0= ruleSectionHeading { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDeltaEntryAccess().getSectionheaderSectionHeadingParserRuleCall_1_0()); } pushFollow(FOLLOW_ruleSectionHeading_in_ruleDeltaEntry795); lv_sectionheader_1_0=ruleSectionHeading(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDeltaEntryRule()); } set( current, "sectionheader", lv_sectionheader_1_0, "SectionHeading"); afterParserOrEnumRuleCall(); } } } } break; case 3 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:451:6: ( (lv_extRule_2_0= ruleExtRule ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:451:6: ( (lv_extRule_2_0= ruleExtRule ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:452:1: (lv_extRule_2_0= ruleExtRule ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:452:1: (lv_extRule_2_0= ruleExtRule ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:453:3: lv_extRule_2_0= ruleExtRule { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDeltaEntryAccess().getExtRuleExtRuleParserRuleCall_2_0()); } pushFollow(FOLLOW_ruleExtRule_in_ruleDeltaEntry822); lv_extRule_2_0=ruleExtRule(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDeltaEntryRule()); } set( current, "extRule", lv_extRule_2_0, "ExtRule"); afterParserOrEnumRuleCall(); } } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 8, ruleDeltaEntry_StartIndex); } } return current; } // $ANTLR end "ruleDeltaEntry" // $ANTLR start "entryRuleMergeEntry" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:477:1: entryRuleMergeEntry returns [EObject current=null] : iv_ruleMergeEntry= ruleMergeEntry EOF ; public final EObject entryRuleMergeEntry() throws RecognitionException { EObject current = null; int entryRuleMergeEntry_StartIndex = input.index(); EObject iv_ruleMergeEntry = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 9) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:478:2: (iv_ruleMergeEntry= ruleMergeEntry EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:479:2: iv_ruleMergeEntry= ruleMergeEntry EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeEntryRule()); } pushFollow(FOLLOW_ruleMergeEntry_in_entryRuleMergeEntry858); iv_ruleMergeEntry=ruleMergeEntry(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMergeEntry; } match(input,EOF,FOLLOW_EOF_in_entryRuleMergeEntry868); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 9, entryRuleMergeEntry_StartIndex); } } return current; } // $ANTLR end "entryRuleMergeEntry" // $ANTLR start "ruleMergeEntry" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:486:1: ruleMergeEntry returns [EObject current=null] : ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_mergeRule_1_0= ruleMergeRule ) ) ) ; public final EObject ruleMergeEntry() throws RecognitionException { EObject current = null; int ruleMergeEntry_StartIndex = input.index(); EObject lv_sectionheader_0_0 = null; EObject lv_mergeRule_1_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 10) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:489:28: ( ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_mergeRule_1_0= ruleMergeRule ) ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:490:1: ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_mergeRule_1_0= ruleMergeRule ) ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:490:1: ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_mergeRule_1_0= ruleMergeRule ) ) ) int alt12=2; int LA12_0 = input.LA(1); if ( (LA12_0==RULE_SECTIONHEADER) ) { alt12=1; } else if ( (LA12_0==36||(LA12_0>=38 && LA12_0<=39)) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 12, 0, input); throw nvae; } switch (alt12) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:490:2: ( (lv_sectionheader_0_0= ruleSectionHeading ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:490:2: ( (lv_sectionheader_0_0= ruleSectionHeading ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:491:1: (lv_sectionheader_0_0= ruleSectionHeading ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:491:1: (lv_sectionheader_0_0= ruleSectionHeading ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:492:3: lv_sectionheader_0_0= ruleSectionHeading { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0()); } pushFollow(FOLLOW_ruleSectionHeading_in_ruleMergeEntry914); lv_sectionheader_0_0=ruleSectionHeading(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMergeEntryRule()); } set( current, "sectionheader", lv_sectionheader_0_0, "SectionHeading"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:509:6: ( (lv_mergeRule_1_0= ruleMergeRule ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:509:6: ( (lv_mergeRule_1_0= ruleMergeRule ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:510:1: (lv_mergeRule_1_0= ruleMergeRule ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:510:1: (lv_mergeRule_1_0= ruleMergeRule ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:511:3: lv_mergeRule_1_0= ruleMergeRule { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeEntryAccess().getMergeRuleMergeRuleParserRuleCall_1_0()); } pushFollow(FOLLOW_ruleMergeRule_in_ruleMergeEntry941); lv_mergeRule_1_0=ruleMergeRule(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMergeEntryRule()); } set( current, "mergeRule", lv_mergeRule_1_0, "MergeRule"); afterParserOrEnumRuleCall(); } } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 10, ruleMergeEntry_StartIndex); } } return current; } // $ANTLR end "ruleMergeEntry" // $ANTLR start "entryRuleSectionHeading" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:535:1: entryRuleSectionHeading returns [EObject current=null] : iv_ruleSectionHeading= ruleSectionHeading EOF ; public final EObject entryRuleSectionHeading() throws RecognitionException { EObject current = null; int entryRuleSectionHeading_StartIndex = input.index(); EObject iv_ruleSectionHeading = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 11) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:536:2: (iv_ruleSectionHeading= ruleSectionHeading EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:537:2: iv_ruleSectionHeading= ruleSectionHeading EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSectionHeadingRule()); } pushFollow(FOLLOW_ruleSectionHeading_in_entryRuleSectionHeading977); iv_ruleSectionHeading=ruleSectionHeading(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSectionHeading; } match(input,EOF,FOLLOW_EOF_in_entryRuleSectionHeading987); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 11, entryRuleSectionHeading_StartIndex); } } return current; } // $ANTLR end "entryRuleSectionHeading" // $ANTLR start "ruleSectionHeading" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:544:1: ruleSectionHeading returns [EObject current=null] : ( () ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) ) ; public final EObject ruleSectionHeading() throws RecognitionException { EObject current = null; int ruleSectionHeading_StartIndex = input.index(); Token lv_sectionHeader_1_0=null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 12) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:547:28: ( ( () ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:548:1: ( () ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:548:1: ( () ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:548:2: () ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:548:2: () // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:549:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSectionHeadingAccess().getSectionHeadingAction_0(), current); } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:557:2: ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:558:1: (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:558:1: (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:559:3: lv_sectionHeader_1_0= RULE_SECTIONHEADER { lv_sectionHeader_1_0=(Token)match(input,RULE_SECTIONHEADER,FOLLOW_RULE_SECTIONHEADER_in_ruleSectionHeading1041); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_sectionHeader_1_0, grammarAccess.getSectionHeadingAccess().getSectionHeaderSECTIONHEADERTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSectionHeadingRule()); } setWithLastConsumed( current, "sectionHeader", lv_sectionHeader_1_0, "SECTIONHEADER"); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 12, ruleSectionHeading_StartIndex); } } return current; } // $ANTLR end "ruleSectionHeading" // $ANTLR start "entryRuleComment" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:583:1: entryRuleComment returns [EObject current=null] : iv_ruleComment= ruleComment EOF ; public final EObject entryRuleComment() throws RecognitionException { EObject current = null; int entryRuleComment_StartIndex = input.index(); EObject iv_ruleComment = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 13) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:584:2: (iv_ruleComment= ruleComment EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:585:2: iv_ruleComment= ruleComment EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCommentRule()); } pushFollow(FOLLOW_ruleComment_in_entryRuleComment1082); iv_ruleComment=ruleComment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleComment; } match(input,EOF,FOLLOW_EOF_in_entryRuleComment1092); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 13, entryRuleComment_StartIndex); } } return current; } // $ANTLR end "entryRuleComment" // $ANTLR start "ruleComment" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:592:1: ruleComment returns [EObject current=null] : ( () ( (lv_content_1_0= RULE_ML_COMMENT ) ) ) ; public final EObject ruleComment() throws RecognitionException { EObject current = null; int ruleComment_StartIndex = input.index(); Token lv_content_1_0=null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 14) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:595:28: ( ( () ( (lv_content_1_0= RULE_ML_COMMENT ) ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:596:1: ( () ( (lv_content_1_0= RULE_ML_COMMENT ) ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:596:1: ( () ( (lv_content_1_0= RULE_ML_COMMENT ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:596:2: () ( (lv_content_1_0= RULE_ML_COMMENT ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:596:2: () // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:597:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getCommentAccess().getCommentAction_0(), current); } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:605:2: ( (lv_content_1_0= RULE_ML_COMMENT ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:606:1: (lv_content_1_0= RULE_ML_COMMENT ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:606:1: (lv_content_1_0= RULE_ML_COMMENT ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:607:3: lv_content_1_0= RULE_ML_COMMENT { lv_content_1_0=(Token)match(input,RULE_ML_COMMENT,FOLLOW_RULE_ML_COMMENT_in_ruleComment1146); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_content_1_0, grammarAccess.getCommentAccess().getContentML_COMMENTTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getCommentRule()); } setWithLastConsumed( current, "content", lv_content_1_0, "ML_COMMENT"); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 14, ruleComment_StartIndex); } } return current; } // $ANTLR end "ruleComment" // $ANTLR start "entryRuleImport" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:631:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ; public final EObject entryRuleImport() throws RecognitionException { EObject current = null; int entryRuleImport_StartIndex = input.index(); EObject iv_ruleImport = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 15) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:632:2: (iv_ruleImport= ruleImport EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:633:2: iv_ruleImport= ruleImport EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getImportRule()); } pushFollow(FOLLOW_ruleImport_in_entryRuleImport1187); iv_ruleImport=ruleImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleImport; } match(input,EOF,FOLLOW_EOF_in_entryRuleImport1197); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 15, entryRuleImport_StartIndex); } } return current; } // $ANTLR end "entryRuleImport" // $ANTLR start "ruleImport" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:640:1: ruleImport returns [EObject current=null] : (otherlv_0= 'import' ( (lv_importURI_1_0= RULE_STRING ) ) (otherlv_2= '/' ( ( (lv_grammarType_3_0= 'core' ) ) | ( (lv_grammarType_4_0= 'package' ) ) | ( (lv_grammarType_5_0= 'update' ) ) ) )? (otherlv_6= 'label:' ( (lv_label_7_0= RULE_ID ) ) )? otherlv_8= ';' ) ; public final EObject ruleImport() throws RecognitionException { EObject current = null; int ruleImport_StartIndex = input.index(); Token otherlv_0=null; Token lv_importURI_1_0=null; Token otherlv_2=null; Token lv_grammarType_3_0=null; Token lv_grammarType_4_0=null; Token lv_grammarType_5_0=null; Token otherlv_6=null; Token lv_label_7_0=null; Token otherlv_8=null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 16) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:643:28: ( (otherlv_0= 'import' ( (lv_importURI_1_0= RULE_STRING ) ) (otherlv_2= '/' ( ( (lv_grammarType_3_0= 'core' ) ) | ( (lv_grammarType_4_0= 'package' ) ) | ( (lv_grammarType_5_0= 'update' ) ) ) )? (otherlv_6= 'label:' ( (lv_label_7_0= RULE_ID ) ) )? otherlv_8= ';' ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:644:1: (otherlv_0= 'import' ( (lv_importURI_1_0= RULE_STRING ) ) (otherlv_2= '/' ( ( (lv_grammarType_3_0= 'core' ) ) | ( (lv_grammarType_4_0= 'package' ) ) | ( (lv_grammarType_5_0= 'update' ) ) ) )? (otherlv_6= 'label:' ( (lv_label_7_0= RULE_ID ) ) )? otherlv_8= ';' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:644:1: (otherlv_0= 'import' ( (lv_importURI_1_0= RULE_STRING ) ) (otherlv_2= '/' ( ( (lv_grammarType_3_0= 'core' ) ) | ( (lv_grammarType_4_0= 'package' ) ) | ( (lv_grammarType_5_0= 'update' ) ) ) )? (otherlv_6= 'label:' ( (lv_label_7_0= RULE_ID ) ) )? otherlv_8= ';' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:644:3: otherlv_0= 'import' ( (lv_importURI_1_0= RULE_STRING ) ) (otherlv_2= '/' ( ( (lv_grammarType_3_0= 'core' ) ) | ( (lv_grammarType_4_0= 'package' ) ) | ( (lv_grammarType_5_0= 'update' ) ) ) )? (otherlv_6= 'label:' ( (lv_label_7_0= RULE_ID ) ) )? otherlv_8= ';' { otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleImport1234); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:648:1: ( (lv_importURI_1_0= RULE_STRING ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:649:1: (lv_importURI_1_0= RULE_STRING ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:649:1: (lv_importURI_1_0= RULE_STRING ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:650:3: lv_importURI_1_0= RULE_STRING { lv_importURI_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport1251); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_importURI_1_0, grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getImportRule()); } setWithLastConsumed( current, "importURI", lv_importURI_1_0, "STRING"); } } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:666:2: (otherlv_2= '/' ( ( (lv_grammarType_3_0= 'core' ) ) | ( (lv_grammarType_4_0= 'package' ) ) | ( (lv_grammarType_5_0= 'update' ) ) ) )? int alt14=2; int LA14_0 = input.LA(1); if ( (LA14_0==19) ) { alt14=1; } switch (alt14) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:666:4: otherlv_2= '/' ( ( (lv_grammarType_3_0= 'core' ) ) | ( (lv_grammarType_4_0= 'package' ) ) | ( (lv_grammarType_5_0= 'update' ) ) ) { otherlv_2=(Token)match(input,19,FOLLOW_19_in_ruleImport1269); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getImportAccess().getSolidusKeyword_2_0()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:670:1: ( ( (lv_grammarType_3_0= 'core' ) ) | ( (lv_grammarType_4_0= 'package' ) ) | ( (lv_grammarType_5_0= 'update' ) ) ) int alt13=3; switch ( input.LA(1) ) { case 20: { alt13=1; } break; case 21: { alt13=2; } break; case 22: { alt13=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 13, 0, input); throw nvae; } switch (alt13) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:670:2: ( (lv_grammarType_3_0= 'core' ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:670:2: ( (lv_grammarType_3_0= 'core' ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:671:1: (lv_grammarType_3_0= 'core' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:671:1: (lv_grammarType_3_0= 'core' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:672:3: lv_grammarType_3_0= 'core' { lv_grammarType_3_0=(Token)match(input,20,FOLLOW_20_in_ruleImport1288); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_grammarType_3_0, grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getImportRule()); } setWithLastConsumed(current, "grammarType", lv_grammarType_3_0, "core"); } } } } break; case 2 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:686:6: ( (lv_grammarType_4_0= 'package' ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:686:6: ( (lv_grammarType_4_0= 'package' ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:687:1: (lv_grammarType_4_0= 'package' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:687:1: (lv_grammarType_4_0= 'package' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:688:3: lv_grammarType_4_0= 'package' { lv_grammarType_4_0=(Token)match(input,21,FOLLOW_21_in_ruleImport1325); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_grammarType_4_0, grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getImportRule()); } setWithLastConsumed(current, "grammarType", lv_grammarType_4_0, "package"); } } } } break; case 3 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:702:6: ( (lv_grammarType_5_0= 'update' ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:702:6: ( (lv_grammarType_5_0= 'update' ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:703:1: (lv_grammarType_5_0= 'update' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:703:1: (lv_grammarType_5_0= 'update' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:704:3: lv_grammarType_5_0= 'update' { lv_grammarType_5_0=(Token)match(input,22,FOLLOW_22_in_ruleImport1362); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_grammarType_5_0, grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getImportRule()); } setWithLastConsumed(current, "grammarType", lv_grammarType_5_0, "update"); } } } } break; } } break; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:717:5: (otherlv_6= 'label:' ( (lv_label_7_0= RULE_ID ) ) )? int alt15=2; int LA15_0 = input.LA(1); if ( (LA15_0==23) ) { alt15=1; } switch (alt15) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:717:7: otherlv_6= 'label:' ( (lv_label_7_0= RULE_ID ) ) { otherlv_6=(Token)match(input,23,FOLLOW_23_in_ruleImport1391); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getImportAccess().getLabelKeyword_3_0()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:721:1: ( (lv_label_7_0= RULE_ID ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:722:1: (lv_label_7_0= RULE_ID ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:722:1: (lv_label_7_0= RULE_ID ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:723:3: lv_label_7_0= RULE_ID { lv_label_7_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleImport1408); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_label_7_0, grammarAccess.getImportAccess().getLabelIDTerminalRuleCall_3_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getImportRule()); } setWithLastConsumed( current, "label", lv_label_7_0, "ID"); } } } } break; } otherlv_8=(Token)match(input,15,FOLLOW_15_in_ruleImport1427); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getImportAccess().getSemicolonKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 16, ruleImport_StartIndex); } } return current; } // $ANTLR end "ruleImport" // $ANTLR start "entryRuleRule" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:751:1: entryRuleRule returns [EObject current=null] : iv_ruleRule= ruleRule EOF ; public final EObject entryRuleRule() throws RecognitionException { EObject current = null; int entryRuleRule_StartIndex = input.index(); EObject iv_ruleRule = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 17) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:752:2: (iv_ruleRule= ruleRule EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:753:2: iv_ruleRule= ruleRule EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRuleRule()); } pushFollow(FOLLOW_ruleRule_in_entryRuleRule1463); iv_ruleRule=ruleRule(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRule; } match(input,EOF,FOLLOW_EOF_in_entryRuleRule1473); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 17, entryRuleRule_StartIndex); } } return current; } // $ANTLR end "entryRuleRule" // $ANTLR start "ruleRule" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:760:1: ruleRule returns [EObject current=null] : ( ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '::=' ( (lv_definitionList_5_0= ruleDefinitionList ) )? (otherlv_6= ';' )? ) ; public final EObject ruleRule() throws RecognitionException { EObject current = null; int ruleRule_StartIndex = input.index(); Token lv_rulenumber_0_0=null; Token lv_rulevariant_1_0=null; Token otherlv_2=null; Token lv_name_3_0=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_definitionList_5_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 18) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:763:28: ( ( ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '::=' ( (lv_definitionList_5_0= ruleDefinitionList ) )? (otherlv_6= ';' )? ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:764:1: ( ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '::=' ( (lv_definitionList_5_0= ruleDefinitionList ) )? (otherlv_6= ';' )? ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:764:1: ( ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '::=' ( (lv_definitionList_5_0= ruleDefinitionList ) )? (otherlv_6= ';' )? ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:764:2: ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '::=' ( (lv_definitionList_5_0= ruleDefinitionList ) )? (otherlv_6= ';' )? { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:764:2: ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? int alt17=2; int LA17_0 = input.LA(1); if ( (LA17_0==RULE_INT) ) { alt17=1; } switch (alt17) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:764:3: ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:764:3: ( (lv_rulenumber_0_0= RULE_INT ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:765:1: (lv_rulenumber_0_0= RULE_INT ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:765:1: (lv_rulenumber_0_0= RULE_INT ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:766:3: lv_rulenumber_0_0= RULE_INT { lv_rulenumber_0_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleRule1516); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_rulenumber_0_0, grammarAccess.getRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRuleRule()); } setWithLastConsumed( current, "rulenumber", lv_rulenumber_0_0, "INT"); } } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:782:2: ( (lv_rulevariant_1_0= RULE_ID ) )? int alt16=2; int LA16_0 = input.LA(1); if ( (LA16_0==RULE_ID) ) { alt16=1; } switch (alt16) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:783:1: (lv_rulevariant_1_0= RULE_ID ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:783:1: (lv_rulevariant_1_0= RULE_ID ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:784:3: lv_rulevariant_1_0= RULE_ID { lv_rulevariant_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRule1538); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_rulevariant_1_0, grammarAccess.getRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRuleRule()); } setWithLastConsumed( current, "rulevariant", lv_rulevariant_1_0, "ID"); } } } break; } otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleRule1556); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getRuleAccess().getFullStopKeyword_0_2()); } } break; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:804:3: ( (lv_name_3_0= RULE_ID ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:805:1: (lv_name_3_0= RULE_ID ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:805:1: (lv_name_3_0= RULE_ID ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:806:3: lv_name_3_0= RULE_ID { lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRule1575); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_3_0, grammarAccess.getRuleAccess().getNameIDTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRuleRule()); } setWithLastConsumed( current, "name", lv_name_3_0, "ID"); } } } otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleRule1592); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getRuleAccess().getColonColonEqualsSignKeyword_2()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:826:1: ( (lv_definitionList_5_0= ruleDefinitionList ) )? int alt18=2; int LA18_0 = input.LA(1); if ( (LA18_0==RULE_STRING||LA18_0==RULE_COLON||LA18_0==26||(LA18_0>=32 && LA18_0<=33)) ) { alt18=1; } else if ( (LA18_0==RULE_ID) ) { int LA18_2 = input.LA(2); if ( (LA18_2==26) ) { int LA18_4 = input.LA(3); if ( (LA18_4==RULE_ID||LA18_4==RULE_STRING||LA18_4==RULE_COLON||LA18_4==26||(LA18_4>=32 && LA18_4<=33)) ) { alt18=1; } } else if ( (LA18_2==EOF||(LA18_2>=RULE_ID && LA18_2<=RULE_INT)||LA18_2==RULE_COLON||LA18_2==15||(LA18_2>=31 && LA18_2<=33)) ) { alt18=1; } } switch (alt18) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:827:1: (lv_definitionList_5_0= ruleDefinitionList ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:827:1: (lv_definitionList_5_0= ruleDefinitionList ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:828:3: lv_definitionList_5_0= ruleDefinitionList { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRuleAccess().getDefinitionListDefinitionListParserRuleCall_3_0()); } pushFollow(FOLLOW_ruleDefinitionList_in_ruleRule1613); lv_definitionList_5_0=ruleDefinitionList(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRuleRule()); } set( current, "definitionList", lv_definitionList_5_0, "DefinitionList"); afterParserOrEnumRuleCall(); } } } break; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:844:3: (otherlv_6= ';' )? int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0==15) ) { alt19=1; } switch (alt19) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:844:5: otherlv_6= ';' { otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleRule1627); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getRuleAccess().getSemicolonKeyword_4()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 18, ruleRule_StartIndex); } } return current; } // $ANTLR end "ruleRule" // $ANTLR start "entryRuleExtRule" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:856:1: entryRuleExtRule returns [EObject current=null] : iv_ruleExtRule= ruleExtRule EOF ; public final EObject entryRuleExtRule() throws RecognitionException { EObject current = null; int entryRuleExtRule_StartIndex = input.index(); EObject iv_ruleExtRule = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 19) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:857:2: (iv_ruleExtRule= ruleExtRule EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:858:2: iv_ruleExtRule= ruleExtRule EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExtRuleRule()); } pushFollow(FOLLOW_ruleExtRule_in_entryRuleExtRule1665); iv_ruleExtRule=ruleExtRule(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExtRule; } match(input,EOF,FOLLOW_EOF_in_entryRuleExtRule1675); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 19, entryRuleExtRule_StartIndex); } } return current; } // $ANTLR end "entryRuleExtRule" // $ANTLR start "ruleExtRule" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:865:1: ruleExtRule returns [EObject current=null] : ( ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= '(' ( (lv_ruleext_5_0= RULE_INT ) ) otherlv_6= ')' ) otherlv_7= '<-' ( ( (lv_elements_8_0= ruleAtom ) ) | otherlv_9= ')' | otherlv_10= ']' | otherlv_11= '}' | otherlv_12= '|' | otherlv_13= '(' | otherlv_14= '[' | otherlv_15= '{' | otherlv_16= '*' | otherlv_17= '+' )* (otherlv_18= ';' )? ) ; public final EObject ruleExtRule() throws RecognitionException { EObject current = null; int ruleExtRule_StartIndex = input.index(); Token lv_rulenumber_0_0=null; Token lv_rulevariant_1_0=null; Token otherlv_2=null; Token lv_name_3_0=null; Token otherlv_4=null; Token lv_ruleext_5_0=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_9=null; Token otherlv_10=null; Token otherlv_11=null; Token otherlv_12=null; Token otherlv_13=null; Token otherlv_14=null; Token otherlv_15=null; Token otherlv_16=null; Token otherlv_17=null; Token otherlv_18=null; EObject lv_elements_8_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 20) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:868:28: ( ( ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= '(' ( (lv_ruleext_5_0= RULE_INT ) ) otherlv_6= ')' ) otherlv_7= '<-' ( ( (lv_elements_8_0= ruleAtom ) ) | otherlv_9= ')' | otherlv_10= ']' | otherlv_11= '}' | otherlv_12= '|' | otherlv_13= '(' | otherlv_14= '[' | otherlv_15= '{' | otherlv_16= '*' | otherlv_17= '+' )* (otherlv_18= ';' )? ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:869:1: ( ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= '(' ( (lv_ruleext_5_0= RULE_INT ) ) otherlv_6= ')' ) otherlv_7= '<-' ( ( (lv_elements_8_0= ruleAtom ) ) | otherlv_9= ')' | otherlv_10= ']' | otherlv_11= '}' | otherlv_12= '|' | otherlv_13= '(' | otherlv_14= '[' | otherlv_15= '{' | otherlv_16= '*' | otherlv_17= '+' )* (otherlv_18= ';' )? ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:869:1: ( ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= '(' ( (lv_ruleext_5_0= RULE_INT ) ) otherlv_6= ')' ) otherlv_7= '<-' ( ( (lv_elements_8_0= ruleAtom ) ) | otherlv_9= ')' | otherlv_10= ']' | otherlv_11= '}' | otherlv_12= '|' | otherlv_13= '(' | otherlv_14= '[' | otherlv_15= '{' | otherlv_16= '*' | otherlv_17= '+' )* (otherlv_18= ';' )? ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:869:2: ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= '(' ( (lv_ruleext_5_0= RULE_INT ) ) otherlv_6= ')' ) otherlv_7= '<-' ( ( (lv_elements_8_0= ruleAtom ) ) | otherlv_9= ')' | otherlv_10= ']' | otherlv_11= '}' | otherlv_12= '|' | otherlv_13= '(' | otherlv_14= '[' | otherlv_15= '{' | otherlv_16= '*' | otherlv_17= '+' )* (otherlv_18= ';' )? { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:869:2: ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? int alt21=2; int LA21_0 = input.LA(1); if ( (LA21_0==RULE_INT) ) { alt21=1; } switch (alt21) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:869:3: ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:869:3: ( (lv_rulenumber_0_0= RULE_INT ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:870:1: (lv_rulenumber_0_0= RULE_INT ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:870:1: (lv_rulenumber_0_0= RULE_INT ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:871:3: lv_rulenumber_0_0= RULE_INT { lv_rulenumber_0_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleExtRule1718); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_rulenumber_0_0, grammarAccess.getExtRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExtRuleRule()); } setWithLastConsumed( current, "rulenumber", lv_rulenumber_0_0, "INT"); } } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:887:2: ( (lv_rulevariant_1_0= RULE_ID ) )? int alt20=2; int LA20_0 = input.LA(1); if ( (LA20_0==RULE_ID) ) { alt20=1; } switch (alt20) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:888:1: (lv_rulevariant_1_0= RULE_ID ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:888:1: (lv_rulevariant_1_0= RULE_ID ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:889:3: lv_rulevariant_1_0= RULE_ID { lv_rulevariant_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleExtRule1740); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_rulevariant_1_0, grammarAccess.getExtRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExtRuleRule()); } setWithLastConsumed( current, "rulevariant", lv_rulevariant_1_0, "ID"); } } } break; } otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleExtRule1758); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getExtRuleAccess().getFullStopKeyword_0_2()); } } break; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:909:3: ( (lv_name_3_0= RULE_ID ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:910:1: (lv_name_3_0= RULE_ID ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:910:1: (lv_name_3_0= RULE_ID ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:911:3: lv_name_3_0= RULE_ID { lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleExtRule1777); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_3_0, grammarAccess.getExtRuleAccess().getNameIDTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExtRuleRule()); } setWithLastConsumed( current, "name", lv_name_3_0, "ID"); } } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:927:2: (otherlv_4= '(' ( (lv_ruleext_5_0= RULE_INT ) ) otherlv_6= ')' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:927:4: otherlv_4= '(' ( (lv_ruleext_5_0= RULE_INT ) ) otherlv_6= ')' { otherlv_4=(Token)match(input,26,FOLLOW_26_in_ruleExtRule1795); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_2_0()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:931:1: ( (lv_ruleext_5_0= RULE_INT ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:932:1: (lv_ruleext_5_0= RULE_INT ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:932:1: (lv_ruleext_5_0= RULE_INT ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:933:3: lv_ruleext_5_0= RULE_INT { lv_ruleext_5_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleExtRule1812); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_ruleext_5_0, grammarAccess.getExtRuleAccess().getRuleextINTTerminalRuleCall_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExtRuleRule()); } setWithLastConsumed( current, "ruleext", lv_ruleext_5_0, "INT"); } } } otherlv_6=(Token)match(input,27,FOLLOW_27_in_ruleExtRule1829); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_2_2()); } } otherlv_7=(Token)match(input,28,FOLLOW_28_in_ruleExtRule1842); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getExtRuleAccess().getLessThanSignHyphenMinusKeyword_3()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:957:1: ( ( (lv_elements_8_0= ruleAtom ) ) | otherlv_9= ')' | otherlv_10= ']' | otherlv_11= '}' | otherlv_12= '|' | otherlv_13= '(' | otherlv_14= '[' | otherlv_15= '{' | otherlv_16= '*' | otherlv_17= '+' )* loop22: do { int alt22=11; alt22 = dfa22.predict(input); switch (alt22) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:957:2: ( (lv_elements_8_0= ruleAtom ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:957:2: ( (lv_elements_8_0= ruleAtom ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:958:1: (lv_elements_8_0= ruleAtom ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:958:1: (lv_elements_8_0= ruleAtom ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:959:3: lv_elements_8_0= ruleAtom { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExtRuleAccess().getElementsAtomParserRuleCall_4_0_0()); } pushFollow(FOLLOW_ruleAtom_in_ruleExtRule1864); lv_elements_8_0=ruleAtom(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExtRuleRule()); } add( current, "elements", lv_elements_8_0, "Atom"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:976:7: otherlv_9= ')' { otherlv_9=(Token)match(input,27,FOLLOW_27_in_ruleExtRule1882); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_4_1()); } } break; case 3 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:981:7: otherlv_10= ']' { otherlv_10=(Token)match(input,29,FOLLOW_29_in_ruleExtRule1900); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getExtRuleAccess().getRightSquareBracketKeyword_4_2()); } } break; case 4 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:986:7: otherlv_11= '}' { otherlv_11=(Token)match(input,30,FOLLOW_30_in_ruleExtRule1918); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getExtRuleAccess().getRightCurlyBracketKeyword_4_3()); } } break; case 5 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:991:7: otherlv_12= '|' { otherlv_12=(Token)match(input,31,FOLLOW_31_in_ruleExtRule1936); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getExtRuleAccess().getVerticalLineKeyword_4_4()); } } break; case 6 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:996:7: otherlv_13= '(' { otherlv_13=(Token)match(input,26,FOLLOW_26_in_ruleExtRule1954); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_4_5()); } } break; case 7 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1001:7: otherlv_14= '[' { otherlv_14=(Token)match(input,32,FOLLOW_32_in_ruleExtRule1972); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getExtRuleAccess().getLeftSquareBracketKeyword_4_6()); } } break; case 8 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1006:7: otherlv_15= '{' { otherlv_15=(Token)match(input,33,FOLLOW_33_in_ruleExtRule1990); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getExtRuleAccess().getLeftCurlyBracketKeyword_4_7()); } } break; case 9 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1011:7: otherlv_16= '*' { otherlv_16=(Token)match(input,34,FOLLOW_34_in_ruleExtRule2008); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_16, grammarAccess.getExtRuleAccess().getAsteriskKeyword_4_8()); } } break; case 10 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1016:7: otherlv_17= '+' { otherlv_17=(Token)match(input,35,FOLLOW_35_in_ruleExtRule2026); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getExtRuleAccess().getPlusSignKeyword_4_9()); } } break; default : break loop22; } } while (true); // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1020:3: (otherlv_18= ';' )? int alt23=2; int LA23_0 = input.LA(1); if ( (LA23_0==15) ) { alt23=1; } switch (alt23) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1020:5: otherlv_18= ';' { otherlv_18=(Token)match(input,15,FOLLOW_15_in_ruleExtRule2041); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_18, grammarAccess.getExtRuleAccess().getSemicolonKeyword_5()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 20, ruleExtRule_StartIndex); } } return current; } // $ANTLR end "ruleExtRule" // $ANTLR start "entryRuleMergeRule" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1032:1: entryRuleMergeRule returns [EObject current=null] : iv_ruleMergeRule= ruleMergeRule EOF ; public final EObject entryRuleMergeRule() throws RecognitionException { EObject current = null; int entryRuleMergeRule_StartIndex = input.index(); EObject iv_ruleMergeRule = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 21) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1033:2: (iv_ruleMergeRule= ruleMergeRule EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1034:2: iv_ruleMergeRule= ruleMergeRule EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeRuleRule()); } pushFollow(FOLLOW_ruleMergeRule_in_entryRuleMergeRule2079); iv_ruleMergeRule=ruleMergeRule(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMergeRule; } match(input,EOF,FOLLOW_EOF_in_entryRuleMergeRule2089); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 21, entryRuleMergeRule_StartIndex); } } return current; } // $ANTLR end "entryRuleMergeRule" // $ANTLR start "ruleMergeRule" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1041:1: ruleMergeRule returns [EObject current=null] : (this_GlobalCombinator_0= ruleGlobalCombinator | this_RuleCombinator_1= ruleRuleCombinator | this_HookCombinator_2= ruleHookCombinator ) ; public final EObject ruleMergeRule() throws RecognitionException { EObject current = null; int ruleMergeRule_StartIndex = input.index(); EObject this_GlobalCombinator_0 = null; EObject this_RuleCombinator_1 = null; EObject this_HookCombinator_2 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 22) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1044:28: ( (this_GlobalCombinator_0= ruleGlobalCombinator | this_RuleCombinator_1= ruleRuleCombinator | this_HookCombinator_2= ruleHookCombinator ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1045:1: (this_GlobalCombinator_0= ruleGlobalCombinator | this_RuleCombinator_1= ruleRuleCombinator | this_HookCombinator_2= ruleHookCombinator ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1045:1: (this_GlobalCombinator_0= ruleGlobalCombinator | this_RuleCombinator_1= ruleRuleCombinator | this_HookCombinator_2= ruleHookCombinator ) int alt24=3; switch ( input.LA(1) ) { case 36: { alt24=1; } break; case 38: { alt24=2; } break; case 39: { alt24=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 24, 0, input); throw nvae; } switch (alt24) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1046:2: this_GlobalCombinator_0= ruleGlobalCombinator { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeRuleAccess().getGlobalCombinatorParserRuleCall_0()); } pushFollow(FOLLOW_ruleGlobalCombinator_in_ruleMergeRule2139); this_GlobalCombinator_0=ruleGlobalCombinator(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_GlobalCombinator_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1059:2: this_RuleCombinator_1= ruleRuleCombinator { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeRuleAccess().getRuleCombinatorParserRuleCall_1()); } pushFollow(FOLLOW_ruleRuleCombinator_in_ruleMergeRule2169); this_RuleCombinator_1=ruleRuleCombinator(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_RuleCombinator_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1072:2: this_HookCombinator_2= ruleHookCombinator { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeRuleAccess().getHookCombinatorParserRuleCall_2()); } pushFollow(FOLLOW_ruleHookCombinator_in_ruleMergeRule2199); this_HookCombinator_2=ruleHookCombinator(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_HookCombinator_2; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 22, ruleMergeRule_StartIndex); } } return current; } // $ANTLR end "ruleMergeRule" // $ANTLR start "entryRuleGlobalCombinator" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1091:1: entryRuleGlobalCombinator returns [EObject current=null] : iv_ruleGlobalCombinator= ruleGlobalCombinator EOF ; public final EObject entryRuleGlobalCombinator() throws RecognitionException { EObject current = null; int entryRuleGlobalCombinator_StartIndex = input.index(); EObject iv_ruleGlobalCombinator = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 23) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1092:2: (iv_ruleGlobalCombinator= ruleGlobalCombinator EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1093:2: iv_ruleGlobalCombinator= ruleGlobalCombinator EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getGlobalCombinatorRule()); } pushFollow(FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator2234); iv_ruleGlobalCombinator=ruleGlobalCombinator(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleGlobalCombinator; } match(input,EOF,FOLLOW_EOF_in_entryRuleGlobalCombinator2244); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 23, entryRuleGlobalCombinator_StartIndex); } } return current; } // $ANTLR end "entryRuleGlobalCombinator" // $ANTLR start "ruleGlobalCombinator" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1100:1: ruleGlobalCombinator returns [EObject current=null] : ( (otherlv_0= 'global' otherlv_1= 'combinator:' ) ( (lv_logic_2_0= RULE_LOGIC ) ) (otherlv_3= ';' )? ) ; public final EObject ruleGlobalCombinator() throws RecognitionException { EObject current = null; int ruleGlobalCombinator_StartIndex = input.index(); Token otherlv_0=null; Token otherlv_1=null; Token lv_logic_2_0=null; Token otherlv_3=null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 24) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1103:28: ( ( (otherlv_0= 'global' otherlv_1= 'combinator:' ) ( (lv_logic_2_0= RULE_LOGIC ) ) (otherlv_3= ';' )? ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1104:1: ( (otherlv_0= 'global' otherlv_1= 'combinator:' ) ( (lv_logic_2_0= RULE_LOGIC ) ) (otherlv_3= ';' )? ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1104:1: ( (otherlv_0= 'global' otherlv_1= 'combinator:' ) ( (lv_logic_2_0= RULE_LOGIC ) ) (otherlv_3= ';' )? ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1104:2: (otherlv_0= 'global' otherlv_1= 'combinator:' ) ( (lv_logic_2_0= RULE_LOGIC ) ) (otherlv_3= ';' )? { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1104:2: (otherlv_0= 'global' otherlv_1= 'combinator:' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1104:4: otherlv_0= 'global' otherlv_1= 'combinator:' { otherlv_0=(Token)match(input,36,FOLLOW_36_in_ruleGlobalCombinator2282); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getGlobalCombinatorAccess().getGlobalKeyword_0_0()); } otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleGlobalCombinator2294); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getGlobalCombinatorAccess().getCombinatorKeyword_0_1()); } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1112:2: ( (lv_logic_2_0= RULE_LOGIC ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1113:1: (lv_logic_2_0= RULE_LOGIC ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1113:1: (lv_logic_2_0= RULE_LOGIC ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1114:3: lv_logic_2_0= RULE_LOGIC { lv_logic_2_0=(Token)match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_ruleGlobalCombinator2312); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_logic_2_0, grammarAccess.getGlobalCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getGlobalCombinatorRule()); } setWithLastConsumed( current, "logic", lv_logic_2_0, "LOGIC"); } } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1130:2: (otherlv_3= ';' )? int alt25=2; int LA25_0 = input.LA(1); if ( (LA25_0==15) ) { alt25=1; } switch (alt25) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1130:4: otherlv_3= ';' { otherlv_3=(Token)match(input,15,FOLLOW_15_in_ruleGlobalCombinator2330); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getGlobalCombinatorAccess().getSemicolonKeyword_2()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 24, ruleGlobalCombinator_StartIndex); } } return current; } // $ANTLR end "ruleGlobalCombinator" // $ANTLR start "entryRuleRuleCombinator" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1142:1: entryRuleRuleCombinator returns [EObject current=null] : iv_ruleRuleCombinator= ruleRuleCombinator EOF ; public final EObject entryRuleRuleCombinator() throws RecognitionException { EObject current = null; int entryRuleRuleCombinator_StartIndex = input.index(); EObject iv_ruleRuleCombinator = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 25) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1143:2: (iv_ruleRuleCombinator= ruleRuleCombinator EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1144:2: iv_ruleRuleCombinator= ruleRuleCombinator EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRuleCombinatorRule()); } pushFollow(FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator2368); iv_ruleRuleCombinator=ruleRuleCombinator(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRuleCombinator; } match(input,EOF,FOLLOW_EOF_in_entryRuleRuleCombinator2378); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 25, entryRuleRuleCombinator_StartIndex); } } return current; } // $ANTLR end "entryRuleRuleCombinator" // $ANTLR start "ruleRuleCombinator" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1151:1: ruleRuleCombinator returns [EObject current=null] : ( (otherlv_0= 'rule' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) ) ( (lv_logic_3_0= RULE_LOGIC ) ) (otherlv_4= '(' ( (lv_LABEL_5_0= RULE_STRING ) ) otherlv_6= ')' )* (otherlv_7= ';' )? ) ; public final EObject ruleRuleCombinator() throws RecognitionException { EObject current = null; int ruleRuleCombinator_StartIndex = input.index(); Token otherlv_0=null; Token otherlv_1=null; Token lv_name_2_0=null; Token lv_logic_3_0=null; Token otherlv_4=null; Token lv_LABEL_5_0=null; Token otherlv_6=null; Token otherlv_7=null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 26) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1154:28: ( ( (otherlv_0= 'rule' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) ) ( (lv_logic_3_0= RULE_LOGIC ) ) (otherlv_4= '(' ( (lv_LABEL_5_0= RULE_STRING ) ) otherlv_6= ')' )* (otherlv_7= ';' )? ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1155:1: ( (otherlv_0= 'rule' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) ) ( (lv_logic_3_0= RULE_LOGIC ) ) (otherlv_4= '(' ( (lv_LABEL_5_0= RULE_STRING ) ) otherlv_6= ')' )* (otherlv_7= ';' )? ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1155:1: ( (otherlv_0= 'rule' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) ) ( (lv_logic_3_0= RULE_LOGIC ) ) (otherlv_4= '(' ( (lv_LABEL_5_0= RULE_STRING ) ) otherlv_6= ')' )* (otherlv_7= ';' )? ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1155:2: (otherlv_0= 'rule' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) ) ( (lv_logic_3_0= RULE_LOGIC ) ) (otherlv_4= '(' ( (lv_LABEL_5_0= RULE_STRING ) ) otherlv_6= ')' )* (otherlv_7= ';' )? { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1155:2: (otherlv_0= 'rule' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1155:4: otherlv_0= 'rule' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) { otherlv_0=(Token)match(input,38,FOLLOW_38_in_ruleRuleCombinator2416); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getRuleCombinatorAccess().getRuleKeyword_0_0()); } otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleRuleCombinator2428); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getRuleCombinatorAccess().getCombinatorKeyword_0_1()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1163:1: ( (lv_name_2_0= RULE_ID ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1164:1: (lv_name_2_0= RULE_ID ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1164:1: (lv_name_2_0= RULE_ID ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1165:3: lv_name_2_0= RULE_ID { lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuleCombinator2445); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_0, grammarAccess.getRuleCombinatorAccess().getNameIDTerminalRuleCall_0_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRuleCombinatorRule()); } setWithLastConsumed( current, "name", lv_name_2_0, "ID"); } } } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1181:3: ( (lv_logic_3_0= RULE_LOGIC ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1182:1: (lv_logic_3_0= RULE_LOGIC ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1182:1: (lv_logic_3_0= RULE_LOGIC ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1183:3: lv_logic_3_0= RULE_LOGIC { lv_logic_3_0=(Token)match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_ruleRuleCombinator2468); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_logic_3_0, grammarAccess.getRuleCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRuleCombinatorRule()); } setWithLastConsumed( current, "logic", lv_logic_3_0, "LOGIC"); } } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1199:2: (otherlv_4= '(' ( (lv_LABEL_5_0= RULE_STRING ) ) otherlv_6= ')' )* loop26: do { int alt26=2; int LA26_0 = input.LA(1); if ( (LA26_0==26) ) { alt26=1; } switch (alt26) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1199:4: otherlv_4= '(' ( (lv_LABEL_5_0= RULE_STRING ) ) otherlv_6= ')' { otherlv_4=(Token)match(input,26,FOLLOW_26_in_ruleRuleCombinator2486); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getRuleCombinatorAccess().getLeftParenthesisKeyword_2_0()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1203:1: ( (lv_LABEL_5_0= RULE_STRING ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1204:1: (lv_LABEL_5_0= RULE_STRING ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1204:1: (lv_LABEL_5_0= RULE_STRING ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1205:3: lv_LABEL_5_0= RULE_STRING { lv_LABEL_5_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleRuleCombinator2503); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_LABEL_5_0, grammarAccess.getRuleCombinatorAccess().getLABELSTRINGTerminalRuleCall_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRuleCombinatorRule()); } addWithLastConsumed( current, "LABEL", lv_LABEL_5_0, "STRING"); } } } otherlv_6=(Token)match(input,27,FOLLOW_27_in_ruleRuleCombinator2520); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getRuleCombinatorAccess().getRightParenthesisKeyword_2_2()); } } break; default : break loop26; } } while (true); // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1225:3: (otherlv_7= ';' )? int alt27=2; int LA27_0 = input.LA(1); if ( (LA27_0==15) ) { alt27=1; } switch (alt27) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1225:5: otherlv_7= ';' { otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleRuleCombinator2535); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getRuleCombinatorAccess().getSemicolonKeyword_3()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 26, ruleRuleCombinator_StartIndex); } } return current; } // $ANTLR end "ruleRuleCombinator" // $ANTLR start "entryRuleHookCombinator" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1237:1: entryRuleHookCombinator returns [EObject current=null] : iv_ruleHookCombinator= ruleHookCombinator EOF ; public final EObject entryRuleHookCombinator() throws RecognitionException { EObject current = null; int entryRuleHookCombinator_StartIndex = input.index(); EObject iv_ruleHookCombinator = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 27) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1238:2: (iv_ruleHookCombinator= ruleHookCombinator EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1239:2: iv_ruleHookCombinator= ruleHookCombinator EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getHookCombinatorRule()); } pushFollow(FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator2573); iv_ruleHookCombinator=ruleHookCombinator(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleHookCombinator; } match(input,EOF,FOLLOW_EOF_in_entryRuleHookCombinator2583); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 27, entryRuleHookCombinator_StartIndex); } } return current; } // $ANTLR end "entryRuleHookCombinator" // $ANTLR start "ruleHookCombinator" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1246:1: ruleHookCombinator returns [EObject current=null] : (otherlv_0= 'hook' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_ruleext_4_0= RULE_INT ) ) otherlv_5= ')' ( (lv_logic_6_0= RULE_LOGIC ) )? (otherlv_7= '(' ( (lv_LABEL_8_0= RULE_STRING ) ) otherlv_9= ')' )+ (otherlv_10= ';' )? ) ; public final EObject ruleHookCombinator() throws RecognitionException { EObject current = null; int ruleHookCombinator_StartIndex = input.index(); Token otherlv_0=null; Token otherlv_1=null; Token lv_name_2_0=null; Token otherlv_3=null; Token lv_ruleext_4_0=null; Token otherlv_5=null; Token lv_logic_6_0=null; Token otherlv_7=null; Token lv_LABEL_8_0=null; Token otherlv_9=null; Token otherlv_10=null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 28) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1249:28: ( (otherlv_0= 'hook' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_ruleext_4_0= RULE_INT ) ) otherlv_5= ')' ( (lv_logic_6_0= RULE_LOGIC ) )? (otherlv_7= '(' ( (lv_LABEL_8_0= RULE_STRING ) ) otherlv_9= ')' )+ (otherlv_10= ';' )? ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1250:1: (otherlv_0= 'hook' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_ruleext_4_0= RULE_INT ) ) otherlv_5= ')' ( (lv_logic_6_0= RULE_LOGIC ) )? (otherlv_7= '(' ( (lv_LABEL_8_0= RULE_STRING ) ) otherlv_9= ')' )+ (otherlv_10= ';' )? ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1250:1: (otherlv_0= 'hook' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_ruleext_4_0= RULE_INT ) ) otherlv_5= ')' ( (lv_logic_6_0= RULE_LOGIC ) )? (otherlv_7= '(' ( (lv_LABEL_8_0= RULE_STRING ) ) otherlv_9= ')' )+ (otherlv_10= ';' )? ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1250:3: otherlv_0= 'hook' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_ruleext_4_0= RULE_INT ) ) otherlv_5= ')' ( (lv_logic_6_0= RULE_LOGIC ) )? (otherlv_7= '(' ( (lv_LABEL_8_0= RULE_STRING ) ) otherlv_9= ')' )+ (otherlv_10= ';' )? { otherlv_0=(Token)match(input,39,FOLLOW_39_in_ruleHookCombinator2620); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getHookCombinatorAccess().getHookKeyword_0()); } otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleHookCombinator2632); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getHookCombinatorAccess().getCombinatorKeyword_1()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1258:1: ( (lv_name_2_0= RULE_ID ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1259:1: (lv_name_2_0= RULE_ID ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1259:1: (lv_name_2_0= RULE_ID ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1260:3: lv_name_2_0= RULE_ID { lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleHookCombinator2649); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_0, grammarAccess.getHookCombinatorAccess().getNameIDTerminalRuleCall_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getHookCombinatorRule()); } setWithLastConsumed( current, "name", lv_name_2_0, "ID"); } } } otherlv_3=(Token)match(input,26,FOLLOW_26_in_ruleHookCombinator2666); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_3()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1280:1: ( (lv_ruleext_4_0= RULE_INT ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1281:1: (lv_ruleext_4_0= RULE_INT ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1281:1: (lv_ruleext_4_0= RULE_INT ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1282:3: lv_ruleext_4_0= RULE_INT { lv_ruleext_4_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleHookCombinator2683); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_ruleext_4_0, grammarAccess.getHookCombinatorAccess().getRuleextINTTerminalRuleCall_4_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getHookCombinatorRule()); } setWithLastConsumed( current, "ruleext", lv_ruleext_4_0, "INT"); } } } otherlv_5=(Token)match(input,27,FOLLOW_27_in_ruleHookCombinator2700); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_5()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1302:1: ( (lv_logic_6_0= RULE_LOGIC ) )? int alt28=2; int LA28_0 = input.LA(1); if ( (LA28_0==RULE_LOGIC) ) { alt28=1; } switch (alt28) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1303:1: (lv_logic_6_0= RULE_LOGIC ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1303:1: (lv_logic_6_0= RULE_LOGIC ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1304:3: lv_logic_6_0= RULE_LOGIC { lv_logic_6_0=(Token)match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_ruleHookCombinator2717); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_logic_6_0, grammarAccess.getHookCombinatorAccess().getLogicLOGICTerminalRuleCall_6_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getHookCombinatorRule()); } setWithLastConsumed( current, "logic", lv_logic_6_0, "LOGIC"); } } } break; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1320:3: (otherlv_7= '(' ( (lv_LABEL_8_0= RULE_STRING ) ) otherlv_9= ')' )+ int cnt29=0; loop29: do { int alt29=2; int LA29_0 = input.LA(1); if ( (LA29_0==26) ) { alt29=1; } switch (alt29) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1320:5: otherlv_7= '(' ( (lv_LABEL_8_0= RULE_STRING ) ) otherlv_9= ')' { otherlv_7=(Token)match(input,26,FOLLOW_26_in_ruleHookCombinator2736); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_7_0()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1324:1: ( (lv_LABEL_8_0= RULE_STRING ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1325:1: (lv_LABEL_8_0= RULE_STRING ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1325:1: (lv_LABEL_8_0= RULE_STRING ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1326:3: lv_LABEL_8_0= RULE_STRING { lv_LABEL_8_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleHookCombinator2753); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_LABEL_8_0, grammarAccess.getHookCombinatorAccess().getLABELSTRINGTerminalRuleCall_7_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getHookCombinatorRule()); } addWithLastConsumed( current, "LABEL", lv_LABEL_8_0, "STRING"); } } } otherlv_9=(Token)match(input,27,FOLLOW_27_in_ruleHookCombinator2770); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_7_2()); } } break; default : if ( cnt29 >= 1 ) break loop29; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(29, input); throw eee; } cnt29++; } while (true); // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1346:3: (otherlv_10= ';' )? int alt30=2; int LA30_0 = input.LA(1); if ( (LA30_0==15) ) { alt30=1; } switch (alt30) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1346:5: otherlv_10= ';' { otherlv_10=(Token)match(input,15,FOLLOW_15_in_ruleHookCombinator2785); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getHookCombinatorAccess().getSemicolonKeyword_8()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 28, ruleHookCombinator_StartIndex); } } return current; } // $ANTLR end "ruleHookCombinator" // $ANTLR start "entryRuleDefinitionList" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1358:1: entryRuleDefinitionList returns [EObject current=null] : iv_ruleDefinitionList= ruleDefinitionList EOF ; public final EObject entryRuleDefinitionList() throws RecognitionException { EObject current = null; int entryRuleDefinitionList_StartIndex = input.index(); EObject iv_ruleDefinitionList = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 29) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1359:2: (iv_ruleDefinitionList= ruleDefinitionList EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1360:2: iv_ruleDefinitionList= ruleDefinitionList EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDefinitionListRule()); } pushFollow(FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList2823); iv_ruleDefinitionList=ruleDefinitionList(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleDefinitionList; } match(input,EOF,FOLLOW_EOF_in_entryRuleDefinitionList2833); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 29, entryRuleDefinitionList_StartIndex); } } return current; } // $ANTLR end "entryRuleDefinitionList" // $ANTLR start "ruleDefinitionList" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1367:1: ruleDefinitionList returns [EObject current=null] : ( ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* ) ; public final EObject ruleDefinitionList() throws RecognitionException { EObject current = null; int ruleDefinitionList_StartIndex = input.index(); Token otherlv_1=null; EObject lv_singleDefinition_0_0 = null; EObject lv_singleDefinition_2_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 30) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1370:28: ( ( ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1371:1: ( ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1371:1: ( ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1371:2: ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1371:2: ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1372:1: (lv_singleDefinition_0_0= ruleSingleDefinition ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1372:1: (lv_singleDefinition_0_0= ruleSingleDefinition ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1373:3: lv_singleDefinition_0_0= ruleSingleDefinition { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_0_0()); } pushFollow(FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2879); lv_singleDefinition_0_0=ruleSingleDefinition(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDefinitionListRule()); } add( current, "singleDefinition", lv_singleDefinition_0_0, "SingleDefinition"); afterParserOrEnumRuleCall(); } } } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1389:2: (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* loop31: do { int alt31=2; int LA31_0 = input.LA(1); if ( (LA31_0==31) ) { alt31=1; } switch (alt31) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1389:4: otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) { otherlv_1=(Token)match(input,31,FOLLOW_31_in_ruleDefinitionList2892); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getDefinitionListAccess().getVerticalLineKeyword_1_0()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1393:1: ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1394:1: (lv_singleDefinition_2_0= ruleSingleDefinition ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1394:1: (lv_singleDefinition_2_0= ruleSingleDefinition ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1395:3: lv_singleDefinition_2_0= ruleSingleDefinition { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_1_1_0()); } pushFollow(FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2913); lv_singleDefinition_2_0=ruleSingleDefinition(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDefinitionListRule()); } add( current, "singleDefinition", lv_singleDefinition_2_0, "SingleDefinition"); afterParserOrEnumRuleCall(); } } } } break; default : break loop31; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 30, ruleDefinitionList_StartIndex); } } return current; } // $ANTLR end "ruleDefinitionList" // $ANTLR start "entryRuleSingleDefinition" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1419:1: entryRuleSingleDefinition returns [EObject current=null] : iv_ruleSingleDefinition= ruleSingleDefinition EOF ; public final EObject entryRuleSingleDefinition() throws RecognitionException { EObject current = null; int entryRuleSingleDefinition_StartIndex = input.index(); EObject iv_ruleSingleDefinition = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 31) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1420:2: (iv_ruleSingleDefinition= ruleSingleDefinition EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1421:2: iv_ruleSingleDefinition= ruleSingleDefinition EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSingleDefinitionRule()); } pushFollow(FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition2951); iv_ruleSingleDefinition=ruleSingleDefinition(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSingleDefinition; } match(input,EOF,FOLLOW_EOF_in_entryRuleSingleDefinition2961); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 31, entryRuleSingleDefinition_StartIndex); } } return current; } // $ANTLR end "entryRuleSingleDefinition" // $ANTLR start "ruleSingleDefinition" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1428:1: ruleSingleDefinition returns [EObject current=null] : ( (lv_terms_0_0= ruleTerm ) )+ ; public final EObject ruleSingleDefinition() throws RecognitionException { EObject current = null; int ruleSingleDefinition_StartIndex = input.index(); EObject lv_terms_0_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 32) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1431:28: ( ( (lv_terms_0_0= ruleTerm ) )+ ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1432:1: ( (lv_terms_0_0= ruleTerm ) )+ { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1432:1: ( (lv_terms_0_0= ruleTerm ) )+ int cnt32=0; loop32: do { int alt32=2; int LA32_0 = input.LA(1); if ( (LA32_0==RULE_ID) ) { int LA32_2 = input.LA(2); if ( (LA32_2==EOF||(LA32_2>=RULE_ID && LA32_2<=RULE_INT)||LA32_2==RULE_COLON||LA32_2==15||LA32_2==27||(LA32_2>=29 && LA32_2<=33)) ) { alt32=1; } else if ( (LA32_2==26) ) { int LA32_4 = input.LA(3); if ( (LA32_4==RULE_ID||LA32_4==RULE_STRING||LA32_4==RULE_COLON||LA32_4==26||(LA32_4>=32 && LA32_4<=33)) ) { alt32=1; } } } else if ( (LA32_0==RULE_STRING||LA32_0==RULE_COLON||LA32_0==26||(LA32_0>=32 && LA32_0<=33)) ) { alt32=1; } switch (alt32) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1433:1: (lv_terms_0_0= ruleTerm ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1433:1: (lv_terms_0_0= ruleTerm ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1434:3: lv_terms_0_0= ruleTerm { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSingleDefinitionAccess().getTermsTermParserRuleCall_0()); } pushFollow(FOLLOW_ruleTerm_in_ruleSingleDefinition3006); lv_terms_0_0=ruleTerm(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSingleDefinitionRule()); } add( current, "terms", lv_terms_0_0, "Term"); afterParserOrEnumRuleCall(); } } } break; default : if ( cnt32 >= 1 ) break loop32; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(32, input); throw eee; } cnt32++; } while (true); } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 32, ruleSingleDefinition_StartIndex); } } return current; } // $ANTLR end "ruleSingleDefinition" // $ANTLR start "entryRuleTerm" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1458:1: entryRuleTerm returns [EObject current=null] : iv_ruleTerm= ruleTerm EOF ; public final EObject entryRuleTerm() throws RecognitionException { EObject current = null; int entryRuleTerm_StartIndex = input.index(); EObject iv_ruleTerm = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 33) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1459:2: (iv_ruleTerm= ruleTerm EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1460:2: iv_ruleTerm= ruleTerm EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTermRule()); } pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm3042); iv_ruleTerm=ruleTerm(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTerm; } match(input,EOF,FOLLOW_EOF_in_entryRuleTerm3052); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 33, entryRuleTerm_StartIndex); } } return current; } // $ANTLR end "entryRuleTerm" // $ANTLR start "ruleTerm" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1467:1: ruleTerm returns [EObject current=null] : ( ( (lv_termAtom_0_0= ruleAtom ) ) | ( (lv_termGroupedSequence_1_0= ruleGroupedSequence ) ) | ( (lv_termOptionalSequence_2_0= ruleOptionalSequence ) ) | ( (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) ) ) ; public final EObject ruleTerm() throws RecognitionException { EObject current = null; int ruleTerm_StartIndex = input.index(); EObject lv_termAtom_0_0 = null; EObject lv_termGroupedSequence_1_0 = null; EObject lv_termOptionalSequence_2_0 = null; EObject lv_termRepeatedSequence_3_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 34) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1470:28: ( ( ( (lv_termAtom_0_0= ruleAtom ) ) | ( (lv_termGroupedSequence_1_0= ruleGroupedSequence ) ) | ( (lv_termOptionalSequence_2_0= ruleOptionalSequence ) ) | ( (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1471:1: ( ( (lv_termAtom_0_0= ruleAtom ) ) | ( (lv_termGroupedSequence_1_0= ruleGroupedSequence ) ) | ( (lv_termOptionalSequence_2_0= ruleOptionalSequence ) ) | ( (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1471:1: ( ( (lv_termAtom_0_0= ruleAtom ) ) | ( (lv_termGroupedSequence_1_0= ruleGroupedSequence ) ) | ( (lv_termOptionalSequence_2_0= ruleOptionalSequence ) ) | ( (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) ) ) int alt33=4; switch ( input.LA(1) ) { case RULE_ID: case RULE_STRING: case RULE_COLON: { alt33=1; } break; case 26: { alt33=2; } break; case 32: { alt33=3; } break; case 33: { alt33=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 33, 0, input); throw nvae; } switch (alt33) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1471:2: ( (lv_termAtom_0_0= ruleAtom ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1471:2: ( (lv_termAtom_0_0= ruleAtom ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1472:1: (lv_termAtom_0_0= ruleAtom ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1472:1: (lv_termAtom_0_0= ruleAtom ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1473:3: lv_termAtom_0_0= ruleAtom { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTermAccess().getTermAtomAtomParserRuleCall_0_0()); } pushFollow(FOLLOW_ruleAtom_in_ruleTerm3098); lv_termAtom_0_0=ruleAtom(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTermRule()); } set( current, "termAtom", lv_termAtom_0_0, "Atom"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1490:6: ( (lv_termGroupedSequence_1_0= ruleGroupedSequence ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1490:6: ( (lv_termGroupedSequence_1_0= ruleGroupedSequence ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1491:1: (lv_termGroupedSequence_1_0= ruleGroupedSequence ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1491:1: (lv_termGroupedSequence_1_0= ruleGroupedSequence ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1492:3: lv_termGroupedSequence_1_0= ruleGroupedSequence { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTermAccess().getTermGroupedSequenceGroupedSequenceParserRuleCall_1_0()); } pushFollow(FOLLOW_ruleGroupedSequence_in_ruleTerm3125); lv_termGroupedSequence_1_0=ruleGroupedSequence(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTermRule()); } set( current, "termGroupedSequence", lv_termGroupedSequence_1_0, "GroupedSequence"); afterParserOrEnumRuleCall(); } } } } break; case 3 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1509:6: ( (lv_termOptionalSequence_2_0= ruleOptionalSequence ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1509:6: ( (lv_termOptionalSequence_2_0= ruleOptionalSequence ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1510:1: (lv_termOptionalSequence_2_0= ruleOptionalSequence ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1510:1: (lv_termOptionalSequence_2_0= ruleOptionalSequence ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1511:3: lv_termOptionalSequence_2_0= ruleOptionalSequence { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTermAccess().getTermOptionalSequenceOptionalSequenceParserRuleCall_2_0()); } pushFollow(FOLLOW_ruleOptionalSequence_in_ruleTerm3152); lv_termOptionalSequence_2_0=ruleOptionalSequence(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTermRule()); } set( current, "termOptionalSequence", lv_termOptionalSequence_2_0, "OptionalSequence"); afterParserOrEnumRuleCall(); } } } } break; case 4 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1528:6: ( (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1528:6: ( (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1529:1: (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1529:1: (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1530:3: lv_termRepeatedSequence_3_0= ruleRepeatedSequence { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTermAccess().getTermRepeatedSequenceRepeatedSequenceParserRuleCall_3_0()); } pushFollow(FOLLOW_ruleRepeatedSequence_in_ruleTerm3179); lv_termRepeatedSequence_3_0=ruleRepeatedSequence(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTermRule()); } set( current, "termRepeatedSequence", lv_termRepeatedSequence_3_0, "RepeatedSequence"); afterParserOrEnumRuleCall(); } } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 34, ruleTerm_StartIndex); } } return current; } // $ANTLR end "ruleTerm" // $ANTLR start "entryRuleAtom" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1554:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ; public final EObject entryRuleAtom() throws RecognitionException { EObject current = null; int entryRuleAtom_StartIndex = input.index(); EObject iv_ruleAtom = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 35) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1555:2: (iv_ruleAtom= ruleAtom EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1556:2: iv_ruleAtom= ruleAtom EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAtomRule()); } pushFollow(FOLLOW_ruleAtom_in_entryRuleAtom3215); iv_ruleAtom=ruleAtom(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleAtom; } match(input,EOF,FOLLOW_EOF_in_entryRuleAtom3225); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 35, entryRuleAtom_StartIndex); } } return current; } // $ANTLR end "entryRuleAtom" // $ANTLR start "ruleAtom" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1563:1: ruleAtom returns [EObject current=null] : ( ( (lv_atomStringRule_0_0= ruleStringRule ) ) | ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) ) ; public final EObject ruleAtom() throws RecognitionException { EObject current = null; int ruleAtom_StartIndex = input.index(); EObject lv_atomStringRule_0_0 = null; EObject lv_atomRuleReference_1_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 36) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1566:28: ( ( ( (lv_atomStringRule_0_0= ruleStringRule ) ) | ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1567:1: ( ( (lv_atomStringRule_0_0= ruleStringRule ) ) | ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1567:1: ( ( (lv_atomStringRule_0_0= ruleStringRule ) ) | ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) ) int alt34=2; int LA34_0 = input.LA(1); if ( (LA34_0==RULE_STRING||LA34_0==RULE_COLON) ) { alt34=1; } else if ( (LA34_0==RULE_ID) ) { alt34=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 34, 0, input); throw nvae; } switch (alt34) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1567:2: ( (lv_atomStringRule_0_0= ruleStringRule ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1567:2: ( (lv_atomStringRule_0_0= ruleStringRule ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1568:1: (lv_atomStringRule_0_0= ruleStringRule ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1568:1: (lv_atomStringRule_0_0= ruleStringRule ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1569:3: lv_atomStringRule_0_0= ruleStringRule { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAtomAccess().getAtomStringRuleStringRuleParserRuleCall_0_0()); } pushFollow(FOLLOW_ruleStringRule_in_ruleAtom3271); lv_atomStringRule_0_0=ruleStringRule(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAtomRule()); } set( current, "atomStringRule", lv_atomStringRule_0_0, "StringRule"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1586:6: ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1586:6: ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1587:1: (lv_atomRuleReference_1_0= ruleRuleReference ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1587:1: (lv_atomRuleReference_1_0= ruleRuleReference ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1588:3: lv_atomRuleReference_1_0= ruleRuleReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAtomAccess().getAtomRuleReferenceRuleReferenceParserRuleCall_1_0()); } pushFollow(FOLLOW_ruleRuleReference_in_ruleAtom3298); lv_atomRuleReference_1_0=ruleRuleReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAtomRule()); } set( current, "atomRuleReference", lv_atomRuleReference_1_0, "RuleReference"); afterParserOrEnumRuleCall(); } } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 36, ruleAtom_StartIndex); } } return current; } // $ANTLR end "ruleAtom" // $ANTLR start "entryRuleRuleReference" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1612:1: entryRuleRuleReference returns [EObject current=null] : iv_ruleRuleReference= ruleRuleReference EOF ; public final EObject entryRuleRuleReference() throws RecognitionException { EObject current = null; int entryRuleRuleReference_StartIndex = input.index(); EObject iv_ruleRuleReference = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 37) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1613:2: (iv_ruleRuleReference= ruleRuleReference EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1614:2: iv_ruleRuleReference= ruleRuleReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRuleReferenceRule()); } pushFollow(FOLLOW_ruleRuleReference_in_entryRuleRuleReference3334); iv_ruleRuleReference=ruleRuleReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRuleReference; } match(input,EOF,FOLLOW_EOF_in_entryRuleRuleReference3344); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 37, entryRuleRuleReference_StartIndex); } } return current; } // $ANTLR end "entryRuleRuleReference" // $ANTLR start "ruleRuleReference" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1621:1: ruleRuleReference returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ; public final EObject ruleRuleReference() throws RecognitionException { EObject current = null; int ruleRuleReference_StartIndex = input.index(); Token otherlv_0=null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 38) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1624:28: ( ( (otherlv_0= RULE_ID ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1625:1: ( (otherlv_0= RULE_ID ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1625:1: ( (otherlv_0= RULE_ID ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1626:1: (otherlv_0= RULE_ID ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1626:1: (otherlv_0= RULE_ID ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1627:3: otherlv_0= RULE_ID { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRuleReferenceRule()); } } otherlv_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuleReference3392); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getRuleReferenceAccess().getRulerefRuleCrossReference_0()); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 38, ruleRuleReference_StartIndex); } } return current; } // $ANTLR end "ruleRuleReference" // $ANTLR start "entryRuleStringRule" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1649:1: entryRuleStringRule returns [EObject current=null] : iv_ruleStringRule= ruleStringRule EOF ; public final EObject entryRuleStringRule() throws RecognitionException { EObject current = null; int entryRuleStringRule_StartIndex = input.index(); EObject iv_ruleStringRule = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 39) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1650:2: (iv_ruleStringRule= ruleStringRule EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1651:2: iv_ruleStringRule= ruleStringRule EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStringRuleRule()); } pushFollow(FOLLOW_ruleStringRule_in_entryRuleStringRule3427); iv_ruleStringRule=ruleStringRule(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStringRule; } match(input,EOF,FOLLOW_EOF_in_entryRuleStringRule3437); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 39, entryRuleStringRule_StartIndex); } } return current; } // $ANTLR end "entryRuleStringRule" // $ANTLR start "ruleStringRule" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1658:1: ruleStringRule returns [EObject current=null] : ( ( (lv_literal_0_0= RULE_STRING ) ) | ( (lv_colon_1_0= RULE_COLON ) ) ) ; public final EObject ruleStringRule() throws RecognitionException { EObject current = null; int ruleStringRule_StartIndex = input.index(); Token lv_literal_0_0=null; Token lv_colon_1_0=null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 40) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1661:28: ( ( ( (lv_literal_0_0= RULE_STRING ) ) | ( (lv_colon_1_0= RULE_COLON ) ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1662:1: ( ( (lv_literal_0_0= RULE_STRING ) ) | ( (lv_colon_1_0= RULE_COLON ) ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1662:1: ( ( (lv_literal_0_0= RULE_STRING ) ) | ( (lv_colon_1_0= RULE_COLON ) ) ) int alt35=2; int LA35_0 = input.LA(1); if ( (LA35_0==RULE_STRING) ) { alt35=1; } else if ( (LA35_0==RULE_COLON) ) { alt35=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 35, 0, input); throw nvae; } switch (alt35) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1662:2: ( (lv_literal_0_0= RULE_STRING ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1662:2: ( (lv_literal_0_0= RULE_STRING ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1663:1: (lv_literal_0_0= RULE_STRING ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1663:1: (lv_literal_0_0= RULE_STRING ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1664:3: lv_literal_0_0= RULE_STRING { lv_literal_0_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringRule3479); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_literal_0_0, grammarAccess.getStringRuleAccess().getLiteralSTRINGTerminalRuleCall_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getStringRuleRule()); } setWithLastConsumed( current, "literal", lv_literal_0_0, "STRING"); } } } } break; case 2 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1681:6: ( (lv_colon_1_0= RULE_COLON ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1681:6: ( (lv_colon_1_0= RULE_COLON ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1682:1: (lv_colon_1_0= RULE_COLON ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1682:1: (lv_colon_1_0= RULE_COLON ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1683:3: lv_colon_1_0= RULE_COLON { lv_colon_1_0=(Token)match(input,RULE_COLON,FOLLOW_RULE_COLON_in_ruleStringRule3507); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_colon_1_0, grammarAccess.getStringRuleAccess().getColonCOLONTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getStringRuleRule()); } setWithLastConsumed( current, "colon", lv_colon_1_0, "COLON"); } } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 40, ruleStringRule_StartIndex); } } return current; } // $ANTLR end "ruleStringRule" // $ANTLR start "entryRuleGroupedSequence" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1707:1: entryRuleGroupedSequence returns [EObject current=null] : iv_ruleGroupedSequence= ruleGroupedSequence EOF ; public final EObject entryRuleGroupedSequence() throws RecognitionException { EObject current = null; int entryRuleGroupedSequence_StartIndex = input.index(); EObject iv_ruleGroupedSequence = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 41) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1708:2: (iv_ruleGroupedSequence= ruleGroupedSequence EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1709:2: iv_ruleGroupedSequence= ruleGroupedSequence EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getGroupedSequenceRule()); } pushFollow(FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence3548); iv_ruleGroupedSequence=ruleGroupedSequence(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleGroupedSequence; } match(input,EOF,FOLLOW_EOF_in_entryRuleGroupedSequence3558); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 41, entryRuleGroupedSequence_StartIndex); } } return current; } // $ANTLR end "entryRuleGroupedSequence" // $ANTLR start "ruleGroupedSequence" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1716:1: ruleGroupedSequence returns [EObject current=null] : (otherlv_0= '(' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ')' ) ; public final EObject ruleGroupedSequence() throws RecognitionException { EObject current = null; int ruleGroupedSequence_StartIndex = input.index(); Token otherlv_0=null; Token otherlv_2=null; EObject lv_definitionList_1_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 42) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1719:28: ( (otherlv_0= '(' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ')' ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1720:1: (otherlv_0= '(' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ')' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1720:1: (otherlv_0= '(' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ')' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1720:3: otherlv_0= '(' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ')' { otherlv_0=(Token)match(input,26,FOLLOW_26_in_ruleGroupedSequence3595); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getGroupedSequenceAccess().getLeftParenthesisKeyword_0()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1724:1: ( (lv_definitionList_1_0= ruleDefinitionList ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1725:1: (lv_definitionList_1_0= ruleDefinitionList ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1725:1: (lv_definitionList_1_0= ruleDefinitionList ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1726:3: lv_definitionList_1_0= ruleDefinitionList { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getGroupedSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0()); } pushFollow(FOLLOW_ruleDefinitionList_in_ruleGroupedSequence3616); lv_definitionList_1_0=ruleDefinitionList(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getGroupedSequenceRule()); } add( current, "definitionList", lv_definitionList_1_0, "DefinitionList"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,27,FOLLOW_27_in_ruleGroupedSequence3628); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getGroupedSequenceAccess().getRightParenthesisKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 42, ruleGroupedSequence_StartIndex); } } return current; } // $ANTLR end "ruleGroupedSequence" // $ANTLR start "entryRuleOptionalSequence" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1754:1: entryRuleOptionalSequence returns [EObject current=null] : iv_ruleOptionalSequence= ruleOptionalSequence EOF ; public final EObject entryRuleOptionalSequence() throws RecognitionException { EObject current = null; int entryRuleOptionalSequence_StartIndex = input.index(); EObject iv_ruleOptionalSequence = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 43) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1755:2: (iv_ruleOptionalSequence= ruleOptionalSequence EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1756:2: iv_ruleOptionalSequence= ruleOptionalSequence EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOptionalSequenceRule()); } pushFollow(FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence3664); iv_ruleOptionalSequence=ruleOptionalSequence(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOptionalSequence; } match(input,EOF,FOLLOW_EOF_in_entryRuleOptionalSequence3674); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 43, entryRuleOptionalSequence_StartIndex); } } return current; } // $ANTLR end "entryRuleOptionalSequence" // $ANTLR start "ruleOptionalSequence" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1763:1: ruleOptionalSequence returns [EObject current=null] : (otherlv_0= '[' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ']' ) ; public final EObject ruleOptionalSequence() throws RecognitionException { EObject current = null; int ruleOptionalSequence_StartIndex = input.index(); Token otherlv_0=null; Token otherlv_2=null; EObject lv_definitionList_1_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 44) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1766:28: ( (otherlv_0= '[' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ']' ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1767:1: (otherlv_0= '[' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ']' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1767:1: (otherlv_0= '[' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ']' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1767:3: otherlv_0= '[' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ']' { otherlv_0=(Token)match(input,32,FOLLOW_32_in_ruleOptionalSequence3711); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getOptionalSequenceAccess().getLeftSquareBracketKeyword_0()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1771:1: ( (lv_definitionList_1_0= ruleDefinitionList ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1772:1: (lv_definitionList_1_0= ruleDefinitionList ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1772:1: (lv_definitionList_1_0= ruleDefinitionList ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1773:3: lv_definitionList_1_0= ruleDefinitionList { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOptionalSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0()); } pushFollow(FOLLOW_ruleDefinitionList_in_ruleOptionalSequence3732); lv_definitionList_1_0=ruleDefinitionList(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getOptionalSequenceRule()); } add( current, "definitionList", lv_definitionList_1_0, "DefinitionList"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,29,FOLLOW_29_in_ruleOptionalSequence3744); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getOptionalSequenceAccess().getRightSquareBracketKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 44, ruleOptionalSequence_StartIndex); } } return current; } // $ANTLR end "ruleOptionalSequence" // $ANTLR start "entryRuleRepeatedSequence" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1801:1: entryRuleRepeatedSequence returns [EObject current=null] : iv_ruleRepeatedSequence= ruleRepeatedSequence EOF ; public final EObject entryRuleRepeatedSequence() throws RecognitionException { EObject current = null; int entryRuleRepeatedSequence_StartIndex = input.index(); EObject iv_ruleRepeatedSequence = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 45) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1802:2: (iv_ruleRepeatedSequence= ruleRepeatedSequence EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1803:2: iv_ruleRepeatedSequence= ruleRepeatedSequence EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRepeatedSequenceRule()); } pushFollow(FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence3780); iv_ruleRepeatedSequence=ruleRepeatedSequence(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRepeatedSequence; } match(input,EOF,FOLLOW_EOF_in_entryRuleRepeatedSequence3790); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 45, entryRuleRepeatedSequence_StartIndex); } } return current; } // $ANTLR end "entryRuleRepeatedSequence" // $ANTLR start "ruleRepeatedSequence" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1810:1: ruleRepeatedSequence returns [EObject current=null] : (otherlv_0= '{' ( (lv_definitions_1_0= ruleDefinitionList ) ) otherlv_2= '}' ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) ) ; public final EObject ruleRepeatedSequence() throws RecognitionException { EObject current = null; int ruleRepeatedSequence_StartIndex = input.index(); Token otherlv_0=null; Token otherlv_2=null; Token lv_morethanonce_3_0=null; EObject lv_definitions_1_0 = null; EObject lv_range_4_0 = null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 46) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1813:28: ( (otherlv_0= '{' ( (lv_definitions_1_0= ruleDefinitionList ) ) otherlv_2= '}' ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1814:1: (otherlv_0= '{' ( (lv_definitions_1_0= ruleDefinitionList ) ) otherlv_2= '}' ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1814:1: (otherlv_0= '{' ( (lv_definitions_1_0= ruleDefinitionList ) ) otherlv_2= '}' ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1814:3: otherlv_0= '{' ( (lv_definitions_1_0= ruleDefinitionList ) ) otherlv_2= '}' ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) { otherlv_0=(Token)match(input,33,FOLLOW_33_in_ruleRepeatedSequence3827); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getRepeatedSequenceAccess().getLeftCurlyBracketKeyword_0()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1818:1: ( (lv_definitions_1_0= ruleDefinitionList ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1819:1: (lv_definitions_1_0= ruleDefinitionList ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1819:1: (lv_definitions_1_0= ruleDefinitionList ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1820:3: lv_definitions_1_0= ruleDefinitionList { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRepeatedSequenceAccess().getDefinitionsDefinitionListParserRuleCall_1_0()); } pushFollow(FOLLOW_ruleDefinitionList_in_ruleRepeatedSequence3848); lv_definitions_1_0=ruleDefinitionList(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRepeatedSequenceRule()); } add( current, "definitions", lv_definitions_1_0, "DefinitionList"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,30,FOLLOW_30_in_ruleRepeatedSequence3860); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getRepeatedSequenceAccess().getRightCurlyBracketKeyword_2()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1840:1: ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) int alt38=2; alt38 = dfa38.predict(input); switch (alt38) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1840:2: ( (lv_morethanonce_3_0= '+' ) )? { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1840:2: ( (lv_morethanonce_3_0= '+' ) )? int alt36=2; int LA36_0 = input.LA(1); if ( (LA36_0==35) ) { alt36=1; } switch (alt36) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1841:1: (lv_morethanonce_3_0= '+' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1841:1: (lv_morethanonce_3_0= '+' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1842:3: lv_morethanonce_3_0= '+' { lv_morethanonce_3_0=(Token)match(input,35,FOLLOW_35_in_ruleRepeatedSequence3879); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_morethanonce_3_0, grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRepeatedSequenceRule()); } setWithLastConsumed(current, "morethanonce", true, "+"); } } } break; } } break; case 2 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1856:6: ( (lv_range_4_0= ruleRepeatRange ) )? { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1856:6: ( (lv_range_4_0= ruleRepeatRange ) )? int alt37=2; int LA37_0 = input.LA(1); if ( (LA37_0==40) ) { alt37=1; } switch (alt37) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1857:1: (lv_range_4_0= ruleRepeatRange ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1857:1: (lv_range_4_0= ruleRepeatRange ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1858:3: lv_range_4_0= ruleRepeatRange { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRepeatedSequenceAccess().getRangeRepeatRangeParserRuleCall_3_1_0()); } pushFollow(FOLLOW_ruleRepeatRange_in_ruleRepeatedSequence3920); lv_range_4_0=ruleRepeatRange(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRepeatedSequenceRule()); } set( current, "range", lv_range_4_0, "RepeatRange"); afterParserOrEnumRuleCall(); } } } break; } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 46, ruleRepeatedSequence_StartIndex); } } return current; } // $ANTLR end "ruleRepeatedSequence" // $ANTLR start "entryRuleRepeatRange" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1882:1: entryRuleRepeatRange returns [EObject current=null] : iv_ruleRepeatRange= ruleRepeatRange EOF ; public final EObject entryRuleRepeatRange() throws RecognitionException { EObject current = null; int entryRuleRepeatRange_StartIndex = input.index(); EObject iv_ruleRepeatRange = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 47) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1883:2: (iv_ruleRepeatRange= ruleRepeatRange EOF ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1884:2: iv_ruleRepeatRange= ruleRepeatRange EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRepeatRangeRule()); } pushFollow(FOLLOW_ruleRepeatRange_in_entryRuleRepeatRange3958); iv_ruleRepeatRange=ruleRepeatRange(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRepeatRange; } match(input,EOF,FOLLOW_EOF_in_entryRuleRepeatRange3968); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 47, entryRuleRepeatRange_StartIndex); } } return current; } // $ANTLR end "entryRuleRepeatRange" // $ANTLR start "ruleRepeatRange" // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1891:1: ruleRepeatRange returns [EObject current=null] : (otherlv_0= '#' otherlv_1= '(' ( (lv_from_2_0= RULE_INT ) ) otherlv_3= ',' ( (lv_to_4_0= RULE_INT ) ) otherlv_5= ')' ) ; public final EObject ruleRepeatRange() throws RecognitionException { EObject current = null; int ruleRepeatRange_StartIndex = input.index(); Token otherlv_0=null; Token otherlv_1=null; Token lv_from_2_0=null; Token otherlv_3=null; Token lv_to_4_0=null; Token otherlv_5=null; enterRule(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 48) ) { return current; } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1894:28: ( (otherlv_0= '#' otherlv_1= '(' ( (lv_from_2_0= RULE_INT ) ) otherlv_3= ',' ( (lv_to_4_0= RULE_INT ) ) otherlv_5= ')' ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:1: (otherlv_0= '#' otherlv_1= '(' ( (lv_from_2_0= RULE_INT ) ) otherlv_3= ',' ( (lv_to_4_0= RULE_INT ) ) otherlv_5= ')' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:1: (otherlv_0= '#' otherlv_1= '(' ( (lv_from_2_0= RULE_INT ) ) otherlv_3= ',' ( (lv_to_4_0= RULE_INT ) ) otherlv_5= ')' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:3: otherlv_0= '#' otherlv_1= '(' ( (lv_from_2_0= RULE_INT ) ) otherlv_3= ',' ( (lv_to_4_0= RULE_INT ) ) otherlv_5= ')' { otherlv_0=(Token)match(input,40,FOLLOW_40_in_ruleRepeatRange4005); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getRepeatRangeAccess().getNumberSignKeyword_0()); } otherlv_1=(Token)match(input,26,FOLLOW_26_in_ruleRepeatRange4017); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getRepeatRangeAccess().getLeftParenthesisKeyword_1()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1903:1: ( (lv_from_2_0= RULE_INT ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1904:1: (lv_from_2_0= RULE_INT ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1904:1: (lv_from_2_0= RULE_INT ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1905:3: lv_from_2_0= RULE_INT { lv_from_2_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleRepeatRange4034); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_from_2_0, grammarAccess.getRepeatRangeAccess().getFromINTTerminalRuleCall_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRepeatRangeRule()); } setWithLastConsumed( current, "from", lv_from_2_0, "INT"); } } } otherlv_3=(Token)match(input,41,FOLLOW_41_in_ruleRepeatRange4051); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getRepeatRangeAccess().getCommaKeyword_3()); } // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1925:1: ( (lv_to_4_0= RULE_INT ) ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1926:1: (lv_to_4_0= RULE_INT ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1926:1: (lv_to_4_0= RULE_INT ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1927:3: lv_to_4_0= RULE_INT { lv_to_4_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleRepeatRange4068); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_to_4_0, grammarAccess.getRepeatRangeAccess().getToINTTerminalRuleCall_4_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRepeatRangeRule()); } setWithLastConsumed( current, "to", lv_to_4_0, "INT"); } } } otherlv_5=(Token)match(input,27,FOLLOW_27_in_ruleRepeatRange4085); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getRepeatRangeAccess().getRightParenthesisKeyword_5()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { if ( state.backtracking>0 ) { memoize(input, 48, ruleRepeatRange_StartIndex); } } return current; } // $ANTLR end "ruleRepeatRange" // $ANTLR start synpred53_InternalEbnf public final void synpred53_InternalEbnf_fragment() throws RecognitionException { Token lv_morethanonce_3_0=null; // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1840:2: ( ( (lv_morethanonce_3_0= '+' ) )? ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1840:2: ( (lv_morethanonce_3_0= '+' ) )? { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1840:2: ( (lv_morethanonce_3_0= '+' ) )? int alt47=2; int LA47_0 = input.LA(1); if ( (LA47_0==35) ) { alt47=1; } switch (alt47) { case 1 : // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1841:1: (lv_morethanonce_3_0= '+' ) { // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1841:1: (lv_morethanonce_3_0= '+' ) // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1842:3: lv_morethanonce_3_0= '+' { lv_morethanonce_3_0=(Token)match(input,35,FOLLOW_35_in_synpred53_InternalEbnf3879); if (state.failed) return ; } } break; } } } // $ANTLR end synpred53_InternalEbnf // Delegated rules public final boolean synpred53_InternalEbnf() { state.backtracking++; int start = input.mark(); try { synpred53_InternalEbnf_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 DFA22 dfa22 = new DFA22(this); protected DFA38 dfa38 = new DFA38(this); static final String DFA22_eotS = "\17\uffff"; static final String DFA22_eofS = "\1\1\1\uffff\1\3\12\uffff\1\3\1\uffff"; static final String DFA22_minS = "\1\4\1\uffff\1\4\12\uffff\2\4"; static final String DFA22_maxS = "\1\43\1\uffff\1\43\12\uffff\1\43\1\33"; static final String DFA22_acceptS = "\1\uffff\1\13\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+ "\2\uffff"; static final String DFA22_specialS = "\17\uffff}>"; static final String[] DFA22_transitionS = { "\1\2\1\1\1\uffff\1\3\1\1\1\uffff\1\3\4\uffff\1\1\12\uffff\1"+ "\10\1\4\1\uffff\1\5\1\6\1\7\1\11\1\12\1\13\1\14", "", "\2\3\1\uffff\2\3\1\uffff\1\3\4\uffff\1\3\11\uffff\1\1\1\15"+ "\1\3\1\uffff\7\3", "", "", "", "", "", "", "", "", "", "", "\2\3\1\uffff\1\3\1\16\1\uffff\1\3\4\uffff\1\3\12\uffff\2\3"+ "\1\uffff\7\3", "\1\3\23\uffff\1\3\2\uffff\1\1" }; static final short[] DFA22_eot = DFA.unpackEncodedString(DFA22_eotS); static final short[] DFA22_eof = DFA.unpackEncodedString(DFA22_eofS); static final char[] DFA22_min = DFA.unpackEncodedStringToUnsignedChars(DFA22_minS); static final char[] DFA22_max = DFA.unpackEncodedStringToUnsignedChars(DFA22_maxS); static final short[] DFA22_accept = DFA.unpackEncodedString(DFA22_acceptS); static final short[] DFA22_special = DFA.unpackEncodedString(DFA22_specialS); static final short[][] DFA22_transition; static { int numStates = DFA22_transitionS.length; DFA22_transition = new short[numStates][]; for (int i=0; i"; static final String[] DFA38_transitionS = { "\1\7\1\5\1\10\1\14\1\6\1\uffff\1\15\4\uffff\1\3\12\uffff\1\16"+ "\1\11\1\uffff\1\12\1\13\1\2\1\17\1\20\1\uffff\1\1\4\uffff\1"+ "\21", "", "\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[] DFA38_eot = DFA.unpackEncodedString(DFA38_eotS); static final short[] DFA38_eof = DFA.unpackEncodedString(DFA38_eofS); static final char[] DFA38_min = DFA.unpackEncodedStringToUnsignedChars(DFA38_minS); static final char[] DFA38_max = DFA.unpackEncodedStringToUnsignedChars(DFA38_maxS); static final short[] DFA38_accept = DFA.unpackEncodedString(DFA38_acceptS); static final short[] DFA38_special = DFA.unpackEncodedString(DFA38_specialS); static final short[][] DFA38_transition; static { int numStates = DFA38_transitionS.length; DFA38_transition = new short[numStates][]; for (int i=0; i=0 ) return s; break; case 1 : int LA38_3 = input.LA(1); int index38_3 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_3); if ( s>=0 ) return s; break; case 2 : int LA38_4 = input.LA(1); int index38_4 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_4); if ( s>=0 ) return s; break; case 3 : int LA38_5 = input.LA(1); int index38_5 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_5); if ( s>=0 ) return s; break; case 4 : int LA38_6 = input.LA(1); int index38_6 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_6); if ( s>=0 ) return s; break; case 5 : int LA38_7 = input.LA(1); int index38_7 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_7); if ( s>=0 ) return s; break; case 6 : int LA38_8 = input.LA(1); int index38_8 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_8); if ( s>=0 ) return s; break; case 7 : int LA38_9 = input.LA(1); int index38_9 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_9); if ( s>=0 ) return s; break; case 8 : int LA38_10 = input.LA(1); int index38_10 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_10); if ( s>=0 ) return s; break; case 9 : int LA38_11 = input.LA(1); int index38_11 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_11); if ( s>=0 ) return s; break; case 10 : int LA38_12 = input.LA(1); int index38_12 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_12); if ( s>=0 ) return s; break; case 11 : int LA38_13 = input.LA(1); int index38_13 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_13); if ( s>=0 ) return s; break; case 12 : int LA38_14 = input.LA(1); int index38_14 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_14); if ( s>=0 ) return s; break; case 13 : int LA38_15 = input.LA(1); int index38_15 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_15); if ( s>=0 ) return s; break; case 14 : int LA38_16 = input.LA(1); int index38_16 = input.index(); input.rewind(); s = -1; if ( (synpred53_InternalEbnf()) ) {s = 1;} else if ( (true) ) {s = 17;} input.seek(index38_16); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 38, _s, input); error(nvae); throw nvae; } } public static final BitSet FOLLOW_ruleEtsiBnf_in_entryRuleEtsiBnf88 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleEtsiBnf98 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_13_in_ruleEtsiBnf136 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleEtsiBnf153 = new BitSet(new long[]{0x000000000000C000L}); public static final BitSet FOLLOW_14_in_ruleEtsiBnf177 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleEtsiBnf203 = new BitSet(new long[]{0x0000000000040170L}); public static final BitSet FOLLOW_ruleImportSection_in_ruleEtsiBnf224 = new BitSet(new long[]{0x0000000000040170L}); public static final BitSet FOLLOW_ruleBnfEntry_in_ruleEtsiBnf246 = new BitSet(new long[]{0x0000000000040172L}); public static final BitSet FOLLOW_16_in_ruleEtsiBnf274 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleEtsiBnf299 = new BitSet(new long[]{0x0000000000040132L}); public static final BitSet FOLLOW_ruleImportSection_in_ruleEtsiBnf320 = new BitSet(new long[]{0x0000000000000132L}); public static final BitSet FOLLOW_ruleDeltaEntry_in_ruleEtsiBnf342 = new BitSet(new long[]{0x0000000000000132L}); public static final BitSet FOLLOW_17_in_ruleEtsiBnf369 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleEtsiBnf394 = new BitSet(new long[]{0x000000D000040022L}); public static final BitSet FOLLOW_ruleImportSection_in_ruleEtsiBnf415 = new BitSet(new long[]{0x000000D000000022L}); public static final BitSet FOLLOW_ruleMergeEntry_in_ruleEtsiBnf437 = new BitSet(new long[]{0x000000D000000022L}); public static final BitSet FOLLOW_ruleImportSection_in_entryRuleImportSection475 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleImportSection485 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleImport_in_ruleImportSection530 = new BitSet(new long[]{0x0000000000040002L}); public static final BitSet FOLLOW_ruleBnfEntry_in_entryRuleBnfEntry566 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleBnfEntry576 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSectionHeading_in_ruleBnfEntry622 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRule_in_ruleBnfEntry649 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleComment_in_ruleBnfEntry676 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleDeltaEntry_in_entryRuleDeltaEntry712 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleDeltaEntry722 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRule_in_ruleDeltaEntry768 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSectionHeading_in_ruleDeltaEntry795 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExtRule_in_ruleDeltaEntry822 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMergeEntry_in_entryRuleMergeEntry858 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleMergeEntry868 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSectionHeading_in_ruleMergeEntry914 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMergeRule_in_ruleMergeEntry941 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSectionHeading_in_entryRuleSectionHeading977 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSectionHeading987 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_SECTIONHEADER_in_ruleSectionHeading1041 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleComment_in_entryRuleComment1082 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleComment1092 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_ML_COMMENT_in_ruleComment1146 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleImport_in_entryRuleImport1187 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleImport1197 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_18_in_ruleImport1234 = new BitSet(new long[]{0x0000000000000080L}); public static final BitSet FOLLOW_RULE_STRING_in_ruleImport1251 = new BitSet(new long[]{0x0000000000888000L}); public static final BitSet FOLLOW_19_in_ruleImport1269 = new BitSet(new long[]{0x0000000000700000L}); public static final BitSet FOLLOW_20_in_ruleImport1288 = new BitSet(new long[]{0x0000000000808000L}); public static final BitSet FOLLOW_21_in_ruleImport1325 = new BitSet(new long[]{0x0000000000808000L}); public static final BitSet FOLLOW_22_in_ruleImport1362 = new BitSet(new long[]{0x0000000000808000L}); public static final BitSet FOLLOW_23_in_ruleImport1391 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleImport1408 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleImport1427 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRule_in_entryRuleRule1463 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleRule1473 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_INT_in_ruleRule1516 = new BitSet(new long[]{0x0000000001000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleRule1538 = new BitSet(new long[]{0x0000000001000000L}); public static final BitSet FOLLOW_24_in_ruleRule1556 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleRule1575 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_25_in_ruleRule1592 = new BitSet(new long[]{0x0000000304008492L}); public static final BitSet FOLLOW_ruleDefinitionList_in_ruleRule1613 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_15_in_ruleRule1627 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExtRule_in_entryRuleExtRule1665 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExtRule1675 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_INT_in_ruleExtRule1718 = new BitSet(new long[]{0x0000000001000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleExtRule1740 = new BitSet(new long[]{0x0000000001000000L}); public static final BitSet FOLLOW_24_in_ruleExtRule1758 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleExtRule1777 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_26_in_ruleExtRule1795 = new BitSet(new long[]{0x0000000000000100L}); public static final BitSet FOLLOW_RULE_INT_in_ruleExtRule1812 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_ruleExtRule1829 = new BitSet(new long[]{0x0000000010000000L}); public static final BitSet FOLLOW_28_in_ruleExtRule1842 = new BitSet(new long[]{0x0000000FEC008492L}); public static final BitSet FOLLOW_ruleAtom_in_ruleExtRule1864 = new BitSet(new long[]{0x0000000FEC008492L}); public static final BitSet FOLLOW_27_in_ruleExtRule1882 = new BitSet(new long[]{0x0000000FEC008492L}); public static final BitSet FOLLOW_29_in_ruleExtRule1900 = new BitSet(new long[]{0x0000000FEC008492L}); public static final BitSet FOLLOW_30_in_ruleExtRule1918 = new BitSet(new long[]{0x0000000FEC008492L}); public static final BitSet FOLLOW_31_in_ruleExtRule1936 = new BitSet(new long[]{0x0000000FEC008492L}); public static final BitSet FOLLOW_26_in_ruleExtRule1954 = new BitSet(new long[]{0x0000000FEC008492L}); public static final BitSet FOLLOW_32_in_ruleExtRule1972 = new BitSet(new long[]{0x0000000FEC008492L}); public static final BitSet FOLLOW_33_in_ruleExtRule1990 = new BitSet(new long[]{0x0000000FEC008492L}); public static final BitSet FOLLOW_34_in_ruleExtRule2008 = new BitSet(new long[]{0x0000000FEC008492L}); public static final BitSet FOLLOW_35_in_ruleExtRule2026 = new BitSet(new long[]{0x0000000FEC008492L}); public static final BitSet FOLLOW_15_in_ruleExtRule2041 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMergeRule_in_entryRuleMergeRule2079 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleMergeRule2089 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleGlobalCombinator_in_ruleMergeRule2139 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRuleCombinator_in_ruleMergeRule2169 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleHookCombinator_in_ruleMergeRule2199 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator2234 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleGlobalCombinator2244 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_36_in_ruleGlobalCombinator2282 = new BitSet(new long[]{0x0000002000000000L}); public static final BitSet FOLLOW_37_in_ruleGlobalCombinator2294 = new BitSet(new long[]{0x0000000000000200L}); public static final BitSet FOLLOW_RULE_LOGIC_in_ruleGlobalCombinator2312 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_15_in_ruleGlobalCombinator2330 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator2368 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleRuleCombinator2378 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_38_in_ruleRuleCombinator2416 = new BitSet(new long[]{0x0000002000000000L}); public static final BitSet FOLLOW_37_in_ruleRuleCombinator2428 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleRuleCombinator2445 = new BitSet(new long[]{0x0000000000000200L}); public static final BitSet FOLLOW_RULE_LOGIC_in_ruleRuleCombinator2468 = new BitSet(new long[]{0x0000000004008002L}); public static final BitSet FOLLOW_26_in_ruleRuleCombinator2486 = new BitSet(new long[]{0x0000000000000080L}); public static final BitSet FOLLOW_RULE_STRING_in_ruleRuleCombinator2503 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_ruleRuleCombinator2520 = new BitSet(new long[]{0x0000000004008002L}); public static final BitSet FOLLOW_15_in_ruleRuleCombinator2535 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator2573 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleHookCombinator2583 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_39_in_ruleHookCombinator2620 = new BitSet(new long[]{0x0000002000000000L}); public static final BitSet FOLLOW_37_in_ruleHookCombinator2632 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleHookCombinator2649 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_26_in_ruleHookCombinator2666 = new BitSet(new long[]{0x0000000000000100L}); public static final BitSet FOLLOW_RULE_INT_in_ruleHookCombinator2683 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_ruleHookCombinator2700 = new BitSet(new long[]{0x0000000004000200L}); public static final BitSet FOLLOW_RULE_LOGIC_in_ruleHookCombinator2717 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_26_in_ruleHookCombinator2736 = new BitSet(new long[]{0x0000000000000080L}); public static final BitSet FOLLOW_RULE_STRING_in_ruleHookCombinator2753 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_ruleHookCombinator2770 = new BitSet(new long[]{0x0000000004008002L}); public static final BitSet FOLLOW_15_in_ruleHookCombinator2785 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList2823 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleDefinitionList2833 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2879 = new BitSet(new long[]{0x0000000080000002L}); public static final BitSet FOLLOW_31_in_ruleDefinitionList2892 = new BitSet(new long[]{0x0000000304000490L}); public static final BitSet FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2913 = new BitSet(new long[]{0x0000000080000002L}); public static final BitSet FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition2951 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSingleDefinition2961 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTerm_in_ruleSingleDefinition3006 = new BitSet(new long[]{0x0000000304000492L}); public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm3042 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTerm3052 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleAtom_in_ruleTerm3098 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleGroupedSequence_in_ruleTerm3125 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOptionalSequence_in_ruleTerm3152 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRepeatedSequence_in_ruleTerm3179 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleAtom_in_entryRuleAtom3215 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleAtom3225 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStringRule_in_ruleAtom3271 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRuleReference_in_ruleAtom3298 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRuleReference_in_entryRuleRuleReference3334 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleRuleReference3344 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_ID_in_ruleRuleReference3392 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStringRule_in_entryRuleStringRule3427 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStringRule3437 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_STRING_in_ruleStringRule3479 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_COLON_in_ruleStringRule3507 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence3548 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleGroupedSequence3558 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_26_in_ruleGroupedSequence3595 = new BitSet(new long[]{0x0000000304000490L}); public static final BitSet FOLLOW_ruleDefinitionList_in_ruleGroupedSequence3616 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_ruleGroupedSequence3628 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence3664 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOptionalSequence3674 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_32_in_ruleOptionalSequence3711 = new BitSet(new long[]{0x0000000304000490L}); public static final BitSet FOLLOW_ruleDefinitionList_in_ruleOptionalSequence3732 = new BitSet(new long[]{0x0000000020000000L}); public static final BitSet FOLLOW_29_in_ruleOptionalSequence3744 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence3780 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleRepeatedSequence3790 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_33_in_ruleRepeatedSequence3827 = new BitSet(new long[]{0x0000000304000490L}); public static final BitSet FOLLOW_ruleDefinitionList_in_ruleRepeatedSequence3848 = new BitSet(new long[]{0x0000000040000000L}); public static final BitSet FOLLOW_30_in_ruleRepeatedSequence3860 = new BitSet(new long[]{0x0000010800000002L}); public static final BitSet FOLLOW_35_in_ruleRepeatedSequence3879 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRepeatRange_in_ruleRepeatedSequence3920 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRepeatRange_in_entryRuleRepeatRange3958 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleRepeatRange3968 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_40_in_ruleRepeatRange4005 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_26_in_ruleRepeatRange4017 = new BitSet(new long[]{0x0000000000000100L}); public static final BitSet FOLLOW_RULE_INT_in_ruleRepeatRange4034 = new BitSet(new long[]{0x0000020000000000L}); public static final BitSet FOLLOW_41_in_ruleRepeatRange4051 = new BitSet(new long[]{0x0000000000000100L}); public static final BitSet FOLLOW_RULE_INT_in_ruleRepeatRange4068 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_ruleRepeatRange4085 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_35_in_synpred53_InternalEbnf3879 = new BitSet(new long[]{0x0000000000000002L}); }