Changeset 100 in default for v2


Ignore:
Timestamp:
10/12/16 15:29:26 (8 years ago)
Author:
phdmakk
Message:

+ generated resources

Location:
v2/trunk
Files:
2 added
25 edited

Legend:

Unmodified
Added
Removed
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/AbstractEbnfProposalProvider.java

    r97 r100  
    4444                completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 
    4545        } 
     46        public void completeBnfEntry_Comment(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
     47                completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 
     48        } 
    4649        public void completeDeltaEntry_Rule(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
    4750                completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 
     
    6063        } 
    6164        public void completeSectionHeading_SectionHeader(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
     65                completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 
     66        } 
     67        public void completeComment_Content(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
    6268                completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 
    6369        } 
     
    195201                // subclasses may override 
    196202        } 
     203        public void complete_Comment(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
     204                // subclasses may override 
     205        } 
    197206        public void complete_Import(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
    198207                // subclasses may override 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/EbnfParser.java

    r97 r100  
    5454                                        put(grammarAccess.getEtsiBnfAccess().getGroup_2(), "rule__EtsiBnf__Group_2__0"); 
    5555                                        put(grammarAccess.getSectionHeadingAccess().getGroup(), "rule__SectionHeading__Group__0"); 
     56                                        put(grammarAccess.getCommentAccess().getGroup(), "rule__Comment__Group__0"); 
    5657                                        put(grammarAccess.getImportAccess().getGroup(), "rule__Import__Group__0"); 
    5758                                        put(grammarAccess.getImportAccess().getGroup_2(), "rule__Import__Group_2__0"); 
     
    8889                                        put(grammarAccess.getBnfEntryAccess().getSectionheaderAssignment_0(), "rule__BnfEntry__SectionheaderAssignment_0"); 
    8990                                        put(grammarAccess.getBnfEntryAccess().getRuleAssignment_1(), "rule__BnfEntry__RuleAssignment_1"); 
     91                                        put(grammarAccess.getBnfEntryAccess().getCommentAssignment_2(), "rule__BnfEntry__CommentAssignment_2"); 
    9092                                        put(grammarAccess.getDeltaEntryAccess().getRuleAssignment_0(), "rule__DeltaEntry__RuleAssignment_0"); 
    9193                                        put(grammarAccess.getDeltaEntryAccess().getSectionheaderAssignment_1(), "rule__DeltaEntry__SectionheaderAssignment_1"); 
     
    9496                                        put(grammarAccess.getMergeEntryAccess().getMergeRuleAssignment_1(), "rule__MergeEntry__MergeRuleAssignment_1"); 
    9597                                        put(grammarAccess.getSectionHeadingAccess().getSectionHeaderAssignment_1(), "rule__SectionHeading__SectionHeaderAssignment_1"); 
     98                                        put(grammarAccess.getCommentAccess().getContentAssignment_1(), "rule__Comment__ContentAssignment_1"); 
    9699                                        put(grammarAccess.getImportAccess().getImportURIAssignment_1(), "rule__Import__ImportURIAssignment_1"); 
    97100                                        put(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_0(), "rule__Import__GrammarTypeAssignment_2_1_0"); 
     
    154157        @Override 
    155158        protected String[] getInitialHiddenTokens() { 
    156                 return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" }; 
     159                return new String[] { "RULE_WS", "RULE_SL_COMMENT" }; 
    157160        } 
    158161         
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g

    r97 r100  
    234234 
    235235 
     236// Entry rule entryRuleComment 
     237entryRuleComment  
     238: 
     239{ before(grammarAccess.getCommentRule()); } 
     240         ruleComment 
     241{ after(grammarAccess.getCommentRule()); }  
     242         EOF  
     243; 
     244 
     245// Rule Comment 
     246ruleComment 
     247    @init { 
     248                int stackSize = keepStackSize(); 
     249    } 
     250        : 
     251( 
     252{ before(grammarAccess.getCommentAccess().getGroup()); } 
     253(rule__Comment__Group__0) 
     254{ after(grammarAccess.getCommentAccess().getGroup()); } 
     255) 
     256 
     257; 
     258finally { 
     259        restoreStackSize(stackSize); 
     260} 
     261 
     262 
     263 
    236264// Entry rule entryRuleImport 
    237265entryRuleImport  
     
    763791) 
    764792 
     793    |( 
     794{ before(grammarAccess.getBnfEntryAccess().getCommentAssignment_2()); } 
     795(rule__BnfEntry__CommentAssignment_2) 
     796{ after(grammarAccess.getBnfEntryAccess().getCommentAssignment_2()); } 
     797) 
     798 
    765799; 
    766800finally { 
     
    16031637 
    16041638 
     1639rule__Comment__Group__0 
     1640    @init { 
     1641                int stackSize = keepStackSize(); 
     1642    } 
     1643: 
     1644        rule__Comment__Group__0__Impl 
     1645        rule__Comment__Group__1 
     1646; 
     1647finally { 
     1648        restoreStackSize(stackSize); 
     1649} 
     1650 
     1651rule__Comment__Group__0__Impl 
     1652    @init { 
     1653                int stackSize = keepStackSize(); 
     1654    } 
     1655: 
     1656( 
     1657{ before(grammarAccess.getCommentAccess().getCommentAction_0()); } 
     1658( 
     1659 
     1660) 
     1661{ after(grammarAccess.getCommentAccess().getCommentAction_0()); } 
     1662) 
     1663 
     1664; 
     1665finally { 
     1666        restoreStackSize(stackSize); 
     1667} 
     1668 
     1669 
     1670rule__Comment__Group__1 
     1671    @init { 
     1672                int stackSize = keepStackSize(); 
     1673    } 
     1674: 
     1675        rule__Comment__Group__1__Impl 
     1676; 
     1677finally { 
     1678        restoreStackSize(stackSize); 
     1679} 
     1680 
     1681rule__Comment__Group__1__Impl 
     1682    @init { 
     1683                int stackSize = keepStackSize(); 
     1684    } 
     1685: 
     1686( 
     1687{ before(grammarAccess.getCommentAccess().getContentAssignment_1()); } 
     1688(rule__Comment__ContentAssignment_1) 
     1689{ after(grammarAccess.getCommentAccess().getContentAssignment_1()); } 
     1690) 
     1691 
     1692; 
     1693finally { 
     1694        restoreStackSize(stackSize); 
     1695} 
     1696 
     1697 
     1698 
     1699 
     1700 
     1701 
    16051702rule__Import__Group__0 
    16061703    @init { 
     
    42414338} 
    42424339 
     4340rule__BnfEntry__CommentAssignment_2 
     4341    @init { 
     4342                int stackSize = keepStackSize(); 
     4343    } 
     4344: 
     4345( 
     4346{ before(grammarAccess.getBnfEntryAccess().getCommentCommentParserRuleCall_2_0()); } 
     4347        ruleComment{ after(grammarAccess.getBnfEntryAccess().getCommentCommentParserRuleCall_2_0()); } 
     4348) 
     4349 
     4350; 
     4351finally { 
     4352        restoreStackSize(stackSize); 
     4353} 
     4354 
    42434355rule__DeltaEntry__RuleAssignment_0 
    42444356    @init { 
     
    43314443} 
    43324444 
     4445rule__Comment__ContentAssignment_1 
     4446    @init { 
     4447                int stackSize = keepStackSize(); 
     4448    } 
     4449: 
     4450( 
     4451{ before(grammarAccess.getCommentAccess().getContentML_COMMENTTerminalRuleCall_1_0()); } 
     4452        RULE_ML_COMMENT{ after(grammarAccess.getCommentAccess().getContentML_COMMENTTerminalRuleCall_1_0()); } 
     4453) 
     4454 
     4455; 
     4456finally { 
     4457        restoreStackSize(stackSize); 
     4458} 
     4459 
    43334460rule__Import__ImportURIAssignment_1 
    43344461    @init { 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.tokens

    r97 r100  
    1313T__21=21 
    1414T__20=20 
    15 RULE_SL_COMMENT=11 
    16 RULE_ML_COMMENT=12 
     15RULE_SL_COMMENT=12 
     16RULE_ML_COMMENT=6 
    1717T__30=30 
    1818T__19=19 
    19 RULE_COLON=9 
     19RULE_COLON=10 
    2020T__31=31 
    21 RULE_STRING=6 
     21RULE_STRING=7 
    2222T__32=32 
    2323T__33=33 
     
    2929T__36=36 
    3030T__17=17 
    31 RULE_LOGIC=8 
     31RULE_LOGIC=9 
    3232T__37=37 
    3333T__38=38 
     
    3535T__14=14 
    3636T__13=13 
    37 RULE_INT=7 
    38 RULE_WS=10 
     37RULE_INT=8 
     38RULE_WS=11 
    3939'update'=41 
    4040'|'=16 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnfLexer.java

    r97 r100  
    2828    public static final int T__20=20; 
    2929    public static final int EOF=-1; 
    30     public static final int RULE_SL_COMMENT=11; 
    31     public static final int RULE_ML_COMMENT=12; 
     30    public static final int RULE_SL_COMMENT=12; 
     31    public static final int RULE_ML_COMMENT=6; 
    3232    public static final int T__19=19; 
    3333    public static final int T__30=30; 
    3434    public static final int T__31=31; 
    35     public static final int RULE_COLON=9; 
     35    public static final int RULE_COLON=10; 
    3636    public static final int T__32=32; 
    37     public static final int RULE_STRING=6; 
     37    public static final int RULE_STRING=7; 
    3838    public static final int T__16=16; 
    3939    public static final int T__33=33; 
     
    4545    public static final int T__36=36; 
    4646    public static final int T__37=37; 
    47     public static final int RULE_LOGIC=8; 
     47    public static final int RULE_LOGIC=9; 
    4848    public static final int T__38=38; 
    4949    public static final int T__14=14; 
    5050    public static final int T__39=39; 
    5151    public static final int T__13=13; 
    52     public static final int RULE_INT=7; 
    53     public static final int RULE_WS=10; 
     52    public static final int RULE_INT=8; 
     53    public static final int RULE_WS=11; 
    5454 
    5555    // delegates 
     
    666666            int _type = RULE_ID; 
    667667            int _channel = DEFAULT_TOKEN_CHANNEL; 
    668             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4985:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) 
    669             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4985:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* 
     668            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5112:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) 
     669            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5112:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* 
    670670            { 
    671671            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { 
     
    678678                throw mse;} 
    679679 
    680             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4985:35: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* 
     680            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5112:35: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* 
    681681            loop1: 
    682682            do { 
     
    727727            int _type = RULE_INT; 
    728728            int _channel = DEFAULT_TOKEN_CHANNEL; 
    729             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4987:10: ( ( '0' .. '9' )+ ) 
    730             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4987:12: ( '0' .. '9' )+ 
    731             { 
    732             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4987:12: ( '0' .. '9' )+ 
     729            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5114:10: ( ( '0' .. '9' )+ ) 
     730            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5114:12: ( '0' .. '9' )+ 
     731            { 
     732            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5114:12: ( '0' .. '9' )+ 
    733733            int cnt2=0; 
    734734            loop2: 
     
    744744                switch (alt2) { 
    745745                case 1 : 
    746                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4987:13: '0' .. '9' 
     746                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5114:13: '0' .. '9' 
    747747                    { 
    748748                    matchRange('0','9');  
     
    776776            int _type = RULE_WS; 
    777777            int _channel = DEFAULT_TOKEN_CHANNEL; 
    778             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:9: ( ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ ) 
    779             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:11: ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ 
    780             { 
    781             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:11: ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ 
     778            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5116:9: ( ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ ) 
     779            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5116:11: ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ 
     780            { 
     781            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5116:11: ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ 
    782782            int cnt4=0; 
    783783            loop4: 
     
    806806                switch (alt4) { 
    807807                case 1 : 
    808                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:12: ' ' 
     808                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5116:12: ' ' 
    809809                    { 
    810810                    match(' ');  
     
    813813                    break; 
    814814                case 2 : 
    815                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:16: '\\t' 
     815                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5116:16: '\\t' 
    816816                    { 
    817817                    match('\t');  
     
    820820                    break; 
    821821                case 3 : 
    822                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:21: ( '\\r' )? '\\n' 
     822                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5116:21: ( '\\r' )? '\\n' 
    823823                    { 
    824                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:21: ( '\\r' )? 
     824                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5116:21: ( '\\r' )? 
    825825                    int alt3=2; 
    826826                    int LA3_0 = input.LA(1); 
     
    831831                    switch (alt3) { 
    832832                        case 1 : 
    833                             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:21: '\\r' 
     833                            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5116:21: '\\r' 
    834834                            { 
    835835                            match('\r');  
     
    870870            int _type = RULE_COLON; 
    871871            int _channel = DEFAULT_TOKEN_CHANNEL; 
    872             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4991:12: ( '\"' '\"' '\"' ) 
    873             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4991:14: '\"' '\"' '\"' 
     872            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5118:12: ( '\"' '\"' '\"' ) 
     873            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5118:14: '\"' '\"' '\"' 
    874874            { 
    875875            match('\"');  
     
    892892            int _type = RULE_STRING; 
    893893            int _channel = DEFAULT_TOKEN_CHANNEL; 
    894             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:13: ( ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) ) 
    895             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:15: ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) 
    896             { 
    897             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:15: ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) 
     894            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5120:13: ( ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) ) 
     895            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5120:15: ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) 
     896            { 
     897            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5120:15: ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) 
    898898            int alt7=2; 
    899899            int LA7_0 = input.LA(1); 
     
    913913            switch (alt7) { 
    914914                case 1 : 
    915                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:16: '\"' (~ ( '\"' ) )* '\"' 
     915                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5120:16: '\"' (~ ( '\"' ) )* '\"' 
    916916                    { 
    917917                    match('\"');  
    918                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:20: (~ ( '\"' ) )* 
     918                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5120:20: (~ ( '\"' ) )* 
    919919                    loop5: 
    920920                    do { 
     
    929929                        switch (alt5) { 
    930930                        case 1 : 
    931                             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:20: ~ ( '\"' ) 
     931                            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5120:20: ~ ( '\"' ) 
    932932                            { 
    933933                            if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='\uFFFF') ) { 
     
    954954                    break; 
    955955                case 2 : 
    956                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:32: '\\'' (~ ( '\\'' ) )* '\\'' 
     956                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5120:32: '\\'' (~ ( '\\'' ) )* '\\'' 
    957957                    { 
    958958                    match('\'');  
    959                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:37: (~ ( '\\'' ) )* 
     959                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5120:37: (~ ( '\\'' ) )* 
    960960                    loop6: 
    961961                    do { 
     
    970970                        switch (alt6) { 
    971971                        case 1 : 
    972                             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:37: ~ ( '\\'' ) 
     972                            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5120:37: ~ ( '\\'' ) 
    973973                            { 
    974974                            if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\uFFFF') ) { 
     
    10131013            int _type = RULE_SECTIONHEADER; 
    10141014            int _channel = DEFAULT_TOKEN_CHANNEL; 
    1015             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4995:20: ( ( 'a' .. 'z' | 'A' .. 'Z' ) ( '.' | '0' .. '9' )+ ( ' ' | '\\t' ) (~ ( ( '\\n' | '\\r' ) ) )* ( '\\r' )? '\\n' ) 
    1016             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4995:22: ( 'a' .. 'z' | 'A' .. 'Z' ) ( '.' | '0' .. '9' )+ ( ' ' | '\\t' ) (~ ( ( '\\n' | '\\r' ) ) )* ( '\\r' )? '\\n' 
     1015            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5122:20: ( ( 'a' .. 'z' | 'A' .. 'Z' ) ( '.' | '0' .. '9' )+ ( ' ' | '\\t' ) (~ ( ( '\\n' | '\\r' ) ) )* ( '\\r' )? '\\n' ) 
     1016            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5122:22: ( 'a' .. 'z' | 'A' .. 'Z' ) ( '.' | '0' .. '9' )+ ( ' ' | '\\t' ) (~ ( ( '\\n' | '\\r' ) ) )* ( '\\r' )? '\\n' 
    10171017            { 
    10181018            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) { 
     
    10251025                throw mse;} 
    10261026 
    1027             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4995:42: ( '.' | '0' .. '9' )+ 
     1027            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5122:42: ( '.' | '0' .. '9' )+ 
    10281028            int cnt8=0; 
    10291029            loop8: 
     
    10721072                throw mse;} 
    10731073 
    1074             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4995:69: (~ ( ( '\\n' | '\\r' ) ) )* 
     1074            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5122:69: (~ ( ( '\\n' | '\\r' ) ) )* 
    10751075            loop9: 
    10761076            do { 
     
    10851085                switch (alt9) { 
    10861086                case 1 : 
    1087                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4995:69: ~ ( ( '\\n' | '\\r' ) ) 
     1087                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5122:69: ~ ( ( '\\n' | '\\r' ) ) 
    10881088                    { 
    10891089                    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { 
     
    11051105            } while (true); 
    11061106 
    1107             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4995:85: ( '\\r' )? 
     1107            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5122:85: ( '\\r' )? 
    11081108            int alt10=2; 
    11091109            int LA10_0 = input.LA(1); 
     
    11141114            switch (alt10) { 
    11151115                case 1 : 
    1116                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4995:85: '\\r' 
     1116                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5122:85: '\\r' 
    11171117                    { 
    11181118                    match('\r');  
     
    11401140            int _type = RULE_SL_COMMENT; 
    11411141            int _channel = DEFAULT_TOKEN_CHANNEL; 
    1142             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4997:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 
    1143             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4997:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 
     1142            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5124:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 
     1143            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5124:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 
    11441144            { 
    11451145            match("//");  
    11461146 
    1147             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4997:24: (~ ( ( '\\n' | '\\r' ) ) )* 
     1147            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5124:24: (~ ( ( '\\n' | '\\r' ) ) )* 
    11481148            loop11: 
    11491149            do { 
     
    11581158                switch (alt11) { 
    11591159                case 1 : 
    1160                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4997:24: ~ ( ( '\\n' | '\\r' ) ) 
     1160                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5124:24: ~ ( ( '\\n' | '\\r' ) ) 
    11611161                    { 
    11621162                    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { 
     
    11781178            } while (true); 
    11791179 
    1180             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4997:40: ( ( '\\r' )? '\\n' )? 
     1180            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5124:40: ( ( '\\r' )? '\\n' )? 
    11811181            int alt13=2; 
    11821182            int LA13_0 = input.LA(1); 
     
    11871187            switch (alt13) { 
    11881188                case 1 : 
    1189                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4997:41: ( '\\r' )? '\\n' 
     1189                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5124:41: ( '\\r' )? '\\n' 
    11901190                    { 
    1191                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4997:41: ( '\\r' )? 
     1191                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5124:41: ( '\\r' )? 
    11921192                    int alt12=2; 
    11931193                    int LA12_0 = input.LA(1); 
     
    11981198                    switch (alt12) { 
    11991199                        case 1 : 
    1200                             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4997:41: '\\r' 
     1200                            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5124:41: '\\r' 
    12011201                            { 
    12021202                            match('\r');  
     
    12301230            int _type = RULE_ML_COMMENT; 
    12311231            int _channel = DEFAULT_TOKEN_CHANNEL; 
    1232             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4999:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 
    1233             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4999:19: '/*' ( options {greedy=false; } : . )* '*/' 
     1232            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5126:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 
     1233            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5126:19: '/*' ( options {greedy=false; } : . )* '*/' 
    12341234            { 
    12351235            match("/*");  
    12361236 
    1237             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4999:24: ( options {greedy=false; } : . )* 
     1237            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5126:24: ( options {greedy=false; } : . )* 
    12381238            loop14: 
    12391239            do { 
     
    12601260                switch (alt14) { 
    12611261                case 1 : 
    1262                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4999:52: . 
     1262                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5126:52: . 
    12631263                    { 
    12641264                    matchAny();  
     
    12901290            int _type = RULE_LOGIC; 
    12911291            int _channel = DEFAULT_TOKEN_CHANNEL; 
    1292             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:12: ( ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) ) 
    1293             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) 
    1294             { 
    1295             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) 
     1292            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5128:12: ( ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) ) 
     1293            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5128:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) 
     1294            { 
     1295            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5128:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) 
    12961296            int alt15=6; 
    12971297            alt15 = dfa15.predict(input); 
    12981298            switch (alt15) { 
    12991299                case 1 : 
    1300                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:15: '/and' 
     1300                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5128:15: '/and' 
    13011301                    { 
    13021302                    match("/and");  
     
    13061306                    break; 
    13071307                case 2 : 
    1308                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:22: '/or' 
     1308                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5128:22: '/or' 
    13091309                    { 
    13101310                    match("/or");  
     
    13141314                    break; 
    13151315                case 3 : 
    1316                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:28: '/andr' 
     1316                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5128:28: '/andr' 
    13171317                    { 
    13181318                    match("/andr");  
     
    13221322                    break; 
    13231323                case 4 : 
    1324                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:36: '/orr' 
     1324                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5128:36: '/orr' 
    13251325                    { 
    13261326                    match("/orr");  
     
    13301330                    break; 
    13311331                case 5 : 
    1332                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:43: '/any' 
     1332                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5128:43: '/any' 
    13331333                    { 
    13341334                    match("/any");  
     
    13381338                    break; 
    13391339                case 6 : 
    1340                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:50: '/together' 
     1340                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5128:50: '/together' 
    13411341                    { 
    13421342                    match("/together");  
     
    16961696        } 
    16971697        public String getDescription() { 
    1698             return "5001:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' )"; 
     1698            return "5128:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' )"; 
    16991699        } 
    17001700    } 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnfParser.java

    r97 r100  
    2424public class InternalEbnfParser extends AbstractInternalContentAssistParser { 
    2525    public static final String[] tokenNames = new String[] { 
    26         "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_SECTIONHEADER", "RULE_STRING", "RULE_INT", "RULE_LOGIC", "RULE_COLON", "RULE_WS", "RULE_SL_COMMENT", "RULE_ML_COMMENT", "')'", "']'", "'}'", "'|'", "'('", "'['", "'{'", "'*'", "'+'", "'grammar'", "';'", "'import'", "'/'", "'label:'", "'::='", "'.'", "'<-'", "'global'", "'combinator:'", "'rule'", "'hook'", "'#'", "','", "'/bnf'", "'/delta'", "'/merge'", "'core'", "'package'", "'update'" 
     26        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_SECTIONHEADER", "RULE_ML_COMMENT", "RULE_STRING", "RULE_INT", "RULE_LOGIC", "RULE_COLON", "RULE_WS", "RULE_SL_COMMENT", "')'", "']'", "'}'", "'|'", "'('", "'['", "'{'", "'*'", "'+'", "'grammar'", "';'", "'import'", "'/'", "'label:'", "'::='", "'.'", "'<-'", "'global'", "'combinator:'", "'rule'", "'hook'", "'#'", "','", "'/bnf'", "'/delta'", "'/merge'", "'core'", "'package'", "'update'" 
    2727    }; 
    2828    public static final int RULE_ID=4; 
     
    4040    public static final int T__21=21; 
    4141    public static final int T__20=20; 
    42     public static final int RULE_SL_COMMENT=11; 
     42    public static final int RULE_SL_COMMENT=12; 
    4343    public static final int EOF=-1; 
    44     public static final int RULE_ML_COMMENT=12; 
     44    public static final int RULE_ML_COMMENT=6; 
    4545    public static final int T__30=30; 
    4646    public static final int T__19=19; 
    47     public static final int RULE_COLON=9; 
     47    public static final int RULE_COLON=10; 
    4848    public static final int T__31=31; 
    49     public static final int RULE_STRING=6; 
     49    public static final int RULE_STRING=7; 
    5050    public static final int T__32=32; 
    5151    public static final int T__33=33; 
     
    5757    public static final int T__36=36; 
    5858    public static final int T__17=17; 
    59     public static final int RULE_LOGIC=8; 
     59    public static final int RULE_LOGIC=9; 
    6060    public static final int T__37=37; 
    6161    public static final int T__38=38; 
     
    6363    public static final int T__14=14; 
    6464    public static final int T__13=13; 
    65     public static final int RULE_INT=7; 
    66     public static final int RULE_WS=10; 
     65    public static final int RULE_INT=8; 
     66    public static final int RULE_WS=11; 
    6767 
    6868    // delegates 
     
    7575        public InternalEbnfParser(TokenStream input, RecognizerSharedState state) { 
    7676            super(input, state); 
    77             this.state.ruleMemo = new HashMap[356+1]; 
     77            this.state.ruleMemo = new HashMap[365+1]; 
    7878              
    7979              
     
    698698 
    699699 
     700    // $ANTLR start "entryRuleComment" 
     701    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:237:1: entryRuleComment : ruleComment EOF ; 
     702    public final void entryRuleComment() throws RecognitionException { 
     703        int entryRuleComment_StartIndex = input.index(); 
     704        try { 
     705            if ( state.backtracking>0 && alreadyParsedRule(input, 13) ) { return ; } 
     706            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:238:1: ( ruleComment EOF ) 
     707            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:239:1: ruleComment EOF 
     708            { 
     709            if ( state.backtracking==0 ) { 
     710               before(grammarAccess.getCommentRule());  
     711            } 
     712            pushFollow(FOLLOW_ruleComment_in_entryRuleComment451); 
     713            ruleComment(); 
     714 
     715            state._fsp--; 
     716            if (state.failed) return ; 
     717            if ( state.backtracking==0 ) { 
     718               after(grammarAccess.getCommentRule());  
     719            } 
     720            match(input,EOF,FOLLOW_EOF_in_entryRuleComment458); if (state.failed) return ; 
     721 
     722            } 
     723 
     724        } 
     725        catch (RecognitionException re) { 
     726            reportError(re); 
     727            recover(input,re); 
     728        } 
     729        finally { 
     730            if ( state.backtracking>0 ) { memoize(input, 13, entryRuleComment_StartIndex); } 
     731        } 
     732        return ; 
     733    } 
     734    // $ANTLR end "entryRuleComment" 
     735 
     736 
     737    // $ANTLR start "ruleComment" 
     738    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:246:1: ruleComment : ( ( rule__Comment__Group__0 ) ) ; 
     739    public final void ruleComment() throws RecognitionException { 
     740        int ruleComment_StartIndex = input.index(); 
     741 
     742                        int stackSize = keepStackSize(); 
     743             
     744        try { 
     745            if ( state.backtracking>0 && alreadyParsedRule(input, 14) ) { return ; } 
     746            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:250:2: ( ( ( rule__Comment__Group__0 ) ) ) 
     747            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:251:1: ( ( rule__Comment__Group__0 ) ) 
     748            { 
     749            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:251:1: ( ( rule__Comment__Group__0 ) ) 
     750            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:252:1: ( rule__Comment__Group__0 ) 
     751            { 
     752            if ( state.backtracking==0 ) { 
     753               before(grammarAccess.getCommentAccess().getGroup());  
     754            } 
     755            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:253:1: ( rule__Comment__Group__0 ) 
     756            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:253:2: rule__Comment__Group__0 
     757            { 
     758            pushFollow(FOLLOW_rule__Comment__Group__0_in_ruleComment484); 
     759            rule__Comment__Group__0(); 
     760 
     761            state._fsp--; 
     762            if (state.failed) return ; 
     763 
     764            } 
     765 
     766            if ( state.backtracking==0 ) { 
     767               after(grammarAccess.getCommentAccess().getGroup());  
     768            } 
     769 
     770            } 
     771 
     772 
     773            } 
     774 
     775        } 
     776        catch (RecognitionException re) { 
     777            reportError(re); 
     778            recover(input,re); 
     779        } 
     780        finally { 
     781            if ( state.backtracking>0 ) { memoize(input, 14, ruleComment_StartIndex); } 
     782 
     783                restoreStackSize(stackSize); 
     784 
     785        } 
     786        return ; 
     787    } 
     788    // $ANTLR end "ruleComment" 
     789 
     790 
    700791    // $ANTLR start "entryRuleImport" 
    701     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:237:1: entryRuleImport : ruleImport EOF ; 
     792    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:265:1: entryRuleImport : ruleImport EOF ; 
    702793    public final void entryRuleImport() throws RecognitionException { 
    703794        int entryRuleImport_StartIndex = input.index(); 
    704795        try { 
    705             if ( state.backtracking>0 && alreadyParsedRule(input, 13) ) { return ; } 
    706             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:238:1: ( ruleImport EOF ) 
    707             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:239:1: ruleImport EOF 
     796            if ( state.backtracking>0 && alreadyParsedRule(input, 15) ) { return ; } 
     797            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:266:1: ( ruleImport EOF ) 
     798            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:267:1: ruleImport EOF 
    708799            { 
    709800            if ( state.backtracking==0 ) { 
    710801               before(grammarAccess.getImportRule());  
    711802            } 
    712             pushFollow(FOLLOW_ruleImport_in_entryRuleImport451); 
     803            pushFollow(FOLLOW_ruleImport_in_entryRuleImport511); 
    713804            ruleImport(); 
    714805 
     
    718809               after(grammarAccess.getImportRule());  
    719810            } 
    720             match(input,EOF,FOLLOW_EOF_in_entryRuleImport458); if (state.failed) return ; 
    721  
    722             } 
    723  
    724         } 
    725         catch (RecognitionException re) { 
    726             reportError(re); 
    727             recover(input,re); 
    728         } 
    729         finally { 
    730             if ( state.backtracking>0 ) { memoize(input, 13, entryRuleImport_StartIndex); } 
     811            match(input,EOF,FOLLOW_EOF_in_entryRuleImport518); if (state.failed) return ; 
     812 
     813            } 
     814 
     815        } 
     816        catch (RecognitionException re) { 
     817            reportError(re); 
     818            recover(input,re); 
     819        } 
     820        finally { 
     821            if ( state.backtracking>0 ) { memoize(input, 15, entryRuleImport_StartIndex); } 
    731822        } 
    732823        return ; 
     
    736827 
    737828    // $ANTLR start "ruleImport" 
    738     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:246:1: ruleImport : ( ( rule__Import__Group__0 ) ) ; 
     829    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:274:1: ruleImport : ( ( rule__Import__Group__0 ) ) ; 
    739830    public final void ruleImport() throws RecognitionException { 
    740831        int ruleImport_StartIndex = input.index(); 
     
    743834             
    744835        try { 
    745             if ( state.backtracking>0 && alreadyParsedRule(input, 14) ) { return ; } 
    746             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:250:2: ( ( ( rule__Import__Group__0 ) ) ) 
    747             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:251:1: ( ( rule__Import__Group__0 ) ) 
    748             { 
    749             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:251:1: ( ( rule__Import__Group__0 ) ) 
    750             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:252:1: ( rule__Import__Group__0 ) 
     836            if ( state.backtracking>0 && alreadyParsedRule(input, 16) ) { return ; } 
     837            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:278:2: ( ( ( rule__Import__Group__0 ) ) ) 
     838            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:279:1: ( ( rule__Import__Group__0 ) ) 
     839            { 
     840            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:279:1: ( ( rule__Import__Group__0 ) ) 
     841            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:280:1: ( rule__Import__Group__0 ) 
    751842            { 
    752843            if ( state.backtracking==0 ) { 
    753844               before(grammarAccess.getImportAccess().getGroup());  
    754845            } 
    755             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:253:1: ( rule__Import__Group__0 ) 
    756             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:253:2: rule__Import__Group__0 
    757             { 
    758             pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport484); 
     846            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:281:1: ( rule__Import__Group__0 ) 
     847            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:281:2: rule__Import__Group__0 
     848            { 
     849            pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport544); 
    759850            rule__Import__Group__0(); 
    760851 
     
    779870        } 
    780871        finally { 
    781             if ( state.backtracking>0 ) { memoize(input, 14, ruleImport_StartIndex); } 
     872            if ( state.backtracking>0 ) { memoize(input, 16, ruleImport_StartIndex); } 
    782873 
    783874                restoreStackSize(stackSize); 
     
    790881 
    791882    // $ANTLR start "entryRuleRule" 
    792     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:265:1: entryRuleRule : ruleRule EOF ; 
     883    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:293:1: entryRuleRule : ruleRule EOF ; 
    793884    public final void entryRuleRule() throws RecognitionException { 
    794885        int entryRuleRule_StartIndex = input.index(); 
    795886        try { 
    796             if ( state.backtracking>0 && alreadyParsedRule(input, 15) ) { return ; } 
    797             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:266:1: ( ruleRule EOF ) 
    798             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:267:1: ruleRule EOF 
     887            if ( state.backtracking>0 && alreadyParsedRule(input, 17) ) { return ; } 
     888            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:294:1: ( ruleRule EOF ) 
     889            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:295:1: ruleRule EOF 
    799890            { 
    800891            if ( state.backtracking==0 ) { 
    801892               before(grammarAccess.getRuleRule());  
    802893            } 
    803             pushFollow(FOLLOW_ruleRule_in_entryRuleRule511); 
     894            pushFollow(FOLLOW_ruleRule_in_entryRuleRule571); 
    804895            ruleRule(); 
    805896 
     
    809900               after(grammarAccess.getRuleRule());  
    810901            } 
    811             match(input,EOF,FOLLOW_EOF_in_entryRuleRule518); if (state.failed) return ; 
    812  
    813             } 
    814  
    815         } 
    816         catch (RecognitionException re) { 
    817             reportError(re); 
    818             recover(input,re); 
    819         } 
    820         finally { 
    821             if ( state.backtracking>0 ) { memoize(input, 15, entryRuleRule_StartIndex); } 
     902            match(input,EOF,FOLLOW_EOF_in_entryRuleRule578); if (state.failed) return ; 
     903 
     904            } 
     905 
     906        } 
     907        catch (RecognitionException re) { 
     908            reportError(re); 
     909            recover(input,re); 
     910        } 
     911        finally { 
     912            if ( state.backtracking>0 ) { memoize(input, 17, entryRuleRule_StartIndex); } 
    822913        } 
    823914        return ; 
     
    827918 
    828919    // $ANTLR start "ruleRule" 
    829     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:274:1: ruleRule : ( ( rule__Rule__Group__0 ) ) ; 
     920    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:302:1: ruleRule : ( ( rule__Rule__Group__0 ) ) ; 
    830921    public final void ruleRule() throws RecognitionException { 
    831922        int ruleRule_StartIndex = input.index(); 
     
    834925             
    835926        try { 
    836             if ( state.backtracking>0 && alreadyParsedRule(input, 16) ) { return ; } 
    837             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:278:2: ( ( ( rule__Rule__Group__0 ) ) ) 
    838             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:279:1: ( ( rule__Rule__Group__0 ) ) 
    839             { 
    840             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:279:1: ( ( rule__Rule__Group__0 ) ) 
    841             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:280:1: ( rule__Rule__Group__0 ) 
     927            if ( state.backtracking>0 && alreadyParsedRule(input, 18) ) { return ; } 
     928            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:306:2: ( ( ( rule__Rule__Group__0 ) ) ) 
     929            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:307:1: ( ( rule__Rule__Group__0 ) ) 
     930            { 
     931            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:307:1: ( ( rule__Rule__Group__0 ) ) 
     932            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:308:1: ( rule__Rule__Group__0 ) 
    842933            { 
    843934            if ( state.backtracking==0 ) { 
    844935               before(grammarAccess.getRuleAccess().getGroup());  
    845936            } 
    846             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:281:1: ( rule__Rule__Group__0 ) 
    847             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:281:2: rule__Rule__Group__0 
    848             { 
    849             pushFollow(FOLLOW_rule__Rule__Group__0_in_ruleRule544); 
     937            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:309:1: ( rule__Rule__Group__0 ) 
     938            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:309:2: rule__Rule__Group__0 
     939            { 
     940            pushFollow(FOLLOW_rule__Rule__Group__0_in_ruleRule604); 
    850941            rule__Rule__Group__0(); 
    851942 
     
    870961        } 
    871962        finally { 
    872             if ( state.backtracking>0 ) { memoize(input, 16, ruleRule_StartIndex); } 
     963            if ( state.backtracking>0 ) { memoize(input, 18, ruleRule_StartIndex); } 
    873964 
    874965                restoreStackSize(stackSize); 
     
    881972 
    882973    // $ANTLR start "entryRuleExtRule" 
    883     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:293:1: entryRuleExtRule : ruleExtRule EOF ; 
     974    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:321:1: entryRuleExtRule : ruleExtRule EOF ; 
    884975    public final void entryRuleExtRule() throws RecognitionException { 
    885976        int entryRuleExtRule_StartIndex = input.index(); 
    886977        try { 
    887             if ( state.backtracking>0 && alreadyParsedRule(input, 17) ) { return ; } 
    888             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:294:1: ( ruleExtRule EOF ) 
    889             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:295:1: ruleExtRule EOF 
     978            if ( state.backtracking>0 && alreadyParsedRule(input, 19) ) { return ; } 
     979            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:322:1: ( ruleExtRule EOF ) 
     980            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:323:1: ruleExtRule EOF 
    890981            { 
    891982            if ( state.backtracking==0 ) { 
    892983               before(grammarAccess.getExtRuleRule());  
    893984            } 
    894             pushFollow(FOLLOW_ruleExtRule_in_entryRuleExtRule571); 
     985            pushFollow(FOLLOW_ruleExtRule_in_entryRuleExtRule631); 
    895986            ruleExtRule(); 
    896987 
     
    900991               after(grammarAccess.getExtRuleRule());  
    901992            } 
    902             match(input,EOF,FOLLOW_EOF_in_entryRuleExtRule578); if (state.failed) return ; 
    903  
    904             } 
    905  
    906         } 
    907         catch (RecognitionException re) { 
    908             reportError(re); 
    909             recover(input,re); 
    910         } 
    911         finally { 
    912             if ( state.backtracking>0 ) { memoize(input, 17, entryRuleExtRule_StartIndex); } 
     993            match(input,EOF,FOLLOW_EOF_in_entryRuleExtRule638); if (state.failed) return ; 
     994 
     995            } 
     996 
     997        } 
     998        catch (RecognitionException re) { 
     999            reportError(re); 
     1000            recover(input,re); 
     1001        } 
     1002        finally { 
     1003            if ( state.backtracking>0 ) { memoize(input, 19, entryRuleExtRule_StartIndex); } 
    9131004        } 
    9141005        return ; 
     
    9181009 
    9191010    // $ANTLR start "ruleExtRule" 
    920     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:302:1: ruleExtRule : ( ( rule__ExtRule__Group__0 ) ) ; 
     1011    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:330:1: ruleExtRule : ( ( rule__ExtRule__Group__0 ) ) ; 
    9211012    public final void ruleExtRule() throws RecognitionException { 
    9221013        int ruleExtRule_StartIndex = input.index(); 
     
    9251016             
    9261017        try { 
    927             if ( state.backtracking>0 && alreadyParsedRule(input, 18) ) { return ; } 
    928             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:306:2: ( ( ( rule__ExtRule__Group__0 ) ) ) 
    929             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:307:1: ( ( rule__ExtRule__Group__0 ) ) 
    930             { 
    931             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:307:1: ( ( rule__ExtRule__Group__0 ) ) 
    932             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:308:1: ( rule__ExtRule__Group__0 ) 
     1018            if ( state.backtracking>0 && alreadyParsedRule(input, 20) ) { return ; } 
     1019            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:334:2: ( ( ( rule__ExtRule__Group__0 ) ) ) 
     1020            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:335:1: ( ( rule__ExtRule__Group__0 ) ) 
     1021            { 
     1022            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:335:1: ( ( rule__ExtRule__Group__0 ) ) 
     1023            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:336:1: ( rule__ExtRule__Group__0 ) 
    9331024            { 
    9341025            if ( state.backtracking==0 ) { 
    9351026               before(grammarAccess.getExtRuleAccess().getGroup());  
    9361027            } 
    937             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:309:1: ( rule__ExtRule__Group__0 ) 
    938             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:309:2: rule__ExtRule__Group__0 
    939             { 
    940             pushFollow(FOLLOW_rule__ExtRule__Group__0_in_ruleExtRule604); 
     1028            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:337:1: ( rule__ExtRule__Group__0 ) 
     1029            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:337:2: rule__ExtRule__Group__0 
     1030            { 
     1031            pushFollow(FOLLOW_rule__ExtRule__Group__0_in_ruleExtRule664); 
    9411032            rule__ExtRule__Group__0(); 
    9421033 
     
    9611052        } 
    9621053        finally { 
    963             if ( state.backtracking>0 ) { memoize(input, 18, ruleExtRule_StartIndex); } 
     1054            if ( state.backtracking>0 ) { memoize(input, 20, ruleExtRule_StartIndex); } 
    9641055 
    9651056                restoreStackSize(stackSize); 
     
    9721063 
    9731064    // $ANTLR start "entryRuleMergeRule" 
    974     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:321:1: entryRuleMergeRule : ruleMergeRule EOF ; 
     1065    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:349:1: entryRuleMergeRule : ruleMergeRule EOF ; 
    9751066    public final void entryRuleMergeRule() throws RecognitionException { 
    9761067        int entryRuleMergeRule_StartIndex = input.index(); 
    9771068        try { 
    978             if ( state.backtracking>0 && alreadyParsedRule(input, 19) ) { return ; } 
    979             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:322:1: ( ruleMergeRule EOF ) 
    980             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:323:1: ruleMergeRule EOF 
     1069            if ( state.backtracking>0 && alreadyParsedRule(input, 21) ) { return ; } 
     1070            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:350:1: ( ruleMergeRule EOF ) 
     1071            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:351:1: ruleMergeRule EOF 
    9811072            { 
    9821073            if ( state.backtracking==0 ) { 
    9831074               before(grammarAccess.getMergeRuleRule());  
    9841075            } 
    985             pushFollow(FOLLOW_ruleMergeRule_in_entryRuleMergeRule631); 
     1076            pushFollow(FOLLOW_ruleMergeRule_in_entryRuleMergeRule691); 
    9861077            ruleMergeRule(); 
    9871078 
     
    9911082               after(grammarAccess.getMergeRuleRule());  
    9921083            } 
    993             match(input,EOF,FOLLOW_EOF_in_entryRuleMergeRule638); if (state.failed) return ; 
    994  
    995             } 
    996  
    997         } 
    998         catch (RecognitionException re) { 
    999             reportError(re); 
    1000             recover(input,re); 
    1001         } 
    1002         finally { 
    1003             if ( state.backtracking>0 ) { memoize(input, 19, entryRuleMergeRule_StartIndex); } 
     1084            match(input,EOF,FOLLOW_EOF_in_entryRuleMergeRule698); if (state.failed) return ; 
     1085 
     1086            } 
     1087 
     1088        } 
     1089        catch (RecognitionException re) { 
     1090            reportError(re); 
     1091            recover(input,re); 
     1092        } 
     1093        finally { 
     1094            if ( state.backtracking>0 ) { memoize(input, 21, entryRuleMergeRule_StartIndex); } 
    10041095        } 
    10051096        return ; 
     
    10091100 
    10101101    // $ANTLR start "ruleMergeRule" 
    1011     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:330:1: ruleMergeRule : ( ( rule__MergeRule__Alternatives ) ) ; 
     1102    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:358:1: ruleMergeRule : ( ( rule__MergeRule__Alternatives ) ) ; 
    10121103    public final void ruleMergeRule() throws RecognitionException { 
    10131104        int ruleMergeRule_StartIndex = input.index(); 
     
    10161107             
    10171108        try { 
    1018             if ( state.backtracking>0 && alreadyParsedRule(input, 20) ) { return ; } 
    1019             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:334:2: ( ( ( rule__MergeRule__Alternatives ) ) ) 
    1020             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:335:1: ( ( rule__MergeRule__Alternatives ) ) 
    1021             { 
    1022             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:335:1: ( ( rule__MergeRule__Alternatives ) ) 
    1023             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:336:1: ( rule__MergeRule__Alternatives ) 
     1109            if ( state.backtracking>0 && alreadyParsedRule(input, 22) ) { return ; } 
     1110            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:362:2: ( ( ( rule__MergeRule__Alternatives ) ) ) 
     1111            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:363:1: ( ( rule__MergeRule__Alternatives ) ) 
     1112            { 
     1113            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:363:1: ( ( rule__MergeRule__Alternatives ) ) 
     1114            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:364:1: ( rule__MergeRule__Alternatives ) 
    10241115            { 
    10251116            if ( state.backtracking==0 ) { 
    10261117               before(grammarAccess.getMergeRuleAccess().getAlternatives());  
    10271118            } 
    1028             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:337:1: ( rule__MergeRule__Alternatives ) 
    1029             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:337:2: rule__MergeRule__Alternatives 
    1030             { 
    1031             pushFollow(FOLLOW_rule__MergeRule__Alternatives_in_ruleMergeRule664); 
     1119            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:365:1: ( rule__MergeRule__Alternatives ) 
     1120            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:365:2: rule__MergeRule__Alternatives 
     1121            { 
     1122            pushFollow(FOLLOW_rule__MergeRule__Alternatives_in_ruleMergeRule724); 
    10321123            rule__MergeRule__Alternatives(); 
    10331124 
     
    10521143        } 
    10531144        finally { 
    1054             if ( state.backtracking>0 ) { memoize(input, 20, ruleMergeRule_StartIndex); } 
     1145            if ( state.backtracking>0 ) { memoize(input, 22, ruleMergeRule_StartIndex); } 
    10551146 
    10561147                restoreStackSize(stackSize); 
     
    10631154 
    10641155    // $ANTLR start "entryRuleGlobalCombinator" 
    1065     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:349:1: entryRuleGlobalCombinator : ruleGlobalCombinator EOF ; 
     1156    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:377:1: entryRuleGlobalCombinator : ruleGlobalCombinator EOF ; 
    10661157    public final void entryRuleGlobalCombinator() throws RecognitionException { 
    10671158        int entryRuleGlobalCombinator_StartIndex = input.index(); 
    10681159        try { 
    1069             if ( state.backtracking>0 && alreadyParsedRule(input, 21) ) { return ; } 
    1070             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:350:1: ( ruleGlobalCombinator EOF ) 
    1071             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:351:1: ruleGlobalCombinator EOF 
     1160            if ( state.backtracking>0 && alreadyParsedRule(input, 23) ) { return ; } 
     1161            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:378:1: ( ruleGlobalCombinator EOF ) 
     1162            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:379:1: ruleGlobalCombinator EOF 
    10721163            { 
    10731164            if ( state.backtracking==0 ) { 
    10741165               before(grammarAccess.getGlobalCombinatorRule());  
    10751166            } 
    1076             pushFollow(FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator691); 
     1167            pushFollow(FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator751); 
    10771168            ruleGlobalCombinator(); 
    10781169 
     
    10821173               after(grammarAccess.getGlobalCombinatorRule());  
    10831174            } 
    1084             match(input,EOF,FOLLOW_EOF_in_entryRuleGlobalCombinator698); if (state.failed) return ; 
    1085  
    1086             } 
    1087  
    1088         } 
    1089         catch (RecognitionException re) { 
    1090             reportError(re); 
    1091             recover(input,re); 
    1092         } 
    1093         finally { 
    1094             if ( state.backtracking>0 ) { memoize(input, 21, entryRuleGlobalCombinator_StartIndex); } 
     1175            match(input,EOF,FOLLOW_EOF_in_entryRuleGlobalCombinator758); if (state.failed) return ; 
     1176 
     1177            } 
     1178 
     1179        } 
     1180        catch (RecognitionException re) { 
     1181            reportError(re); 
     1182            recover(input,re); 
     1183        } 
     1184        finally { 
     1185            if ( state.backtracking>0 ) { memoize(input, 23, entryRuleGlobalCombinator_StartIndex); } 
    10951186        } 
    10961187        return ; 
     
    11001191 
    11011192    // $ANTLR start "ruleGlobalCombinator" 
    1102     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:358:1: ruleGlobalCombinator : ( ( rule__GlobalCombinator__Group__0 ) ) ; 
     1193    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:386:1: ruleGlobalCombinator : ( ( rule__GlobalCombinator__Group__0 ) ) ; 
    11031194    public final void ruleGlobalCombinator() throws RecognitionException { 
    11041195        int ruleGlobalCombinator_StartIndex = input.index(); 
     
    11071198             
    11081199        try { 
    1109             if ( state.backtracking>0 && alreadyParsedRule(input, 22) ) { return ; } 
    1110             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:362:2: ( ( ( rule__GlobalCombinator__Group__0 ) ) ) 
    1111             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:363:1: ( ( rule__GlobalCombinator__Group__0 ) ) 
    1112             { 
    1113             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:363:1: ( ( rule__GlobalCombinator__Group__0 ) ) 
    1114             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:364:1: ( rule__GlobalCombinator__Group__0 ) 
     1200            if ( state.backtracking>0 && alreadyParsedRule(input, 24) ) { return ; } 
     1201            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:390:2: ( ( ( rule__GlobalCombinator__Group__0 ) ) ) 
     1202            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:391:1: ( ( rule__GlobalCombinator__Group__0 ) ) 
     1203            { 
     1204            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:391:1: ( ( rule__GlobalCombinator__Group__0 ) ) 
     1205            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:392:1: ( rule__GlobalCombinator__Group__0 ) 
    11151206            { 
    11161207            if ( state.backtracking==0 ) { 
    11171208               before(grammarAccess.getGlobalCombinatorAccess().getGroup());  
    11181209            } 
    1119             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:365:1: ( rule__GlobalCombinator__Group__0 ) 
    1120             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:365:2: rule__GlobalCombinator__Group__0 
    1121             { 
    1122             pushFollow(FOLLOW_rule__GlobalCombinator__Group__0_in_ruleGlobalCombinator724); 
     1210            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:393:1: ( rule__GlobalCombinator__Group__0 ) 
     1211            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:393:2: rule__GlobalCombinator__Group__0 
     1212            { 
     1213            pushFollow(FOLLOW_rule__GlobalCombinator__Group__0_in_ruleGlobalCombinator784); 
    11231214            rule__GlobalCombinator__Group__0(); 
    11241215 
     
    11431234        } 
    11441235        finally { 
    1145             if ( state.backtracking>0 ) { memoize(input, 22, ruleGlobalCombinator_StartIndex); } 
     1236            if ( state.backtracking>0 ) { memoize(input, 24, ruleGlobalCombinator_StartIndex); } 
    11461237 
    11471238                restoreStackSize(stackSize); 
     
    11541245 
    11551246    // $ANTLR start "entryRuleRuleCombinator" 
    1156     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:377:1: entryRuleRuleCombinator : ruleRuleCombinator EOF ; 
     1247    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:405:1: entryRuleRuleCombinator : ruleRuleCombinator EOF ; 
    11571248    public final void entryRuleRuleCombinator() throws RecognitionException { 
    11581249        int entryRuleRuleCombinator_StartIndex = input.index(); 
    11591250        try { 
    1160             if ( state.backtracking>0 && alreadyParsedRule(input, 23) ) { return ; } 
    1161             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:378:1: ( ruleRuleCombinator EOF ) 
    1162             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:379:1: ruleRuleCombinator EOF 
     1251            if ( state.backtracking>0 && alreadyParsedRule(input, 25) ) { return ; } 
     1252            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:406:1: ( ruleRuleCombinator EOF ) 
     1253            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:407:1: ruleRuleCombinator EOF 
    11631254            { 
    11641255            if ( state.backtracking==0 ) { 
    11651256               before(grammarAccess.getRuleCombinatorRule());  
    11661257            } 
    1167             pushFollow(FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator751); 
     1258            pushFollow(FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator811); 
    11681259            ruleRuleCombinator(); 
    11691260 
     
    11731264               after(grammarAccess.getRuleCombinatorRule());  
    11741265            } 
    1175             match(input,EOF,FOLLOW_EOF_in_entryRuleRuleCombinator758); if (state.failed) return ; 
    1176  
    1177             } 
    1178  
    1179         } 
    1180         catch (RecognitionException re) { 
    1181             reportError(re); 
    1182             recover(input,re); 
    1183         } 
    1184         finally { 
    1185             if ( state.backtracking>0 ) { memoize(input, 23, entryRuleRuleCombinator_StartIndex); } 
     1266            match(input,EOF,FOLLOW_EOF_in_entryRuleRuleCombinator818); if (state.failed) return ; 
     1267 
     1268            } 
     1269 
     1270        } 
     1271        catch (RecognitionException re) { 
     1272            reportError(re); 
     1273            recover(input,re); 
     1274        } 
     1275        finally { 
     1276            if ( state.backtracking>0 ) { memoize(input, 25, entryRuleRuleCombinator_StartIndex); } 
    11861277        } 
    11871278        return ; 
     
    11911282 
    11921283    // $ANTLR start "ruleRuleCombinator" 
    1193     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:386:1: ruleRuleCombinator : ( ( rule__RuleCombinator__Group__0 ) ) ; 
     1284    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:414:1: ruleRuleCombinator : ( ( rule__RuleCombinator__Group__0 ) ) ; 
    11941285    public final void ruleRuleCombinator() throws RecognitionException { 
    11951286        int ruleRuleCombinator_StartIndex = input.index(); 
     
    11981289             
    11991290        try { 
    1200             if ( state.backtracking>0 && alreadyParsedRule(input, 24) ) { return ; } 
    1201             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:390:2: ( ( ( rule__RuleCombinator__Group__0 ) ) ) 
    1202             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:391:1: ( ( rule__RuleCombinator__Group__0 ) ) 
    1203             { 
    1204             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:391:1: ( ( rule__RuleCombinator__Group__0 ) ) 
    1205             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:392:1: ( rule__RuleCombinator__Group__0 ) 
     1291            if ( state.backtracking>0 && alreadyParsedRule(input, 26) ) { return ; } 
     1292            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:418:2: ( ( ( rule__RuleCombinator__Group__0 ) ) ) 
     1293            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:419:1: ( ( rule__RuleCombinator__Group__0 ) ) 
     1294            { 
     1295            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:419:1: ( ( rule__RuleCombinator__Group__0 ) ) 
     1296            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:420:1: ( rule__RuleCombinator__Group__0 ) 
    12061297            { 
    12071298            if ( state.backtracking==0 ) { 
    12081299               before(grammarAccess.getRuleCombinatorAccess().getGroup());  
    12091300            } 
    1210             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:393:1: ( rule__RuleCombinator__Group__0 ) 
    1211             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:393:2: rule__RuleCombinator__Group__0 
    1212             { 
    1213             pushFollow(FOLLOW_rule__RuleCombinator__Group__0_in_ruleRuleCombinator784); 
     1301            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:421:1: ( rule__RuleCombinator__Group__0 ) 
     1302            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:421:2: rule__RuleCombinator__Group__0 
     1303            { 
     1304            pushFollow(FOLLOW_rule__RuleCombinator__Group__0_in_ruleRuleCombinator844); 
    12141305            rule__RuleCombinator__Group__0(); 
    12151306 
     
    12341325        } 
    12351326        finally { 
    1236             if ( state.backtracking>0 ) { memoize(input, 24, ruleRuleCombinator_StartIndex); } 
     1327            if ( state.backtracking>0 ) { memoize(input, 26, ruleRuleCombinator_StartIndex); } 
    12371328 
    12381329                restoreStackSize(stackSize); 
     
    12451336 
    12461337    // $ANTLR start "entryRuleHookCombinator" 
    1247     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:405:1: entryRuleHookCombinator : ruleHookCombinator EOF ; 
     1338    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:433:1: entryRuleHookCombinator : ruleHookCombinator EOF ; 
    12481339    public final void entryRuleHookCombinator() throws RecognitionException { 
    12491340        int entryRuleHookCombinator_StartIndex = input.index(); 
    12501341        try { 
    1251             if ( state.backtracking>0 && alreadyParsedRule(input, 25) ) { return ; } 
    1252             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:406:1: ( ruleHookCombinator EOF ) 
    1253             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:407:1: ruleHookCombinator EOF 
     1342            if ( state.backtracking>0 && alreadyParsedRule(input, 27) ) { return ; } 
     1343            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:434:1: ( ruleHookCombinator EOF ) 
     1344            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:435:1: ruleHookCombinator EOF 
    12541345            { 
    12551346            if ( state.backtracking==0 ) { 
    12561347               before(grammarAccess.getHookCombinatorRule());  
    12571348            } 
    1258             pushFollow(FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator811); 
     1349            pushFollow(FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator871); 
    12591350            ruleHookCombinator(); 
    12601351 
     
    12641355               after(grammarAccess.getHookCombinatorRule());  
    12651356            } 
    1266             match(input,EOF,FOLLOW_EOF_in_entryRuleHookCombinator818); if (state.failed) return ; 
    1267  
    1268             } 
    1269  
    1270         } 
    1271         catch (RecognitionException re) { 
    1272             reportError(re); 
    1273             recover(input,re); 
    1274         } 
    1275         finally { 
    1276             if ( state.backtracking>0 ) { memoize(input, 25, entryRuleHookCombinator_StartIndex); } 
     1357            match(input,EOF,FOLLOW_EOF_in_entryRuleHookCombinator878); if (state.failed) return ; 
     1358 
     1359            } 
     1360 
     1361        } 
     1362        catch (RecognitionException re) { 
     1363            reportError(re); 
     1364            recover(input,re); 
     1365        } 
     1366        finally { 
     1367            if ( state.backtracking>0 ) { memoize(input, 27, entryRuleHookCombinator_StartIndex); } 
    12771368        } 
    12781369        return ; 
     
    12821373 
    12831374    // $ANTLR start "ruleHookCombinator" 
    1284     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:414:1: ruleHookCombinator : ( ( rule__HookCombinator__Group__0 ) ) ; 
     1375    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:442:1: ruleHookCombinator : ( ( rule__HookCombinator__Group__0 ) ) ; 
    12851376    public final void ruleHookCombinator() throws RecognitionException { 
    12861377        int ruleHookCombinator_StartIndex = input.index(); 
     
    12891380             
    12901381        try { 
    1291             if ( state.backtracking>0 && alreadyParsedRule(input, 26) ) { return ; } 
    1292             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:418:2: ( ( ( rule__HookCombinator__Group__0 ) ) ) 
    1293             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:419:1: ( ( rule__HookCombinator__Group__0 ) ) 
    1294             { 
    1295             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:419:1: ( ( rule__HookCombinator__Group__0 ) ) 
    1296             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:420:1: ( rule__HookCombinator__Group__0 ) 
     1382            if ( state.backtracking>0 && alreadyParsedRule(input, 28) ) { return ; } 
     1383            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:446:2: ( ( ( rule__HookCombinator__Group__0 ) ) ) 
     1384            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:447:1: ( ( rule__HookCombinator__Group__0 ) ) 
     1385            { 
     1386            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:447:1: ( ( rule__HookCombinator__Group__0 ) ) 
     1387            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:448:1: ( rule__HookCombinator__Group__0 ) 
    12971388            { 
    12981389            if ( state.backtracking==0 ) { 
    12991390               before(grammarAccess.getHookCombinatorAccess().getGroup());  
    13001391            } 
    1301             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:421:1: ( rule__HookCombinator__Group__0 ) 
    1302             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:421:2: rule__HookCombinator__Group__0 
    1303             { 
    1304             pushFollow(FOLLOW_rule__HookCombinator__Group__0_in_ruleHookCombinator844); 
     1392            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:449:1: ( rule__HookCombinator__Group__0 ) 
     1393            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:449:2: rule__HookCombinator__Group__0 
     1394            { 
     1395            pushFollow(FOLLOW_rule__HookCombinator__Group__0_in_ruleHookCombinator904); 
    13051396            rule__HookCombinator__Group__0(); 
    13061397 
     
    13251416        } 
    13261417        finally { 
    1327             if ( state.backtracking>0 ) { memoize(input, 26, ruleHookCombinator_StartIndex); } 
     1418            if ( state.backtracking>0 ) { memoize(input, 28, ruleHookCombinator_StartIndex); } 
    13281419 
    13291420                restoreStackSize(stackSize); 
     
    13361427 
    13371428    // $ANTLR start "entryRuleDefinitionList" 
    1338     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:433:1: entryRuleDefinitionList : ruleDefinitionList EOF ; 
     1429    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:461:1: entryRuleDefinitionList : ruleDefinitionList EOF ; 
    13391430    public final void entryRuleDefinitionList() throws RecognitionException { 
    13401431        int entryRuleDefinitionList_StartIndex = input.index(); 
    13411432        try { 
    1342             if ( state.backtracking>0 && alreadyParsedRule(input, 27) ) { return ; } 
    1343             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:434:1: ( ruleDefinitionList EOF ) 
    1344             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:435:1: ruleDefinitionList EOF 
     1433            if ( state.backtracking>0 && alreadyParsedRule(input, 29) ) { return ; } 
     1434            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:462:1: ( ruleDefinitionList EOF ) 
     1435            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:463:1: ruleDefinitionList EOF 
    13451436            { 
    13461437            if ( state.backtracking==0 ) { 
    13471438               before(grammarAccess.getDefinitionListRule());  
    13481439            } 
    1349             pushFollow(FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList871); 
     1440            pushFollow(FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList931); 
    13501441            ruleDefinitionList(); 
    13511442 
     
    13551446               after(grammarAccess.getDefinitionListRule());  
    13561447            } 
    1357             match(input,EOF,FOLLOW_EOF_in_entryRuleDefinitionList878); if (state.failed) return ; 
    1358  
    1359             } 
    1360  
    1361         } 
    1362         catch (RecognitionException re) { 
    1363             reportError(re); 
    1364             recover(input,re); 
    1365         } 
    1366         finally { 
    1367             if ( state.backtracking>0 ) { memoize(input, 27, entryRuleDefinitionList_StartIndex); } 
     1448            match(input,EOF,FOLLOW_EOF_in_entryRuleDefinitionList938); if (state.failed) return ; 
     1449 
     1450            } 
     1451 
     1452        } 
     1453        catch (RecognitionException re) { 
     1454            reportError(re); 
     1455            recover(input,re); 
     1456        } 
     1457        finally { 
     1458            if ( state.backtracking>0 ) { memoize(input, 29, entryRuleDefinitionList_StartIndex); } 
    13681459        } 
    13691460        return ; 
     
    13731464 
    13741465    // $ANTLR start "ruleDefinitionList" 
    1375     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:442:1: ruleDefinitionList : ( ( rule__DefinitionList__Group__0 ) ) ; 
     1466    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:470:1: ruleDefinitionList : ( ( rule__DefinitionList__Group__0 ) ) ; 
    13761467    public final void ruleDefinitionList() throws RecognitionException { 
    13771468        int ruleDefinitionList_StartIndex = input.index(); 
     
    13801471             
    13811472        try { 
    1382             if ( state.backtracking>0 && alreadyParsedRule(input, 28) ) { return ; } 
    1383             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:446:2: ( ( ( rule__DefinitionList__Group__0 ) ) ) 
    1384             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:447:1: ( ( rule__DefinitionList__Group__0 ) ) 
    1385             { 
    1386             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:447:1: ( ( rule__DefinitionList__Group__0 ) ) 
    1387             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:448:1: ( rule__DefinitionList__Group__0 ) 
     1473            if ( state.backtracking>0 && alreadyParsedRule(input, 30) ) { return ; } 
     1474            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:474:2: ( ( ( rule__DefinitionList__Group__0 ) ) ) 
     1475            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:475:1: ( ( rule__DefinitionList__Group__0 ) ) 
     1476            { 
     1477            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:475:1: ( ( rule__DefinitionList__Group__0 ) ) 
     1478            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:476:1: ( rule__DefinitionList__Group__0 ) 
    13881479            { 
    13891480            if ( state.backtracking==0 ) { 
    13901481               before(grammarAccess.getDefinitionListAccess().getGroup());  
    13911482            } 
    1392             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:449:1: ( rule__DefinitionList__Group__0 ) 
    1393             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:449:2: rule__DefinitionList__Group__0 
    1394             { 
    1395             pushFollow(FOLLOW_rule__DefinitionList__Group__0_in_ruleDefinitionList904); 
     1483            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:477:1: ( rule__DefinitionList__Group__0 ) 
     1484            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:477:2: rule__DefinitionList__Group__0 
     1485            { 
     1486            pushFollow(FOLLOW_rule__DefinitionList__Group__0_in_ruleDefinitionList964); 
    13961487            rule__DefinitionList__Group__0(); 
    13971488 
     
    14161507        } 
    14171508        finally { 
    1418             if ( state.backtracking>0 ) { memoize(input, 28, ruleDefinitionList_StartIndex); } 
     1509            if ( state.backtracking>0 ) { memoize(input, 30, ruleDefinitionList_StartIndex); } 
    14191510 
    14201511                restoreStackSize(stackSize); 
     
    14271518 
    14281519    // $ANTLR start "entryRuleSingleDefinition" 
    1429     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:461:1: entryRuleSingleDefinition : ruleSingleDefinition EOF ; 
     1520    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:489:1: entryRuleSingleDefinition : ruleSingleDefinition EOF ; 
    14301521    public final void entryRuleSingleDefinition() throws RecognitionException { 
    14311522        int entryRuleSingleDefinition_StartIndex = input.index(); 
    14321523        try { 
    1433             if ( state.backtracking>0 && alreadyParsedRule(input, 29) ) { return ; } 
    1434             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:462:1: ( ruleSingleDefinition EOF ) 
    1435             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:463:1: ruleSingleDefinition EOF 
     1524            if ( state.backtracking>0 && alreadyParsedRule(input, 31) ) { return ; } 
     1525            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:490:1: ( ruleSingleDefinition EOF ) 
     1526            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:491:1: ruleSingleDefinition EOF 
    14361527            { 
    14371528            if ( state.backtracking==0 ) { 
    14381529               before(grammarAccess.getSingleDefinitionRule());  
    14391530            } 
    1440             pushFollow(FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition931); 
     1531            pushFollow(FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition991); 
    14411532            ruleSingleDefinition(); 
    14421533 
     
    14461537               after(grammarAccess.getSingleDefinitionRule());  
    14471538            } 
    1448             match(input,EOF,FOLLOW_EOF_in_entryRuleSingleDefinition938); if (state.failed) return ; 
    1449  
    1450             } 
    1451  
    1452         } 
    1453         catch (RecognitionException re) { 
    1454             reportError(re); 
    1455             recover(input,re); 
    1456         } 
    1457         finally { 
    1458             if ( state.backtracking>0 ) { memoize(input, 29, entryRuleSingleDefinition_StartIndex); } 
     1539            match(input,EOF,FOLLOW_EOF_in_entryRuleSingleDefinition998); if (state.failed) return ; 
     1540 
     1541            } 
     1542 
     1543        } 
     1544        catch (RecognitionException re) { 
     1545            reportError(re); 
     1546            recover(input,re); 
     1547        } 
     1548        finally { 
     1549            if ( state.backtracking>0 ) { memoize(input, 31, entryRuleSingleDefinition_StartIndex); } 
    14591550        } 
    14601551        return ; 
     
    14641555 
    14651556    // $ANTLR start "ruleSingleDefinition" 
    1466     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:470:1: ruleSingleDefinition : ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) ; 
     1557    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:498:1: ruleSingleDefinition : ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) ; 
    14671558    public final void ruleSingleDefinition() throws RecognitionException { 
    14681559        int ruleSingleDefinition_StartIndex = input.index(); 
     
    14711562             
    14721563        try { 
    1473             if ( state.backtracking>0 && alreadyParsedRule(input, 30) ) { return ; } 
    1474             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:474:2: ( ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) ) 
    1475             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:475:1: ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) 
    1476             { 
    1477             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:475:1: ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) 
    1478             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:476:1: ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) 
    1479             { 
    1480             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:476:1: ( ( rule__SingleDefinition__TermsAssignment ) ) 
    1481             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:477:1: ( rule__SingleDefinition__TermsAssignment ) 
     1564            if ( state.backtracking>0 && alreadyParsedRule(input, 32) ) { return ; } 
     1565            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:502:2: ( ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) ) 
     1566            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:503:1: ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) 
     1567            { 
     1568            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:503:1: ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) 
     1569            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:504:1: ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) 
     1570            { 
     1571            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:504:1: ( ( rule__SingleDefinition__TermsAssignment ) ) 
     1572            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:505:1: ( rule__SingleDefinition__TermsAssignment ) 
    14821573            { 
    14831574            if ( state.backtracking==0 ) { 
    14841575               before(grammarAccess.getSingleDefinitionAccess().getTermsAssignment());  
    14851576            } 
    1486             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:478:1: ( rule__SingleDefinition__TermsAssignment ) 
    1487             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:478:2: rule__SingleDefinition__TermsAssignment 
    1488             { 
    1489             pushFollow(FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition966); 
     1577            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:506:1: ( rule__SingleDefinition__TermsAssignment ) 
     1578            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:506:2: rule__SingleDefinition__TermsAssignment 
     1579            { 
     1580            pushFollow(FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition1026); 
    14901581            rule__SingleDefinition__TermsAssignment(); 
    14911582 
     
    15011592            } 
    15021593 
    1503             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:481:1: ( ( rule__SingleDefinition__TermsAssignment )* ) 
    1504             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:482:1: ( rule__SingleDefinition__TermsAssignment )* 
     1594            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:509:1: ( ( rule__SingleDefinition__TermsAssignment )* ) 
     1595            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:510:1: ( rule__SingleDefinition__TermsAssignment )* 
    15051596            { 
    15061597            if ( state.backtracking==0 ) { 
    15071598               before(grammarAccess.getSingleDefinitionAccess().getTermsAssignment());  
    15081599            } 
    1509             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:483:1: ( rule__SingleDefinition__TermsAssignment )* 
     1600            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:511:1: ( rule__SingleDefinition__TermsAssignment )* 
    15101601            loop2: 
    15111602            do { 
     
    15381629                switch (alt2) { 
    15391630                case 1 : 
    1540                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:483:2: rule__SingleDefinition__TermsAssignment 
     1631                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:511:2: rule__SingleDefinition__TermsAssignment 
    15411632                    { 
    1542                     pushFollow(FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition978); 
     1633                    pushFollow(FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition1038); 
    15431634                    rule__SingleDefinition__TermsAssignment(); 
    15441635 
     
    15721663        } 
    15731664        finally { 
    1574             if ( state.backtracking>0 ) { memoize(input, 30, ruleSingleDefinition_StartIndex); } 
     1665            if ( state.backtracking>0 ) { memoize(input, 32, ruleSingleDefinition_StartIndex); } 
    15751666 
    15761667                restoreStackSize(stackSize); 
     
    15831674 
    15841675    // $ANTLR start "entryRuleTerm" 
    1585     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:496:1: entryRuleTerm : ruleTerm EOF ; 
     1676    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:524:1: entryRuleTerm : ruleTerm EOF ; 
    15861677    public final void entryRuleTerm() throws RecognitionException { 
    15871678        int entryRuleTerm_StartIndex = input.index(); 
    15881679        try { 
    1589             if ( state.backtracking>0 && alreadyParsedRule(input, 31) ) { return ; } 
    1590             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:497:1: ( ruleTerm EOF ) 
    1591             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:498:1: ruleTerm EOF 
     1680            if ( state.backtracking>0 && alreadyParsedRule(input, 33) ) { return ; } 
     1681            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:525:1: ( ruleTerm EOF ) 
     1682            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:526:1: ruleTerm EOF 
    15921683            { 
    15931684            if ( state.backtracking==0 ) { 
    15941685               before(grammarAccess.getTermRule());  
    15951686            } 
    1596             pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm1008); 
     1687            pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm1068); 
    15971688            ruleTerm(); 
    15981689 
     
    16021693               after(grammarAccess.getTermRule());  
    16031694            } 
    1604             match(input,EOF,FOLLOW_EOF_in_entryRuleTerm1015); if (state.failed) return ; 
    1605  
    1606             } 
    1607  
    1608         } 
    1609         catch (RecognitionException re) { 
    1610             reportError(re); 
    1611             recover(input,re); 
    1612         } 
    1613         finally { 
    1614             if ( state.backtracking>0 ) { memoize(input, 31, entryRuleTerm_StartIndex); } 
     1695            match(input,EOF,FOLLOW_EOF_in_entryRuleTerm1075); if (state.failed) return ; 
     1696 
     1697            } 
     1698 
     1699        } 
     1700        catch (RecognitionException re) { 
     1701            reportError(re); 
     1702            recover(input,re); 
     1703        } 
     1704        finally { 
     1705            if ( state.backtracking>0 ) { memoize(input, 33, entryRuleTerm_StartIndex); } 
    16151706        } 
    16161707        return ; 
     
    16201711 
    16211712    // $ANTLR start "ruleTerm" 
    1622     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:505:1: ruleTerm : ( ( rule__Term__Alternatives ) ) ; 
     1713    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:533:1: ruleTerm : ( ( rule__Term__Alternatives ) ) ; 
    16231714    public final void ruleTerm() throws RecognitionException { 
    16241715        int ruleTerm_StartIndex = input.index(); 
     
    16271718             
    16281719        try { 
    1629             if ( state.backtracking>0 && alreadyParsedRule(input, 32) ) { return ; } 
    1630             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:509:2: ( ( ( rule__Term__Alternatives ) ) ) 
    1631             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:510:1: ( ( rule__Term__Alternatives ) ) 
    1632             { 
    1633             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:510:1: ( ( rule__Term__Alternatives ) ) 
    1634             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:511:1: ( rule__Term__Alternatives ) 
     1720            if ( state.backtracking>0 && alreadyParsedRule(input, 34) ) { return ; } 
     1721            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:537:2: ( ( ( rule__Term__Alternatives ) ) ) 
     1722            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:538:1: ( ( rule__Term__Alternatives ) ) 
     1723            { 
     1724            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:538:1: ( ( rule__Term__Alternatives ) ) 
     1725            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:539:1: ( rule__Term__Alternatives ) 
    16351726            { 
    16361727            if ( state.backtracking==0 ) { 
    16371728               before(grammarAccess.getTermAccess().getAlternatives());  
    16381729            } 
    1639             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:512:1: ( rule__Term__Alternatives ) 
    1640             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:512:2: rule__Term__Alternatives 
    1641             { 
    1642             pushFollow(FOLLOW_rule__Term__Alternatives_in_ruleTerm1041); 
     1730            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:540:1: ( rule__Term__Alternatives ) 
     1731            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:540:2: rule__Term__Alternatives 
     1732            { 
     1733            pushFollow(FOLLOW_rule__Term__Alternatives_in_ruleTerm1101); 
    16431734            rule__Term__Alternatives(); 
    16441735 
     
    16631754        } 
    16641755        finally { 
    1665             if ( state.backtracking>0 ) { memoize(input, 32, ruleTerm_StartIndex); } 
     1756            if ( state.backtracking>0 ) { memoize(input, 34, ruleTerm_StartIndex); } 
    16661757 
    16671758                restoreStackSize(stackSize); 
     
    16741765 
    16751766    // $ANTLR start "entryRuleAtom" 
    1676     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:524:1: entryRuleAtom : ruleAtom EOF ; 
     1767    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:552:1: entryRuleAtom : ruleAtom EOF ; 
    16771768    public final void entryRuleAtom() throws RecognitionException { 
    16781769        int entryRuleAtom_StartIndex = input.index(); 
    16791770        try { 
    1680             if ( state.backtracking>0 && alreadyParsedRule(input, 33) ) { return ; } 
    1681             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:525:1: ( ruleAtom EOF ) 
    1682             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:526:1: ruleAtom EOF 
     1771            if ( state.backtracking>0 && alreadyParsedRule(input, 35) ) { return ; } 
     1772            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:553:1: ( ruleAtom EOF ) 
     1773            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:554:1: ruleAtom EOF 
    16831774            { 
    16841775            if ( state.backtracking==0 ) { 
    16851776               before(grammarAccess.getAtomRule());  
    16861777            } 
    1687             pushFollow(FOLLOW_ruleAtom_in_entryRuleAtom1068); 
     1778            pushFollow(FOLLOW_ruleAtom_in_entryRuleAtom1128); 
    16881779            ruleAtom(); 
    16891780 
     
    16931784               after(grammarAccess.getAtomRule());  
    16941785            } 
    1695             match(input,EOF,FOLLOW_EOF_in_entryRuleAtom1075); if (state.failed) return ; 
    1696  
    1697             } 
    1698  
    1699         } 
    1700         catch (RecognitionException re) { 
    1701             reportError(re); 
    1702             recover(input,re); 
    1703         } 
    1704         finally { 
    1705             if ( state.backtracking>0 ) { memoize(input, 33, entryRuleAtom_StartIndex); } 
     1786            match(input,EOF,FOLLOW_EOF_in_entryRuleAtom1135); if (state.failed) return ; 
     1787 
     1788            } 
     1789 
     1790        } 
     1791        catch (RecognitionException re) { 
     1792            reportError(re); 
     1793            recover(input,re); 
     1794        } 
     1795        finally { 
     1796            if ( state.backtracking>0 ) { memoize(input, 35, entryRuleAtom_StartIndex); } 
    17061797        } 
    17071798        return ; 
     
    17111802 
    17121803    // $ANTLR start "ruleAtom" 
    1713     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:533:1: ruleAtom : ( ( rule__Atom__Alternatives ) ) ; 
     1804    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:561:1: ruleAtom : ( ( rule__Atom__Alternatives ) ) ; 
    17141805    public final void ruleAtom() throws RecognitionException { 
    17151806        int ruleAtom_StartIndex = input.index(); 
     
    17181809             
    17191810        try { 
    1720             if ( state.backtracking>0 && alreadyParsedRule(input, 34) ) { return ; } 
    1721             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:537:2: ( ( ( rule__Atom__Alternatives ) ) ) 
    1722             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:538:1: ( ( rule__Atom__Alternatives ) ) 
    1723             { 
    1724             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:538:1: ( ( rule__Atom__Alternatives ) ) 
    1725             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:539:1: ( rule__Atom__Alternatives ) 
     1811            if ( state.backtracking>0 && alreadyParsedRule(input, 36) ) { return ; } 
     1812            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:565:2: ( ( ( rule__Atom__Alternatives ) ) ) 
     1813            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:566:1: ( ( rule__Atom__Alternatives ) ) 
     1814            { 
     1815            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:566:1: ( ( rule__Atom__Alternatives ) ) 
     1816            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:567:1: ( rule__Atom__Alternatives ) 
    17261817            { 
    17271818            if ( state.backtracking==0 ) { 
    17281819               before(grammarAccess.getAtomAccess().getAlternatives());  
    17291820            } 
    1730             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:540:1: ( rule__Atom__Alternatives ) 
    1731             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:540:2: rule__Atom__Alternatives 
    1732             { 
    1733             pushFollow(FOLLOW_rule__Atom__Alternatives_in_ruleAtom1101); 
     1821            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:568:1: ( rule__Atom__Alternatives ) 
     1822            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:568:2: rule__Atom__Alternatives 
     1823            { 
     1824            pushFollow(FOLLOW_rule__Atom__Alternatives_in_ruleAtom1161); 
    17341825            rule__Atom__Alternatives(); 
    17351826 
     
    17541845        } 
    17551846        finally { 
    1756             if ( state.backtracking>0 ) { memoize(input, 34, ruleAtom_StartIndex); } 
     1847            if ( state.backtracking>0 ) { memoize(input, 36, ruleAtom_StartIndex); } 
    17571848 
    17581849                restoreStackSize(stackSize); 
     
    17651856 
    17661857    // $ANTLR start "entryRuleRuleReference" 
    1767     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:552:1: entryRuleRuleReference : ruleRuleReference EOF ; 
     1858    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:580:1: entryRuleRuleReference : ruleRuleReference EOF ; 
    17681859    public final void entryRuleRuleReference() throws RecognitionException { 
    17691860        int entryRuleRuleReference_StartIndex = input.index(); 
    17701861        try { 
    1771             if ( state.backtracking>0 && alreadyParsedRule(input, 35) ) { return ; } 
    1772             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:553:1: ( ruleRuleReference EOF ) 
    1773             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:554:1: ruleRuleReference EOF 
     1862            if ( state.backtracking>0 && alreadyParsedRule(input, 37) ) { return ; } 
     1863            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:581:1: ( ruleRuleReference EOF ) 
     1864            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:582:1: ruleRuleReference EOF 
    17741865            { 
    17751866            if ( state.backtracking==0 ) { 
    17761867               before(grammarAccess.getRuleReferenceRule());  
    17771868            } 
    1778             pushFollow(FOLLOW_ruleRuleReference_in_entryRuleRuleReference1128); 
     1869            pushFollow(FOLLOW_ruleRuleReference_in_entryRuleRuleReference1188); 
    17791870            ruleRuleReference(); 
    17801871 
     
    17841875               after(grammarAccess.getRuleReferenceRule());  
    17851876            } 
    1786             match(input,EOF,FOLLOW_EOF_in_entryRuleRuleReference1135); if (state.failed) return ; 
    1787  
    1788             } 
    1789  
    1790         } 
    1791         catch (RecognitionException re) { 
    1792             reportError(re); 
    1793             recover(input,re); 
    1794         } 
    1795         finally { 
    1796             if ( state.backtracking>0 ) { memoize(input, 35, entryRuleRuleReference_StartIndex); } 
     1877            match(input,EOF,FOLLOW_EOF_in_entryRuleRuleReference1195); if (state.failed) return ; 
     1878 
     1879            } 
     1880 
     1881        } 
     1882        catch (RecognitionException re) { 
     1883            reportError(re); 
     1884            recover(input,re); 
     1885        } 
     1886        finally { 
     1887            if ( state.backtracking>0 ) { memoize(input, 37, entryRuleRuleReference_StartIndex); } 
    17971888        } 
    17981889        return ; 
     
    18021893 
    18031894    // $ANTLR start "ruleRuleReference" 
    1804     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:561:1: ruleRuleReference : ( ( rule__RuleReference__RulerefAssignment ) ) ; 
     1895    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:589:1: ruleRuleReference : ( ( rule__RuleReference__RulerefAssignment ) ) ; 
    18051896    public final void ruleRuleReference() throws RecognitionException { 
    18061897        int ruleRuleReference_StartIndex = input.index(); 
     
    18091900             
    18101901        try { 
    1811             if ( state.backtracking>0 && alreadyParsedRule(input, 36) ) { return ; } 
    1812             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:565:2: ( ( ( rule__RuleReference__RulerefAssignment ) ) ) 
    1813             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:566:1: ( ( rule__RuleReference__RulerefAssignment ) ) 
    1814             { 
    1815             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:566:1: ( ( rule__RuleReference__RulerefAssignment ) ) 
    1816             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:567:1: ( rule__RuleReference__RulerefAssignment ) 
     1902            if ( state.backtracking>0 && alreadyParsedRule(input, 38) ) { return ; } 
     1903            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:593:2: ( ( ( rule__RuleReference__RulerefAssignment ) ) ) 
     1904            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:594:1: ( ( rule__RuleReference__RulerefAssignment ) ) 
     1905            { 
     1906            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:594:1: ( ( rule__RuleReference__RulerefAssignment ) ) 
     1907            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:595:1: ( rule__RuleReference__RulerefAssignment ) 
    18171908            { 
    18181909            if ( state.backtracking==0 ) { 
    18191910               before(grammarAccess.getRuleReferenceAccess().getRulerefAssignment());  
    18201911            } 
    1821             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:568:1: ( rule__RuleReference__RulerefAssignment ) 
    1822             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:568:2: rule__RuleReference__RulerefAssignment 
    1823             { 
    1824             pushFollow(FOLLOW_rule__RuleReference__RulerefAssignment_in_ruleRuleReference1161); 
     1912            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:596:1: ( rule__RuleReference__RulerefAssignment ) 
     1913            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:596:2: rule__RuleReference__RulerefAssignment 
     1914            { 
     1915            pushFollow(FOLLOW_rule__RuleReference__RulerefAssignment_in_ruleRuleReference1221); 
    18251916            rule__RuleReference__RulerefAssignment(); 
    18261917 
     
    18451936        } 
    18461937        finally { 
    1847             if ( state.backtracking>0 ) { memoize(input, 36, ruleRuleReference_StartIndex); } 
     1938            if ( state.backtracking>0 ) { memoize(input, 38, ruleRuleReference_StartIndex); } 
    18481939 
    18491940                restoreStackSize(stackSize); 
     
    18561947 
    18571948    // $ANTLR start "entryRuleStringRule" 
    1858     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:580:1: entryRuleStringRule : ruleStringRule EOF ; 
     1949    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:608:1: entryRuleStringRule : ruleStringRule EOF ; 
    18591950    public final void entryRuleStringRule() throws RecognitionException { 
    18601951        int entryRuleStringRule_StartIndex = input.index(); 
    18611952        try { 
    1862             if ( state.backtracking>0 && alreadyParsedRule(input, 37) ) { return ; } 
    1863             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:581:1: ( ruleStringRule EOF ) 
    1864             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:582:1: ruleStringRule EOF 
     1953            if ( state.backtracking>0 && alreadyParsedRule(input, 39) ) { return ; } 
     1954            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:609:1: ( ruleStringRule EOF ) 
     1955            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:610:1: ruleStringRule EOF 
    18651956            { 
    18661957            if ( state.backtracking==0 ) { 
    18671958               before(grammarAccess.getStringRuleRule());  
    18681959            } 
    1869             pushFollow(FOLLOW_ruleStringRule_in_entryRuleStringRule1188); 
     1960            pushFollow(FOLLOW_ruleStringRule_in_entryRuleStringRule1248); 
    18701961            ruleStringRule(); 
    18711962 
     
    18751966               after(grammarAccess.getStringRuleRule());  
    18761967            } 
    1877             match(input,EOF,FOLLOW_EOF_in_entryRuleStringRule1195); if (state.failed) return ; 
    1878  
    1879             } 
    1880  
    1881         } 
    1882         catch (RecognitionException re) { 
    1883             reportError(re); 
    1884             recover(input,re); 
    1885         } 
    1886         finally { 
    1887             if ( state.backtracking>0 ) { memoize(input, 37, entryRuleStringRule_StartIndex); } 
     1968            match(input,EOF,FOLLOW_EOF_in_entryRuleStringRule1255); if (state.failed) return ; 
     1969 
     1970            } 
     1971 
     1972        } 
     1973        catch (RecognitionException re) { 
     1974            reportError(re); 
     1975            recover(input,re); 
     1976        } 
     1977        finally { 
     1978            if ( state.backtracking>0 ) { memoize(input, 39, entryRuleStringRule_StartIndex); } 
    18881979        } 
    18891980        return ; 
     
    18931984 
    18941985    // $ANTLR start "ruleStringRule" 
    1895     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:589:1: ruleStringRule : ( ( rule__StringRule__Alternatives ) ) ; 
     1986    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:617:1: ruleStringRule : ( ( rule__StringRule__Alternatives ) ) ; 
    18961987    public final void ruleStringRule() throws RecognitionException { 
    18971988        int ruleStringRule_StartIndex = input.index(); 
     
    19001991             
    19011992        try { 
    1902             if ( state.backtracking>0 && alreadyParsedRule(input, 38) ) { return ; } 
    1903             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:593:2: ( ( ( rule__StringRule__Alternatives ) ) ) 
    1904             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:594:1: ( ( rule__StringRule__Alternatives ) ) 
    1905             { 
    1906             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:594:1: ( ( rule__StringRule__Alternatives ) ) 
    1907             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:595:1: ( rule__StringRule__Alternatives ) 
     1993            if ( state.backtracking>0 && alreadyParsedRule(input, 40) ) { return ; } 
     1994            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:621:2: ( ( ( rule__StringRule__Alternatives ) ) ) 
     1995            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:622:1: ( ( rule__StringRule__Alternatives ) ) 
     1996            { 
     1997            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:622:1: ( ( rule__StringRule__Alternatives ) ) 
     1998            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:623:1: ( rule__StringRule__Alternatives ) 
    19081999            { 
    19092000            if ( state.backtracking==0 ) { 
    19102001               before(grammarAccess.getStringRuleAccess().getAlternatives());  
    19112002            } 
    1912             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:596:1: ( rule__StringRule__Alternatives ) 
    1913             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:596:2: rule__StringRule__Alternatives 
    1914             { 
    1915             pushFollow(FOLLOW_rule__StringRule__Alternatives_in_ruleStringRule1221); 
     2003            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:624:1: ( rule__StringRule__Alternatives ) 
     2004            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:624:2: rule__StringRule__Alternatives 
     2005            { 
     2006            pushFollow(FOLLOW_rule__StringRule__Alternatives_in_ruleStringRule1281); 
    19162007            rule__StringRule__Alternatives(); 
    19172008 
     
    19362027        } 
    19372028        finally { 
    1938             if ( state.backtracking>0 ) { memoize(input, 38, ruleStringRule_StartIndex); } 
     2029            if ( state.backtracking>0 ) { memoize(input, 40, ruleStringRule_StartIndex); } 
    19392030 
    19402031                restoreStackSize(stackSize); 
     
    19472038 
    19482039    // $ANTLR start "entryRuleGroupedSequence" 
    1949     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:608:1: entryRuleGroupedSequence : ruleGroupedSequence EOF ; 
     2040    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:636:1: entryRuleGroupedSequence : ruleGroupedSequence EOF ; 
    19502041    public final void entryRuleGroupedSequence() throws RecognitionException { 
    19512042        int entryRuleGroupedSequence_StartIndex = input.index(); 
    19522043        try { 
    1953             if ( state.backtracking>0 && alreadyParsedRule(input, 39) ) { return ; } 
    1954             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:609:1: ( ruleGroupedSequence EOF ) 
    1955             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:610:1: ruleGroupedSequence EOF 
     2044            if ( state.backtracking>0 && alreadyParsedRule(input, 41) ) { return ; } 
     2045            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:637:1: ( ruleGroupedSequence EOF ) 
     2046            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:638:1: ruleGroupedSequence EOF 
    19562047            { 
    19572048            if ( state.backtracking==0 ) { 
    19582049               before(grammarAccess.getGroupedSequenceRule());  
    19592050            } 
    1960             pushFollow(FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence1248); 
     2051            pushFollow(FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence1308); 
    19612052            ruleGroupedSequence(); 
    19622053 
     
    19662057               after(grammarAccess.getGroupedSequenceRule());  
    19672058            } 
    1968             match(input,EOF,FOLLOW_EOF_in_entryRuleGroupedSequence1255); if (state.failed) return ; 
    1969  
    1970             } 
    1971  
    1972         } 
    1973         catch (RecognitionException re) { 
    1974             reportError(re); 
    1975             recover(input,re); 
    1976         } 
    1977         finally { 
    1978             if ( state.backtracking>0 ) { memoize(input, 39, entryRuleGroupedSequence_StartIndex); } 
     2059            match(input,EOF,FOLLOW_EOF_in_entryRuleGroupedSequence1315); if (state.failed) return ; 
     2060 
     2061            } 
     2062 
     2063        } 
     2064        catch (RecognitionException re) { 
     2065            reportError(re); 
     2066            recover(input,re); 
     2067        } 
     2068        finally { 
     2069            if ( state.backtracking>0 ) { memoize(input, 41, entryRuleGroupedSequence_StartIndex); } 
    19792070        } 
    19802071        return ; 
     
    19842075 
    19852076    // $ANTLR start "ruleGroupedSequence" 
    1986     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:617:1: ruleGroupedSequence : ( ( rule__GroupedSequence__Group__0 ) ) ; 
     2077    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:645:1: ruleGroupedSequence : ( ( rule__GroupedSequence__Group__0 ) ) ; 
    19872078    public final void ruleGroupedSequence() throws RecognitionException { 
    19882079        int ruleGroupedSequence_StartIndex = input.index(); 
     
    19912082             
    19922083        try { 
    1993             if ( state.backtracking>0 && alreadyParsedRule(input, 40) ) { return ; } 
    1994             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:621:2: ( ( ( rule__GroupedSequence__Group__0 ) ) ) 
    1995             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:622:1: ( ( rule__GroupedSequence__Group__0 ) ) 
    1996             { 
    1997             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:622:1: ( ( rule__GroupedSequence__Group__0 ) ) 
    1998             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:623:1: ( rule__GroupedSequence__Group__0 ) 
     2084            if ( state.backtracking>0 && alreadyParsedRule(input, 42) ) { return ; } 
     2085            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:649:2: ( ( ( rule__GroupedSequence__Group__0 ) ) ) 
     2086            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:650:1: ( ( rule__GroupedSequence__Group__0 ) ) 
     2087            { 
     2088            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:650:1: ( ( rule__GroupedSequence__Group__0 ) ) 
     2089            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:651:1: ( rule__GroupedSequence__Group__0 ) 
    19992090            { 
    20002091            if ( state.backtracking==0 ) { 
    20012092               before(grammarAccess.getGroupedSequenceAccess().getGroup());  
    20022093            } 
    2003             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:624:1: ( rule__GroupedSequence__Group__0 ) 
    2004             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:624:2: rule__GroupedSequence__Group__0 
    2005             { 
    2006             pushFollow(FOLLOW_rule__GroupedSequence__Group__0_in_ruleGroupedSequence1281); 
     2094            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:652:1: ( rule__GroupedSequence__Group__0 ) 
     2095            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:652:2: rule__GroupedSequence__Group__0 
     2096            { 
     2097            pushFollow(FOLLOW_rule__GroupedSequence__Group__0_in_ruleGroupedSequence1341); 
    20072098            rule__GroupedSequence__Group__0(); 
    20082099 
     
    20272118        } 
    20282119        finally { 
    2029             if ( state.backtracking>0 ) { memoize(input, 40, ruleGroupedSequence_StartIndex); } 
     2120            if ( state.backtracking>0 ) { memoize(input, 42, ruleGroupedSequence_StartIndex); } 
    20302121 
    20312122                restoreStackSize(stackSize); 
     
    20382129 
    20392130    // $ANTLR start "entryRuleOptionalSequence" 
    2040     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:636:1: entryRuleOptionalSequence : ruleOptionalSequence EOF ; 
     2131    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:664:1: entryRuleOptionalSequence : ruleOptionalSequence EOF ; 
    20412132    public final void entryRuleOptionalSequence() throws RecognitionException { 
    20422133        int entryRuleOptionalSequence_StartIndex = input.index(); 
    20432134        try { 
    2044             if ( state.backtracking>0 && alreadyParsedRule(input, 41) ) { return ; } 
    2045             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:637:1: ( ruleOptionalSequence EOF ) 
    2046             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:638:1: ruleOptionalSequence EOF 
     2135            if ( state.backtracking>0 && alreadyParsedRule(input, 43) ) { return ; } 
     2136            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:665:1: ( ruleOptionalSequence EOF ) 
     2137            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:666:1: ruleOptionalSequence EOF 
    20472138            { 
    20482139            if ( state.backtracking==0 ) { 
    20492140               before(grammarAccess.getOptionalSequenceRule());  
    20502141            } 
    2051             pushFollow(FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence1308); 
     2142            pushFollow(FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence1368); 
    20522143            ruleOptionalSequence(); 
    20532144 
     
    20572148               after(grammarAccess.getOptionalSequenceRule());  
    20582149            } 
    2059             match(input,EOF,FOLLOW_EOF_in_entryRuleOptionalSequence1315); if (state.failed) return ; 
    2060  
    2061             } 
    2062  
    2063         } 
    2064         catch (RecognitionException re) { 
    2065             reportError(re); 
    2066             recover(input,re); 
    2067         } 
    2068         finally { 
    2069             if ( state.backtracking>0 ) { memoize(input, 41, entryRuleOptionalSequence_StartIndex); } 
     2150            match(input,EOF,FOLLOW_EOF_in_entryRuleOptionalSequence1375); if (state.failed) return ; 
     2151 
     2152            } 
     2153 
     2154        } 
     2155        catch (RecognitionException re) { 
     2156            reportError(re); 
     2157            recover(input,re); 
     2158        } 
     2159        finally { 
     2160            if ( state.backtracking>0 ) { memoize(input, 43, entryRuleOptionalSequence_StartIndex); } 
    20702161        } 
    20712162        return ; 
     
    20752166 
    20762167    // $ANTLR start "ruleOptionalSequence" 
    2077     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:645:1: ruleOptionalSequence : ( ( rule__OptionalSequence__Group__0 ) ) ; 
     2168    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:673:1: ruleOptionalSequence : ( ( rule__OptionalSequence__Group__0 ) ) ; 
    20782169    public final void ruleOptionalSequence() throws RecognitionException { 
    20792170        int ruleOptionalSequence_StartIndex = input.index(); 
     
    20822173             
    20832174        try { 
    2084             if ( state.backtracking>0 && alreadyParsedRule(input, 42) ) { return ; } 
    2085             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:649:2: ( ( ( rule__OptionalSequence__Group__0 ) ) ) 
    2086             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:650:1: ( ( rule__OptionalSequence__Group__0 ) ) 
    2087             { 
    2088             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:650:1: ( ( rule__OptionalSequence__Group__0 ) ) 
    2089             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:651:1: ( rule__OptionalSequence__Group__0 ) 
     2175            if ( state.backtracking>0 && alreadyParsedRule(input, 44) ) { return ; } 
     2176            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:677:2: ( ( ( rule__OptionalSequence__Group__0 ) ) ) 
     2177            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:678:1: ( ( rule__OptionalSequence__Group__0 ) ) 
     2178            { 
     2179            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:678:1: ( ( rule__OptionalSequence__Group__0 ) ) 
     2180            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:679:1: ( rule__OptionalSequence__Group__0 ) 
    20902181            { 
    20912182            if ( state.backtracking==0 ) { 
    20922183               before(grammarAccess.getOptionalSequenceAccess().getGroup());  
    20932184            } 
    2094             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:652:1: ( rule__OptionalSequence__Group__0 ) 
    2095             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:652:2: rule__OptionalSequence__Group__0 
    2096             { 
    2097             pushFollow(FOLLOW_rule__OptionalSequence__Group__0_in_ruleOptionalSequence1341); 
     2185            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:680:1: ( rule__OptionalSequence__Group__0 ) 
     2186            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:680:2: rule__OptionalSequence__Group__0 
     2187            { 
     2188            pushFollow(FOLLOW_rule__OptionalSequence__Group__0_in_ruleOptionalSequence1401); 
    20982189            rule__OptionalSequence__Group__0(); 
    20992190 
     
    21182209        } 
    21192210        finally { 
    2120             if ( state.backtracking>0 ) { memoize(input, 42, ruleOptionalSequence_StartIndex); } 
     2211            if ( state.backtracking>0 ) { memoize(input, 44, ruleOptionalSequence_StartIndex); } 
    21212212 
    21222213                restoreStackSize(stackSize); 
     
    21292220 
    21302221    // $ANTLR start "entryRuleRepeatedSequence" 
    2131     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:664:1: entryRuleRepeatedSequence : ruleRepeatedSequence EOF ; 
     2222    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:692:1: entryRuleRepeatedSequence : ruleRepeatedSequence EOF ; 
    21322223    public final void entryRuleRepeatedSequence() throws RecognitionException { 
    21332224        int entryRuleRepeatedSequence_StartIndex = input.index(); 
    21342225        try { 
    2135             if ( state.backtracking>0 && alreadyParsedRule(input, 43) ) { return ; } 
    2136             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:665:1: ( ruleRepeatedSequence EOF ) 
    2137             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:666:1: ruleRepeatedSequence EOF 
     2226            if ( state.backtracking>0 && alreadyParsedRule(input, 45) ) { return ; } 
     2227            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:693:1: ( ruleRepeatedSequence EOF ) 
     2228            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:694:1: ruleRepeatedSequence EOF 
    21382229            { 
    21392230            if ( state.backtracking==0 ) { 
    21402231               before(grammarAccess.getRepeatedSequenceRule());  
    21412232            } 
    2142             pushFollow(FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence1368); 
     2233            pushFollow(FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence1428); 
    21432234            ruleRepeatedSequence(); 
    21442235 
     
    21482239               after(grammarAccess.getRepeatedSequenceRule());  
    21492240            } 
    2150             match(input,EOF,FOLLOW_EOF_in_entryRuleRepeatedSequence1375); if (state.failed) return ; 
    2151  
    2152             } 
    2153  
    2154         } 
    2155         catch (RecognitionException re) { 
    2156             reportError(re); 
    2157             recover(input,re); 
    2158         } 
    2159         finally { 
    2160             if ( state.backtracking>0 ) { memoize(input, 43, entryRuleRepeatedSequence_StartIndex); } 
     2241            match(input,EOF,FOLLOW_EOF_in_entryRuleRepeatedSequence1435); if (state.failed) return ; 
     2242 
     2243            } 
     2244 
     2245        } 
     2246        catch (RecognitionException re) { 
     2247            reportError(re); 
     2248            recover(input,re); 
     2249        } 
     2250        finally { 
     2251            if ( state.backtracking>0 ) { memoize(input, 45, entryRuleRepeatedSequence_StartIndex); } 
    21612252        } 
    21622253        return ; 
     
    21662257 
    21672258    // $ANTLR start "ruleRepeatedSequence" 
    2168     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:673:1: ruleRepeatedSequence : ( ( rule__RepeatedSequence__Group__0 ) ) ; 
     2259    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:701:1: ruleRepeatedSequence : ( ( rule__RepeatedSequence__Group__0 ) ) ; 
    21692260    public final void ruleRepeatedSequence() throws RecognitionException { 
    21702261        int ruleRepeatedSequence_StartIndex = input.index(); 
     
    21732264             
    21742265        try { 
    2175             if ( state.backtracking>0 && alreadyParsedRule(input, 44) ) { return ; } 
    2176             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:677:2: ( ( ( rule__RepeatedSequence__Group__0 ) ) ) 
    2177             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:678:1: ( ( rule__RepeatedSequence__Group__0 ) ) 
    2178             { 
    2179             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:678:1: ( ( rule__RepeatedSequence__Group__0 ) ) 
    2180             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:679:1: ( rule__RepeatedSequence__Group__0 ) 
     2266            if ( state.backtracking>0 && alreadyParsedRule(input, 46) ) { return ; } 
     2267            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:705:2: ( ( ( rule__RepeatedSequence__Group__0 ) ) ) 
     2268            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:706:1: ( ( rule__RepeatedSequence__Group__0 ) ) 
     2269            { 
     2270            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:706:1: ( ( rule__RepeatedSequence__Group__0 ) ) 
     2271            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:707:1: ( rule__RepeatedSequence__Group__0 ) 
    21812272            { 
    21822273            if ( state.backtracking==0 ) { 
    21832274               before(grammarAccess.getRepeatedSequenceAccess().getGroup());  
    21842275            } 
    2185             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:680:1: ( rule__RepeatedSequence__Group__0 ) 
    2186             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:680:2: rule__RepeatedSequence__Group__0 
    2187             { 
    2188             pushFollow(FOLLOW_rule__RepeatedSequence__Group__0_in_ruleRepeatedSequence1401); 
     2276            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:708:1: ( rule__RepeatedSequence__Group__0 ) 
     2277            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:708:2: rule__RepeatedSequence__Group__0 
     2278            { 
     2279            pushFollow(FOLLOW_rule__RepeatedSequence__Group__0_in_ruleRepeatedSequence1461); 
    21892280            rule__RepeatedSequence__Group__0(); 
    21902281 
     
    22092300        } 
    22102301        finally { 
    2211             if ( state.backtracking>0 ) { memoize(input, 44, ruleRepeatedSequence_StartIndex); } 
     2302            if ( state.backtracking>0 ) { memoize(input, 46, ruleRepeatedSequence_StartIndex); } 
    22122303 
    22132304                restoreStackSize(stackSize); 
     
    22202311 
    22212312    // $ANTLR start "entryRuleRepeatRange" 
    2222     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:692:1: entryRuleRepeatRange : ruleRepeatRange EOF ; 
     2313    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:720:1: entryRuleRepeatRange : ruleRepeatRange EOF ; 
    22232314    public final void entryRuleRepeatRange() throws RecognitionException { 
    22242315        int entryRuleRepeatRange_StartIndex = input.index(); 
    22252316        try { 
    2226             if ( state.backtracking>0 && alreadyParsedRule(input, 45) ) { return ; } 
    2227             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:693:1: ( ruleRepeatRange EOF ) 
    2228             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:694:1: ruleRepeatRange EOF 
     2317            if ( state.backtracking>0 && alreadyParsedRule(input, 47) ) { return ; } 
     2318            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:721:1: ( ruleRepeatRange EOF ) 
     2319            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:722:1: ruleRepeatRange EOF 
    22292320            { 
    22302321            if ( state.backtracking==0 ) { 
    22312322               before(grammarAccess.getRepeatRangeRule());  
    22322323            } 
    2233             pushFollow(FOLLOW_ruleRepeatRange_in_entryRuleRepeatRange1428); 
     2324            pushFollow(FOLLOW_ruleRepeatRange_in_entryRuleRepeatRange1488); 
    22342325            ruleRepeatRange(); 
    22352326 
     
    22392330               after(grammarAccess.getRepeatRangeRule());  
    22402331            } 
    2241             match(input,EOF,FOLLOW_EOF_in_entryRuleRepeatRange1435); if (state.failed) return ; 
    2242  
    2243             } 
    2244  
    2245         } 
    2246         catch (RecognitionException re) { 
    2247             reportError(re); 
    2248             recover(input,re); 
    2249         } 
    2250         finally { 
    2251             if ( state.backtracking>0 ) { memoize(input, 45, entryRuleRepeatRange_StartIndex); } 
     2332            match(input,EOF,FOLLOW_EOF_in_entryRuleRepeatRange1495); if (state.failed) return ; 
     2333 
     2334            } 
     2335 
     2336        } 
     2337        catch (RecognitionException re) { 
     2338            reportError(re); 
     2339            recover(input,re); 
     2340        } 
     2341        finally { 
     2342            if ( state.backtracking>0 ) { memoize(input, 47, entryRuleRepeatRange_StartIndex); } 
    22522343        } 
    22532344        return ; 
     
    22572348 
    22582349    // $ANTLR start "ruleRepeatRange" 
    2259     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:701:1: ruleRepeatRange : ( ( rule__RepeatRange__Group__0 ) ) ; 
     2350    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:729:1: ruleRepeatRange : ( ( rule__RepeatRange__Group__0 ) ) ; 
    22602351    public final void ruleRepeatRange() throws RecognitionException { 
    22612352        int ruleRepeatRange_StartIndex = input.index(); 
     
    22642355             
    22652356        try { 
    2266             if ( state.backtracking>0 && alreadyParsedRule(input, 46) ) { return ; } 
    2267             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:705:2: ( ( ( rule__RepeatRange__Group__0 ) ) ) 
    2268             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:706:1: ( ( rule__RepeatRange__Group__0 ) ) 
    2269             { 
    2270             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:706:1: ( ( rule__RepeatRange__Group__0 ) ) 
    2271             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:707:1: ( rule__RepeatRange__Group__0 ) 
     2357            if ( state.backtracking>0 && alreadyParsedRule(input, 48) ) { return ; } 
     2358            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:733:2: ( ( ( rule__RepeatRange__Group__0 ) ) ) 
     2359            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:734:1: ( ( rule__RepeatRange__Group__0 ) ) 
     2360            { 
     2361            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:734:1: ( ( rule__RepeatRange__Group__0 ) ) 
     2362            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:735:1: ( rule__RepeatRange__Group__0 ) 
    22722363            { 
    22732364            if ( state.backtracking==0 ) { 
    22742365               before(grammarAccess.getRepeatRangeAccess().getGroup());  
    22752366            } 
    2276             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:708:1: ( rule__RepeatRange__Group__0 ) 
    2277             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:708:2: rule__RepeatRange__Group__0 
    2278             { 
    2279             pushFollow(FOLLOW_rule__RepeatRange__Group__0_in_ruleRepeatRange1461); 
     2367            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:736:1: ( rule__RepeatRange__Group__0 ) 
     2368            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:736:2: rule__RepeatRange__Group__0 
     2369            { 
     2370            pushFollow(FOLLOW_rule__RepeatRange__Group__0_in_ruleRepeatRange1521); 
    22802371            rule__RepeatRange__Group__0(); 
    22812372 
     
    23002391        } 
    23012392        finally { 
    2302             if ( state.backtracking>0 ) { memoize(input, 46, ruleRepeatRange_StartIndex); } 
     2393            if ( state.backtracking>0 ) { memoize(input, 48, ruleRepeatRange_StartIndex); } 
    23032394 
    23042395                restoreStackSize(stackSize); 
     
    23112402 
    23122403    // $ANTLR start "rule__EtsiBnf__Alternatives" 
    2313     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:720:1: rule__EtsiBnf__Alternatives : ( ( ( rule__EtsiBnf__Group_0__0 ) ) | ( ( rule__EtsiBnf__Group_1__0 ) ) | ( ( rule__EtsiBnf__Group_2__0 ) ) ); 
     2404    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:748:1: rule__EtsiBnf__Alternatives : ( ( ( rule__EtsiBnf__Group_0__0 ) ) | ( ( rule__EtsiBnf__Group_1__0 ) ) | ( ( rule__EtsiBnf__Group_2__0 ) ) ); 
    23142405    public final void rule__EtsiBnf__Alternatives() throws RecognitionException { 
    23152406        int rule__EtsiBnf__Alternatives_StartIndex = input.index(); 
     
    23182409             
    23192410        try { 
    2320             if ( state.backtracking>0 && alreadyParsedRule(input, 47) ) { return ; } 
    2321             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:724:1: ( ( ( rule__EtsiBnf__Group_0__0 ) ) | ( ( rule__EtsiBnf__Group_1__0 ) ) | ( ( rule__EtsiBnf__Group_2__0 ) ) ) 
     2411            if ( state.backtracking>0 && alreadyParsedRule(input, 49) ) { return ; } 
     2412            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:752:1: ( ( ( rule__EtsiBnf__Group_0__0 ) ) | ( ( rule__EtsiBnf__Group_1__0 ) ) | ( ( rule__EtsiBnf__Group_2__0 ) ) ) 
    23222413            int alt3=3; 
    23232414            switch ( input.LA(1) ) { 
     
    23472438            switch (alt3) { 
    23482439                case 1 : 
    2349                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:725:1: ( ( rule__EtsiBnf__Group_0__0 ) ) 
     2440                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:753:1: ( ( rule__EtsiBnf__Group_0__0 ) ) 
    23502441                    { 
    2351                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:725:1: ( ( rule__EtsiBnf__Group_0__0 ) ) 
    2352                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:726:1: ( rule__EtsiBnf__Group_0__0 ) 
     2442                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:753:1: ( ( rule__EtsiBnf__Group_0__0 ) ) 
     2443                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:754:1: ( rule__EtsiBnf__Group_0__0 ) 
    23532444                    { 
    23542445                    if ( state.backtracking==0 ) { 
    23552446                       before(grammarAccess.getEtsiBnfAccess().getGroup_0());  
    23562447                    } 
    2357                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:727:1: ( rule__EtsiBnf__Group_0__0 ) 
    2358                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:727:2: rule__EtsiBnf__Group_0__0 
     2448                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:755:1: ( rule__EtsiBnf__Group_0__0 ) 
     2449                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:755:2: rule__EtsiBnf__Group_0__0 
    23592450                    { 
    2360                     pushFollow(FOLLOW_rule__EtsiBnf__Group_0__0_in_rule__EtsiBnf__Alternatives1497); 
     2451                    pushFollow(FOLLOW_rule__EtsiBnf__Group_0__0_in_rule__EtsiBnf__Alternatives1557); 
    23612452                    rule__EtsiBnf__Group_0__0(); 
    23622453 
     
    23762467                    break; 
    23772468                case 2 : 
    2378                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:731:6: ( ( rule__EtsiBnf__Group_1__0 ) ) 
     2469                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:759:6: ( ( rule__EtsiBnf__Group_1__0 ) ) 
    23792470                    { 
    2380                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:731:6: ( ( rule__EtsiBnf__Group_1__0 ) ) 
    2381                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:732:1: ( rule__EtsiBnf__Group_1__0 ) 
     2471                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:759:6: ( ( rule__EtsiBnf__Group_1__0 ) ) 
     2472                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:760:1: ( rule__EtsiBnf__Group_1__0 ) 
    23822473                    { 
    23832474                    if ( state.backtracking==0 ) { 
    23842475                       before(grammarAccess.getEtsiBnfAccess().getGroup_1());  
    23852476                    } 
    2386                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:733:1: ( rule__EtsiBnf__Group_1__0 ) 
    2387                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:733:2: rule__EtsiBnf__Group_1__0 
     2477                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:761:1: ( rule__EtsiBnf__Group_1__0 ) 
     2478                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:761:2: rule__EtsiBnf__Group_1__0 
    23882479                    { 
    2389                     pushFollow(FOLLOW_rule__EtsiBnf__Group_1__0_in_rule__EtsiBnf__Alternatives1515); 
     2480                    pushFollow(FOLLOW_rule__EtsiBnf__Group_1__0_in_rule__EtsiBnf__Alternatives1575); 
    23902481                    rule__EtsiBnf__Group_1__0(); 
    23912482 
     
    24052496                    break; 
    24062497                case 3 : 
    2407                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:737:6: ( ( rule__EtsiBnf__Group_2__0 ) ) 
     2498                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:765:6: ( ( rule__EtsiBnf__Group_2__0 ) ) 
    24082499                    { 
    2409                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:737:6: ( ( rule__EtsiBnf__Group_2__0 ) ) 
    2410                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:738:1: ( rule__EtsiBnf__Group_2__0 ) 
     2500                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:765:6: ( ( rule__EtsiBnf__Group_2__0 ) ) 
     2501                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:766:1: ( rule__EtsiBnf__Group_2__0 ) 
    24112502                    { 
    24122503                    if ( state.backtracking==0 ) { 
    24132504                       before(grammarAccess.getEtsiBnfAccess().getGroup_2());  
    24142505                    } 
    2415                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:739:1: ( rule__EtsiBnf__Group_2__0 ) 
    2416                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:739:2: rule__EtsiBnf__Group_2__0 
     2506                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:767:1: ( rule__EtsiBnf__Group_2__0 ) 
     2507                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:767:2: rule__EtsiBnf__Group_2__0 
    24172508                    { 
    2418                     pushFollow(FOLLOW_rule__EtsiBnf__Group_2__0_in_rule__EtsiBnf__Alternatives1533); 
     2509                    pushFollow(FOLLOW_rule__EtsiBnf__Group_2__0_in_rule__EtsiBnf__Alternatives1593); 
    24192510                    rule__EtsiBnf__Group_2__0(); 
    24202511 
     
    24412532        } 
    24422533        finally { 
    2443             if ( state.backtracking>0 ) { memoize(input, 47, rule__EtsiBnf__Alternatives_StartIndex); } 
     2534            if ( state.backtracking>0 ) { memoize(input, 49, rule__EtsiBnf__Alternatives_StartIndex); } 
    24442535 
    24452536                restoreStackSize(stackSize); 
     
    24522543 
    24532544    // $ANTLR start "rule__BnfEntry__Alternatives" 
    2454     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:748:1: rule__BnfEntry__Alternatives : ( ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) | ( ( rule__BnfEntry__RuleAssignment_1 ) ) ); 
     2545    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:776:1: rule__BnfEntry__Alternatives : ( ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) | ( ( rule__BnfEntry__RuleAssignment_1 ) ) | ( ( rule__BnfEntry__CommentAssignment_2 ) ) ); 
    24552546    public final void rule__BnfEntry__Alternatives() throws RecognitionException { 
    24562547        int rule__BnfEntry__Alternatives_StartIndex = input.index(); 
     
    24592550             
    24602551        try { 
    2461             if ( state.backtracking>0 && alreadyParsedRule(input, 48) ) { return ; } 
    2462             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:752:1: ( ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) | ( ( rule__BnfEntry__RuleAssignment_1 ) ) ) 
    2463             int alt4=2; 
    2464             int LA4_0 = input.LA(1); 
    2465  
    2466             if ( (LA4_0==RULE_SECTIONHEADER) ) { 
     2552            if ( state.backtracking>0 && alreadyParsedRule(input, 50) ) { return ; } 
     2553            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:780:1: ( ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) | ( ( rule__BnfEntry__RuleAssignment_1 ) ) | ( ( rule__BnfEntry__CommentAssignment_2 ) ) ) 
     2554            int alt4=3; 
     2555            switch ( input.LA(1) ) { 
     2556            case RULE_SECTIONHEADER: 
     2557                { 
    24672558                alt4=1; 
    2468             } 
    2469             else if ( (LA4_0==RULE_ID||LA4_0==RULE_INT) ) { 
     2559                } 
     2560                break; 
     2561            case RULE_ID: 
     2562            case RULE_INT: 
     2563                { 
    24702564                alt4=2; 
    2471             } 
    2472             else { 
     2565                } 
     2566                break; 
     2567            case RULE_ML_COMMENT: 
     2568                { 
     2569                alt4=3; 
     2570                } 
     2571                break; 
     2572            default: 
    24732573                if (state.backtracking>0) {state.failed=true; return ;} 
    24742574                NoViableAltException nvae = 
     
    24772577                throw nvae; 
    24782578            } 
     2579 
    24792580            switch (alt4) { 
    24802581                case 1 : 
    2481                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:753:1: ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) 
     2582                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:781:1: ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) 
    24822583                    { 
    2483                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:753:1: ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) 
    2484                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:754:1: ( rule__BnfEntry__SectionheaderAssignment_0 ) 
     2584                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:781:1: ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) 
     2585                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:782:1: ( rule__BnfEntry__SectionheaderAssignment_0 ) 
    24852586                    { 
    24862587                    if ( state.backtracking==0 ) { 
    24872588                       before(grammarAccess.getBnfEntryAccess().getSectionheaderAssignment_0());  
    24882589                    } 
    2489                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:755:1: ( rule__BnfEntry__SectionheaderAssignment_0 ) 
    2490                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:755:2: rule__BnfEntry__SectionheaderAssignment_0 
     2590                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:783:1: ( rule__BnfEntry__SectionheaderAssignment_0 ) 
     2591                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:783:2: rule__BnfEntry__SectionheaderAssignment_0 
    24912592                    { 
    2492                     pushFollow(FOLLOW_rule__BnfEntry__SectionheaderAssignment_0_in_rule__BnfEntry__Alternatives1566); 
     2593                    pushFollow(FOLLOW_rule__BnfEntry__SectionheaderAssignment_0_in_rule__BnfEntry__Alternatives1626); 
    24932594                    rule__BnfEntry__SectionheaderAssignment_0(); 
    24942595 
     
    25082609                    break; 
    25092610                case 2 : 
    2510                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:759:6: ( ( rule__BnfEntry__RuleAssignment_1 ) ) 
     2611                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:787:6: ( ( rule__BnfEntry__RuleAssignment_1 ) ) 
    25112612                    { 
    2512                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:759:6: ( ( rule__BnfEntry__RuleAssignment_1 ) ) 
    2513                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:760:1: ( rule__BnfEntry__RuleAssignment_1 ) 
     2613                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:787:6: ( ( rule__BnfEntry__RuleAssignment_1 ) ) 
     2614                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:788:1: ( rule__BnfEntry__RuleAssignment_1 ) 
    25142615                    { 
    25152616                    if ( state.backtracking==0 ) { 
    25162617                       before(grammarAccess.getBnfEntryAccess().getRuleAssignment_1());  
    25172618                    } 
    2518                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:761:1: ( rule__BnfEntry__RuleAssignment_1 ) 
    2519                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:761:2: rule__BnfEntry__RuleAssignment_1 
     2619                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:789:1: ( rule__BnfEntry__RuleAssignment_1 ) 
     2620                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:789:2: rule__BnfEntry__RuleAssignment_1 
    25202621                    { 
    2521                     pushFollow(FOLLOW_rule__BnfEntry__RuleAssignment_1_in_rule__BnfEntry__Alternatives1584); 
     2622                    pushFollow(FOLLOW_rule__BnfEntry__RuleAssignment_1_in_rule__BnfEntry__Alternatives1644); 
    25222623                    rule__BnfEntry__RuleAssignment_1(); 
    25232624 
     
    25362637                    } 
    25372638                    break; 
    2538  
    2539             } 
    2540         } 
    2541         catch (RecognitionException re) { 
    2542             reportError(re); 
    2543             recover(input,re); 
    2544         } 
    2545         finally { 
    2546             if ( state.backtracking>0 ) { memoize(input, 48, rule__BnfEntry__Alternatives_StartIndex); } 
     2639                case 3 : 
     2640                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:793:6: ( ( rule__BnfEntry__CommentAssignment_2 ) ) 
     2641                    { 
     2642                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:793:6: ( ( rule__BnfEntry__CommentAssignment_2 ) ) 
     2643                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:794:1: ( rule__BnfEntry__CommentAssignment_2 ) 
     2644                    { 
     2645                    if ( state.backtracking==0 ) { 
     2646                       before(grammarAccess.getBnfEntryAccess().getCommentAssignment_2());  
     2647                    } 
     2648                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:795:1: ( rule__BnfEntry__CommentAssignment_2 ) 
     2649                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:795:2: rule__BnfEntry__CommentAssignment_2 
     2650                    { 
     2651                    pushFollow(FOLLOW_rule__BnfEntry__CommentAssignment_2_in_rule__BnfEntry__Alternatives1662); 
     2652                    rule__BnfEntry__CommentAssignment_2(); 
     2653 
     2654                    state._fsp--; 
     2655                    if (state.failed) return ; 
     2656 
     2657                    } 
     2658 
     2659                    if ( state.backtracking==0 ) { 
     2660                       after(grammarAccess.getBnfEntryAccess().getCommentAssignment_2());  
     2661                    } 
     2662 
     2663                    } 
     2664 
     2665 
     2666                    } 
     2667                    break; 
     2668 
     2669            } 
     2670        } 
     2671        catch (RecognitionException re) { 
     2672            reportError(re); 
     2673            recover(input,re); 
     2674        } 
     2675        finally { 
     2676            if ( state.backtracking>0 ) { memoize(input, 50, rule__BnfEntry__Alternatives_StartIndex); } 
    25472677 
    25482678                restoreStackSize(stackSize); 
     
    25552685 
    25562686    // $ANTLR start "rule__DeltaEntry__Alternatives" 
    2557     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:770:1: rule__DeltaEntry__Alternatives : ( ( ( rule__DeltaEntry__RuleAssignment_0 ) ) | ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) | ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) ); 
     2687    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:804:1: rule__DeltaEntry__Alternatives : ( ( ( rule__DeltaEntry__RuleAssignment_0 ) ) | ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) | ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) ); 
    25582688    public final void rule__DeltaEntry__Alternatives() throws RecognitionException { 
    25592689        int rule__DeltaEntry__Alternatives_StartIndex = input.index(); 
     
    25622692             
    25632693        try { 
    2564             if ( state.backtracking>0 && alreadyParsedRule(input, 49) ) { return ; } 
    2565             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:774:1: ( ( ( rule__DeltaEntry__RuleAssignment_0 ) ) | ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) | ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) ) 
     2694            if ( state.backtracking>0 && alreadyParsedRule(input, 51) ) { return ; } 
     2695            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:808:1: ( ( ( rule__DeltaEntry__RuleAssignment_0 ) ) | ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) | ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) ) 
    25662696            int alt5=3; 
    25672697            switch ( input.LA(1) ) { 
     
    26802810            switch (alt5) { 
    26812811                case 1 : 
    2682                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:775:1: ( ( rule__DeltaEntry__RuleAssignment_0 ) ) 
     2812                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:809:1: ( ( rule__DeltaEntry__RuleAssignment_0 ) ) 
    26832813                    { 
    2684                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:775:1: ( ( rule__DeltaEntry__RuleAssignment_0 ) ) 
    2685                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:776:1: ( rule__DeltaEntry__RuleAssignment_0 ) 
     2814                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:809:1: ( ( rule__DeltaEntry__RuleAssignment_0 ) ) 
     2815                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:810:1: ( rule__DeltaEntry__RuleAssignment_0 ) 
    26862816                    { 
    26872817                    if ( state.backtracking==0 ) { 
    26882818                       before(grammarAccess.getDeltaEntryAccess().getRuleAssignment_0());  
    26892819                    } 
    2690                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:777:1: ( rule__DeltaEntry__RuleAssignment_0 ) 
    2691                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:777:2: rule__DeltaEntry__RuleAssignment_0 
     2820                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:811:1: ( rule__DeltaEntry__RuleAssignment_0 ) 
     2821                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:811:2: rule__DeltaEntry__RuleAssignment_0 
    26922822                    { 
    2693                     pushFollow(FOLLOW_rule__DeltaEntry__RuleAssignment_0_in_rule__DeltaEntry__Alternatives1617); 
     2823                    pushFollow(FOLLOW_rule__DeltaEntry__RuleAssignment_0_in_rule__DeltaEntry__Alternatives1695); 
    26942824                    rule__DeltaEntry__RuleAssignment_0(); 
    26952825 
     
    27092839                    break; 
    27102840                case 2 : 
    2711                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:781:6: ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) 
     2841                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:815:6: ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) 
    27122842                    { 
    2713                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:781:6: ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) 
    2714                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:782:1: ( rule__DeltaEntry__SectionheaderAssignment_1 ) 
     2843                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:815:6: ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) 
     2844                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:816:1: ( rule__DeltaEntry__SectionheaderAssignment_1 ) 
    27152845                    { 
    27162846                    if ( state.backtracking==0 ) { 
    27172847                       before(grammarAccess.getDeltaEntryAccess().getSectionheaderAssignment_1());  
    27182848                    } 
    2719                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:783:1: ( rule__DeltaEntry__SectionheaderAssignment_1 ) 
    2720                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:783:2: rule__DeltaEntry__SectionheaderAssignment_1 
     2849                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:817:1: ( rule__DeltaEntry__SectionheaderAssignment_1 ) 
     2850                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:817:2: rule__DeltaEntry__SectionheaderAssignment_1 
    27212851                    { 
    2722                     pushFollow(FOLLOW_rule__DeltaEntry__SectionheaderAssignment_1_in_rule__DeltaEntry__Alternatives1635); 
     2852                    pushFollow(FOLLOW_rule__DeltaEntry__SectionheaderAssignment_1_in_rule__DeltaEntry__Alternatives1713); 
    27232853                    rule__DeltaEntry__SectionheaderAssignment_1(); 
    27242854 
     
    27382868                    break; 
    27392869                case 3 : 
    2740                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:787:6: ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) 
     2870                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:821:6: ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) 
    27412871                    { 
    2742                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:787:6: ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) 
    2743                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:788:1: ( rule__DeltaEntry__ExtRuleAssignment_2 ) 
     2872                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:821:6: ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) 
     2873                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:822:1: ( rule__DeltaEntry__ExtRuleAssignment_2 ) 
    27442874                    { 
    27452875                    if ( state.backtracking==0 ) { 
    27462876                       before(grammarAccess.getDeltaEntryAccess().getExtRuleAssignment_2());  
    27472877                    } 
    2748                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:789:1: ( rule__DeltaEntry__ExtRuleAssignment_2 ) 
    2749                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:789:2: rule__DeltaEntry__ExtRuleAssignment_2 
     2878                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:823:1: ( rule__DeltaEntry__ExtRuleAssignment_2 ) 
     2879                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:823:2: rule__DeltaEntry__ExtRuleAssignment_2 
    27502880                    { 
    2751                     pushFollow(FOLLOW_rule__DeltaEntry__ExtRuleAssignment_2_in_rule__DeltaEntry__Alternatives1653); 
     2881                    pushFollow(FOLLOW_rule__DeltaEntry__ExtRuleAssignment_2_in_rule__DeltaEntry__Alternatives1731); 
    27522882                    rule__DeltaEntry__ExtRuleAssignment_2(); 
    27532883 
     
    27742904        } 
    27752905        finally { 
    2776             if ( state.backtracking>0 ) { memoize(input, 49, rule__DeltaEntry__Alternatives_StartIndex); } 
     2906            if ( state.backtracking>0 ) { memoize(input, 51, rule__DeltaEntry__Alternatives_StartIndex); } 
    27772907 
    27782908                restoreStackSize(stackSize); 
     
    27852915 
    27862916    // $ANTLR start "rule__MergeEntry__Alternatives" 
    2787     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:798:1: rule__MergeEntry__Alternatives : ( ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) | ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) ); 
     2917    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:832:1: rule__MergeEntry__Alternatives : ( ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) | ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) ); 
    27882918    public final void rule__MergeEntry__Alternatives() throws RecognitionException { 
    27892919        int rule__MergeEntry__Alternatives_StartIndex = input.index(); 
     
    27922922             
    27932923        try { 
    2794             if ( state.backtracking>0 && alreadyParsedRule(input, 50) ) { return ; } 
    2795             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:802:1: ( ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) | ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) ) 
     2924            if ( state.backtracking>0 && alreadyParsedRule(input, 52) ) { return ; } 
     2925            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:836:1: ( ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) | ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) ) 
    27962926            int alt6=2; 
    27972927            int LA6_0 = input.LA(1); 
     
    28122942            switch (alt6) { 
    28132943                case 1 : 
    2814                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:803:1: ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) 
     2944                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:837:1: ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) 
    28152945                    { 
    2816                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:803:1: ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) 
    2817                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:804:1: ( rule__MergeEntry__SectionheaderAssignment_0 ) 
     2946                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:837:1: ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) 
     2947                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:838:1: ( rule__MergeEntry__SectionheaderAssignment_0 ) 
    28182948                    { 
    28192949                    if ( state.backtracking==0 ) { 
    28202950                       before(grammarAccess.getMergeEntryAccess().getSectionheaderAssignment_0());  
    28212951                    } 
    2822                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:805:1: ( rule__MergeEntry__SectionheaderAssignment_0 ) 
    2823                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:805:2: rule__MergeEntry__SectionheaderAssignment_0 
     2952                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:839:1: ( rule__MergeEntry__SectionheaderAssignment_0 ) 
     2953                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:839:2: rule__MergeEntry__SectionheaderAssignment_0 
    28242954                    { 
    2825                     pushFollow(FOLLOW_rule__MergeEntry__SectionheaderAssignment_0_in_rule__MergeEntry__Alternatives1686); 
     2955                    pushFollow(FOLLOW_rule__MergeEntry__SectionheaderAssignment_0_in_rule__MergeEntry__Alternatives1764); 
    28262956                    rule__MergeEntry__SectionheaderAssignment_0(); 
    28272957 
     
    28412971                    break; 
    28422972                case 2 : 
    2843                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:809:6: ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) 
     2973                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:843:6: ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) 
    28442974                    { 
    2845                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:809:6: ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) 
    2846                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:810:1: ( rule__MergeEntry__MergeRuleAssignment_1 ) 
     2975                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:843:6: ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) 
     2976                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:844:1: ( rule__MergeEntry__MergeRuleAssignment_1 ) 
    28472977                    { 
    28482978                    if ( state.backtracking==0 ) { 
    28492979                       before(grammarAccess.getMergeEntryAccess().getMergeRuleAssignment_1());  
    28502980                    } 
    2851                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:811:1: ( rule__MergeEntry__MergeRuleAssignment_1 ) 
    2852                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:811:2: rule__MergeEntry__MergeRuleAssignment_1 
     2981                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:845:1: ( rule__MergeEntry__MergeRuleAssignment_1 ) 
     2982                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:845:2: rule__MergeEntry__MergeRuleAssignment_1 
    28532983                    { 
    2854                     pushFollow(FOLLOW_rule__MergeEntry__MergeRuleAssignment_1_in_rule__MergeEntry__Alternatives1704); 
     2984                    pushFollow(FOLLOW_rule__MergeEntry__MergeRuleAssignment_1_in_rule__MergeEntry__Alternatives1782); 
    28552985                    rule__MergeEntry__MergeRuleAssignment_1(); 
    28562986 
     
    28773007        } 
    28783008        finally { 
    2879             if ( state.backtracking>0 ) { memoize(input, 50, rule__MergeEntry__Alternatives_StartIndex); } 
     3009            if ( state.backtracking>0 ) { memoize(input, 52, rule__MergeEntry__Alternatives_StartIndex); } 
    28803010 
    28813011                restoreStackSize(stackSize); 
     
    28883018 
    28893019    // $ANTLR start "rule__Import__Alternatives_2_1" 
    2890     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:820:1: rule__Import__Alternatives_2_1 : ( ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) ); 
     3020    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:854:1: rule__Import__Alternatives_2_1 : ( ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) ); 
    28913021    public final void rule__Import__Alternatives_2_1() throws RecognitionException { 
    28923022        int rule__Import__Alternatives_2_1_StartIndex = input.index(); 
     
    28953025             
    28963026        try { 
    2897             if ( state.backtracking>0 && alreadyParsedRule(input, 51) ) { return ; } 
    2898             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:824:1: ( ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) ) 
     3027            if ( state.backtracking>0 && alreadyParsedRule(input, 53) ) { return ; } 
     3028            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:858:1: ( ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) ) 
    28993029            int alt7=3; 
    29003030            switch ( input.LA(1) ) { 
     
    29243054            switch (alt7) { 
    29253055                case 1 : 
    2926                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:825:1: ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) 
     3056                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:859:1: ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) 
    29273057                    { 
    2928                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:825:1: ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) 
    2929                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:826:1: ( rule__Import__GrammarTypeAssignment_2_1_0 ) 
     3058                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:859:1: ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) 
     3059                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:860:1: ( rule__Import__GrammarTypeAssignment_2_1_0 ) 
    29303060                    { 
    29313061                    if ( state.backtracking==0 ) { 
    29323062                       before(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_0());  
    29333063                    } 
    2934                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:827:1: ( rule__Import__GrammarTypeAssignment_2_1_0 ) 
    2935                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:827:2: rule__Import__GrammarTypeAssignment_2_1_0 
     3064                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:861:1: ( rule__Import__GrammarTypeAssignment_2_1_0 ) 
     3065                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:861:2: rule__Import__GrammarTypeAssignment_2_1_0 
    29363066                    { 
    2937                     pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_0_in_rule__Import__Alternatives_2_11737); 
     3067                    pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_0_in_rule__Import__Alternatives_2_11815); 
    29383068                    rule__Import__GrammarTypeAssignment_2_1_0(); 
    29393069 
     
    29533083                    break; 
    29543084                case 2 : 
    2955                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:831:6: ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) 
     3085                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:865:6: ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) 
    29563086                    { 
    2957                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:831:6: ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) 
    2958                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:832:1: ( rule__Import__GrammarTypeAssignment_2_1_1 ) 
     3087                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:865:6: ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) 
     3088                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:866:1: ( rule__Import__GrammarTypeAssignment_2_1_1 ) 
    29593089                    { 
    29603090                    if ( state.backtracking==0 ) { 
    29613091                       before(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_1());  
    29623092                    } 
    2963                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:833:1: ( rule__Import__GrammarTypeAssignment_2_1_1 ) 
    2964                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:833:2: rule__Import__GrammarTypeAssignment_2_1_1 
     3093                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:867:1: ( rule__Import__GrammarTypeAssignment_2_1_1 ) 
     3094                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:867:2: rule__Import__GrammarTypeAssignment_2_1_1 
    29653095                    { 
    2966                     pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_1_in_rule__Import__Alternatives_2_11755); 
     3096                    pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_1_in_rule__Import__Alternatives_2_11833); 
    29673097                    rule__Import__GrammarTypeAssignment_2_1_1(); 
    29683098 
     
    29823112                    break; 
    29833113                case 3 : 
    2984                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:837:6: ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) 
     3114                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:871:6: ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) 
    29853115                    { 
    2986                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:837:6: ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) 
    2987                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:838:1: ( rule__Import__GrammarTypeAssignment_2_1_2 ) 
     3116                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:871:6: ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) 
     3117                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:872:1: ( rule__Import__GrammarTypeAssignment_2_1_2 ) 
    29883118                    { 
    29893119                    if ( state.backtracking==0 ) { 
    29903120                       before(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_2());  
    29913121                    } 
    2992                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:839:1: ( rule__Import__GrammarTypeAssignment_2_1_2 ) 
    2993                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:839:2: rule__Import__GrammarTypeAssignment_2_1_2 
     3122                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:873:1: ( rule__Import__GrammarTypeAssignment_2_1_2 ) 
     3123                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:873:2: rule__Import__GrammarTypeAssignment_2_1_2 
    29943124                    { 
    2995                     pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_2_in_rule__Import__Alternatives_2_11773); 
     3125                    pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_2_in_rule__Import__Alternatives_2_11851); 
    29963126                    rule__Import__GrammarTypeAssignment_2_1_2(); 
    29973127 
     
    30183148        } 
    30193149        finally { 
    3020             if ( state.backtracking>0 ) { memoize(input, 51, rule__Import__Alternatives_2_1_StartIndex); } 
     3150            if ( state.backtracking>0 ) { memoize(input, 53, rule__Import__Alternatives_2_1_StartIndex); } 
    30213151 
    30223152                restoreStackSize(stackSize); 
     
    30293159 
    30303160    // $ANTLR start "rule__ExtRule__Alternatives_4" 
    3031     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:848:1: rule__ExtRule__Alternatives_4 : ( ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) | ( ')' ) | ( ']' ) | ( '}' ) | ( '|' ) | ( '(' ) | ( '[' ) | ( '{' ) | ( '*' ) | ( '+' ) ); 
     3161    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:882:1: rule__ExtRule__Alternatives_4 : ( ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) | ( ')' ) | ( ']' ) | ( '}' ) | ( '|' ) | ( '(' ) | ( '[' ) | ( '{' ) | ( '*' ) | ( '+' ) ); 
    30323162    public final void rule__ExtRule__Alternatives_4() throws RecognitionException { 
    30333163        int rule__ExtRule__Alternatives_4_StartIndex = input.index(); 
     
    30363166             
    30373167        try { 
    3038             if ( state.backtracking>0 && alreadyParsedRule(input, 52) ) { return ; } 
    3039             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:852:1: ( ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) | ( ')' ) | ( ']' ) | ( '}' ) | ( '|' ) | ( '(' ) | ( '[' ) | ( '{' ) | ( '*' ) | ( '+' ) ) 
     3168            if ( state.backtracking>0 && alreadyParsedRule(input, 54) ) { return ; } 
     3169            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:886:1: ( ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) | ( ')' ) | ( ']' ) | ( '}' ) | ( '|' ) | ( '(' ) | ( '[' ) | ( '{' ) | ( '*' ) | ( '+' ) ) 
    30403170            int alt8=10; 
    30413171            switch ( input.LA(1) ) { 
     
    31023232            switch (alt8) { 
    31033233                case 1 : 
    3104                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:853:1: ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) 
     3234                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:887:1: ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) 
    31053235                    { 
    3106                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:853:1: ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) 
    3107                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:854:1: ( rule__ExtRule__ElementsAssignment_4_0 ) 
     3236                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:887:1: ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) 
     3237                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:888:1: ( rule__ExtRule__ElementsAssignment_4_0 ) 
    31083238                    { 
    31093239                    if ( state.backtracking==0 ) { 
    31103240                       before(grammarAccess.getExtRuleAccess().getElementsAssignment_4_0());  
    31113241                    } 
    3112                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:855:1: ( rule__ExtRule__ElementsAssignment_4_0 ) 
    3113                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:855:2: rule__ExtRule__ElementsAssignment_4_0 
     3242                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:889:1: ( rule__ExtRule__ElementsAssignment_4_0 ) 
     3243                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:889:2: rule__ExtRule__ElementsAssignment_4_0 
    31143244                    { 
    3115                     pushFollow(FOLLOW_rule__ExtRule__ElementsAssignment_4_0_in_rule__ExtRule__Alternatives_41806); 
     3245                    pushFollow(FOLLOW_rule__ExtRule__ElementsAssignment_4_0_in_rule__ExtRule__Alternatives_41884); 
    31163246                    rule__ExtRule__ElementsAssignment_4_0(); 
    31173247 
     
    31313261                    break; 
    31323262                case 2 : 
    3133                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:859:6: ( ')' ) 
     3263                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:893:6: ( ')' ) 
    31343264                    { 
    3135                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:859:6: ( ')' ) 
    3136                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:860:1: ')' 
     3265                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:893:6: ( ')' ) 
     3266                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:894:1: ')' 
    31373267                    { 
    31383268                    if ( state.backtracking==0 ) { 
    31393269                       before(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_4_1());  
    31403270                    } 
    3141                     match(input,13,FOLLOW_13_in_rule__ExtRule__Alternatives_41825); if (state.failed) return ; 
     3271                    match(input,13,FOLLOW_13_in_rule__ExtRule__Alternatives_41903); if (state.failed) return ; 
    31423272                    if ( state.backtracking==0 ) { 
    31433273                       after(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_4_1());  
     
    31503280                    break; 
    31513281                case 3 : 
    3152                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:867:6: ( ']' ) 
     3282                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:901:6: ( ']' ) 
    31533283                    { 
    3154                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:867:6: ( ']' ) 
    3155                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:868:1: ']' 
     3284                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:901:6: ( ']' ) 
     3285                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:902:1: ']' 
    31563286                    { 
    31573287                    if ( state.backtracking==0 ) { 
    31583288                       before(grammarAccess.getExtRuleAccess().getRightSquareBracketKeyword_4_2());  
    31593289                    } 
    3160                     match(input,14,FOLLOW_14_in_rule__ExtRule__Alternatives_41845); if (state.failed) return ; 
     3290                    match(input,14,FOLLOW_14_in_rule__ExtRule__Alternatives_41923); if (state.failed) return ; 
    31613291                    if ( state.backtracking==0 ) { 
    31623292                       after(grammarAccess.getExtRuleAccess().getRightSquareBracketKeyword_4_2());  
     
    31693299                    break; 
    31703300                case 4 : 
    3171                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:875:6: ( '}' ) 
     3301                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:909:6: ( '}' ) 
    31723302                    { 
    3173                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:875:6: ( '}' ) 
    3174                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:876:1: '}' 
     3303                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:909:6: ( '}' ) 
     3304                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:910:1: '}' 
    31753305                    { 
    31763306                    if ( state.backtracking==0 ) { 
    31773307                       before(grammarAccess.getExtRuleAccess().getRightCurlyBracketKeyword_4_3());  
    31783308                    } 
    3179                     match(input,15,FOLLOW_15_in_rule__ExtRule__Alternatives_41865); if (state.failed) return ; 
     3309                    match(input,15,FOLLOW_15_in_rule__ExtRule__Alternatives_41943); if (state.failed) return ; 
    31803310                    if ( state.backtracking==0 ) { 
    31813311                       after(grammarAccess.getExtRuleAccess().getRightCurlyBracketKeyword_4_3());  
     
    31883318                    break; 
    31893319                case 5 : 
    3190                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:883:6: ( '|' ) 
     3320                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:917:6: ( '|' ) 
    31913321                    { 
    3192                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:883:6: ( '|' ) 
    3193                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:884:1: '|' 
     3322                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:917:6: ( '|' ) 
     3323                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:918:1: '|' 
    31943324                    { 
    31953325                    if ( state.backtracking==0 ) { 
    31963326                       before(grammarAccess.getExtRuleAccess().getVerticalLineKeyword_4_4());  
    31973327                    } 
    3198                     match(input,16,FOLLOW_16_in_rule__ExtRule__Alternatives_41885); if (state.failed) return ; 
     3328                    match(input,16,FOLLOW_16_in_rule__ExtRule__Alternatives_41963); if (state.failed) return ; 
    31993329                    if ( state.backtracking==0 ) { 
    32003330                       after(grammarAccess.getExtRuleAccess().getVerticalLineKeyword_4_4());  
     
    32073337                    break; 
    32083338                case 6 : 
    3209                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:891:6: ( '(' ) 
     3339                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:925:6: ( '(' ) 
    32103340                    { 
    3211                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:891:6: ( '(' ) 
    3212                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:892:1: '(' 
     3341                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:925:6: ( '(' ) 
     3342                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:926:1: '(' 
    32133343                    { 
    32143344                    if ( state.backtracking==0 ) { 
    32153345                       before(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_4_5());  
    32163346                    } 
    3217                     match(input,17,FOLLOW_17_in_rule__ExtRule__Alternatives_41905); if (state.failed) return ; 
     3347                    match(input,17,FOLLOW_17_in_rule__ExtRule__Alternatives_41983); if (state.failed) return ; 
    32183348                    if ( state.backtracking==0 ) { 
    32193349                       after(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_4_5());  
     
    32263356                    break; 
    32273357                case 7 : 
    3228                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:899:6: ( '[' ) 
     3358                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:933:6: ( '[' ) 
    32293359                    { 
    3230                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:899:6: ( '[' ) 
    3231                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:900:1: '[' 
     3360                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:933:6: ( '[' ) 
     3361                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:934:1: '[' 
    32323362                    { 
    32333363                    if ( state.backtracking==0 ) { 
    32343364                       before(grammarAccess.getExtRuleAccess().getLeftSquareBracketKeyword_4_6());  
    32353365                    } 
    3236                     match(input,18,FOLLOW_18_in_rule__ExtRule__Alternatives_41925); if (state.failed) return ; 
     3366                    match(input,18,FOLLOW_18_in_rule__ExtRule__Alternatives_42003); if (state.failed) return ; 
    32373367                    if ( state.backtracking==0 ) { 
    32383368                       after(grammarAccess.getExtRuleAccess().getLeftSquareBracketKeyword_4_6());  
     
    32453375                    break; 
    32463376                case 8 : 
    3247                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:907:6: ( '{' ) 
     3377                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:941:6: ( '{' ) 
    32483378                    { 
    3249                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:907:6: ( '{' ) 
    3250                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:908:1: '{' 
     3379                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:941:6: ( '{' ) 
     3380                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:942:1: '{' 
    32513381                    { 
    32523382                    if ( state.backtracking==0 ) { 
    32533383                       before(grammarAccess.getExtRuleAccess().getLeftCurlyBracketKeyword_4_7());  
    32543384                    } 
    3255                     match(input,19,FOLLOW_19_in_rule__ExtRule__Alternatives_41945); if (state.failed) return ; 
     3385                    match(input,19,FOLLOW_19_in_rule__ExtRule__Alternatives_42023); if (state.failed) return ; 
    32563386                    if ( state.backtracking==0 ) { 
    32573387                       after(grammarAccess.getExtRuleAccess().getLeftCurlyBracketKeyword_4_7());  
     
    32643394                    break; 
    32653395                case 9 : 
    3266                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:915:6: ( '*' ) 
     3396                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:949:6: ( '*' ) 
    32673397                    { 
    3268                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:915:6: ( '*' ) 
    3269                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:916:1: '*' 
     3398                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:949:6: ( '*' ) 
     3399                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:950:1: '*' 
    32703400                    { 
    32713401                    if ( state.backtracking==0 ) { 
    32723402                       before(grammarAccess.getExtRuleAccess().getAsteriskKeyword_4_8());  
    32733403                    } 
    3274                     match(input,20,FOLLOW_20_in_rule__ExtRule__Alternatives_41965); if (state.failed) return ; 
     3404                    match(input,20,FOLLOW_20_in_rule__ExtRule__Alternatives_42043); if (state.failed) return ; 
    32753405                    if ( state.backtracking==0 ) { 
    32763406                       after(grammarAccess.getExtRuleAccess().getAsteriskKeyword_4_8());  
     
    32833413                    break; 
    32843414                case 10 : 
    3285                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:923:6: ( '+' ) 
     3415                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:957:6: ( '+' ) 
    32863416                    { 
    3287                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:923:6: ( '+' ) 
    3288                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:924:1: '+' 
     3417                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:957:6: ( '+' ) 
     3418                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:958:1: '+' 
    32893419                    { 
    32903420                    if ( state.backtracking==0 ) { 
    32913421                       before(grammarAccess.getExtRuleAccess().getPlusSignKeyword_4_9());  
    32923422                    } 
    3293                     match(input,21,FOLLOW_21_in_rule__ExtRule__Alternatives_41985); if (state.failed) return ; 
     3423                    match(input,21,FOLLOW_21_in_rule__ExtRule__Alternatives_42063); if (state.failed) return ; 
    32943424                    if ( state.backtracking==0 ) { 
    32953425                       after(grammarAccess.getExtRuleAccess().getPlusSignKeyword_4_9());  
     
    33093439        } 
    33103440        finally { 
    3311             if ( state.backtracking>0 ) { memoize(input, 52, rule__ExtRule__Alternatives_4_StartIndex); } 
     3441            if ( state.backtracking>0 ) { memoize(input, 54, rule__ExtRule__Alternatives_4_StartIndex); } 
    33123442 
    33133443                restoreStackSize(stackSize); 
     
    33203450 
    33213451    // $ANTLR start "rule__MergeRule__Alternatives" 
    3322     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:936:1: rule__MergeRule__Alternatives : ( ( ruleGlobalCombinator ) | ( ruleRuleCombinator ) | ( ruleHookCombinator ) ); 
     3452    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:970:1: rule__MergeRule__Alternatives : ( ( ruleGlobalCombinator ) | ( ruleRuleCombinator ) | ( ruleHookCombinator ) ); 
    33233453    public final void rule__MergeRule__Alternatives() throws RecognitionException { 
    33243454        int rule__MergeRule__Alternatives_StartIndex = input.index(); 
     
    33273457             
    33283458        try { 
    3329             if ( state.backtracking>0 && alreadyParsedRule(input, 53) ) { return ; } 
    3330             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:940:1: ( ( ruleGlobalCombinator ) | ( ruleRuleCombinator ) | ( ruleHookCombinator ) ) 
     3459            if ( state.backtracking>0 && alreadyParsedRule(input, 55) ) { return ; } 
     3460            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:974:1: ( ( ruleGlobalCombinator ) | ( ruleRuleCombinator ) | ( ruleHookCombinator ) ) 
    33313461            int alt9=3; 
    33323462            switch ( input.LA(1) ) { 
     
    33563486            switch (alt9) { 
    33573487                case 1 : 
    3358                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:941:1: ( ruleGlobalCombinator ) 
     3488                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:975:1: ( ruleGlobalCombinator ) 
    33593489                    { 
    3360                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:941:1: ( ruleGlobalCombinator ) 
    3361                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:942:1: ruleGlobalCombinator 
     3490                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:975:1: ( ruleGlobalCombinator ) 
     3491                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:976:1: ruleGlobalCombinator 
    33623492                    { 
    33633493                    if ( state.backtracking==0 ) { 
    33643494                       before(grammarAccess.getMergeRuleAccess().getGlobalCombinatorParserRuleCall_0());  
    33653495                    } 
    3366                     pushFollow(FOLLOW_ruleGlobalCombinator_in_rule__MergeRule__Alternatives2019); 
     3496                    pushFollow(FOLLOW_ruleGlobalCombinator_in_rule__MergeRule__Alternatives2097); 
    33673497                    ruleGlobalCombinator(); 
    33683498 
     
    33793509                    break; 
    33803510                case 2 : 
    3381                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:947:6: ( ruleRuleCombinator ) 
     3511                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:981:6: ( ruleRuleCombinator ) 
    33823512                    { 
    3383                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:947:6: ( ruleRuleCombinator ) 
    3384                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:948:1: ruleRuleCombinator 
     3513                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:981:6: ( ruleRuleCombinator ) 
     3514                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:982:1: ruleRuleCombinator 
    33853515                    { 
    33863516                    if ( state.backtracking==0 ) { 
    33873517                       before(grammarAccess.getMergeRuleAccess().getRuleCombinatorParserRuleCall_1());  
    33883518                    } 
    3389                     pushFollow(FOLLOW_ruleRuleCombinator_in_rule__MergeRule__Alternatives2036); 
     3519                    pushFollow(FOLLOW_ruleRuleCombinator_in_rule__MergeRule__Alternatives2114); 
    33903520                    ruleRuleCombinator(); 
    33913521 
     
    34023532                    break; 
    34033533                case 3 : 
    3404                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:953:6: ( ruleHookCombinator ) 
     3534                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:987:6: ( ruleHookCombinator ) 
    34053535                    { 
    3406                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:953:6: ( ruleHookCombinator ) 
    3407                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:954:1: ruleHookCombinator 
     3536                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:987:6: ( ruleHookCombinator ) 
     3537                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:988:1: ruleHookCombinator 
    34083538                    { 
    34093539                    if ( state.backtracking==0 ) { 
    34103540                       before(grammarAccess.getMergeRuleAccess().getHookCombinatorParserRuleCall_2());  
    34113541                    } 
    3412                     pushFollow(FOLLOW_ruleHookCombinator_in_rule__MergeRule__Alternatives2053); 
     3542                    pushFollow(FOLLOW_ruleHookCombinator_in_rule__MergeRule__Alternatives2131); 
    34133543                    ruleHookCombinator(); 
    34143544 
     
    34323562        } 
    34333563        finally { 
    3434             if ( state.backtracking>0 ) { memoize(input, 53, rule__MergeRule__Alternatives_StartIndex); } 
     3564            if ( state.backtracking>0 ) { memoize(input, 55, rule__MergeRule__Alternatives_StartIndex); } 
    34353565 
    34363566                restoreStackSize(stackSize); 
     
    34433573 
    34443574    // $ANTLR start "rule__Term__Alternatives" 
    3445     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:964:1: rule__Term__Alternatives : ( ( ( rule__Term__TermAtomAssignment_0 ) ) | ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) | ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) | ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) ); 
     3575    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:998:1: rule__Term__Alternatives : ( ( ( rule__Term__TermAtomAssignment_0 ) ) | ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) | ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) | ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) ); 
    34463576    public final void rule__Term__Alternatives() throws RecognitionException { 
    34473577        int rule__Term__Alternatives_StartIndex = input.index(); 
     
    34503580             
    34513581        try { 
    3452             if ( state.backtracking>0 && alreadyParsedRule(input, 54) ) { return ; } 
    3453             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:968:1: ( ( ( rule__Term__TermAtomAssignment_0 ) ) | ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) | ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) | ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) ) 
     3582            if ( state.backtracking>0 && alreadyParsedRule(input, 56) ) { return ; } 
     3583            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1002:1: ( ( ( rule__Term__TermAtomAssignment_0 ) ) | ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) | ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) | ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) ) 
    34543584            int alt10=4; 
    34553585            switch ( input.LA(1) ) { 
     
    34863616            switch (alt10) { 
    34873617                case 1 : 
    3488                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:969:1: ( ( rule__Term__TermAtomAssignment_0 ) ) 
     3618                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1003:1: ( ( rule__Term__TermAtomAssignment_0 ) ) 
    34893619                    { 
    3490                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:969:1: ( ( rule__Term__TermAtomAssignment_0 ) ) 
    3491                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:970:1: ( rule__Term__TermAtomAssignment_0 ) 
     3620                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1003:1: ( ( rule__Term__TermAtomAssignment_0 ) ) 
     3621                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1004:1: ( rule__Term__TermAtomAssignment_0 ) 
    34923622                    { 
    34933623                    if ( state.backtracking==0 ) { 
    34943624                       before(grammarAccess.getTermAccess().getTermAtomAssignment_0());  
    34953625                    } 
    3496                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:971:1: ( rule__Term__TermAtomAssignment_0 ) 
    3497                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:971:2: rule__Term__TermAtomAssignment_0 
     3626                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1005:1: ( rule__Term__TermAtomAssignment_0 ) 
     3627                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1005:2: rule__Term__TermAtomAssignment_0 
    34983628                    { 
    3499                     pushFollow(FOLLOW_rule__Term__TermAtomAssignment_0_in_rule__Term__Alternatives2085); 
     3629                    pushFollow(FOLLOW_rule__Term__TermAtomAssignment_0_in_rule__Term__Alternatives2163); 
    35003630                    rule__Term__TermAtomAssignment_0(); 
    35013631 
     
    35153645                    break; 
    35163646                case 2 : 
    3517                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:975:6: ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) 
     3647                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1009:6: ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) 
    35183648                    { 
    3519                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:975:6: ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) 
    3520                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:976:1: ( rule__Term__TermGroupedSequenceAssignment_1 ) 
     3649                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1009:6: ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) 
     3650                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1010:1: ( rule__Term__TermGroupedSequenceAssignment_1 ) 
    35213651                    { 
    35223652                    if ( state.backtracking==0 ) { 
    35233653                       before(grammarAccess.getTermAccess().getTermGroupedSequenceAssignment_1());  
    35243654                    } 
    3525                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:977:1: ( rule__Term__TermGroupedSequenceAssignment_1 ) 
    3526                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:977:2: rule__Term__TermGroupedSequenceAssignment_1 
     3655                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1011:1: ( rule__Term__TermGroupedSequenceAssignment_1 ) 
     3656                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1011:2: rule__Term__TermGroupedSequenceAssignment_1 
    35273657                    { 
    3528                     pushFollow(FOLLOW_rule__Term__TermGroupedSequenceAssignment_1_in_rule__Term__Alternatives2103); 
     3658                    pushFollow(FOLLOW_rule__Term__TermGroupedSequenceAssignment_1_in_rule__Term__Alternatives2181); 
    35293659                    rule__Term__TermGroupedSequenceAssignment_1(); 
    35303660 
     
    35443674                    break; 
    35453675                case 3 : 
    3546                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:981:6: ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) 
     3676                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1015:6: ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) 
    35473677                    { 
    3548                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:981:6: ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) 
    3549                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:982:1: ( rule__Term__TermOptionalSequenceAssignment_2 ) 
     3678                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1015:6: ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) 
     3679                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1016:1: ( rule__Term__TermOptionalSequenceAssignment_2 ) 
    35503680                    { 
    35513681                    if ( state.backtracking==0 ) { 
    35523682                       before(grammarAccess.getTermAccess().getTermOptionalSequenceAssignment_2());  
    35533683                    } 
    3554                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:983:1: ( rule__Term__TermOptionalSequenceAssignment_2 ) 
    3555                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:983:2: rule__Term__TermOptionalSequenceAssignment_2 
     3684                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1017:1: ( rule__Term__TermOptionalSequenceAssignment_2 ) 
     3685                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1017:2: rule__Term__TermOptionalSequenceAssignment_2 
    35563686                    { 
    3557                     pushFollow(FOLLOW_rule__Term__TermOptionalSequenceAssignment_2_in_rule__Term__Alternatives2121); 
     3687                    pushFollow(FOLLOW_rule__Term__TermOptionalSequenceAssignment_2_in_rule__Term__Alternatives2199); 
    35583688                    rule__Term__TermOptionalSequenceAssignment_2(); 
    35593689 
     
    35733703                    break; 
    35743704                case 4 : 
    3575                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:987:6: ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) 
     3705                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1021:6: ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) 
    35763706                    { 
    3577                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:987:6: ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) 
    3578                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:988:1: ( rule__Term__TermRepeatedSequenceAssignment_3 ) 
     3707                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1021:6: ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) 
     3708                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1022:1: ( rule__Term__TermRepeatedSequenceAssignment_3 ) 
    35793709                    { 
    35803710                    if ( state.backtracking==0 ) { 
    35813711                       before(grammarAccess.getTermAccess().getTermRepeatedSequenceAssignment_3());  
    35823712                    } 
    3583                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:989:1: ( rule__Term__TermRepeatedSequenceAssignment_3 ) 
    3584                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:989:2: rule__Term__TermRepeatedSequenceAssignment_3 
     3713                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1023:1: ( rule__Term__TermRepeatedSequenceAssignment_3 ) 
     3714                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1023:2: rule__Term__TermRepeatedSequenceAssignment_3 
    35853715                    { 
    3586                     pushFollow(FOLLOW_rule__Term__TermRepeatedSequenceAssignment_3_in_rule__Term__Alternatives2139); 
     3716                    pushFollow(FOLLOW_rule__Term__TermRepeatedSequenceAssignment_3_in_rule__Term__Alternatives2217); 
    35873717                    rule__Term__TermRepeatedSequenceAssignment_3(); 
    35883718 
     
    36093739        } 
    36103740        finally { 
    3611             if ( state.backtracking>0 ) { memoize(input, 54, rule__Term__Alternatives_StartIndex); } 
     3741            if ( state.backtracking>0 ) { memoize(input, 56, rule__Term__Alternatives_StartIndex); } 
    36123742 
    36133743                restoreStackSize(stackSize); 
     
    36203750 
    36213751    // $ANTLR start "rule__Atom__Alternatives" 
    3622     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:998:1: rule__Atom__Alternatives : ( ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) | ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) ); 
     3752    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1032:1: rule__Atom__Alternatives : ( ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) | ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) ); 
    36233753    public final void rule__Atom__Alternatives() throws RecognitionException { 
    36243754        int rule__Atom__Alternatives_StartIndex = input.index(); 
     
    36273757             
    36283758        try { 
    3629             if ( state.backtracking>0 && alreadyParsedRule(input, 55) ) { return ; } 
    3630             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1002:1: ( ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) | ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) ) 
     3759            if ( state.backtracking>0 && alreadyParsedRule(input, 57) ) { return ; } 
     3760            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1036:1: ( ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) | ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) ) 
    36313761            int alt11=2; 
    36323762            int LA11_0 = input.LA(1); 
     
    36473777            switch (alt11) { 
    36483778                case 1 : 
    3649                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1003:1: ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) 
     3779                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1037:1: ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) 
    36503780                    { 
    3651                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1003:1: ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) 
    3652                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1004:1: ( rule__Atom__AtomStringRuleAssignment_0 ) 
     3781                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1037:1: ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) 
     3782                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1038:1: ( rule__Atom__AtomStringRuleAssignment_0 ) 
    36533783                    { 
    36543784                    if ( state.backtracking==0 ) { 
    36553785                       before(grammarAccess.getAtomAccess().getAtomStringRuleAssignment_0());  
    36563786                    } 
    3657                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1005:1: ( rule__Atom__AtomStringRuleAssignment_0 ) 
    3658                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1005:2: rule__Atom__AtomStringRuleAssignment_0 
     3787                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1039:1: ( rule__Atom__AtomStringRuleAssignment_0 ) 
     3788                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1039:2: rule__Atom__AtomStringRuleAssignment_0 
    36593789                    { 
    3660                     pushFollow(FOLLOW_rule__Atom__AtomStringRuleAssignment_0_in_rule__Atom__Alternatives2172); 
     3790                    pushFollow(FOLLOW_rule__Atom__AtomStringRuleAssignment_0_in_rule__Atom__Alternatives2250); 
    36613791                    rule__Atom__AtomStringRuleAssignment_0(); 
    36623792 
     
    36763806                    break; 
    36773807                case 2 : 
    3678                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1009:6: ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) 
     3808                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1043:6: ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) 
    36793809                    { 
    3680                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1009:6: ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) 
    3681                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1010:1: ( rule__Atom__AtomRuleReferenceAssignment_1 ) 
     3810                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1043:6: ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) 
     3811                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1044:1: ( rule__Atom__AtomRuleReferenceAssignment_1 ) 
    36823812                    { 
    36833813                    if ( state.backtracking==0 ) { 
    36843814                       before(grammarAccess.getAtomAccess().getAtomRuleReferenceAssignment_1());  
    36853815                    } 
    3686                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1011:1: ( rule__Atom__AtomRuleReferenceAssignment_1 ) 
    3687                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1011:2: rule__Atom__AtomRuleReferenceAssignment_1 
     3816                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1045:1: ( rule__Atom__AtomRuleReferenceAssignment_1 ) 
     3817                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1045:2: rule__Atom__AtomRuleReferenceAssignment_1 
    36883818                    { 
    3689                     pushFollow(FOLLOW_rule__Atom__AtomRuleReferenceAssignment_1_in_rule__Atom__Alternatives2190); 
     3819                    pushFollow(FOLLOW_rule__Atom__AtomRuleReferenceAssignment_1_in_rule__Atom__Alternatives2268); 
    36903820                    rule__Atom__AtomRuleReferenceAssignment_1(); 
    36913821 
     
    37123842        } 
    37133843        finally { 
    3714             if ( state.backtracking>0 ) { memoize(input, 55, rule__Atom__Alternatives_StartIndex); } 
     3844            if ( state.backtracking>0 ) { memoize(input, 57, rule__Atom__Alternatives_StartIndex); } 
    37153845 
    37163846                restoreStackSize(stackSize); 
     
    37233853 
    37243854    // $ANTLR start "rule__StringRule__Alternatives" 
    3725     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1020:1: rule__StringRule__Alternatives : ( ( ( rule__StringRule__LiteralAssignment_0 ) ) | ( ( rule__StringRule__ColonAssignment_1 ) ) ); 
     3855    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1054:1: rule__StringRule__Alternatives : ( ( ( rule__StringRule__LiteralAssignment_0 ) ) | ( ( rule__StringRule__ColonAssignment_1 ) ) ); 
    37263856    public final void rule__StringRule__Alternatives() throws RecognitionException { 
    37273857        int rule__StringRule__Alternatives_StartIndex = input.index(); 
     
    37303860             
    37313861        try { 
    3732             if ( state.backtracking>0 && alreadyParsedRule(input, 56) ) { return ; } 
    3733             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1024:1: ( ( ( rule__StringRule__LiteralAssignment_0 ) ) | ( ( rule__StringRule__ColonAssignment_1 ) ) ) 
     3862            if ( state.backtracking>0 && alreadyParsedRule(input, 58) ) { return ; } 
     3863            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1058:1: ( ( ( rule__StringRule__LiteralAssignment_0 ) ) | ( ( rule__StringRule__ColonAssignment_1 ) ) ) 
    37343864            int alt12=2; 
    37353865            int LA12_0 = input.LA(1); 
     
    37503880            switch (alt12) { 
    37513881                case 1 : 
    3752                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1025:1: ( ( rule__StringRule__LiteralAssignment_0 ) ) 
     3882                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1059:1: ( ( rule__StringRule__LiteralAssignment_0 ) ) 
    37533883                    { 
    3754                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1025:1: ( ( rule__StringRule__LiteralAssignment_0 ) ) 
    3755                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1026:1: ( rule__StringRule__LiteralAssignment_0 ) 
     3884                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1059:1: ( ( rule__StringRule__LiteralAssignment_0 ) ) 
     3885                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1060:1: ( rule__StringRule__LiteralAssignment_0 ) 
    37563886                    { 
    37573887                    if ( state.backtracking==0 ) { 
    37583888                       before(grammarAccess.getStringRuleAccess().getLiteralAssignment_0());  
    37593889                    } 
    3760                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1027:1: ( rule__StringRule__LiteralAssignment_0 ) 
    3761                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1027:2: rule__StringRule__LiteralAssignment_0 
     3890                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1061:1: ( rule__StringRule__LiteralAssignment_0 ) 
     3891                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1061:2: rule__StringRule__LiteralAssignment_0 
    37623892                    { 
    3763                     pushFollow(FOLLOW_rule__StringRule__LiteralAssignment_0_in_rule__StringRule__Alternatives2223); 
     3893                    pushFollow(FOLLOW_rule__StringRule__LiteralAssignment_0_in_rule__StringRule__Alternatives2301); 
    37643894                    rule__StringRule__LiteralAssignment_0(); 
    37653895 
     
    37793909                    break; 
    37803910                case 2 : 
    3781                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1031:6: ( ( rule__StringRule__ColonAssignment_1 ) ) 
     3911                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1065:6: ( ( rule__StringRule__ColonAssignment_1 ) ) 
    37823912                    { 
    3783                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1031:6: ( ( rule__StringRule__ColonAssignment_1 ) ) 
    3784                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1032:1: ( rule__StringRule__ColonAssignment_1 ) 
     3913                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1065:6: ( ( rule__StringRule__ColonAssignment_1 ) ) 
     3914                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1066:1: ( rule__StringRule__ColonAssignment_1 ) 
    37853915                    { 
    37863916                    if ( state.backtracking==0 ) { 
    37873917                       before(grammarAccess.getStringRuleAccess().getColonAssignment_1());  
    37883918                    } 
    3789                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1033:1: ( rule__StringRule__ColonAssignment_1 ) 
    3790                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1033:2: rule__StringRule__ColonAssignment_1 
     3919                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1067:1: ( rule__StringRule__ColonAssignment_1 ) 
     3920                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1067:2: rule__StringRule__ColonAssignment_1 
    37913921                    { 
    3792                     pushFollow(FOLLOW_rule__StringRule__ColonAssignment_1_in_rule__StringRule__Alternatives2241); 
     3922                    pushFollow(FOLLOW_rule__StringRule__ColonAssignment_1_in_rule__StringRule__Alternatives2319); 
    37933923                    rule__StringRule__ColonAssignment_1(); 
    37943924 
     
    38153945        } 
    38163946        finally { 
    3817             if ( state.backtracking>0 ) { memoize(input, 56, rule__StringRule__Alternatives_StartIndex); } 
     3947            if ( state.backtracking>0 ) { memoize(input, 58, rule__StringRule__Alternatives_StartIndex); } 
    38183948 
    38193949                restoreStackSize(stackSize); 
     
    38263956 
    38273957    // $ANTLR start "rule__RepeatedSequence__Alternatives_3" 
    3828     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1042:1: rule__RepeatedSequence__Alternatives_3 : ( ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) | ( ( rule__RepeatedSequence__RangeAssignment_3_1 )? ) ); 
     3958    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1076:1: rule__RepeatedSequence__Alternatives_3 : ( ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) | ( ( rule__RepeatedSequence__RangeAssignment_3_1 )? ) ); 
    38293959    public final void rule__RepeatedSequence__Alternatives_3() throws RecognitionException { 
    38303960        int rule__RepeatedSequence__Alternatives_3_StartIndex = input.index(); 
     
    38333963             
    38343964        try { 
    3835             if ( state.backtracking>0 && alreadyParsedRule(input, 57) ) { return ; } 
    3836             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1046:1: ( ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) | ( ( rule__RepeatedSequence__RangeAssignment_3_1 )? ) ) 
     3965            if ( state.backtracking>0 && alreadyParsedRule(input, 59) ) { return ; } 
     3966            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1080:1: ( ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) | ( ( rule__RepeatedSequence__RangeAssignment_3_1 )? ) ) 
    38373967            int alt15=2; 
    38383968            alt15 = dfa15.predict(input); 
    38393969            switch (alt15) { 
    38403970                case 1 : 
    3841                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1047:1: ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) 
     3971                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1081:1: ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) 
    38423972                    { 
    3843                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1047:1: ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) 
    3844                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1048:1: ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? 
     3973                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1081:1: ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) 
     3974                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1082:1: ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? 
    38453975                    { 
    38463976                    if ( state.backtracking==0 ) { 
    38473977                       before(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3_0());  
    38483978                    } 
    3849                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1049:1: ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? 
     3979                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1083:1: ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? 
    38503980                    int alt13=2; 
    38513981                    int LA13_0 = input.LA(1); 
     
    38563986                    switch (alt13) { 
    38573987                        case 1 : 
    3858                             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1049:2: rule__RepeatedSequence__MorethanonceAssignment_3_0 
     3988                            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1083:2: rule__RepeatedSequence__MorethanonceAssignment_3_0 
    38593989                            { 
    3860                             pushFollow(FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_0_in_rule__RepeatedSequence__Alternatives_32274); 
     3990                            pushFollow(FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_0_in_rule__RepeatedSequence__Alternatives_32352); 
    38613991                            rule__RepeatedSequence__MorethanonceAssignment_3_0(); 
    38623992 
     
    38794009                    break; 
    38804010                case 2 : 
    3881                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1053:6: ( ( rule__RepeatedSequence__RangeAssignment_3_1 )? ) 
     4011                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1087:6: ( ( rule__RepeatedSequence__RangeAssignment_3_1 )? ) 
    38824012                    { 
    3883                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1053:6: ( ( rule__RepeatedSequence__RangeAssignment_3_1 )? ) 
    3884                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1054:1: ( rule__RepeatedSequence__RangeAssignment_3_1 )? 
     4013                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1087:6: ( ( rule__RepeatedSequence__RangeAssignment_3_1 )? ) 
     4014                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1088:1: ( rule__RepeatedSequence__RangeAssignment_3_1 )? 
    38854015                    { 
    38864016                    if ( state.backtracking==0 ) { 
    38874017                       before(grammarAccess.getRepeatedSequenceAccess().getRangeAssignment_3_1());  
    38884018                    } 
    3889                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1055:1: ( rule__RepeatedSequence__RangeAssignment_3_1 )? 
     4019                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1089:1: ( rule__RepeatedSequence__RangeAssignment_3_1 )? 
    38904020                    int alt14=2; 
    38914021                    int LA14_0 = input.LA(1); 
     
    38964026                    switch (alt14) { 
    38974027                        case 1 : 
    3898                             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1055:2: rule__RepeatedSequence__RangeAssignment_3_1 
     4028                            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1089:2: rule__RepeatedSequence__RangeAssignment_3_1 
    38994029                            { 
    3900                             pushFollow(FOLLOW_rule__RepeatedSequence__RangeAssignment_3_1_in_rule__RepeatedSequence__Alternatives_32293); 
     4030                            pushFollow(FOLLOW_rule__RepeatedSequence__RangeAssignment_3_1_in_rule__RepeatedSequence__Alternatives_32371); 
    39014031                            rule__RepeatedSequence__RangeAssignment_3_1(); 
    39024032 
     
    39264056        } 
    39274057        finally { 
    3928             if ( state.backtracking>0 ) { memoize(input, 57, rule__RepeatedSequence__Alternatives_3_StartIndex); } 
     4058            if ( state.backtracking>0 ) { memoize(input, 59, rule__RepeatedSequence__Alternatives_3_StartIndex); } 
    39294059 
    39304060                restoreStackSize(stackSize); 
     
    39374067 
    39384068    // $ANTLR start "rule__EtsiBnf__Group_0__0" 
    3939     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1066:1: rule__EtsiBnf__Group_0__0 : rule__EtsiBnf__Group_0__0__Impl rule__EtsiBnf__Group_0__1 ; 
     4069    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1100:1: rule__EtsiBnf__Group_0__0 : rule__EtsiBnf__Group_0__0__Impl rule__EtsiBnf__Group_0__1 ; 
    39404070    public final void rule__EtsiBnf__Group_0__0() throws RecognitionException { 
    39414071        int rule__EtsiBnf__Group_0__0_StartIndex = input.index(); 
     
    39444074             
    39454075        try { 
    3946             if ( state.backtracking>0 && alreadyParsedRule(input, 58) ) { return ; } 
    3947             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1070:1: ( rule__EtsiBnf__Group_0__0__Impl rule__EtsiBnf__Group_0__1 ) 
    3948             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1071:2: rule__EtsiBnf__Group_0__0__Impl rule__EtsiBnf__Group_0__1 
    3949             { 
    3950             pushFollow(FOLLOW_rule__EtsiBnf__Group_0__0__Impl_in_rule__EtsiBnf__Group_0__02325); 
     4076            if ( state.backtracking>0 && alreadyParsedRule(input, 60) ) { return ; } 
     4077            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1104:1: ( rule__EtsiBnf__Group_0__0__Impl rule__EtsiBnf__Group_0__1 ) 
     4078            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1105:2: rule__EtsiBnf__Group_0__0__Impl rule__EtsiBnf__Group_0__1 
     4079            { 
     4080            pushFollow(FOLLOW_rule__EtsiBnf__Group_0__0__Impl_in_rule__EtsiBnf__Group_0__02403); 
    39514081            rule__EtsiBnf__Group_0__0__Impl(); 
    39524082 
    39534083            state._fsp--; 
    39544084            if (state.failed) return ; 
    3955             pushFollow(FOLLOW_rule__EtsiBnf__Group_0__1_in_rule__EtsiBnf__Group_0__02328); 
     4085            pushFollow(FOLLOW_rule__EtsiBnf__Group_0__1_in_rule__EtsiBnf__Group_0__02406); 
    39564086            rule__EtsiBnf__Group_0__1(); 
    39574087 
     
    39674097        } 
    39684098        finally { 
    3969             if ( state.backtracking>0 ) { memoize(input, 58, rule__EtsiBnf__Group_0__0_StartIndex); } 
     4099            if ( state.backtracking>0 ) { memoize(input, 60, rule__EtsiBnf__Group_0__0_StartIndex); } 
    39704100 
    39714101                restoreStackSize(stackSize); 
     
    39784108 
    39794109    // $ANTLR start "rule__EtsiBnf__Group_0__0__Impl" 
    3980     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1078:1: rule__EtsiBnf__Group_0__0__Impl : ( 'grammar' ) ; 
     4110    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1112:1: rule__EtsiBnf__Group_0__0__Impl : ( 'grammar' ) ; 
    39814111    public final void rule__EtsiBnf__Group_0__0__Impl() throws RecognitionException { 
    39824112        int rule__EtsiBnf__Group_0__0__Impl_StartIndex = input.index(); 
     
    39854115             
    39864116        try { 
    3987             if ( state.backtracking>0 && alreadyParsedRule(input, 59) ) { return ; } 
    3988             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1082:1: ( ( 'grammar' ) ) 
    3989             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1083:1: ( 'grammar' ) 
    3990             { 
    3991             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1083:1: ( 'grammar' ) 
    3992             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1084:1: 'grammar' 
     4117            if ( state.backtracking>0 && alreadyParsedRule(input, 61) ) { return ; } 
     4118            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1116:1: ( ( 'grammar' ) ) 
     4119            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1117:1: ( 'grammar' ) 
     4120            { 
     4121            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1117:1: ( 'grammar' ) 
     4122            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1118:1: 'grammar' 
    39934123            { 
    39944124            if ( state.backtracking==0 ) { 
    39954125               before(grammarAccess.getEtsiBnfAccess().getGrammarKeyword_0_0());  
    39964126            } 
    3997             match(input,22,FOLLOW_22_in_rule__EtsiBnf__Group_0__0__Impl2356); if (state.failed) return ; 
     4127            match(input,22,FOLLOW_22_in_rule__EtsiBnf__Group_0__0__Impl2434); if (state.failed) return ; 
    39984128            if ( state.backtracking==0 ) { 
    39994129               after(grammarAccess.getEtsiBnfAccess().getGrammarKeyword_0_0());  
     
    40114141        } 
    40124142        finally { 
    4013             if ( state.backtracking>0 ) { memoize(input, 59, rule__EtsiBnf__Group_0__0__Impl_StartIndex); } 
     4143            if ( state.backtracking>0 ) { memoize(input, 61, rule__EtsiBnf__Group_0__0__Impl_StartIndex); } 
    40144144 
    40154145                restoreStackSize(stackSize); 
     
    40224152 
    40234153    // $ANTLR start "rule__EtsiBnf__Group_0__1" 
    4024     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1097:1: rule__EtsiBnf__Group_0__1 : rule__EtsiBnf__Group_0__1__Impl rule__EtsiBnf__Group_0__2 ; 
     4154    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1131:1: rule__EtsiBnf__Group_0__1 : rule__EtsiBnf__Group_0__1__Impl rule__EtsiBnf__Group_0__2 ; 
    40254155    public final void rule__EtsiBnf__Group_0__1() throws RecognitionException { 
    40264156        int rule__EtsiBnf__Group_0__1_StartIndex = input.index(); 
     
    40294159             
    40304160        try { 
    4031             if ( state.backtracking>0 && alreadyParsedRule(input, 60) ) { return ; } 
    4032             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1101:1: ( rule__EtsiBnf__Group_0__1__Impl rule__EtsiBnf__Group_0__2 ) 
    4033             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1102:2: rule__EtsiBnf__Group_0__1__Impl rule__EtsiBnf__Group_0__2 
    4034             { 
    4035             pushFollow(FOLLOW_rule__EtsiBnf__Group_0__1__Impl_in_rule__EtsiBnf__Group_0__12387); 
     4161            if ( state.backtracking>0 && alreadyParsedRule(input, 62) ) { return ; } 
     4162            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1135:1: ( rule__EtsiBnf__Group_0__1__Impl rule__EtsiBnf__Group_0__2 ) 
     4163            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1136:2: rule__EtsiBnf__Group_0__1__Impl rule__EtsiBnf__Group_0__2 
     4164            { 
     4165            pushFollow(FOLLOW_rule__EtsiBnf__Group_0__1__Impl_in_rule__EtsiBnf__Group_0__12465); 
    40364166            rule__EtsiBnf__Group_0__1__Impl(); 
    40374167 
    40384168            state._fsp--; 
    40394169            if (state.failed) return ; 
    4040             pushFollow(FOLLOW_rule__EtsiBnf__Group_0__2_in_rule__EtsiBnf__Group_0__12390); 
     4170            pushFollow(FOLLOW_rule__EtsiBnf__Group_0__2_in_rule__EtsiBnf__Group_0__12468); 
    40414171            rule__EtsiBnf__Group_0__2(); 
    40424172 
     
    40524182        } 
    40534183        finally { 
    4054             if ( state.backtracking>0 ) { memoize(input, 60, rule__EtsiBnf__Group_0__1_StartIndex); } 
     4184            if ( state.backtracking>0 ) { memoize(input, 62, rule__EtsiBnf__Group_0__1_StartIndex); } 
    40554185 
    40564186                restoreStackSize(stackSize); 
     
    40634193 
    40644194    // $ANTLR start "rule__EtsiBnf__Group_0__1__Impl" 
    4065     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1109:1: rule__EtsiBnf__Group_0__1__Impl : ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) ; 
     4195    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1143:1: rule__EtsiBnf__Group_0__1__Impl : ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) ; 
    40664196    public final void rule__EtsiBnf__Group_0__1__Impl() throws RecognitionException { 
    40674197        int rule__EtsiBnf__Group_0__1__Impl_StartIndex = input.index(); 
     
    40704200             
    40714201        try { 
    4072             if ( state.backtracking>0 && alreadyParsedRule(input, 61) ) { return ; } 
    4073             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1113:1: ( ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) ) 
    4074             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1114:1: ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) 
    4075             { 
    4076             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1114:1: ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) 
    4077             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1115:1: ( rule__EtsiBnf__NameAssignment_0_1 ) 
     4202            if ( state.backtracking>0 && alreadyParsedRule(input, 63) ) { return ; } 
     4203            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1147:1: ( ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) ) 
     4204            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1148:1: ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) 
     4205            { 
     4206            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1148:1: ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) 
     4207            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1149:1: ( rule__EtsiBnf__NameAssignment_0_1 ) 
    40784208            { 
    40794209            if ( state.backtracking==0 ) { 
    40804210               before(grammarAccess.getEtsiBnfAccess().getNameAssignment_0_1());  
    40814211            } 
    4082             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1116:1: ( rule__EtsiBnf__NameAssignment_0_1 ) 
    4083             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1116:2: rule__EtsiBnf__NameAssignment_0_1 
    4084             { 
    4085             pushFollow(FOLLOW_rule__EtsiBnf__NameAssignment_0_1_in_rule__EtsiBnf__Group_0__1__Impl2417); 
     4212            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1150:1: ( rule__EtsiBnf__NameAssignment_0_1 ) 
     4213            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1150:2: rule__EtsiBnf__NameAssignment_0_1 
     4214            { 
     4215            pushFollow(FOLLOW_rule__EtsiBnf__NameAssignment_0_1_in_rule__EtsiBnf__Group_0__1__Impl2495); 
    40864216            rule__EtsiBnf__NameAssignment_0_1(); 
    40874217 
     
    41064236        } 
    41074237        finally { 
    4108             if ( state.backtracking>0 ) { memoize(input, 61, rule__EtsiBnf__Group_0__1__Impl_StartIndex); } 
     4238            if ( state.backtracking>0 ) { memoize(input, 63, rule__EtsiBnf__Group_0__1__Impl_StartIndex); } 
    41094239 
    41104240                restoreStackSize(stackSize); 
     
    41174247 
    41184248    // $ANTLR start "rule__EtsiBnf__Group_0__2" 
    4119     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1126:1: rule__EtsiBnf__Group_0__2 : rule__EtsiBnf__Group_0__2__Impl ; 
     4249    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1160:1: rule__EtsiBnf__Group_0__2 : rule__EtsiBnf__Group_0__2__Impl ; 
    41204250    public final void rule__EtsiBnf__Group_0__2() throws RecognitionException { 
    41214251        int rule__EtsiBnf__Group_0__2_StartIndex = input.index(); 
     
    41244254             
    41254255        try { 
    4126             if ( state.backtracking>0 && alreadyParsedRule(input, 62) ) { return ; } 
    4127             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1130:1: ( rule__EtsiBnf__Group_0__2__Impl ) 
    4128             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1131:2: rule__EtsiBnf__Group_0__2__Impl 
    4129             { 
    4130             pushFollow(FOLLOW_rule__EtsiBnf__Group_0__2__Impl_in_rule__EtsiBnf__Group_0__22447); 
     4256            if ( state.backtracking>0 && alreadyParsedRule(input, 64) ) { return ; } 
     4257            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1164:1: ( rule__EtsiBnf__Group_0__2__Impl ) 
     4258            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1165:2: rule__EtsiBnf__Group_0__2__Impl 
     4259            { 
     4260            pushFollow(FOLLOW_rule__EtsiBnf__Group_0__2__Impl_in_rule__EtsiBnf__Group_0__22525); 
    41314261            rule__EtsiBnf__Group_0__2__Impl(); 
    41324262 
     
    41424272        } 
    41434273        finally { 
    4144             if ( state.backtracking>0 ) { memoize(input, 62, rule__EtsiBnf__Group_0__2_StartIndex); } 
     4274            if ( state.backtracking>0 ) { memoize(input, 64, rule__EtsiBnf__Group_0__2_StartIndex); } 
    41454275 
    41464276                restoreStackSize(stackSize); 
     
    41534283 
    41544284    // $ANTLR start "rule__EtsiBnf__Group_0__2__Impl" 
    4155     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1137:1: rule__EtsiBnf__Group_0__2__Impl : ( ( rule__EtsiBnf__Group_0_2__0 ) ) ; 
     4285    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1171:1: rule__EtsiBnf__Group_0__2__Impl : ( ( rule__EtsiBnf__Group_0_2__0 ) ) ; 
    41564286    public final void rule__EtsiBnf__Group_0__2__Impl() throws RecognitionException { 
    41574287        int rule__EtsiBnf__Group_0__2__Impl_StartIndex = input.index(); 
     
    41604290             
    41614291        try { 
    4162             if ( state.backtracking>0 && alreadyParsedRule(input, 63) ) { return ; } 
    4163             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1141:1: ( ( ( rule__EtsiBnf__Group_0_2__0 ) ) ) 
    4164             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1142:1: ( ( rule__EtsiBnf__Group_0_2__0 ) ) 
    4165             { 
    4166             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1142:1: ( ( rule__EtsiBnf__Group_0_2__0 ) ) 
    4167             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1143:1: ( rule__EtsiBnf__Group_0_2__0 ) 
     4292            if ( state.backtracking>0 && alreadyParsedRule(input, 65) ) { return ; } 
     4293            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1175:1: ( ( ( rule__EtsiBnf__Group_0_2__0 ) ) ) 
     4294            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1176:1: ( ( rule__EtsiBnf__Group_0_2__0 ) ) 
     4295            { 
     4296            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1176:1: ( ( rule__EtsiBnf__Group_0_2__0 ) ) 
     4297            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1177:1: ( rule__EtsiBnf__Group_0_2__0 ) 
    41684298            { 
    41694299            if ( state.backtracking==0 ) { 
    41704300               before(grammarAccess.getEtsiBnfAccess().getGroup_0_2());  
    41714301            } 
    4172             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1144:1: ( rule__EtsiBnf__Group_0_2__0 ) 
    4173             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1144:2: rule__EtsiBnf__Group_0_2__0 
    4174             { 
    4175             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__0_in_rule__EtsiBnf__Group_0__2__Impl2474); 
     4302            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1178:1: ( rule__EtsiBnf__Group_0_2__0 ) 
     4303            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1178:2: rule__EtsiBnf__Group_0_2__0 
     4304            { 
     4305            pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__0_in_rule__EtsiBnf__Group_0__2__Impl2552); 
    41764306            rule__EtsiBnf__Group_0_2__0(); 
    41774307 
     
    41964326        } 
    41974327        finally { 
    4198             if ( state.backtracking>0 ) { memoize(input, 63, rule__EtsiBnf__Group_0__2__Impl_StartIndex); } 
     4328            if ( state.backtracking>0 ) { memoize(input, 65, rule__EtsiBnf__Group_0__2__Impl_StartIndex); } 
    41994329 
    42004330                restoreStackSize(stackSize); 
     
    42074337 
    42084338    // $ANTLR start "rule__EtsiBnf__Group_0_2__0" 
    4209     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1160:1: rule__EtsiBnf__Group_0_2__0 : rule__EtsiBnf__Group_0_2__0__Impl rule__EtsiBnf__Group_0_2__1 ; 
     4339    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1194:1: rule__EtsiBnf__Group_0_2__0 : rule__EtsiBnf__Group_0_2__0__Impl rule__EtsiBnf__Group_0_2__1 ; 
    42104340    public final void rule__EtsiBnf__Group_0_2__0() throws RecognitionException { 
    42114341        int rule__EtsiBnf__Group_0_2__0_StartIndex = input.index(); 
     
    42144344             
    42154345        try { 
    4216             if ( state.backtracking>0 && alreadyParsedRule(input, 64) ) { return ; } 
    4217             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1164:1: ( rule__EtsiBnf__Group_0_2__0__Impl rule__EtsiBnf__Group_0_2__1 ) 
    4218             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1165:2: rule__EtsiBnf__Group_0_2__0__Impl rule__EtsiBnf__Group_0_2__1 
    4219             { 
    4220             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__0__Impl_in_rule__EtsiBnf__Group_0_2__02510); 
     4346            if ( state.backtracking>0 && alreadyParsedRule(input, 66) ) { return ; } 
     4347            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1198:1: ( rule__EtsiBnf__Group_0_2__0__Impl rule__EtsiBnf__Group_0_2__1 ) 
     4348            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1199:2: rule__EtsiBnf__Group_0_2__0__Impl rule__EtsiBnf__Group_0_2__1 
     4349            { 
     4350            pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__0__Impl_in_rule__EtsiBnf__Group_0_2__02588); 
    42214351            rule__EtsiBnf__Group_0_2__0__Impl(); 
    42224352 
    42234353            state._fsp--; 
    42244354            if (state.failed) return ; 
    4225             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__1_in_rule__EtsiBnf__Group_0_2__02513); 
     4355            pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__1_in_rule__EtsiBnf__Group_0_2__02591); 
    42264356            rule__EtsiBnf__Group_0_2__1(); 
    42274357 
     
    42374367        } 
    42384368        finally { 
    4239             if ( state.backtracking>0 ) { memoize(input, 64, rule__EtsiBnf__Group_0_2__0_StartIndex); } 
     4369            if ( state.backtracking>0 ) { memoize(input, 66, rule__EtsiBnf__Group_0_2__0_StartIndex); } 
    42404370 
    42414371                restoreStackSize(stackSize); 
     
    42484378 
    42494379    // $ANTLR start "rule__EtsiBnf__Group_0_2__0__Impl" 
    4250     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1172:1: rule__EtsiBnf__Group_0_2__0__Impl : ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) ; 
     4380    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1206:1: rule__EtsiBnf__Group_0_2__0__Impl : ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) ; 
    42514381    public final void rule__EtsiBnf__Group_0_2__0__Impl() throws RecognitionException { 
    42524382        int rule__EtsiBnf__Group_0_2__0__Impl_StartIndex = input.index(); 
     
    42554385             
    42564386        try { 
    4257             if ( state.backtracking>0 && alreadyParsedRule(input, 65) ) { return ; } 
    4258             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1176:1: ( ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) ) 
    4259             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1177:1: ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) 
    4260             { 
    4261             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1177:1: ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) 
    4262             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1178:1: ( rule__EtsiBnf__TypeAssignment_0_2_0 )? 
     4387            if ( state.backtracking>0 && alreadyParsedRule(input, 67) ) { return ; } 
     4388            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1210:1: ( ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) ) 
     4389            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1211:1: ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) 
     4390            { 
     4391            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1211:1: ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) 
     4392            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1212:1: ( rule__EtsiBnf__TypeAssignment_0_2_0 )? 
    42634393            { 
    42644394            if ( state.backtracking==0 ) { 
    42654395               before(grammarAccess.getEtsiBnfAccess().getTypeAssignment_0_2_0());  
    42664396            } 
    4267             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1179:1: ( rule__EtsiBnf__TypeAssignment_0_2_0 )? 
     4397            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1213:1: ( rule__EtsiBnf__TypeAssignment_0_2_0 )? 
    42684398            int alt16=2; 
    42694399            int LA16_0 = input.LA(1); 
     
    42744404            switch (alt16) { 
    42754405                case 1 : 
    4276                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1179:2: rule__EtsiBnf__TypeAssignment_0_2_0 
     4406                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1213:2: rule__EtsiBnf__TypeAssignment_0_2_0 
    42774407                    { 
    4278                     pushFollow(FOLLOW_rule__EtsiBnf__TypeAssignment_0_2_0_in_rule__EtsiBnf__Group_0_2__0__Impl2540); 
     4408                    pushFollow(FOLLOW_rule__EtsiBnf__TypeAssignment_0_2_0_in_rule__EtsiBnf__Group_0_2__0__Impl2618); 
    42794409                    rule__EtsiBnf__TypeAssignment_0_2_0(); 
    42804410 
     
    43024432        } 
    43034433        finally { 
    4304             if ( state.backtracking>0 ) { memoize(input, 65, rule__EtsiBnf__Group_0_2__0__Impl_StartIndex); } 
     4434            if ( state.backtracking>0 ) { memoize(input, 67, rule__EtsiBnf__Group_0_2__0__Impl_StartIndex); } 
    43054435 
    43064436                restoreStackSize(stackSize); 
     
    43134443 
    43144444    // $ANTLR start "rule__EtsiBnf__Group_0_2__1" 
    4315     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1189:1: rule__EtsiBnf__Group_0_2__1 : rule__EtsiBnf__Group_0_2__1__Impl rule__EtsiBnf__Group_0_2__2 ; 
     4445    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1223:1: rule__EtsiBnf__Group_0_2__1 : rule__EtsiBnf__Group_0_2__1__Impl rule__EtsiBnf__Group_0_2__2 ; 
    43164446    public final void rule__EtsiBnf__Group_0_2__1() throws RecognitionException { 
    43174447        int rule__EtsiBnf__Group_0_2__1_StartIndex = input.index(); 
     
    43204450             
    43214451        try { 
    4322             if ( state.backtracking>0 && alreadyParsedRule(input, 66) ) { return ; } 
    4323             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1193:1: ( rule__EtsiBnf__Group_0_2__1__Impl rule__EtsiBnf__Group_0_2__2 ) 
    4324             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1194:2: rule__EtsiBnf__Group_0_2__1__Impl rule__EtsiBnf__Group_0_2__2 
    4325             { 
    4326             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__1__Impl_in_rule__EtsiBnf__Group_0_2__12571); 
     4452            if ( state.backtracking>0 && alreadyParsedRule(input, 68) ) { return ; } 
     4453            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1227:1: ( rule__EtsiBnf__Group_0_2__1__Impl rule__EtsiBnf__Group_0_2__2 ) 
     4454            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1228:2: rule__EtsiBnf__Group_0_2__1__Impl rule__EtsiBnf__Group_0_2__2 
     4455            { 
     4456            pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__1__Impl_in_rule__EtsiBnf__Group_0_2__12649); 
    43274457            rule__EtsiBnf__Group_0_2__1__Impl(); 
    43284458 
    43294459            state._fsp--; 
    43304460            if (state.failed) return ; 
    4331             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__2_in_rule__EtsiBnf__Group_0_2__12574); 
     4461            pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__2_in_rule__EtsiBnf__Group_0_2__12652); 
    43324462            rule__EtsiBnf__Group_0_2__2(); 
    43334463 
     
    43434473        } 
    43444474        finally { 
    4345             if ( state.backtracking>0 ) { memoize(input, 66, rule__EtsiBnf__Group_0_2__1_StartIndex); } 
     4475            if ( state.backtracking>0 ) { memoize(input, 68, rule__EtsiBnf__Group_0_2__1_StartIndex); } 
    43464476 
    43474477                restoreStackSize(stackSize); 
     
    43544484 
    43554485    // $ANTLR start "rule__EtsiBnf__Group_0_2__1__Impl" 
    4356     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1201:1: rule__EtsiBnf__Group_0_2__1__Impl : ( ';' ) ; 
     4486    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1235:1: rule__EtsiBnf__Group_0_2__1__Impl : ( ';' ) ; 
    43574487    public final void rule__EtsiBnf__Group_0_2__1__Impl() throws RecognitionException { 
    43584488        int rule__EtsiBnf__Group_0_2__1__Impl_StartIndex = input.index(); 
     
    43614491             
    43624492        try { 
    4363             if ( state.backtracking>0 && alreadyParsedRule(input, 67) ) { return ; } 
    4364             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1205:1: ( ( ';' ) ) 
    4365             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1206:1: ( ';' ) 
    4366             { 
    4367             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1206:1: ( ';' ) 
    4368             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1207:1: ';' 
     4493            if ( state.backtracking>0 && alreadyParsedRule(input, 69) ) { return ; } 
     4494            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1239:1: ( ( ';' ) ) 
     4495            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1240:1: ( ';' ) 
     4496            { 
     4497            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1240:1: ( ';' ) 
     4498            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1241:1: ';' 
    43694499            { 
    43704500            if ( state.backtracking==0 ) { 
    43714501               before(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_0_2_1());  
    43724502            } 
    4373             match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_0_2__1__Impl2602); if (state.failed) return ; 
     4503            match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_0_2__1__Impl2680); if (state.failed) return ; 
    43744504            if ( state.backtracking==0 ) { 
    43754505               after(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_0_2_1());  
     
    43874517        } 
    43884518        finally { 
    4389             if ( state.backtracking>0 ) { memoize(input, 67, rule__EtsiBnf__Group_0_2__1__Impl_StartIndex); } 
     4519            if ( state.backtracking>0 ) { memoize(input, 69, rule__EtsiBnf__Group_0_2__1__Impl_StartIndex); } 
    43904520 
    43914521                restoreStackSize(stackSize); 
     
    43984528 
    43994529    // $ANTLR start "rule__EtsiBnf__Group_0_2__2" 
    4400     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1220:1: rule__EtsiBnf__Group_0_2__2 : rule__EtsiBnf__Group_0_2__2__Impl rule__EtsiBnf__Group_0_2__3 ; 
     4530    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1254:1: rule__EtsiBnf__Group_0_2__2 : rule__EtsiBnf__Group_0_2__2__Impl rule__EtsiBnf__Group_0_2__3 ; 
    44014531    public final void rule__EtsiBnf__Group_0_2__2() throws RecognitionException { 
    44024532        int rule__EtsiBnf__Group_0_2__2_StartIndex = input.index(); 
     
    44054535             
    44064536        try { 
    4407             if ( state.backtracking>0 && alreadyParsedRule(input, 68) ) { return ; } 
    4408             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1224:1: ( rule__EtsiBnf__Group_0_2__2__Impl rule__EtsiBnf__Group_0_2__3 ) 
    4409             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1225:2: rule__EtsiBnf__Group_0_2__2__Impl rule__EtsiBnf__Group_0_2__3 
    4410             { 
    4411             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__2__Impl_in_rule__EtsiBnf__Group_0_2__22633); 
     4537            if ( state.backtracking>0 && alreadyParsedRule(input, 70) ) { return ; } 
     4538            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1258:1: ( rule__EtsiBnf__Group_0_2__2__Impl rule__EtsiBnf__Group_0_2__3 ) 
     4539            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1259:2: rule__EtsiBnf__Group_0_2__2__Impl rule__EtsiBnf__Group_0_2__3 
     4540            { 
     4541            pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__2__Impl_in_rule__EtsiBnf__Group_0_2__22711); 
    44124542            rule__EtsiBnf__Group_0_2__2__Impl(); 
    44134543 
    44144544            state._fsp--; 
    44154545            if (state.failed) return ; 
    4416             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__3_in_rule__EtsiBnf__Group_0_2__22636); 
     4546            pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__3_in_rule__EtsiBnf__Group_0_2__22714); 
    44174547            rule__EtsiBnf__Group_0_2__3(); 
    44184548 
     
    44284558        } 
    44294559        finally { 
    4430             if ( state.backtracking>0 ) { memoize(input, 68, rule__EtsiBnf__Group_0_2__2_StartIndex); } 
     4560            if ( state.backtracking>0 ) { memoize(input, 70, rule__EtsiBnf__Group_0_2__2_StartIndex); } 
    44314561 
    44324562                restoreStackSize(stackSize); 
     
    44394569 
    44404570    // $ANTLR start "rule__EtsiBnf__Group_0_2__2__Impl" 
    4441     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1232:1: rule__EtsiBnf__Group_0_2__2__Impl : ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) ; 
     4571    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1266:1: rule__EtsiBnf__Group_0_2__2__Impl : ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) ; 
    44424572    public final void rule__EtsiBnf__Group_0_2__2__Impl() throws RecognitionException { 
    44434573        int rule__EtsiBnf__Group_0_2__2__Impl_StartIndex = input.index(); 
     
    44464576             
    44474577        try { 
    4448             if ( state.backtracking>0 && alreadyParsedRule(input, 69) ) { return ; } 
    4449             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1236:1: ( ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) ) 
    4450             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1237:1: ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) 
    4451             { 
    4452             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1237:1: ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) 
    4453             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1238:1: ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? 
     4578            if ( state.backtracking>0 && alreadyParsedRule(input, 71) ) { return ; } 
     4579            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1270:1: ( ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) ) 
     4580            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1271:1: ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) 
     4581            { 
     4582            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1271:1: ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) 
     4583            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1272:1: ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? 
    44544584            { 
    44554585            if ( state.backtracking==0 ) { 
    44564586               before(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_0_2_2());  
    44574587            } 
    4458             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1239:1: ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? 
     4588            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1273:1: ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? 
    44594589            int alt17=2; 
    44604590            int LA17_0 = input.LA(1); 
     
    44654595            switch (alt17) { 
    44664596                case 1 : 
    4467                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1239:2: rule__EtsiBnf__ImportSectionAssignment_0_2_2 
     4597                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1273:2: rule__EtsiBnf__ImportSectionAssignment_0_2_2 
    44684598                    { 
    4469                     pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_0_2_2_in_rule__EtsiBnf__Group_0_2__2__Impl2663); 
     4599                    pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_0_2_2_in_rule__EtsiBnf__Group_0_2__2__Impl2741); 
    44704600                    rule__EtsiBnf__ImportSectionAssignment_0_2_2(); 
    44714601 
     
    44934623        } 
    44944624        finally { 
    4495             if ( state.backtracking>0 ) { memoize(input, 69, rule__EtsiBnf__Group_0_2__2__Impl_StartIndex); } 
     4625            if ( state.backtracking>0 ) { memoize(input, 71, rule__EtsiBnf__Group_0_2__2__Impl_StartIndex); } 
    44964626 
    44974627                restoreStackSize(stackSize); 
     
    45044634 
    45054635    // $ANTLR start "rule__EtsiBnf__Group_0_2__3" 
    4506     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1249:1: rule__EtsiBnf__Group_0_2__3 : rule__EtsiBnf__Group_0_2__3__Impl ; 
     4636    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1283:1: rule__EtsiBnf__Group_0_2__3 : rule__EtsiBnf__Group_0_2__3__Impl ; 
    45074637    public final void rule__EtsiBnf__Group_0_2__3() throws RecognitionException { 
    45084638        int rule__EtsiBnf__Group_0_2__3_StartIndex = input.index(); 
     
    45114641             
    45124642        try { 
    4513             if ( state.backtracking>0 && alreadyParsedRule(input, 70) ) { return ; } 
    4514             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1253:1: ( rule__EtsiBnf__Group_0_2__3__Impl ) 
    4515             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1254:2: rule__EtsiBnf__Group_0_2__3__Impl 
    4516             { 
    4517             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__3__Impl_in_rule__EtsiBnf__Group_0_2__32694); 
     4643            if ( state.backtracking>0 && alreadyParsedRule(input, 72) ) { return ; } 
     4644            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1287:1: ( rule__EtsiBnf__Group_0_2__3__Impl ) 
     4645            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1288:2: rule__EtsiBnf__Group_0_2__3__Impl 
     4646            { 
     4647            pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__3__Impl_in_rule__EtsiBnf__Group_0_2__32772); 
    45184648            rule__EtsiBnf__Group_0_2__3__Impl(); 
    45194649 
     
    45294659        } 
    45304660        finally { 
    4531             if ( state.backtracking>0 ) { memoize(input, 70, rule__EtsiBnf__Group_0_2__3_StartIndex); } 
     4661            if ( state.backtracking>0 ) { memoize(input, 72, rule__EtsiBnf__Group_0_2__3_StartIndex); } 
    45324662 
    45334663                restoreStackSize(stackSize); 
     
    45404670 
    45414671    // $ANTLR start "rule__EtsiBnf__Group_0_2__3__Impl" 
    4542     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1260:1: rule__EtsiBnf__Group_0_2__3__Impl : ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) ; 
     4672    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1294:1: rule__EtsiBnf__Group_0_2__3__Impl : ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) ; 
    45434673    public final void rule__EtsiBnf__Group_0_2__3__Impl() throws RecognitionException { 
    45444674        int rule__EtsiBnf__Group_0_2__3__Impl_StartIndex = input.index(); 
     
    45474677             
    45484678        try { 
    4549             if ( state.backtracking>0 && alreadyParsedRule(input, 71) ) { return ; } 
    4550             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1264:1: ( ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) ) 
    4551             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1265:1: ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) 
    4552             { 
    4553             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1265:1: ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) 
    4554             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1266:1: ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) 
    4555             { 
    4556             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1266:1: ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) 
    4557             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1267:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) 
     4679            if ( state.backtracking>0 && alreadyParsedRule(input, 73) ) { return ; } 
     4680            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1298:1: ( ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) ) 
     4681            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1299:1: ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) 
     4682            { 
     4683            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1299:1: ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) 
     4684            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1300:1: ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) 
     4685            { 
     4686            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1300:1: ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) 
     4687            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1301:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) 
    45584688            { 
    45594689            if ( state.backtracking==0 ) { 
    45604690               before(grammarAccess.getEtsiBnfAccess().getBnfEntryAssignment_0_2_3());  
    45614691            } 
    4562             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1268:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) 
    4563             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1268:2: rule__EtsiBnf__BnfEntryAssignment_0_2_3 
    4564             { 
    4565             pushFollow(FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2723); 
     4692            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1302:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) 
     4693            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1302:2: rule__EtsiBnf__BnfEntryAssignment_0_2_3 
     4694            { 
     4695            pushFollow(FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2801); 
    45664696            rule__EtsiBnf__BnfEntryAssignment_0_2_3(); 
    45674697 
     
    45774707            } 
    45784708 
    4579             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1271:1: ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) 
    4580             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1272:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* 
     4709            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1305:1: ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) 
     4710            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1306:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* 
    45814711            { 
    45824712            if ( state.backtracking==0 ) { 
    45834713               before(grammarAccess.getEtsiBnfAccess().getBnfEntryAssignment_0_2_3());  
    45844714            } 
    4585             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1273:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* 
     4715            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1307:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* 
    45864716            loop18: 
    45874717            do { 
     
    45894719                int LA18_0 = input.LA(1); 
    45904720 
    4591                 if ( ((LA18_0>=RULE_ID && LA18_0<=RULE_SECTIONHEADER)||LA18_0==RULE_INT) ) { 
     4721                if ( ((LA18_0>=RULE_ID && LA18_0<=RULE_ML_COMMENT)||LA18_0==RULE_INT) ) { 
    45924722                    alt18=1; 
    45934723                } 
     
    45964726                switch (alt18) { 
    45974727                case 1 : 
    4598                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1273:2: rule__EtsiBnf__BnfEntryAssignment_0_2_3 
     4728                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1307:2: rule__EtsiBnf__BnfEntryAssignment_0_2_3 
    45994729                    { 
    4600                     pushFollow(FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2735); 
     4730                    pushFollow(FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2813); 
    46014731                    rule__EtsiBnf__BnfEntryAssignment_0_2_3(); 
    46024732 
     
    46304760        } 
    46314761        finally { 
    4632             if ( state.backtracking>0 ) { memoize(input, 71, rule__EtsiBnf__Group_0_2__3__Impl_StartIndex); } 
     4762            if ( state.backtracking>0 ) { memoize(input, 73, rule__EtsiBnf__Group_0_2__3__Impl_StartIndex); } 
    46334763 
    46344764                restoreStackSize(stackSize); 
     
    46414771 
    46424772    // $ANTLR start "rule__EtsiBnf__Group_1__0" 
    4643     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1292:1: rule__EtsiBnf__Group_1__0 : rule__EtsiBnf__Group_1__0__Impl rule__EtsiBnf__Group_1__1 ; 
     4773    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1326:1: rule__EtsiBnf__Group_1__0 : rule__EtsiBnf__Group_1__0__Impl rule__EtsiBnf__Group_1__1 ; 
    46444774    public final void rule__EtsiBnf__Group_1__0() throws RecognitionException { 
    46454775        int rule__EtsiBnf__Group_1__0_StartIndex = input.index(); 
     
    46484778             
    46494779        try { 
    4650             if ( state.backtracking>0 && alreadyParsedRule(input, 72) ) { return ; } 
    4651             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1296:1: ( rule__EtsiBnf__Group_1__0__Impl rule__EtsiBnf__Group_1__1 ) 
    4652             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1297:2: rule__EtsiBnf__Group_1__0__Impl rule__EtsiBnf__Group_1__1 
    4653             { 
    4654             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__0__Impl_in_rule__EtsiBnf__Group_1__02776); 
     4780            if ( state.backtracking>0 && alreadyParsedRule(input, 74) ) { return ; } 
     4781            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1330:1: ( rule__EtsiBnf__Group_1__0__Impl rule__EtsiBnf__Group_1__1 ) 
     4782            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1331:2: rule__EtsiBnf__Group_1__0__Impl rule__EtsiBnf__Group_1__1 
     4783            { 
     4784            pushFollow(FOLLOW_rule__EtsiBnf__Group_1__0__Impl_in_rule__EtsiBnf__Group_1__02854); 
    46554785            rule__EtsiBnf__Group_1__0__Impl(); 
    46564786 
    46574787            state._fsp--; 
    46584788            if (state.failed) return ; 
    4659             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__1_in_rule__EtsiBnf__Group_1__02779); 
     4789            pushFollow(FOLLOW_rule__EtsiBnf__Group_1__1_in_rule__EtsiBnf__Group_1__02857); 
    46604790            rule__EtsiBnf__Group_1__1(); 
    46614791 
     
    46714801        } 
    46724802        finally { 
    4673             if ( state.backtracking>0 ) { memoize(input, 72, rule__EtsiBnf__Group_1__0_StartIndex); } 
     4803            if ( state.backtracking>0 ) { memoize(input, 74, rule__EtsiBnf__Group_1__0_StartIndex); } 
    46744804 
    46754805                restoreStackSize(stackSize); 
     
    46824812 
    46834813    // $ANTLR start "rule__EtsiBnf__Group_1__0__Impl" 
    4684     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1304:1: rule__EtsiBnf__Group_1__0__Impl : ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) ; 
     4814    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1338:1: rule__EtsiBnf__Group_1__0__Impl : ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) ; 
    46854815    public final void rule__EtsiBnf__Group_1__0__Impl() throws RecognitionException { 
    46864816        int rule__EtsiBnf__Group_1__0__Impl_StartIndex = input.index(); 
     
    46894819             
    46904820        try { 
    4691             if ( state.backtracking>0 && alreadyParsedRule(input, 73) ) { return ; } 
    4692             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1308:1: ( ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) ) 
    4693             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1309:1: ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) 
    4694             { 
    4695             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1309:1: ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) 
    4696             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1310:1: ( rule__EtsiBnf__TypeAssignment_1_0 ) 
     4821            if ( state.backtracking>0 && alreadyParsedRule(input, 75) ) { return ; } 
     4822            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1342:1: ( ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) ) 
     4823            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1343:1: ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) 
     4824            { 
     4825            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1343:1: ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) 
     4826            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1344:1: ( rule__EtsiBnf__TypeAssignment_1_0 ) 
    46974827            { 
    46984828            if ( state.backtracking==0 ) { 
    46994829               before(grammarAccess.getEtsiBnfAccess().getTypeAssignment_1_0());  
    47004830            } 
    4701             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1311:1: ( rule__EtsiBnf__TypeAssignment_1_0 ) 
    4702             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1311:2: rule__EtsiBnf__TypeAssignment_1_0 
    4703             { 
    4704             pushFollow(FOLLOW_rule__EtsiBnf__TypeAssignment_1_0_in_rule__EtsiBnf__Group_1__0__Impl2806); 
     4831            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1345:1: ( rule__EtsiBnf__TypeAssignment_1_0 ) 
     4832            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1345:2: rule__EtsiBnf__TypeAssignment_1_0 
     4833            { 
     4834            pushFollow(FOLLOW_rule__EtsiBnf__TypeAssignment_1_0_in_rule__EtsiBnf__Group_1__0__Impl2884); 
    47054835            rule__EtsiBnf__TypeAssignment_1_0(); 
    47064836 
     
    47254855        } 
    47264856        finally { 
    4727             if ( state.backtracking>0 ) { memoize(input, 73, rule__EtsiBnf__Group_1__0__Impl_StartIndex); } 
     4857            if ( state.backtracking>0 ) { memoize(input, 75, rule__EtsiBnf__Group_1__0__Impl_StartIndex); } 
    47284858 
    47294859                restoreStackSize(stackSize); 
     
    47364866 
    47374867    // $ANTLR start "rule__EtsiBnf__Group_1__1" 
    4738     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1321:1: rule__EtsiBnf__Group_1__1 : rule__EtsiBnf__Group_1__1__Impl rule__EtsiBnf__Group_1__2 ; 
     4868    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1355:1: rule__EtsiBnf__Group_1__1 : rule__EtsiBnf__Group_1__1__Impl rule__EtsiBnf__Group_1__2 ; 
    47394869    public final void rule__EtsiBnf__Group_1__1() throws RecognitionException { 
    47404870        int rule__EtsiBnf__Group_1__1_StartIndex = input.index(); 
     
    47434873             
    47444874        try { 
    4745             if ( state.backtracking>0 && alreadyParsedRule(input, 74) ) { return ; } 
    4746             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1325:1: ( rule__EtsiBnf__Group_1__1__Impl rule__EtsiBnf__Group_1__2 ) 
    4747             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1326:2: rule__EtsiBnf__Group_1__1__Impl rule__EtsiBnf__Group_1__2 
    4748             { 
    4749             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__1__Impl_in_rule__EtsiBnf__Group_1__12836); 
     4875            if ( state.backtracking>0 && alreadyParsedRule(input, 76) ) { return ; } 
     4876            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1359:1: ( rule__EtsiBnf__Group_1__1__Impl rule__EtsiBnf__Group_1__2 ) 
     4877            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1360:2: rule__EtsiBnf__Group_1__1__Impl rule__EtsiBnf__Group_1__2 
     4878            { 
     4879            pushFollow(FOLLOW_rule__EtsiBnf__Group_1__1__Impl_in_rule__EtsiBnf__Group_1__12914); 
    47504880            rule__EtsiBnf__Group_1__1__Impl(); 
    47514881 
    47524882            state._fsp--; 
    47534883            if (state.failed) return ; 
    4754             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__2_in_rule__EtsiBnf__Group_1__12839); 
     4884            pushFollow(FOLLOW_rule__EtsiBnf__Group_1__2_in_rule__EtsiBnf__Group_1__12917); 
    47554885            rule__EtsiBnf__Group_1__2(); 
    47564886 
     
    47664896        } 
    47674897        finally { 
    4768             if ( state.backtracking>0 ) { memoize(input, 74, rule__EtsiBnf__Group_1__1_StartIndex); } 
     4898            if ( state.backtracking>0 ) { memoize(input, 76, rule__EtsiBnf__Group_1__1_StartIndex); } 
    47694899 
    47704900                restoreStackSize(stackSize); 
     
    47774907 
    47784908    // $ANTLR start "rule__EtsiBnf__Group_1__1__Impl" 
    4779     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1333:1: rule__EtsiBnf__Group_1__1__Impl : ( ';' ) ; 
     4909    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1367:1: rule__EtsiBnf__Group_1__1__Impl : ( ';' ) ; 
    47804910    public final void rule__EtsiBnf__Group_1__1__Impl() throws RecognitionException { 
    47814911        int rule__EtsiBnf__Group_1__1__Impl_StartIndex = input.index(); 
     
    47844914             
    47854915        try { 
    4786             if ( state.backtracking>0 && alreadyParsedRule(input, 75) ) { return ; } 
    4787             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1337:1: ( ( ';' ) ) 
    4788             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1338:1: ( ';' ) 
    4789             { 
    4790             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1338:1: ( ';' ) 
    4791             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1339:1: ';' 
     4916            if ( state.backtracking>0 && alreadyParsedRule(input, 77) ) { return ; } 
     4917            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1371:1: ( ( ';' ) ) 
     4918            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1372:1: ( ';' ) 
     4919            { 
     4920            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1372:1: ( ';' ) 
     4921            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1373:1: ';' 
    47924922            { 
    47934923            if ( state.backtracking==0 ) { 
    47944924               before(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_1_1());  
    47954925            } 
    4796             match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_1__1__Impl2867); if (state.failed) return ; 
     4926            match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_1__1__Impl2945); if (state.failed) return ; 
    47974927            if ( state.backtracking==0 ) { 
    47984928               after(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_1_1());  
     
    48104940        } 
    48114941        finally { 
    4812             if ( state.backtracking>0 ) { memoize(input, 75, rule__EtsiBnf__Group_1__1__Impl_StartIndex); } 
     4942            if ( state.backtracking>0 ) { memoize(input, 77, rule__EtsiBnf__Group_1__1__Impl_StartIndex); } 
    48134943 
    48144944                restoreStackSize(stackSize); 
     
    48214951 
    48224952    // $ANTLR start "rule__EtsiBnf__Group_1__2" 
    4823     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1352:1: rule__EtsiBnf__Group_1__2 : rule__EtsiBnf__Group_1__2__Impl rule__EtsiBnf__Group_1__3 ; 
     4953    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1386:1: rule__EtsiBnf__Group_1__2 : rule__EtsiBnf__Group_1__2__Impl rule__EtsiBnf__Group_1__3 ; 
    48244954    public final void rule__EtsiBnf__Group_1__2() throws RecognitionException { 
    48254955        int rule__EtsiBnf__Group_1__2_StartIndex = input.index(); 
     
    48284958             
    48294959        try { 
    4830             if ( state.backtracking>0 && alreadyParsedRule(input, 76) ) { return ; } 
    4831             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1356:1: ( rule__EtsiBnf__Group_1__2__Impl rule__EtsiBnf__Group_1__3 ) 
    4832             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1357:2: rule__EtsiBnf__Group_1__2__Impl rule__EtsiBnf__Group_1__3 
    4833             { 
    4834             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__2__Impl_in_rule__EtsiBnf__Group_1__22898); 
     4960            if ( state.backtracking>0 && alreadyParsedRule(input, 78) ) { return ; } 
     4961            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1390:1: ( rule__EtsiBnf__Group_1__2__Impl rule__EtsiBnf__Group_1__3 ) 
     4962            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1391:2: rule__EtsiBnf__Group_1__2__Impl rule__EtsiBnf__Group_1__3 
     4963            { 
     4964            pushFollow(FOLLOW_rule__EtsiBnf__Group_1__2__Impl_in_rule__EtsiBnf__Group_1__22976); 
    48354965            rule__EtsiBnf__Group_1__2__Impl(); 
    48364966 
    48374967            state._fsp--; 
    48384968            if (state.failed) return ; 
    4839             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__3_in_rule__EtsiBnf__Group_1__22901); 
     4969            pushFollow(FOLLOW_rule__EtsiBnf__Group_1__3_in_rule__EtsiBnf__Group_1__22979); 
    48404970            rule__EtsiBnf__Group_1__3(); 
    48414971 
     
    48514981        } 
    48524982        finally { 
    4853             if ( state.backtracking>0 ) { memoize(input, 76, rule__EtsiBnf__Group_1__2_StartIndex); } 
     4983            if ( state.backtracking>0 ) { memoize(input, 78, rule__EtsiBnf__Group_1__2_StartIndex); } 
    48544984 
    48554985                restoreStackSize(stackSize); 
     
    48624992 
    48634993    // $ANTLR start "rule__EtsiBnf__Group_1__2__Impl" 
    4864     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1364:1: rule__EtsiBnf__Group_1__2__Impl : ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) ; 
     4994    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1398:1: rule__EtsiBnf__Group_1__2__Impl : ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) ; 
    48654995    public final void rule__EtsiBnf__Group_1__2__Impl() throws RecognitionException { 
    48664996        int rule__EtsiBnf__Group_1__2__Impl_StartIndex = input.index(); 
     
    48694999             
    48705000        try { 
    4871             if ( state.backtracking>0 && alreadyParsedRule(input, 77) ) { return ; } 
    4872             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1368:1: ( ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) ) 
    4873             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1369:1: ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) 
    4874             { 
    4875             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1369:1: ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) 
    4876             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1370:1: ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? 
     5001            if ( state.backtracking>0 && alreadyParsedRule(input, 79) ) { return ; } 
     5002            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1402:1: ( ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) ) 
     5003            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1403:1: ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) 
     5004            { 
     5005            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1403:1: ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) 
     5006            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1404:1: ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? 
    48775007            { 
    48785008            if ( state.backtracking==0 ) { 
    48795009               before(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_1_2());  
    48805010            } 
    4881             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1371:1: ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? 
     5011            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1405:1: ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? 
    48825012            int alt19=2; 
    48835013            int LA19_0 = input.LA(1); 
     
    48885018            switch (alt19) { 
    48895019                case 1 : 
    4890                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1371:2: rule__EtsiBnf__ImportSectionAssignment_1_2 
     5020                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1405:2: rule__EtsiBnf__ImportSectionAssignment_1_2 
    48915021                    { 
    4892                     pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_1_2_in_rule__EtsiBnf__Group_1__2__Impl2928); 
     5022                    pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_1_2_in_rule__EtsiBnf__Group_1__2__Impl3006); 
    48935023                    rule__EtsiBnf__ImportSectionAssignment_1_2(); 
    48945024 
     
    49165046        } 
    49175047        finally { 
    4918             if ( state.backtracking>0 ) { memoize(input, 77, rule__EtsiBnf__Group_1__2__Impl_StartIndex); } 
     5048            if ( state.backtracking>0 ) { memoize(input, 79, rule__EtsiBnf__Group_1__2__Impl_StartIndex); } 
    49195049 
    49205050                restoreStackSize(stackSize); 
     
    49275057 
    49285058    // $ANTLR start "rule__EtsiBnf__Group_1__3" 
    4929     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1381:1: rule__EtsiBnf__Group_1__3 : rule__EtsiBnf__Group_1__3__Impl ; 
     5059    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1415:1: rule__EtsiBnf__Group_1__3 : rule__EtsiBnf__Group_1__3__Impl ; 
    49305060    public final void rule__EtsiBnf__Group_1__3() throws RecognitionException { 
    49315061        int rule__EtsiBnf__Group_1__3_StartIndex = input.index(); 
     
    49345064             
    49355065        try { 
    4936             if ( state.backtracking>0 && alreadyParsedRule(input, 78) ) { return ; } 
    4937             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1385:1: ( rule__EtsiBnf__Group_1__3__Impl ) 
    4938             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1386:2: rule__EtsiBnf__Group_1__3__Impl 
    4939             { 
    4940             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__3__Impl_in_rule__EtsiBnf__Group_1__32959); 
     5066            if ( state.backtracking>0 && alreadyParsedRule(input, 80) ) { return ; } 
     5067            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1419:1: ( rule__EtsiBnf__Group_1__3__Impl ) 
     5068            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1420:2: rule__EtsiBnf__Group_1__3__Impl 
     5069            { 
     5070            pushFollow(FOLLOW_rule__EtsiBnf__Group_1__3__Impl_in_rule__EtsiBnf__Group_1__33037); 
    49415071            rule__EtsiBnf__Group_1__3__Impl(); 
    49425072 
     
    49525082        } 
    49535083        finally { 
    4954             if ( state.backtracking>0 ) { memoize(input, 78, rule__EtsiBnf__Group_1__3_StartIndex); } 
     5084            if ( state.backtracking>0 ) { memoize(input, 80, rule__EtsiBnf__Group_1__3_StartIndex); } 
    49555085 
    49565086                restoreStackSize(stackSize); 
     
    49635093 
    49645094    // $ANTLR start "rule__EtsiBnf__Group_1__3__Impl" 
    4965     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1392:1: rule__EtsiBnf__Group_1__3__Impl : ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) ; 
     5095    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1426:1: rule__EtsiBnf__Group_1__3__Impl : ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) ; 
    49665096    public final void rule__EtsiBnf__Group_1__3__Impl() throws RecognitionException { 
    49675097        int rule__EtsiBnf__Group_1__3__Impl_StartIndex = input.index(); 
     
    49705100             
    49715101        try { 
    4972             if ( state.backtracking>0 && alreadyParsedRule(input, 79) ) { return ; } 
    4973             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1396:1: ( ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) ) 
    4974             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1397:1: ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) 
    4975             { 
    4976             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1397:1: ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) 
    4977             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1398:1: ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* 
     5102            if ( state.backtracking>0 && alreadyParsedRule(input, 81) ) { return ; } 
     5103            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1430:1: ( ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) ) 
     5104            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1431:1: ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) 
     5105            { 
     5106            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1431:1: ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) 
     5107            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1432:1: ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* 
    49785108            { 
    49795109            if ( state.backtracking==0 ) { 
    49805110               before(grammarAccess.getEtsiBnfAccess().getDeltaEntryAssignment_1_3());  
    49815111            } 
    4982             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1399:1: ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* 
     5112            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1433:1: ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* 
    49835113            loop20: 
    49845114            do { 
     
    49935123                switch (alt20) { 
    49945124                case 1 : 
    4995                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1399:2: rule__EtsiBnf__DeltaEntryAssignment_1_3 
     5125                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1433:2: rule__EtsiBnf__DeltaEntryAssignment_1_3 
    49965126                    { 
    4997                     pushFollow(FOLLOW_rule__EtsiBnf__DeltaEntryAssignment_1_3_in_rule__EtsiBnf__Group_1__3__Impl2986); 
     5127                    pushFollow(FOLLOW_rule__EtsiBnf__DeltaEntryAssignment_1_3_in_rule__EtsiBnf__Group_1__3__Impl3064); 
    49985128                    rule__EtsiBnf__DeltaEntryAssignment_1_3(); 
    49995129 
     
    50245154        } 
    50255155        finally { 
    5026             if ( state.backtracking>0 ) { memoize(input, 79, rule__EtsiBnf__Group_1__3__Impl_StartIndex); } 
     5156            if ( state.backtracking>0 ) { memoize(input, 81, rule__EtsiBnf__Group_1__3__Impl_StartIndex); } 
    50275157 
    50285158                restoreStackSize(stackSize); 
     
    50355165 
    50365166    // $ANTLR start "rule__EtsiBnf__Group_2__0" 
    5037     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1417:1: rule__EtsiBnf__Group_2__0 : rule__EtsiBnf__Group_2__0__Impl rule__EtsiBnf__Group_2__1 ; 
     5167    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1451:1: rule__EtsiBnf__Group_2__0 : rule__EtsiBnf__Group_2__0__Impl rule__EtsiBnf__Group_2__1 ; 
    50385168    public final void rule__EtsiBnf__Group_2__0() throws RecognitionException { 
    50395169        int rule__EtsiBnf__Group_2__0_StartIndex = input.index(); 
     
    50425172             
    50435173        try { 
    5044             if ( state.backtracking>0 && alreadyParsedRule(input, 80) ) { return ; } 
    5045             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1421:1: ( rule__EtsiBnf__Group_2__0__Impl rule__EtsiBnf__Group_2__1 ) 
    5046             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1422:2: rule__EtsiBnf__Group_2__0__Impl rule__EtsiBnf__Group_2__1 
    5047             { 
    5048             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__0__Impl_in_rule__EtsiBnf__Group_2__03025); 
     5174            if ( state.backtracking>0 && alreadyParsedRule(input, 82) ) { return ; } 
     5175            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1455:1: ( rule__EtsiBnf__Group_2__0__Impl rule__EtsiBnf__Group_2__1 ) 
     5176            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1456:2: rule__EtsiBnf__Group_2__0__Impl rule__EtsiBnf__Group_2__1 
     5177            { 
     5178            pushFollow(FOLLOW_rule__EtsiBnf__Group_2__0__Impl_in_rule__EtsiBnf__Group_2__03103); 
    50495179            rule__EtsiBnf__Group_2__0__Impl(); 
    50505180 
    50515181            state._fsp--; 
    50525182            if (state.failed) return ; 
    5053             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__1_in_rule__EtsiBnf__Group_2__03028); 
     5183            pushFollow(FOLLOW_rule__EtsiBnf__Group_2__1_in_rule__EtsiBnf__Group_2__03106); 
    50545184            rule__EtsiBnf__Group_2__1(); 
    50555185 
     
    50655195        } 
    50665196        finally { 
    5067             if ( state.backtracking>0 ) { memoize(input, 80, rule__EtsiBnf__Group_2__0_StartIndex); } 
     5197            if ( state.backtracking>0 ) { memoize(input, 82, rule__EtsiBnf__Group_2__0_StartIndex); } 
    50685198 
    50695199                restoreStackSize(stackSize); 
     
    50765206 
    50775207    // $ANTLR start "rule__EtsiBnf__Group_2__0__Impl" 
    5078     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1429:1: rule__EtsiBnf__Group_2__0__Impl : ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) ; 
     5208    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1463:1: rule__EtsiBnf__Group_2__0__Impl : ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) ; 
    50795209    public final void rule__EtsiBnf__Group_2__0__Impl() throws RecognitionException { 
    50805210        int rule__EtsiBnf__Group_2__0__Impl_StartIndex = input.index(); 
     
    50835213             
    50845214        try { 
    5085             if ( state.backtracking>0 && alreadyParsedRule(input, 81) ) { return ; } 
    5086             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1433:1: ( ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) ) 
    5087             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1434:1: ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) 
    5088             { 
    5089             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1434:1: ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) 
    5090             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1435:1: ( rule__EtsiBnf__TypeAssignment_2_0 ) 
     5215            if ( state.backtracking>0 && alreadyParsedRule(input, 83) ) { return ; } 
     5216            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1467:1: ( ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) ) 
     5217            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1468:1: ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) 
     5218            { 
     5219            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1468:1: ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) 
     5220            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1469:1: ( rule__EtsiBnf__TypeAssignment_2_0 ) 
    50915221            { 
    50925222            if ( state.backtracking==0 ) { 
    50935223               before(grammarAccess.getEtsiBnfAccess().getTypeAssignment_2_0());  
    50945224            } 
    5095             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1436:1: ( rule__EtsiBnf__TypeAssignment_2_0 ) 
    5096             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1436:2: rule__EtsiBnf__TypeAssignment_2_0 
    5097             { 
    5098             pushFollow(FOLLOW_rule__EtsiBnf__TypeAssignment_2_0_in_rule__EtsiBnf__Group_2__0__Impl3055); 
     5225            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1470:1: ( rule__EtsiBnf__TypeAssignment_2_0 ) 
     5226            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1470:2: rule__EtsiBnf__TypeAssignment_2_0 
     5227            { 
     5228            pushFollow(FOLLOW_rule__EtsiBnf__TypeAssignment_2_0_in_rule__EtsiBnf__Group_2__0__Impl3133); 
    50995229            rule__EtsiBnf__TypeAssignment_2_0(); 
    51005230 
     
    51195249        } 
    51205250        finally { 
    5121             if ( state.backtracking>0 ) { memoize(input, 81, rule__EtsiBnf__Group_2__0__Impl_StartIndex); } 
     5251            if ( state.backtracking>0 ) { memoize(input, 83, rule__EtsiBnf__Group_2__0__Impl_StartIndex); } 
    51225252 
    51235253                restoreStackSize(stackSize); 
     
    51305260 
    51315261    // $ANTLR start "rule__EtsiBnf__Group_2__1" 
    5132     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1446:1: rule__EtsiBnf__Group_2__1 : rule__EtsiBnf__Group_2__1__Impl rule__EtsiBnf__Group_2__2 ; 
     5262    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1480:1: rule__EtsiBnf__Group_2__1 : rule__EtsiBnf__Group_2__1__Impl rule__EtsiBnf__Group_2__2 ; 
    51335263    public final void rule__EtsiBnf__Group_2__1() throws RecognitionException { 
    51345264        int rule__EtsiBnf__Group_2__1_StartIndex = input.index(); 
     
    51375267             
    51385268        try { 
    5139             if ( state.backtracking>0 && alreadyParsedRule(input, 82) ) { return ; } 
    5140             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1450:1: ( rule__EtsiBnf__Group_2__1__Impl rule__EtsiBnf__Group_2__2 ) 
    5141             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1451:2: rule__EtsiBnf__Group_2__1__Impl rule__EtsiBnf__Group_2__2 
    5142             { 
    5143             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__1__Impl_in_rule__EtsiBnf__Group_2__13085); 
     5269            if ( state.backtracking>0 && alreadyParsedRule(input, 84) ) { return ; } 
     5270            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1484:1: ( rule__EtsiBnf__Group_2__1__Impl rule__EtsiBnf__Group_2__2 ) 
     5271            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1485:2: rule__EtsiBnf__Group_2__1__Impl rule__EtsiBnf__Group_2__2 
     5272            { 
     5273            pushFollow(FOLLOW_rule__EtsiBnf__Group_2__1__Impl_in_rule__EtsiBnf__Group_2__13163); 
    51445274            rule__EtsiBnf__Group_2__1__Impl(); 
    51455275 
    51465276            state._fsp--; 
    51475277            if (state.failed) return ; 
    5148             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__2_in_rule__EtsiBnf__Group_2__13088); 
     5278            pushFollow(FOLLOW_rule__EtsiBnf__Group_2__2_in_rule__EtsiBnf__Group_2__13166); 
    51495279            rule__EtsiBnf__Group_2__2(); 
    51505280 
     
    51605290        } 
    51615291        finally { 
    5162             if ( state.backtracking>0 ) { memoize(input, 82, rule__EtsiBnf__Group_2__1_StartIndex); } 
     5292            if ( state.backtracking>0 ) { memoize(input, 84, rule__EtsiBnf__Group_2__1_StartIndex); } 
    51635293 
    51645294                restoreStackSize(stackSize); 
     
    51715301 
    51725302    // $ANTLR start "rule__EtsiBnf__Group_2__1__Impl" 
    5173     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1458:1: rule__EtsiBnf__Group_2__1__Impl : ( ';' ) ; 
     5303    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1492:1: rule__EtsiBnf__Group_2__1__Impl : ( ';' ) ; 
    51745304    public final void rule__EtsiBnf__Group_2__1__Impl() throws RecognitionException { 
    51755305        int rule__EtsiBnf__Group_2__1__Impl_StartIndex = input.index(); 
     
    51785308             
    51795309        try { 
    5180             if ( state.backtracking>0 && alreadyParsedRule(input, 83) ) { return ; } 
    5181             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1462:1: ( ( ';' ) ) 
    5182             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1463:1: ( ';' ) 
    5183             { 
    5184             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1463:1: ( ';' ) 
    5185             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1464:1: ';' 
     5310            if ( state.backtracking>0 && alreadyParsedRule(input, 85) ) { return ; } 
     5311            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1496:1: ( ( ';' ) ) 
     5312            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1497:1: ( ';' ) 
     5313            { 
     5314            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1497:1: ( ';' ) 
     5315            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1498:1: ';' 
    51865316            { 
    51875317            if ( state.backtracking==0 ) { 
    51885318               before(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_2_1());  
    51895319            } 
    5190             match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_2__1__Impl3116); if (state.failed) return ; 
     5320            match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_2__1__Impl3194); if (state.failed) return ; 
    51915321            if ( state.backtracking==0 ) { 
    51925322               after(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_2_1());  
     
    52045334        } 
    52055335        finally { 
    5206             if ( state.backtracking>0 ) { memoize(input, 83, rule__EtsiBnf__Group_2__1__Impl_StartIndex); } 
     5336            if ( state.backtracking>0 ) { memoize(input, 85, rule__EtsiBnf__Group_2__1__Impl_StartIndex); } 
    52075337 
    52085338                restoreStackSize(stackSize); 
     
    52155345 
    52165346    // $ANTLR start "rule__EtsiBnf__Group_2__2" 
    5217     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1477:1: rule__EtsiBnf__Group_2__2 : rule__EtsiBnf__Group_2__2__Impl rule__EtsiBnf__Group_2__3 ; 
     5347    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1511:1: rule__EtsiBnf__Group_2__2 : rule__EtsiBnf__Group_2__2__Impl rule__EtsiBnf__Group_2__3 ; 
    52185348    public final void rule__EtsiBnf__Group_2__2() throws RecognitionException { 
    52195349        int rule__EtsiBnf__Group_2__2_StartIndex = input.index(); 
     
    52225352             
    52235353        try { 
    5224             if ( state.backtracking>0 && alreadyParsedRule(input, 84) ) { return ; } 
    5225             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1481:1: ( rule__EtsiBnf__Group_2__2__Impl rule__EtsiBnf__Group_2__3 ) 
    5226             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1482:2: rule__EtsiBnf__Group_2__2__Impl rule__EtsiBnf__Group_2__3 
    5227             { 
    5228             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__2__Impl_in_rule__EtsiBnf__Group_2__23147); 
     5354            if ( state.backtracking>0 && alreadyParsedRule(input, 86) ) { return ; } 
     5355            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1515:1: ( rule__EtsiBnf__Group_2__2__Impl rule__EtsiBnf__Group_2__3 ) 
     5356            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1516:2: rule__EtsiBnf__Group_2__2__Impl rule__EtsiBnf__Group_2__3 
     5357            { 
     5358            pushFollow(FOLLOW_rule__EtsiBnf__Group_2__2__Impl_in_rule__EtsiBnf__Group_2__23225); 
    52295359            rule__EtsiBnf__Group_2__2__Impl(); 
    52305360 
    52315361            state._fsp--; 
    52325362            if (state.failed) return ; 
    5233             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__3_in_rule__EtsiBnf__Group_2__23150); 
     5363            pushFollow(FOLLOW_rule__EtsiBnf__Group_2__3_in_rule__EtsiBnf__Group_2__23228); 
    52345364            rule__EtsiBnf__Group_2__3(); 
    52355365 
     
    52455375        } 
    52465376        finally { 
    5247             if ( state.backtracking>0 ) { memoize(input, 84, rule__EtsiBnf__Group_2__2_StartIndex); } 
     5377            if ( state.backtracking>0 ) { memoize(input, 86, rule__EtsiBnf__Group_2__2_StartIndex); } 
    52485378 
    52495379                restoreStackSize(stackSize); 
     
    52565386 
    52575387    // $ANTLR start "rule__EtsiBnf__Group_2__2__Impl" 
    5258     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1489:1: rule__EtsiBnf__Group_2__2__Impl : ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) ; 
     5388    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1523:1: rule__EtsiBnf__Group_2__2__Impl : ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) ; 
    52595389    public final void rule__EtsiBnf__Group_2__2__Impl() throws RecognitionException { 
    52605390        int rule__EtsiBnf__Group_2__2__Impl_StartIndex = input.index(); 
     
    52635393             
    52645394        try { 
    5265             if ( state.backtracking>0 && alreadyParsedRule(input, 85) ) { return ; } 
    5266             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1493:1: ( ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) ) 
    5267             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1494:1: ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) 
    5268             { 
    5269             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1494:1: ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) 
    5270             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1495:1: ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? 
     5395            if ( state.backtracking>0 && alreadyParsedRule(input, 87) ) { return ; } 
     5396            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1527:1: ( ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) ) 
     5397            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1528:1: ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) 
     5398            { 
     5399            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1528:1: ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) 
     5400            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1529:1: ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? 
    52715401            { 
    52725402            if ( state.backtracking==0 ) { 
    52735403               before(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_2_2());  
    52745404            } 
    5275             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1496:1: ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? 
     5405            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1530:1: ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? 
    52765406            int alt21=2; 
    52775407            int LA21_0 = input.LA(1); 
     
    52825412            switch (alt21) { 
    52835413                case 1 : 
    5284                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1496:2: rule__EtsiBnf__ImportSectionAssignment_2_2 
     5414                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1530:2: rule__EtsiBnf__ImportSectionAssignment_2_2 
    52855415                    { 
    5286                     pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_2_2_in_rule__EtsiBnf__Group_2__2__Impl3177); 
     5416                    pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_2_2_in_rule__EtsiBnf__Group_2__2__Impl3255); 
    52875417                    rule__EtsiBnf__ImportSectionAssignment_2_2(); 
    52885418 
     
    53105440        } 
    53115441        finally { 
    5312             if ( state.backtracking>0 ) { memoize(input, 85, rule__EtsiBnf__Group_2__2__Impl_StartIndex); } 
     5442            if ( state.backtracking>0 ) { memoize(input, 87, rule__EtsiBnf__Group_2__2__Impl_StartIndex); } 
    53135443 
    53145444                restoreStackSize(stackSize); 
     
    53215451 
    53225452    // $ANTLR start "rule__EtsiBnf__Group_2__3" 
    5323     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1506:1: rule__EtsiBnf__Group_2__3 : rule__EtsiBnf__Group_2__3__Impl ; 
     5453    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1540:1: rule__EtsiBnf__Group_2__3 : rule__EtsiBnf__Group_2__3__Impl ; 
    53245454    public final void rule__EtsiBnf__Group_2__3() throws RecognitionException { 
    53255455        int rule__EtsiBnf__Group_2__3_StartIndex = input.index(); 
     
    53285458             
    53295459        try { 
    5330             if ( state.backtracking>0 && alreadyParsedRule(input, 86) ) { return ; } 
    5331             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1510:1: ( rule__EtsiBnf__Group_2__3__Impl ) 
    5332             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1511:2: rule__EtsiBnf__Group_2__3__Impl 
    5333             { 
    5334             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__3__Impl_in_rule__EtsiBnf__Group_2__33208); 
     5460            if ( state.backtracking>0 && alreadyParsedRule(input, 88) ) { return ; } 
     5461            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1544:1: ( rule__EtsiBnf__Group_2__3__Impl ) 
     5462            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1545:2: rule__EtsiBnf__Group_2__3__Impl 
     5463            { 
     5464            pushFollow(FOLLOW_rule__EtsiBnf__Group_2__3__Impl_in_rule__EtsiBnf__Group_2__33286); 
    53355465            rule__EtsiBnf__Group_2__3__Impl(); 
    53365466 
     
    53465476        } 
    53475477        finally { 
    5348             if ( state.backtracking>0 ) { memoize(input, 86, rule__EtsiBnf__Group_2__3_StartIndex); } 
     5478            if ( state.backtracking>0 ) { memoize(input, 88, rule__EtsiBnf__Group_2__3_StartIndex); } 
    53495479 
    53505480                restoreStackSize(stackSize); 
     
    53575487 
    53585488    // $ANTLR start "rule__EtsiBnf__Group_2__3__Impl" 
    5359     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1517:1: rule__EtsiBnf__Group_2__3__Impl : ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) ; 
     5489    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1551:1: rule__EtsiBnf__Group_2__3__Impl : ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) ; 
    53605490    public final void rule__EtsiBnf__Group_2__3__Impl() throws RecognitionException { 
    53615491        int rule__EtsiBnf__Group_2__3__Impl_StartIndex = input.index(); 
     
    53645494             
    53655495        try { 
    5366             if ( state.backtracking>0 && alreadyParsedRule(input, 87) ) { return ; } 
    5367             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1521:1: ( ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) ) 
    5368             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1522:1: ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) 
    5369             { 
    5370             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1522:1: ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) 
    5371             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1523:1: ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* 
     5496            if ( state.backtracking>0 && alreadyParsedRule(input, 89) ) { return ; } 
     5497            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1555:1: ( ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) ) 
     5498            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1556:1: ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) 
     5499            { 
     5500            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1556:1: ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) 
     5501            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1557:1: ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* 
    53725502            { 
    53735503            if ( state.backtracking==0 ) { 
    53745504               before(grammarAccess.getEtsiBnfAccess().getMergeEntryAssignment_2_3());  
    53755505            } 
    5376             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1524:1: ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* 
     5506            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1558:1: ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* 
    53775507            loop22: 
    53785508            do { 
     
    53875517                switch (alt22) { 
    53885518                case 1 : 
    5389                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1524:2: rule__EtsiBnf__MergeEntryAssignment_2_3 
     5519                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1558:2: rule__EtsiBnf__MergeEntryAssignment_2_3 
    53905520                    { 
    5391                     pushFollow(FOLLOW_rule__EtsiBnf__MergeEntryAssignment_2_3_in_rule__EtsiBnf__Group_2__3__Impl3235); 
     5521                    pushFollow(FOLLOW_rule__EtsiBnf__MergeEntryAssignment_2_3_in_rule__EtsiBnf__Group_2__3__Impl3313); 
    53925522                    rule__EtsiBnf__MergeEntryAssignment_2_3(); 
    53935523 
     
    54185548        } 
    54195549        finally { 
    5420             if ( state.backtracking>0 ) { memoize(input, 87, rule__EtsiBnf__Group_2__3__Impl_StartIndex); } 
     5550            if ( state.backtracking>0 ) { memoize(input, 89, rule__EtsiBnf__Group_2__3__Impl_StartIndex); } 
    54215551 
    54225552                restoreStackSize(stackSize); 
     
    54295559 
    54305560    // $ANTLR start "rule__SectionHeading__Group__0" 
    5431     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1542:1: rule__SectionHeading__Group__0 : rule__SectionHeading__Group__0__Impl rule__SectionHeading__Group__1 ; 
     5561    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1576:1: rule__SectionHeading__Group__0 : rule__SectionHeading__Group__0__Impl rule__SectionHeading__Group__1 ; 
    54325562    public final void rule__SectionHeading__Group__0() throws RecognitionException { 
    54335563        int rule__SectionHeading__Group__0_StartIndex = input.index(); 
     
    54365566             
    54375567        try { 
    5438             if ( state.backtracking>0 && alreadyParsedRule(input, 88) ) { return ; } 
    5439             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1546:1: ( rule__SectionHeading__Group__0__Impl rule__SectionHeading__Group__1 ) 
    5440             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1547:2: rule__SectionHeading__Group__0__Impl rule__SectionHeading__Group__1 
    5441             { 
    5442             pushFollow(FOLLOW_rule__SectionHeading__Group__0__Impl_in_rule__SectionHeading__Group__03274); 
     5568            if ( state.backtracking>0 && alreadyParsedRule(input, 90) ) { return ; } 
     5569            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1580:1: ( rule__SectionHeading__Group__0__Impl rule__SectionHeading__Group__1 ) 
     5570            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1581:2: rule__SectionHeading__Group__0__Impl rule__SectionHeading__Group__1 
     5571            { 
     5572            pushFollow(FOLLOW_rule__SectionHeading__Group__0__Impl_in_rule__SectionHeading__Group__03352); 
    54435573            rule__SectionHeading__Group__0__Impl(); 
    54445574 
    54455575            state._fsp--; 
    54465576            if (state.failed) return ; 
    5447             pushFollow(FOLLOW_rule__SectionHeading__Group__1_in_rule__SectionHeading__Group__03277); 
     5577            pushFollow(FOLLOW_rule__SectionHeading__Group__1_in_rule__SectionHeading__Group__03355); 
    54485578            rule__SectionHeading__Group__1(); 
    54495579 
     
    54595589        } 
    54605590        finally { 
    5461             if ( state.backtracking>0 ) { memoize(input, 88, rule__SectionHeading__Group__0_StartIndex); } 
     5591            if ( state.backtracking>0 ) { memoize(input, 90, rule__SectionHeading__Group__0_StartIndex); } 
    54625592 
    54635593                restoreStackSize(stackSize); 
     
    54705600 
    54715601    // $ANTLR start "rule__SectionHeading__Group__0__Impl" 
    5472     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1554:1: rule__SectionHeading__Group__0__Impl : ( () ) ; 
     5602    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1588:1: rule__SectionHeading__Group__0__Impl : ( () ) ; 
    54735603    public final void rule__SectionHeading__Group__0__Impl() throws RecognitionException { 
    54745604        int rule__SectionHeading__Group__0__Impl_StartIndex = input.index(); 
     
    54775607             
    54785608        try { 
    5479             if ( state.backtracking>0 && alreadyParsedRule(input, 89) ) { return ; } 
    5480             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1558:1: ( ( () ) ) 
    5481             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1559:1: ( () ) 
    5482             { 
    5483             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1559:1: ( () ) 
    5484             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1560:1: () 
     5609            if ( state.backtracking>0 && alreadyParsedRule(input, 91) ) { return ; } 
     5610            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1592:1: ( ( () ) ) 
     5611            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1593:1: ( () ) 
     5612            { 
     5613            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1593:1: ( () ) 
     5614            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1594:1: () 
    54855615            { 
    54865616            if ( state.backtracking==0 ) { 
    54875617               before(grammarAccess.getSectionHeadingAccess().getSectionHeadingAction_0());  
    54885618            } 
    5489             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1561:1: () 
    5490             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1563:1:  
     5619            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1595:1: () 
     5620            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1597:1:  
    54915621            { 
    54925622            } 
     
    55035633        } 
    55045634        finally { 
    5505             if ( state.backtracking>0 ) { memoize(input, 89, rule__SectionHeading__Group__0__Impl_StartIndex); } 
     5635            if ( state.backtracking>0 ) { memoize(input, 91, rule__SectionHeading__Group__0__Impl_StartIndex); } 
    55065636 
    55075637                restoreStackSize(stackSize); 
     
    55145644 
    55155645    // $ANTLR start "rule__SectionHeading__Group__1" 
    5516     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1573:1: rule__SectionHeading__Group__1 : rule__SectionHeading__Group__1__Impl ; 
     5646    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1607:1: rule__SectionHeading__Group__1 : rule__SectionHeading__Group__1__Impl ; 
    55175647    public final void rule__SectionHeading__Group__1() throws RecognitionException { 
    55185648        int rule__SectionHeading__Group__1_StartIndex = input.index(); 
     
    55215651             
    55225652        try { 
    5523             if ( state.backtracking>0 && alreadyParsedRule(input, 90) ) { return ; } 
    5524             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1577:1: ( rule__SectionHeading__Group__1__Impl ) 
    5525             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1578:2: rule__SectionHeading__Group__1__Impl 
    5526             { 
    5527             pushFollow(FOLLOW_rule__SectionHeading__Group__1__Impl_in_rule__SectionHeading__Group__13335); 
     5653            if ( state.backtracking>0 && alreadyParsedRule(input, 92) ) { return ; } 
     5654            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1611:1: ( rule__SectionHeading__Group__1__Impl ) 
     5655            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1612:2: rule__SectionHeading__Group__1__Impl 
     5656            { 
     5657            pushFollow(FOLLOW_rule__SectionHeading__Group__1__Impl_in_rule__SectionHeading__Group__13413); 
    55285658            rule__SectionHeading__Group__1__Impl(); 
    55295659 
     
    55395669        } 
    55405670        finally { 
    5541             if ( state.backtracking>0 ) { memoize(input, 90, rule__SectionHeading__Group__1_StartIndex); } 
     5671            if ( state.backtracking>0 ) { memoize(input, 92, rule__SectionHeading__Group__1_StartIndex); } 
    55425672 
    55435673                restoreStackSize(stackSize); 
     
    55505680 
    55515681    // $ANTLR start "rule__SectionHeading__Group__1__Impl" 
    5552     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1584:1: rule__SectionHeading__Group__1__Impl : ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) ; 
     5682    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1618:1: rule__SectionHeading__Group__1__Impl : ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) ; 
    55535683    public final void rule__SectionHeading__Group__1__Impl() throws RecognitionException { 
    55545684        int rule__SectionHeading__Group__1__Impl_StartIndex = input.index(); 
     
    55575687             
    55585688        try { 
    5559             if ( state.backtracking>0 && alreadyParsedRule(input, 91) ) { return ; } 
    5560             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1588:1: ( ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) ) 
    5561             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1589:1: ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) 
    5562             { 
    5563             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1589:1: ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) 
    5564             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1590:1: ( rule__SectionHeading__SectionHeaderAssignment_1 ) 
     5689            if ( state.backtracking>0 && alreadyParsedRule(input, 93) ) { return ; } 
     5690            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1622:1: ( ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) ) 
     5691            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1623:1: ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) 
     5692            { 
     5693            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1623:1: ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) 
     5694            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1624:1: ( rule__SectionHeading__SectionHeaderAssignment_1 ) 
    55655695            { 
    55665696            if ( state.backtracking==0 ) { 
    55675697               before(grammarAccess.getSectionHeadingAccess().getSectionHeaderAssignment_1());  
    55685698            } 
    5569             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1591:1: ( rule__SectionHeading__SectionHeaderAssignment_1 ) 
    5570             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1591:2: rule__SectionHeading__SectionHeaderAssignment_1 
    5571             { 
    5572             pushFollow(FOLLOW_rule__SectionHeading__SectionHeaderAssignment_1_in_rule__SectionHeading__Group__1__Impl3362); 
     5699            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1625:1: ( rule__SectionHeading__SectionHeaderAssignment_1 ) 
     5700            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1625:2: rule__SectionHeading__SectionHeaderAssignment_1 
     5701            { 
     5702            pushFollow(FOLLOW_rule__SectionHeading__SectionHeaderAssignment_1_in_rule__SectionHeading__Group__1__Impl3440); 
    55735703            rule__SectionHeading__SectionHeaderAssignment_1(); 
    55745704 
     
    55935723        } 
    55945724        finally { 
    5595             if ( state.backtracking>0 ) { memoize(input, 91, rule__SectionHeading__Group__1__Impl_StartIndex); } 
     5725            if ( state.backtracking>0 ) { memoize(input, 93, rule__SectionHeading__Group__1__Impl_StartIndex); } 
    55965726 
    55975727                restoreStackSize(stackSize); 
     
    56035733 
    56045734 
     5735    // $ANTLR start "rule__Comment__Group__0" 
     5736    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1639:1: rule__Comment__Group__0 : rule__Comment__Group__0__Impl rule__Comment__Group__1 ; 
     5737    public final void rule__Comment__Group__0() throws RecognitionException { 
     5738        int rule__Comment__Group__0_StartIndex = input.index(); 
     5739 
     5740                        int stackSize = keepStackSize(); 
     5741             
     5742        try { 
     5743            if ( state.backtracking>0 && alreadyParsedRule(input, 94) ) { return ; } 
     5744            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1643:1: ( rule__Comment__Group__0__Impl rule__Comment__Group__1 ) 
     5745            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1644:2: rule__Comment__Group__0__Impl rule__Comment__Group__1 
     5746            { 
     5747            pushFollow(FOLLOW_rule__Comment__Group__0__Impl_in_rule__Comment__Group__03474); 
     5748            rule__Comment__Group__0__Impl(); 
     5749 
     5750            state._fsp--; 
     5751            if (state.failed) return ; 
     5752            pushFollow(FOLLOW_rule__Comment__Group__1_in_rule__Comment__Group__03477); 
     5753            rule__Comment__Group__1(); 
     5754 
     5755            state._fsp--; 
     5756            if (state.failed) return ; 
     5757 
     5758            } 
     5759 
     5760        } 
     5761        catch (RecognitionException re) { 
     5762            reportError(re); 
     5763            recover(input,re); 
     5764        } 
     5765        finally { 
     5766            if ( state.backtracking>0 ) { memoize(input, 94, rule__Comment__Group__0_StartIndex); } 
     5767 
     5768                restoreStackSize(stackSize); 
     5769 
     5770        } 
     5771        return ; 
     5772    } 
     5773    // $ANTLR end "rule__Comment__Group__0" 
     5774 
     5775 
     5776    // $ANTLR start "rule__Comment__Group__0__Impl" 
     5777    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1651:1: rule__Comment__Group__0__Impl : ( () ) ; 
     5778    public final void rule__Comment__Group__0__Impl() throws RecognitionException { 
     5779        int rule__Comment__Group__0__Impl_StartIndex = input.index(); 
     5780 
     5781                        int stackSize = keepStackSize(); 
     5782             
     5783        try { 
     5784            if ( state.backtracking>0 && alreadyParsedRule(input, 95) ) { return ; } 
     5785            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1655:1: ( ( () ) ) 
     5786            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1656:1: ( () ) 
     5787            { 
     5788            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1656:1: ( () ) 
     5789            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1657:1: () 
     5790            { 
     5791            if ( state.backtracking==0 ) { 
     5792               before(grammarAccess.getCommentAccess().getCommentAction_0());  
     5793            } 
     5794            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1658:1: () 
     5795            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1660:1:  
     5796            { 
     5797            } 
     5798 
     5799            if ( state.backtracking==0 ) { 
     5800               after(grammarAccess.getCommentAccess().getCommentAction_0());  
     5801            } 
     5802 
     5803            } 
     5804 
     5805 
     5806            } 
     5807 
     5808        } 
     5809        finally { 
     5810            if ( state.backtracking>0 ) { memoize(input, 95, rule__Comment__Group__0__Impl_StartIndex); } 
     5811 
     5812                restoreStackSize(stackSize); 
     5813 
     5814        } 
     5815        return ; 
     5816    } 
     5817    // $ANTLR end "rule__Comment__Group__0__Impl" 
     5818 
     5819 
     5820    // $ANTLR start "rule__Comment__Group__1" 
     5821    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1670:1: rule__Comment__Group__1 : rule__Comment__Group__1__Impl ; 
     5822    public final void rule__Comment__Group__1() throws RecognitionException { 
     5823        int rule__Comment__Group__1_StartIndex = input.index(); 
     5824 
     5825                        int stackSize = keepStackSize(); 
     5826             
     5827        try { 
     5828            if ( state.backtracking>0 && alreadyParsedRule(input, 96) ) { return ; } 
     5829            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1674:1: ( rule__Comment__Group__1__Impl ) 
     5830            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1675:2: rule__Comment__Group__1__Impl 
     5831            { 
     5832            pushFollow(FOLLOW_rule__Comment__Group__1__Impl_in_rule__Comment__Group__13535); 
     5833            rule__Comment__Group__1__Impl(); 
     5834 
     5835            state._fsp--; 
     5836            if (state.failed) return ; 
     5837 
     5838            } 
     5839 
     5840        } 
     5841        catch (RecognitionException re) { 
     5842            reportError(re); 
     5843            recover(input,re); 
     5844        } 
     5845        finally { 
     5846            if ( state.backtracking>0 ) { memoize(input, 96, rule__Comment__Group__1_StartIndex); } 
     5847 
     5848                restoreStackSize(stackSize); 
     5849 
     5850        } 
     5851        return ; 
     5852    } 
     5853    // $ANTLR end "rule__Comment__Group__1" 
     5854 
     5855 
     5856    // $ANTLR start "rule__Comment__Group__1__Impl" 
     5857    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1681:1: rule__Comment__Group__1__Impl : ( ( rule__Comment__ContentAssignment_1 ) ) ; 
     5858    public final void rule__Comment__Group__1__Impl() throws RecognitionException { 
     5859        int rule__Comment__Group__1__Impl_StartIndex = input.index(); 
     5860 
     5861                        int stackSize = keepStackSize(); 
     5862             
     5863        try { 
     5864            if ( state.backtracking>0 && alreadyParsedRule(input, 97) ) { return ; } 
     5865            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1685:1: ( ( ( rule__Comment__ContentAssignment_1 ) ) ) 
     5866            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1686:1: ( ( rule__Comment__ContentAssignment_1 ) ) 
     5867            { 
     5868            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1686:1: ( ( rule__Comment__ContentAssignment_1 ) ) 
     5869            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1687:1: ( rule__Comment__ContentAssignment_1 ) 
     5870            { 
     5871            if ( state.backtracking==0 ) { 
     5872               before(grammarAccess.getCommentAccess().getContentAssignment_1());  
     5873            } 
     5874            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1688:1: ( rule__Comment__ContentAssignment_1 ) 
     5875            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1688:2: rule__Comment__ContentAssignment_1 
     5876            { 
     5877            pushFollow(FOLLOW_rule__Comment__ContentAssignment_1_in_rule__Comment__Group__1__Impl3562); 
     5878            rule__Comment__ContentAssignment_1(); 
     5879 
     5880            state._fsp--; 
     5881            if (state.failed) return ; 
     5882 
     5883            } 
     5884 
     5885            if ( state.backtracking==0 ) { 
     5886               after(grammarAccess.getCommentAccess().getContentAssignment_1());  
     5887            } 
     5888 
     5889            } 
     5890 
     5891 
     5892            } 
     5893 
     5894        } 
     5895        catch (RecognitionException re) { 
     5896            reportError(re); 
     5897            recover(input,re); 
     5898        } 
     5899        finally { 
     5900            if ( state.backtracking>0 ) { memoize(input, 97, rule__Comment__Group__1__Impl_StartIndex); } 
     5901 
     5902                restoreStackSize(stackSize); 
     5903 
     5904        } 
     5905        return ; 
     5906    } 
     5907    // $ANTLR end "rule__Comment__Group__1__Impl" 
     5908 
     5909 
    56055910    // $ANTLR start "rule__Import__Group__0" 
    5606     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1605:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ; 
     5911    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1702:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ; 
    56075912    public final void rule__Import__Group__0() throws RecognitionException { 
    56085913        int rule__Import__Group__0_StartIndex = input.index(); 
     
    56115916             
    56125917        try { 
    5613             if ( state.backtracking>0 && alreadyParsedRule(input, 92) ) { return ; } 
    5614             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1609:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 ) 
    5615             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1610:2: rule__Import__Group__0__Impl rule__Import__Group__1 
    5616             { 
    5617             pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__03396); 
     5918            if ( state.backtracking>0 && alreadyParsedRule(input, 98) ) { return ; } 
     5919            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1706:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 ) 
     5920            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1707:2: rule__Import__Group__0__Impl rule__Import__Group__1 
     5921            { 
     5922            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__03596); 
    56185923            rule__Import__Group__0__Impl(); 
    56195924 
    56205925            state._fsp--; 
    56215926            if (state.failed) return ; 
    5622             pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__03399); 
     5927            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__03599); 
    56235928            rule__Import__Group__1(); 
    56245929 
     
    56345939        } 
    56355940        finally { 
    5636             if ( state.backtracking>0 ) { memoize(input, 92, rule__Import__Group__0_StartIndex); } 
     5941            if ( state.backtracking>0 ) { memoize(input, 98, rule__Import__Group__0_StartIndex); } 
    56375942 
    56385943                restoreStackSize(stackSize); 
     
    56455950 
    56465951    // $ANTLR start "rule__Import__Group__0__Impl" 
    5647     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1617:1: rule__Import__Group__0__Impl : ( 'import' ) ; 
     5952    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1714:1: rule__Import__Group__0__Impl : ( 'import' ) ; 
    56485953    public final void rule__Import__Group__0__Impl() throws RecognitionException { 
    56495954        int rule__Import__Group__0__Impl_StartIndex = input.index(); 
     
    56525957             
    56535958        try { 
    5654             if ( state.backtracking>0 && alreadyParsedRule(input, 93) ) { return ; } 
    5655             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1621:1: ( ( 'import' ) ) 
    5656             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1622:1: ( 'import' ) 
    5657             { 
    5658             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1622:1: ( 'import' ) 
    5659             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1623:1: 'import' 
     5959            if ( state.backtracking>0 && alreadyParsedRule(input, 99) ) { return ; } 
     5960            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1718:1: ( ( 'import' ) ) 
     5961            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1719:1: ( 'import' ) 
     5962            { 
     5963            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1719:1: ( 'import' ) 
     5964            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1720:1: 'import' 
    56605965            { 
    56615966            if ( state.backtracking==0 ) { 
    56625967               before(grammarAccess.getImportAccess().getImportKeyword_0());  
    56635968            } 
    5664             match(input,24,FOLLOW_24_in_rule__Import__Group__0__Impl3427); if (state.failed) return ; 
     5969            match(input,24,FOLLOW_24_in_rule__Import__Group__0__Impl3627); if (state.failed) return ; 
    56655970            if ( state.backtracking==0 ) { 
    56665971               after(grammarAccess.getImportAccess().getImportKeyword_0());  
     
    56785983        } 
    56795984        finally { 
    5680             if ( state.backtracking>0 ) { memoize(input, 93, rule__Import__Group__0__Impl_StartIndex); } 
     5985            if ( state.backtracking>0 ) { memoize(input, 99, rule__Import__Group__0__Impl_StartIndex); } 
    56815986 
    56825987                restoreStackSize(stackSize); 
     
    56895994 
    56905995    // $ANTLR start "rule__Import__Group__1" 
    5691     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1636:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ; 
     5996    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1733:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ; 
    56925997    public final void rule__Import__Group__1() throws RecognitionException { 
    56935998        int rule__Import__Group__1_StartIndex = input.index(); 
     
    56966001             
    56976002        try { 
    5698             if ( state.backtracking>0 && alreadyParsedRule(input, 94) ) { return ; } 
    5699             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1640:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 ) 
    5700             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1641:2: rule__Import__Group__1__Impl rule__Import__Group__2 
    5701             { 
    5702             pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__13458); 
     6003            if ( state.backtracking>0 && alreadyParsedRule(input, 100) ) { return ; } 
     6004            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1737:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 ) 
     6005            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1738:2: rule__Import__Group__1__Impl rule__Import__Group__2 
     6006            { 
     6007            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__13658); 
    57036008            rule__Import__Group__1__Impl(); 
    57046009 
    57056010            state._fsp--; 
    57066011            if (state.failed) return ; 
    5707             pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__13461); 
     6012            pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__13661); 
    57086013            rule__Import__Group__2(); 
    57096014 
     
    57196024        } 
    57206025        finally { 
    5721             if ( state.backtracking>0 ) { memoize(input, 94, rule__Import__Group__1_StartIndex); } 
     6026            if ( state.backtracking>0 ) { memoize(input, 100, rule__Import__Group__1_StartIndex); } 
    57226027 
    57236028                restoreStackSize(stackSize); 
     
    57306035 
    57316036    // $ANTLR start "rule__Import__Group__1__Impl" 
    5732     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1648:1: rule__Import__Group__1__Impl : ( ( rule__Import__ImportURIAssignment_1 ) ) ; 
     6037    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1745:1: rule__Import__Group__1__Impl : ( ( rule__Import__ImportURIAssignment_1 ) ) ; 
    57336038    public final void rule__Import__Group__1__Impl() throws RecognitionException { 
    57346039        int rule__Import__Group__1__Impl_StartIndex = input.index(); 
     
    57376042             
    57386043        try { 
    5739             if ( state.backtracking>0 && alreadyParsedRule(input, 95) ) { return ; } 
    5740             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1652:1: ( ( ( rule__Import__ImportURIAssignment_1 ) ) ) 
    5741             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1653:1: ( ( rule__Import__ImportURIAssignment_1 ) ) 
    5742             { 
    5743             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1653:1: ( ( rule__Import__ImportURIAssignment_1 ) ) 
    5744             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1654:1: ( rule__Import__ImportURIAssignment_1 ) 
     6044            if ( state.backtracking>0 && alreadyParsedRule(input, 101) ) { return ; } 
     6045            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1749:1: ( ( ( rule__Import__ImportURIAssignment_1 ) ) ) 
     6046            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1750:1: ( ( rule__Import__ImportURIAssignment_1 ) ) 
     6047            { 
     6048            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1750:1: ( ( rule__Import__ImportURIAssignment_1 ) ) 
     6049            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1751:1: ( rule__Import__ImportURIAssignment_1 ) 
    57456050            { 
    57466051            if ( state.backtracking==0 ) { 
    57476052               before(grammarAccess.getImportAccess().getImportURIAssignment_1());  
    57486053            } 
    5749             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1655:1: ( rule__Import__ImportURIAssignment_1 ) 
    5750             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1655:2: rule__Import__ImportURIAssignment_1 
    5751             { 
    5752             pushFollow(FOLLOW_rule__Import__ImportURIAssignment_1_in_rule__Import__Group__1__Impl3488); 
     6054            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1752:1: ( rule__Import__ImportURIAssignment_1 ) 
     6055            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1752:2: rule__Import__ImportURIAssignment_1 
     6056            { 
     6057            pushFollow(FOLLOW_rule__Import__ImportURIAssignment_1_in_rule__Import__Group__1__Impl3688); 
    57536058            rule__Import__ImportURIAssignment_1(); 
    57546059 
     
    57736078        } 
    57746079        finally { 
    5775             if ( state.backtracking>0 ) { memoize(input, 95, rule__Import__Group__1__Impl_StartIndex); } 
     6080            if ( state.backtracking>0 ) { memoize(input, 101, rule__Import__Group__1__Impl_StartIndex); } 
    57766081 
    57776082                restoreStackSize(stackSize); 
     
    57846089 
    57856090    // $ANTLR start "rule__Import__Group__2" 
    5786     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1665:1: rule__Import__Group__2 : rule__Import__Group__2__Impl rule__Import__Group__3 ; 
     6091    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1762:1: rule__Import__Group__2 : rule__Import__Group__2__Impl rule__Import__Group__3 ; 
    57876092    public final void rule__Import__Group__2() throws RecognitionException { 
    57886093        int rule__Import__Group__2_StartIndex = input.index(); 
     
    57916096             
    57926097        try { 
    5793             if ( state.backtracking>0 && alreadyParsedRule(input, 96) ) { return ; } 
    5794             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1669:1: ( rule__Import__Group__2__Impl rule__Import__Group__3 ) 
    5795             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1670:2: rule__Import__Group__2__Impl rule__Import__Group__3 
    5796             { 
    5797             pushFollow(FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__23518); 
     6098            if ( state.backtracking>0 && alreadyParsedRule(input, 102) ) { return ; } 
     6099            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1766:1: ( rule__Import__Group__2__Impl rule__Import__Group__3 ) 
     6100            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1767:2: rule__Import__Group__2__Impl rule__Import__Group__3 
     6101            { 
     6102            pushFollow(FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__23718); 
    57986103            rule__Import__Group__2__Impl(); 
    57996104 
    58006105            state._fsp--; 
    58016106            if (state.failed) return ; 
    5802             pushFollow(FOLLOW_rule__Import__Group__3_in_rule__Import__Group__23521); 
     6107            pushFollow(FOLLOW_rule__Import__Group__3_in_rule__Import__Group__23721); 
    58036108            rule__Import__Group__3(); 
    58046109 
     
    58146119        } 
    58156120        finally { 
    5816             if ( state.backtracking>0 ) { memoize(input, 96, rule__Import__Group__2_StartIndex); } 
     6121            if ( state.backtracking>0 ) { memoize(input, 102, rule__Import__Group__2_StartIndex); } 
    58176122 
    58186123                restoreStackSize(stackSize); 
     
    58256130 
    58266131    // $ANTLR start "rule__Import__Group__2__Impl" 
    5827     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1677:1: rule__Import__Group__2__Impl : ( ( rule__Import__Group_2__0 )? ) ; 
     6132    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1774:1: rule__Import__Group__2__Impl : ( ( rule__Import__Group_2__0 )? ) ; 
    58286133    public final void rule__Import__Group__2__Impl() throws RecognitionException { 
    58296134        int rule__Import__Group__2__Impl_StartIndex = input.index(); 
     
    58326137             
    58336138        try { 
    5834             if ( state.backtracking>0 && alreadyParsedRule(input, 97) ) { return ; } 
    5835             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1681:1: ( ( ( rule__Import__Group_2__0 )? ) ) 
    5836             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1682:1: ( ( rule__Import__Group_2__0 )? ) 
    5837             { 
    5838             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1682:1: ( ( rule__Import__Group_2__0 )? ) 
    5839             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1683:1: ( rule__Import__Group_2__0 )? 
     6139            if ( state.backtracking>0 && alreadyParsedRule(input, 103) ) { return ; } 
     6140            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1778:1: ( ( ( rule__Import__Group_2__0 )? ) ) 
     6141            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1779:1: ( ( rule__Import__Group_2__0 )? ) 
     6142            { 
     6143            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1779:1: ( ( rule__Import__Group_2__0 )? ) 
     6144            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1780:1: ( rule__Import__Group_2__0 )? 
    58406145            { 
    58416146            if ( state.backtracking==0 ) { 
    58426147               before(grammarAccess.getImportAccess().getGroup_2());  
    58436148            } 
    5844             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1684:1: ( rule__Import__Group_2__0 )? 
     6149            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1781:1: ( rule__Import__Group_2__0 )? 
    58456150            int alt23=2; 
    58466151            int LA23_0 = input.LA(1); 
     
    58516156            switch (alt23) { 
    58526157                case 1 : 
    5853                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1684:2: rule__Import__Group_2__0 
     6158                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1781:2: rule__Import__Group_2__0 
    58546159                    { 
    5855                     pushFollow(FOLLOW_rule__Import__Group_2__0_in_rule__Import__Group__2__Impl3548); 
     6160                    pushFollow(FOLLOW_rule__Import__Group_2__0_in_rule__Import__Group__2__Impl3748); 
    58566161                    rule__Import__Group_2__0(); 
    58576162 
     
    58796184        } 
    58806185        finally { 
    5881             if ( state.backtracking>0 ) { memoize(input, 97, rule__Import__Group__2__Impl_StartIndex); } 
     6186            if ( state.backtracking>0 ) { memoize(input, 103, rule__Import__Group__2__Impl_StartIndex); } 
    58826187 
    58836188                restoreStackSize(stackSize); 
     
    58906195 
    58916196    // $ANTLR start "rule__Import__Group__3" 
    5892     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1694:1: rule__Import__Group__3 : rule__Import__Group__3__Impl rule__Import__Group__4 ; 
     6197    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1791:1: rule__Import__Group__3 : rule__Import__Group__3__Impl rule__Import__Group__4 ; 
    58936198    public final void rule__Import__Group__3() throws RecognitionException { 
    58946199        int rule__Import__Group__3_StartIndex = input.index(); 
     
    58976202             
    58986203        try { 
    5899             if ( state.backtracking>0 && alreadyParsedRule(input, 98) ) { return ; } 
    5900             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1698:1: ( rule__Import__Group__3__Impl rule__Import__Group__4 ) 
    5901             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1699:2: rule__Import__Group__3__Impl rule__Import__Group__4 
    5902             { 
    5903             pushFollow(FOLLOW_rule__Import__Group__3__Impl_in_rule__Import__Group__33579); 
     6204            if ( state.backtracking>0 && alreadyParsedRule(input, 104) ) { return ; } 
     6205            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1795:1: ( rule__Import__Group__3__Impl rule__Import__Group__4 ) 
     6206            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1796:2: rule__Import__Group__3__Impl rule__Import__Group__4 
     6207            { 
     6208            pushFollow(FOLLOW_rule__Import__Group__3__Impl_in_rule__Import__Group__33779); 
    59046209            rule__Import__Group__3__Impl(); 
    59056210 
    59066211            state._fsp--; 
    59076212            if (state.failed) return ; 
    5908             pushFollow(FOLLOW_rule__Import__Group__4_in_rule__Import__Group__33582); 
     6213            pushFollow(FOLLOW_rule__Import__Group__4_in_rule__Import__Group__33782); 
    59096214            rule__Import__Group__4(); 
    59106215 
     
    59206225        } 
    59216226        finally { 
    5922             if ( state.backtracking>0 ) { memoize(input, 98, rule__Import__Group__3_StartIndex); } 
     6227            if ( state.backtracking>0 ) { memoize(input, 104, rule__Import__Group__3_StartIndex); } 
    59236228 
    59246229                restoreStackSize(stackSize); 
     
    59316236 
    59326237    // $ANTLR start "rule__Import__Group__3__Impl" 
    5933     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1706:1: rule__Import__Group__3__Impl : ( ( rule__Import__Group_3__0 )? ) ; 
     6238    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1803:1: rule__Import__Group__3__Impl : ( ( rule__Import__Group_3__0 )? ) ; 
    59346239    public final void rule__Import__Group__3__Impl() throws RecognitionException { 
    59356240        int rule__Import__Group__3__Impl_StartIndex = input.index(); 
     
    59386243             
    59396244        try { 
    5940             if ( state.backtracking>0 && alreadyParsedRule(input, 99) ) { return ; } 
    5941             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1710:1: ( ( ( rule__Import__Group_3__0 )? ) ) 
    5942             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1711:1: ( ( rule__Import__Group_3__0 )? ) 
    5943             { 
    5944             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1711:1: ( ( rule__Import__Group_3__0 )? ) 
    5945             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1712:1: ( rule__Import__Group_3__0 )? 
     6245            if ( state.backtracking>0 && alreadyParsedRule(input, 105) ) { return ; } 
     6246            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1807:1: ( ( ( rule__Import__Group_3__0 )? ) ) 
     6247            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1808:1: ( ( rule__Import__Group_3__0 )? ) 
     6248            { 
     6249            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1808:1: ( ( rule__Import__Group_3__0 )? ) 
     6250            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1809:1: ( rule__Import__Group_3__0 )? 
    59466251            { 
    59476252            if ( state.backtracking==0 ) { 
    59486253               before(grammarAccess.getImportAccess().getGroup_3());  
    59496254            } 
    5950             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1713:1: ( rule__Import__Group_3__0 )? 
     6255            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1810:1: ( rule__Import__Group_3__0 )? 
    59516256            int alt24=2; 
    59526257            int LA24_0 = input.LA(1); 
     
    59576262            switch (alt24) { 
    59586263                case 1 : 
    5959                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1713:2: rule__Import__Group_3__0 
     6264                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1810:2: rule__Import__Group_3__0 
    59606265                    { 
    5961                     pushFollow(FOLLOW_rule__Import__Group_3__0_in_rule__Import__Group__3__Impl3609); 
     6266                    pushFollow(FOLLOW_rule__Import__Group_3__0_in_rule__Import__Group__3__Impl3809); 
    59626267                    rule__Import__Group_3__0(); 
    59636268 
     
    59856290        } 
    59866291        finally { 
    5987             if ( state.backtracking>0 ) { memoize(input, 99, rule__Import__Group__3__Impl_StartIndex); } 
     6292            if ( state.backtracking>0 ) { memoize(input, 105, rule__Import__Group__3__Impl_StartIndex); } 
    59886293 
    59896294                restoreStackSize(stackSize); 
     
    59966301 
    59976302    // $ANTLR start "rule__Import__Group__4" 
    5998     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1723:1: rule__Import__Group__4 : rule__Import__Group__4__Impl ; 
     6303    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1820:1: rule__Import__Group__4 : rule__Import__Group__4__Impl ; 
    59996304    public final void rule__Import__Group__4() throws RecognitionException { 
    60006305        int rule__Import__Group__4_StartIndex = input.index(); 
     
    60036308             
    60046309        try { 
    6005             if ( state.backtracking>0 && alreadyParsedRule(input, 100) ) { return ; } 
    6006             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1727:1: ( rule__Import__Group__4__Impl ) 
    6007             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1728:2: rule__Import__Group__4__Impl 
    6008             { 
    6009             pushFollow(FOLLOW_rule__Import__Group__4__Impl_in_rule__Import__Group__43640); 
     6310            if ( state.backtracking>0 && alreadyParsedRule(input, 106) ) { return ; } 
     6311            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1824:1: ( rule__Import__Group__4__Impl ) 
     6312            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1825:2: rule__Import__Group__4__Impl 
     6313            { 
     6314            pushFollow(FOLLOW_rule__Import__Group__4__Impl_in_rule__Import__Group__43840); 
    60106315            rule__Import__Group__4__Impl(); 
    60116316 
     
    60216326        } 
    60226327        finally { 
    6023             if ( state.backtracking>0 ) { memoize(input, 100, rule__Import__Group__4_StartIndex); } 
     6328            if ( state.backtracking>0 ) { memoize(input, 106, rule__Import__Group__4_StartIndex); } 
    60246329 
    60256330                restoreStackSize(stackSize); 
     
    60326337 
    60336338    // $ANTLR start "rule__Import__Group__4__Impl" 
    6034     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1734:1: rule__Import__Group__4__Impl : ( ';' ) ; 
     6339    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1831:1: rule__Import__Group__4__Impl : ( ';' ) ; 
    60356340    public final void rule__Import__Group__4__Impl() throws RecognitionException { 
    60366341        int rule__Import__Group__4__Impl_StartIndex = input.index(); 
     
    60396344             
    60406345        try { 
    6041             if ( state.backtracking>0 && alreadyParsedRule(input, 101) ) { return ; } 
    6042             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1738:1: ( ( ';' ) ) 
    6043             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1739:1: ( ';' ) 
    6044             { 
    6045             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1739:1: ( ';' ) 
    6046             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1740:1: ';' 
     6346            if ( state.backtracking>0 && alreadyParsedRule(input, 107) ) { return ; } 
     6347            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1835:1: ( ( ';' ) ) 
     6348            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1836:1: ( ';' ) 
     6349            { 
     6350            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1836:1: ( ';' ) 
     6351            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1837:1: ';' 
    60476352            { 
    60486353            if ( state.backtracking==0 ) { 
    60496354               before(grammarAccess.getImportAccess().getSemicolonKeyword_4());  
    60506355            } 
    6051             match(input,23,FOLLOW_23_in_rule__Import__Group__4__Impl3668); if (state.failed) return ; 
     6356            match(input,23,FOLLOW_23_in_rule__Import__Group__4__Impl3868); if (state.failed) return ; 
    60526357            if ( state.backtracking==0 ) { 
    60536358               after(grammarAccess.getImportAccess().getSemicolonKeyword_4());  
     
    60656370        } 
    60666371        finally { 
    6067             if ( state.backtracking>0 ) { memoize(input, 101, rule__Import__Group__4__Impl_StartIndex); } 
     6372            if ( state.backtracking>0 ) { memoize(input, 107, rule__Import__Group__4__Impl_StartIndex); } 
    60686373 
    60696374                restoreStackSize(stackSize); 
     
    60766381 
    60776382    // $ANTLR start "rule__Import__Group_2__0" 
    6078     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1763:1: rule__Import__Group_2__0 : rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ; 
     6383    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1860:1: rule__Import__Group_2__0 : rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ; 
    60796384    public final void rule__Import__Group_2__0() throws RecognitionException { 
    60806385        int rule__Import__Group_2__0_StartIndex = input.index(); 
     
    60836388             
    60846389        try { 
    6085             if ( state.backtracking>0 && alreadyParsedRule(input, 102) ) { return ; } 
    6086             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1767:1: ( rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ) 
    6087             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1768:2: rule__Import__Group_2__0__Impl rule__Import__Group_2__1 
    6088             { 
    6089             pushFollow(FOLLOW_rule__Import__Group_2__0__Impl_in_rule__Import__Group_2__03709); 
     6390            if ( state.backtracking>0 && alreadyParsedRule(input, 108) ) { return ; } 
     6391            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1864:1: ( rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ) 
     6392            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1865:2: rule__Import__Group_2__0__Impl rule__Import__Group_2__1 
     6393            { 
     6394            pushFollow(FOLLOW_rule__Import__Group_2__0__Impl_in_rule__Import__Group_2__03909); 
    60906395            rule__Import__Group_2__0__Impl(); 
    60916396 
    60926397            state._fsp--; 
    60936398            if (state.failed) return ; 
    6094             pushFollow(FOLLOW_rule__Import__Group_2__1_in_rule__Import__Group_2__03712); 
     6399            pushFollow(FOLLOW_rule__Import__Group_2__1_in_rule__Import__Group_2__03912); 
    60956400            rule__Import__Group_2__1(); 
    60966401 
     
    61066411        } 
    61076412        finally { 
    6108             if ( state.backtracking>0 ) { memoize(input, 102, rule__Import__Group_2__0_StartIndex); } 
     6413            if ( state.backtracking>0 ) { memoize(input, 108, rule__Import__Group_2__0_StartIndex); } 
    61096414 
    61106415                restoreStackSize(stackSize); 
     
    61176422 
    61186423    // $ANTLR start "rule__Import__Group_2__0__Impl" 
    6119     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1775:1: rule__Import__Group_2__0__Impl : ( '/' ) ; 
     6424    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1872:1: rule__Import__Group_2__0__Impl : ( '/' ) ; 
    61206425    public final void rule__Import__Group_2__0__Impl() throws RecognitionException { 
    61216426        int rule__Import__Group_2__0__Impl_StartIndex = input.index(); 
     
    61246429             
    61256430        try { 
    6126             if ( state.backtracking>0 && alreadyParsedRule(input, 103) ) { return ; } 
    6127             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1779:1: ( ( '/' ) ) 
    6128             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1780:1: ( '/' ) 
    6129             { 
    6130             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1780:1: ( '/' ) 
    6131             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1781:1: '/' 
     6431            if ( state.backtracking>0 && alreadyParsedRule(input, 109) ) { return ; } 
     6432            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1876:1: ( ( '/' ) ) 
     6433            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1877:1: ( '/' ) 
     6434            { 
     6435            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1877:1: ( '/' ) 
     6436            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1878:1: '/' 
    61326437            { 
    61336438            if ( state.backtracking==0 ) { 
    61346439               before(grammarAccess.getImportAccess().getSolidusKeyword_2_0());  
    61356440            } 
    6136             match(input,25,FOLLOW_25_in_rule__Import__Group_2__0__Impl3740); if (state.failed) return ; 
     6441            match(input,25,FOLLOW_25_in_rule__Import__Group_2__0__Impl3940); if (state.failed) return ; 
    61376442            if ( state.backtracking==0 ) { 
    61386443               after(grammarAccess.getImportAccess().getSolidusKeyword_2_0());  
     
    61506455        } 
    61516456        finally { 
    6152             if ( state.backtracking>0 ) { memoize(input, 103, rule__Import__Group_2__0__Impl_StartIndex); } 
     6457            if ( state.backtracking>0 ) { memoize(input, 109, rule__Import__Group_2__0__Impl_StartIndex); } 
    61536458 
    61546459                restoreStackSize(stackSize); 
     
    61616466 
    61626467    // $ANTLR start "rule__Import__Group_2__1" 
    6163     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1794:1: rule__Import__Group_2__1 : rule__Import__Group_2__1__Impl ; 
     6468    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1891:1: rule__Import__Group_2__1 : rule__Import__Group_2__1__Impl ; 
    61646469    public final void rule__Import__Group_2__1() throws RecognitionException { 
    61656470        int rule__Import__Group_2__1_StartIndex = input.index(); 
     
    61686473             
    61696474        try { 
    6170             if ( state.backtracking>0 && alreadyParsedRule(input, 104) ) { return ; } 
    6171             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1798:1: ( rule__Import__Group_2__1__Impl ) 
    6172             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1799:2: rule__Import__Group_2__1__Impl 
    6173             { 
    6174             pushFollow(FOLLOW_rule__Import__Group_2__1__Impl_in_rule__Import__Group_2__13771); 
     6475            if ( state.backtracking>0 && alreadyParsedRule(input, 110) ) { return ; } 
     6476            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1895:1: ( rule__Import__Group_2__1__Impl ) 
     6477            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1896:2: rule__Import__Group_2__1__Impl 
     6478            { 
     6479            pushFollow(FOLLOW_rule__Import__Group_2__1__Impl_in_rule__Import__Group_2__13971); 
    61756480            rule__Import__Group_2__1__Impl(); 
    61766481 
     
    61866491        } 
    61876492        finally { 
    6188             if ( state.backtracking>0 ) { memoize(input, 104, rule__Import__Group_2__1_StartIndex); } 
     6493            if ( state.backtracking>0 ) { memoize(input, 110, rule__Import__Group_2__1_StartIndex); } 
    61896494 
    61906495                restoreStackSize(stackSize); 
     
    61976502 
    61986503    // $ANTLR start "rule__Import__Group_2__1__Impl" 
    6199     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1805:1: rule__Import__Group_2__1__Impl : ( ( rule__Import__Alternatives_2_1 ) ) ; 
     6504    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1902:1: rule__Import__Group_2__1__Impl : ( ( rule__Import__Alternatives_2_1 ) ) ; 
    62006505    public final void rule__Import__Group_2__1__Impl() throws RecognitionException { 
    62016506        int rule__Import__Group_2__1__Impl_StartIndex = input.index(); 
     
    62046509             
    62056510        try { 
    6206             if ( state.backtracking>0 && alreadyParsedRule(input, 105) ) { return ; } 
    6207             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1809:1: ( ( ( rule__Import__Alternatives_2_1 ) ) ) 
    6208             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1810:1: ( ( rule__Import__Alternatives_2_1 ) ) 
    6209             { 
    6210             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1810:1: ( ( rule__Import__Alternatives_2_1 ) ) 
    6211             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1811:1: ( rule__Import__Alternatives_2_1 ) 
     6511            if ( state.backtracking>0 && alreadyParsedRule(input, 111) ) { return ; } 
     6512            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1906:1: ( ( ( rule__Import__Alternatives_2_1 ) ) ) 
     6513            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1907:1: ( ( rule__Import__Alternatives_2_1 ) ) 
     6514            { 
     6515            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1907:1: ( ( rule__Import__Alternatives_2_1 ) ) 
     6516            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1908:1: ( rule__Import__Alternatives_2_1 ) 
    62126517            { 
    62136518            if ( state.backtracking==0 ) { 
    62146519               before(grammarAccess.getImportAccess().getAlternatives_2_1());  
    62156520            } 
    6216             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1812:1: ( rule__Import__Alternatives_2_1 ) 
    6217             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1812:2: rule__Import__Alternatives_2_1 
    6218             { 
    6219             pushFollow(FOLLOW_rule__Import__Alternatives_2_1_in_rule__Import__Group_2__1__Impl3798); 
     6521            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1909:1: ( rule__Import__Alternatives_2_1 ) 
     6522            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1909:2: rule__Import__Alternatives_2_1 
     6523            { 
     6524            pushFollow(FOLLOW_rule__Import__Alternatives_2_1_in_rule__Import__Group_2__1__Impl3998); 
    62206525            rule__Import__Alternatives_2_1(); 
    62216526 
     
    62406545        } 
    62416546        finally { 
    6242             if ( state.backtracking>0 ) { memoize(input, 105, rule__Import__Group_2__1__Impl_StartIndex); } 
     6547            if ( state.backtracking>0 ) { memoize(input, 111, rule__Import__Group_2__1__Impl_StartIndex); } 
    62436548 
    62446549                restoreStackSize(stackSize); 
     
    62516556 
    62526557    // $ANTLR start "rule__Import__Group_3__0" 
    6253     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1826:1: rule__Import__Group_3__0 : rule__Import__Group_3__0__Impl rule__Import__Group_3__1 ; 
     6558    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1923:1: rule__Import__Group_3__0 : rule__Import__Group_3__0__Impl rule__Import__Group_3__1 ; 
    62546559    public final void rule__Import__Group_3__0() throws RecognitionException { 
    62556560        int rule__Import__Group_3__0_StartIndex = input.index(); 
     
    62586563             
    62596564        try { 
    6260             if ( state.backtracking>0 && alreadyParsedRule(input, 106) ) { return ; } 
    6261             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1830:1: ( rule__Import__Group_3__0__Impl rule__Import__Group_3__1 ) 
    6262             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1831:2: rule__Import__Group_3__0__Impl rule__Import__Group_3__1 
    6263             { 
    6264             pushFollow(FOLLOW_rule__Import__Group_3__0__Impl_in_rule__Import__Group_3__03832); 
     6565            if ( state.backtracking>0 && alreadyParsedRule(input, 112) ) { return ; } 
     6566            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1927:1: ( rule__Import__Group_3__0__Impl rule__Import__Group_3__1 ) 
     6567            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1928:2: rule__Import__Group_3__0__Impl rule__Import__Group_3__1 
     6568            { 
     6569            pushFollow(FOLLOW_rule__Import__Group_3__0__Impl_in_rule__Import__Group_3__04032); 
    62656570            rule__Import__Group_3__0__Impl(); 
    62666571 
    62676572            state._fsp--; 
    62686573            if (state.failed) return ; 
    6269             pushFollow(FOLLOW_rule__Import__Group_3__1_in_rule__Import__Group_3__03835); 
     6574            pushFollow(FOLLOW_rule__Import__Group_3__1_in_rule__Import__Group_3__04035); 
    62706575            rule__Import__Group_3__1(); 
    62716576 
     
    62816586        } 
    62826587        finally { 
    6283             if ( state.backtracking>0 ) { memoize(input, 106, rule__Import__Group_3__0_StartIndex); } 
     6588            if ( state.backtracking>0 ) { memoize(input, 112, rule__Import__Group_3__0_StartIndex); } 
    62846589 
    62856590                restoreStackSize(stackSize); 
     
    62926597 
    62936598    // $ANTLR start "rule__Import__Group_3__0__Impl" 
    6294     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1838:1: rule__Import__Group_3__0__Impl : ( 'label:' ) ; 
     6599    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1935:1: rule__Import__Group_3__0__Impl : ( 'label:' ) ; 
    62956600    public final void rule__Import__Group_3__0__Impl() throws RecognitionException { 
    62966601        int rule__Import__Group_3__0__Impl_StartIndex = input.index(); 
     
    62996604             
    63006605        try { 
    6301             if ( state.backtracking>0 && alreadyParsedRule(input, 107) ) { return ; } 
    6302             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1842:1: ( ( 'label:' ) ) 
    6303             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1843:1: ( 'label:' ) 
    6304             { 
    6305             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1843:1: ( 'label:' ) 
    6306             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1844:1: 'label:' 
     6606            if ( state.backtracking>0 && alreadyParsedRule(input, 113) ) { return ; } 
     6607            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1939:1: ( ( 'label:' ) ) 
     6608            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1940:1: ( 'label:' ) 
     6609            { 
     6610            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1940:1: ( 'label:' ) 
     6611            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1941:1: 'label:' 
    63076612            { 
    63086613            if ( state.backtracking==0 ) { 
    63096614               before(grammarAccess.getImportAccess().getLabelKeyword_3_0());  
    63106615            } 
    6311             match(input,26,FOLLOW_26_in_rule__Import__Group_3__0__Impl3863); if (state.failed) return ; 
     6616            match(input,26,FOLLOW_26_in_rule__Import__Group_3__0__Impl4063); if (state.failed) return ; 
    63126617            if ( state.backtracking==0 ) { 
    63136618               after(grammarAccess.getImportAccess().getLabelKeyword_3_0());  
     
    63256630        } 
    63266631        finally { 
    6327             if ( state.backtracking>0 ) { memoize(input, 107, rule__Import__Group_3__0__Impl_StartIndex); } 
     6632            if ( state.backtracking>0 ) { memoize(input, 113, rule__Import__Group_3__0__Impl_StartIndex); } 
    63286633 
    63296634                restoreStackSize(stackSize); 
     
    63366641 
    63376642    // $ANTLR start "rule__Import__Group_3__1" 
    6338     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1857:1: rule__Import__Group_3__1 : rule__Import__Group_3__1__Impl ; 
     6643    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1954:1: rule__Import__Group_3__1 : rule__Import__Group_3__1__Impl ; 
    63396644    public final void rule__Import__Group_3__1() throws RecognitionException { 
    63406645        int rule__Import__Group_3__1_StartIndex = input.index(); 
     
    63436648             
    63446649        try { 
    6345             if ( state.backtracking>0 && alreadyParsedRule(input, 108) ) { return ; } 
    6346             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1861:1: ( rule__Import__Group_3__1__Impl ) 
    6347             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1862:2: rule__Import__Group_3__1__Impl 
    6348             { 
    6349             pushFollow(FOLLOW_rule__Import__Group_3__1__Impl_in_rule__Import__Group_3__13894); 
     6650            if ( state.backtracking>0 && alreadyParsedRule(input, 114) ) { return ; } 
     6651            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1958:1: ( rule__Import__Group_3__1__Impl ) 
     6652            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1959:2: rule__Import__Group_3__1__Impl 
     6653            { 
     6654            pushFollow(FOLLOW_rule__Import__Group_3__1__Impl_in_rule__Import__Group_3__14094); 
    63506655            rule__Import__Group_3__1__Impl(); 
    63516656 
     
    63616666        } 
    63626667        finally { 
    6363             if ( state.backtracking>0 ) { memoize(input, 108, rule__Import__Group_3__1_StartIndex); } 
     6668            if ( state.backtracking>0 ) { memoize(input, 114, rule__Import__Group_3__1_StartIndex); } 
    63646669 
    63656670                restoreStackSize(stackSize); 
     
    63726677 
    63736678    // $ANTLR start "rule__Import__Group_3__1__Impl" 
    6374     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1868:1: rule__Import__Group_3__1__Impl : ( ( rule__Import__LabelAssignment_3_1 ) ) ; 
     6679    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1965:1: rule__Import__Group_3__1__Impl : ( ( rule__Import__LabelAssignment_3_1 ) ) ; 
    63756680    public final void rule__Import__Group_3__1__Impl() throws RecognitionException { 
    63766681        int rule__Import__Group_3__1__Impl_StartIndex = input.index(); 
     
    63796684             
    63806685        try { 
    6381             if ( state.backtracking>0 && alreadyParsedRule(input, 109) ) { return ; } 
    6382             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1872:1: ( ( ( rule__Import__LabelAssignment_3_1 ) ) ) 
    6383             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1873:1: ( ( rule__Import__LabelAssignment_3_1 ) ) 
    6384             { 
    6385             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1873:1: ( ( rule__Import__LabelAssignment_3_1 ) ) 
    6386             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1874:1: ( rule__Import__LabelAssignment_3_1 ) 
     6686            if ( state.backtracking>0 && alreadyParsedRule(input, 115) ) { return ; } 
     6687            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1969:1: ( ( ( rule__Import__LabelAssignment_3_1 ) ) ) 
     6688            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1970:1: ( ( rule__Import__LabelAssignment_3_1 ) ) 
     6689            { 
     6690            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1970:1: ( ( rule__Import__LabelAssignment_3_1 ) ) 
     6691            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1971:1: ( rule__Import__LabelAssignment_3_1 ) 
    63876692            { 
    63886693            if ( state.backtracking==0 ) { 
    63896694               before(grammarAccess.getImportAccess().getLabelAssignment_3_1());  
    63906695            } 
    6391             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1875:1: ( rule__Import__LabelAssignment_3_1 ) 
    6392             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1875:2: rule__Import__LabelAssignment_3_1 
    6393             { 
    6394             pushFollow(FOLLOW_rule__Import__LabelAssignment_3_1_in_rule__Import__Group_3__1__Impl3921); 
     6696            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1972:1: ( rule__Import__LabelAssignment_3_1 ) 
     6697            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1972:2: rule__Import__LabelAssignment_3_1 
     6698            { 
     6699            pushFollow(FOLLOW_rule__Import__LabelAssignment_3_1_in_rule__Import__Group_3__1__Impl4121); 
    63956700            rule__Import__LabelAssignment_3_1(); 
    63966701 
     
    64156720        } 
    64166721        finally { 
    6417             if ( state.backtracking>0 ) { memoize(input, 109, rule__Import__Group_3__1__Impl_StartIndex); } 
     6722            if ( state.backtracking>0 ) { memoize(input, 115, rule__Import__Group_3__1__Impl_StartIndex); } 
    64186723 
    64196724                restoreStackSize(stackSize); 
     
    64266731 
    64276732    // $ANTLR start "rule__Rule__Group__0" 
    6428     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1889:1: rule__Rule__Group__0 : rule__Rule__Group__0__Impl rule__Rule__Group__1 ; 
     6733    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1986:1: rule__Rule__Group__0 : rule__Rule__Group__0__Impl rule__Rule__Group__1 ; 
    64296734    public final void rule__Rule__Group__0() throws RecognitionException { 
    64306735        int rule__Rule__Group__0_StartIndex = input.index(); 
     
    64336738             
    64346739        try { 
    6435             if ( state.backtracking>0 && alreadyParsedRule(input, 110) ) { return ; } 
    6436             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1893:1: ( rule__Rule__Group__0__Impl rule__Rule__Group__1 ) 
    6437             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1894:2: rule__Rule__Group__0__Impl rule__Rule__Group__1 
    6438             { 
    6439             pushFollow(FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__03955); 
     6740            if ( state.backtracking>0 && alreadyParsedRule(input, 116) ) { return ; } 
     6741            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1990:1: ( rule__Rule__Group__0__Impl rule__Rule__Group__1 ) 
     6742            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1991:2: rule__Rule__Group__0__Impl rule__Rule__Group__1 
     6743            { 
     6744            pushFollow(FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__04155); 
    64406745            rule__Rule__Group__0__Impl(); 
    64416746 
    64426747            state._fsp--; 
    64436748            if (state.failed) return ; 
    6444             pushFollow(FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__03958); 
     6749            pushFollow(FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__04158); 
    64456750            rule__Rule__Group__1(); 
    64466751 
     
    64566761        } 
    64576762        finally { 
    6458             if ( state.backtracking>0 ) { memoize(input, 110, rule__Rule__Group__0_StartIndex); } 
     6763            if ( state.backtracking>0 ) { memoize(input, 116, rule__Rule__Group__0_StartIndex); } 
    64596764 
    64606765                restoreStackSize(stackSize); 
     
    64676772 
    64686773    // $ANTLR start "rule__Rule__Group__0__Impl" 
    6469     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1901:1: rule__Rule__Group__0__Impl : ( ( rule__Rule__Group_0__0 )? ) ; 
     6774    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1998:1: rule__Rule__Group__0__Impl : ( ( rule__Rule__Group_0__0 )? ) ; 
    64706775    public final void rule__Rule__Group__0__Impl() throws RecognitionException { 
    64716776        int rule__Rule__Group__0__Impl_StartIndex = input.index(); 
     
    64746779             
    64756780        try { 
    6476             if ( state.backtracking>0 && alreadyParsedRule(input, 111) ) { return ; } 
    6477             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1905:1: ( ( ( rule__Rule__Group_0__0 )? ) ) 
    6478             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1906:1: ( ( rule__Rule__Group_0__0 )? ) 
    6479             { 
    6480             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1906:1: ( ( rule__Rule__Group_0__0 )? ) 
    6481             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1907:1: ( rule__Rule__Group_0__0 )? 
     6781            if ( state.backtracking>0 && alreadyParsedRule(input, 117) ) { return ; } 
     6782            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2002:1: ( ( ( rule__Rule__Group_0__0 )? ) ) 
     6783            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2003:1: ( ( rule__Rule__Group_0__0 )? ) 
     6784            { 
     6785            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2003:1: ( ( rule__Rule__Group_0__0 )? ) 
     6786            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2004:1: ( rule__Rule__Group_0__0 )? 
    64826787            { 
    64836788            if ( state.backtracking==0 ) { 
    64846789               before(grammarAccess.getRuleAccess().getGroup_0());  
    64856790            } 
    6486             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1908:1: ( rule__Rule__Group_0__0 )? 
     6791            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2005:1: ( rule__Rule__Group_0__0 )? 
    64876792            int alt25=2; 
    64886793            int LA25_0 = input.LA(1); 
     
    64936798            switch (alt25) { 
    64946799                case 1 : 
    6495                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1908:2: rule__Rule__Group_0__0 
     6800                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2005:2: rule__Rule__Group_0__0 
    64966801                    { 
    6497                     pushFollow(FOLLOW_rule__Rule__Group_0__0_in_rule__Rule__Group__0__Impl3985); 
     6802                    pushFollow(FOLLOW_rule__Rule__Group_0__0_in_rule__Rule__Group__0__Impl4185); 
    64986803                    rule__Rule__Group_0__0(); 
    64996804 
     
    65216826        } 
    65226827        finally { 
    6523             if ( state.backtracking>0 ) { memoize(input, 111, rule__Rule__Group__0__Impl_StartIndex); } 
     6828            if ( state.backtracking>0 ) { memoize(input, 117, rule__Rule__Group__0__Impl_StartIndex); } 
    65246829 
    65256830                restoreStackSize(stackSize); 
     
    65326837 
    65336838    // $ANTLR start "rule__Rule__Group__1" 
    6534     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1918:1: rule__Rule__Group__1 : rule__Rule__Group__1__Impl rule__Rule__Group__2 ; 
     6839    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2015:1: rule__Rule__Group__1 : rule__Rule__Group__1__Impl rule__Rule__Group__2 ; 
    65356840    public final void rule__Rule__Group__1() throws RecognitionException { 
    65366841        int rule__Rule__Group__1_StartIndex = input.index(); 
     
    65396844             
    65406845        try { 
    6541             if ( state.backtracking>0 && alreadyParsedRule(input, 112) ) { return ; } 
    6542             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1922:1: ( rule__Rule__Group__1__Impl rule__Rule__Group__2 ) 
    6543             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1923:2: rule__Rule__Group__1__Impl rule__Rule__Group__2 
    6544             { 
    6545             pushFollow(FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__14016); 
     6846            if ( state.backtracking>0 && alreadyParsedRule(input, 118) ) { return ; } 
     6847            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2019:1: ( rule__Rule__Group__1__Impl rule__Rule__Group__2 ) 
     6848            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2020:2: rule__Rule__Group__1__Impl rule__Rule__Group__2 
     6849            { 
     6850            pushFollow(FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__14216); 
    65466851            rule__Rule__Group__1__Impl(); 
    65476852 
    65486853            state._fsp--; 
    65496854            if (state.failed) return ; 
    6550             pushFollow(FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__14019); 
     6855            pushFollow(FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__14219); 
    65516856            rule__Rule__Group__2(); 
    65526857 
     
    65626867        } 
    65636868        finally { 
    6564             if ( state.backtracking>0 ) { memoize(input, 112, rule__Rule__Group__1_StartIndex); } 
     6869            if ( state.backtracking>0 ) { memoize(input, 118, rule__Rule__Group__1_StartIndex); } 
    65656870 
    65666871                restoreStackSize(stackSize); 
     
    65736878 
    65746879    // $ANTLR start "rule__Rule__Group__1__Impl" 
    6575     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1930:1: rule__Rule__Group__1__Impl : ( ( rule__Rule__NameAssignment_1 ) ) ; 
     6880    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2027:1: rule__Rule__Group__1__Impl : ( ( rule__Rule__NameAssignment_1 ) ) ; 
    65766881    public final void rule__Rule__Group__1__Impl() throws RecognitionException { 
    65776882        int rule__Rule__Group__1__Impl_StartIndex = input.index(); 
     
    65806885             
    65816886        try { 
    6582             if ( state.backtracking>0 && alreadyParsedRule(input, 113) ) { return ; } 
    6583             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1934:1: ( ( ( rule__Rule__NameAssignment_1 ) ) ) 
    6584             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1935:1: ( ( rule__Rule__NameAssignment_1 ) ) 
    6585             { 
    6586             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1935:1: ( ( rule__Rule__NameAssignment_1 ) ) 
    6587             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1936:1: ( rule__Rule__NameAssignment_1 ) 
     6887            if ( state.backtracking>0 && alreadyParsedRule(input, 119) ) { return ; } 
     6888            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2031:1: ( ( ( rule__Rule__NameAssignment_1 ) ) ) 
     6889            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2032:1: ( ( rule__Rule__NameAssignment_1 ) ) 
     6890            { 
     6891            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2032:1: ( ( rule__Rule__NameAssignment_1 ) ) 
     6892            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2033:1: ( rule__Rule__NameAssignment_1 ) 
    65886893            { 
    65896894            if ( state.backtracking==0 ) { 
    65906895               before(grammarAccess.getRuleAccess().getNameAssignment_1());  
    65916896            } 
    6592             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1937:1: ( rule__Rule__NameAssignment_1 ) 
    6593             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1937:2: rule__Rule__NameAssignment_1 
    6594             { 
    6595             pushFollow(FOLLOW_rule__Rule__NameAssignment_1_in_rule__Rule__Group__1__Impl4046); 
     6897            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2034:1: ( rule__Rule__NameAssignment_1 ) 
     6898            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2034:2: rule__Rule__NameAssignment_1 
     6899            { 
     6900            pushFollow(FOLLOW_rule__Rule__NameAssignment_1_in_rule__Rule__Group__1__Impl4246); 
    65966901            rule__Rule__NameAssignment_1(); 
    65976902 
     
    66166921        } 
    66176922        finally { 
    6618             if ( state.backtracking>0 ) { memoize(input, 113, rule__Rule__Group__1__Impl_StartIndex); } 
     6923            if ( state.backtracking>0 ) { memoize(input, 119, rule__Rule__Group__1__Impl_StartIndex); } 
    66196924 
    66206925                restoreStackSize(stackSize); 
     
    66276932 
    66286933    // $ANTLR start "rule__Rule__Group__2" 
    6629     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1947:1: rule__Rule__Group__2 : rule__Rule__Group__2__Impl rule__Rule__Group__3 ; 
     6934    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2044:1: rule__Rule__Group__2 : rule__Rule__Group__2__Impl rule__Rule__Group__3 ; 
    66306935    public final void rule__Rule__Group__2() throws RecognitionException { 
    66316936        int rule__Rule__Group__2_StartIndex = input.index(); 
     
    66346939             
    66356940        try { 
    6636             if ( state.backtracking>0 && alreadyParsedRule(input, 114) ) { return ; } 
    6637             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1951:1: ( rule__Rule__Group__2__Impl rule__Rule__Group__3 ) 
    6638             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1952:2: rule__Rule__Group__2__Impl rule__Rule__Group__3 
    6639             { 
    6640             pushFollow(FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__24076); 
     6941            if ( state.backtracking>0 && alreadyParsedRule(input, 120) ) { return ; } 
     6942            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2048:1: ( rule__Rule__Group__2__Impl rule__Rule__Group__3 ) 
     6943            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2049:2: rule__Rule__Group__2__Impl rule__Rule__Group__3 
     6944            { 
     6945            pushFollow(FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__24276); 
    66416946            rule__Rule__Group__2__Impl(); 
    66426947 
    66436948            state._fsp--; 
    66446949            if (state.failed) return ; 
    6645             pushFollow(FOLLOW_rule__Rule__Group__3_in_rule__Rule__Group__24079); 
     6950            pushFollow(FOLLOW_rule__Rule__Group__3_in_rule__Rule__Group__24279); 
    66466951            rule__Rule__Group__3(); 
    66476952 
     
    66576962        } 
    66586963        finally { 
    6659             if ( state.backtracking>0 ) { memoize(input, 114, rule__Rule__Group__2_StartIndex); } 
     6964            if ( state.backtracking>0 ) { memoize(input, 120, rule__Rule__Group__2_StartIndex); } 
    66606965 
    66616966                restoreStackSize(stackSize); 
     
    66686973 
    66696974    // $ANTLR start "rule__Rule__Group__2__Impl" 
    6670     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1959:1: rule__Rule__Group__2__Impl : ( '::=' ) ; 
     6975    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2056:1: rule__Rule__Group__2__Impl : ( '::=' ) ; 
    66716976    public final void rule__Rule__Group__2__Impl() throws RecognitionException { 
    66726977        int rule__Rule__Group__2__Impl_StartIndex = input.index(); 
     
    66756980             
    66766981        try { 
    6677             if ( state.backtracking>0 && alreadyParsedRule(input, 115) ) { return ; } 
    6678             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1963:1: ( ( '::=' ) ) 
    6679             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1964:1: ( '::=' ) 
    6680             { 
    6681             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1964:1: ( '::=' ) 
    6682             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1965:1: '::=' 
     6982            if ( state.backtracking>0 && alreadyParsedRule(input, 121) ) { return ; } 
     6983            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2060:1: ( ( '::=' ) ) 
     6984            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2061:1: ( '::=' ) 
     6985            { 
     6986            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2061:1: ( '::=' ) 
     6987            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2062:1: '::=' 
    66836988            { 
    66846989            if ( state.backtracking==0 ) { 
    66856990               before(grammarAccess.getRuleAccess().getColonColonEqualsSignKeyword_2());  
    66866991            } 
    6687             match(input,27,FOLLOW_27_in_rule__Rule__Group__2__Impl4107); if (state.failed) return ; 
     6992            match(input,27,FOLLOW_27_in_rule__Rule__Group__2__Impl4307); if (state.failed) return ; 
    66886993            if ( state.backtracking==0 ) { 
    66896994               after(grammarAccess.getRuleAccess().getColonColonEqualsSignKeyword_2());  
     
    67017006        } 
    67027007        finally { 
    6703             if ( state.backtracking>0 ) { memoize(input, 115, rule__Rule__Group__2__Impl_StartIndex); } 
     7008            if ( state.backtracking>0 ) { memoize(input, 121, rule__Rule__Group__2__Impl_StartIndex); } 
    67047009 
    67057010                restoreStackSize(stackSize); 
     
    67127017 
    67137018    // $ANTLR start "rule__Rule__Group__3" 
    6714     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1978:1: rule__Rule__Group__3 : rule__Rule__Group__3__Impl rule__Rule__Group__4 ; 
     7019    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2075:1: rule__Rule__Group__3 : rule__Rule__Group__3__Impl rule__Rule__Group__4 ; 
    67157020    public final void rule__Rule__Group__3() throws RecognitionException { 
    67167021        int rule__Rule__Group__3_StartIndex = input.index(); 
     
    67197024             
    67207025        try { 
    6721             if ( state.backtracking>0 && alreadyParsedRule(input, 116) ) { return ; } 
    6722             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1982:1: ( rule__Rule__Group__3__Impl rule__Rule__Group__4 ) 
    6723             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1983:2: rule__Rule__Group__3__Impl rule__Rule__Group__4 
    6724             { 
    6725             pushFollow(FOLLOW_rule__Rule__Group__3__Impl_in_rule__Rule__Group__34138); 
     7026            if ( state.backtracking>0 && alreadyParsedRule(input, 122) ) { return ; } 
     7027            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2079:1: ( rule__Rule__Group__3__Impl rule__Rule__Group__4 ) 
     7028            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2080:2: rule__Rule__Group__3__Impl rule__Rule__Group__4 
     7029            { 
     7030            pushFollow(FOLLOW_rule__Rule__Group__3__Impl_in_rule__Rule__Group__34338); 
    67267031            rule__Rule__Group__3__Impl(); 
    67277032 
    67287033            state._fsp--; 
    67297034            if (state.failed) return ; 
    6730             pushFollow(FOLLOW_rule__Rule__Group__4_in_rule__Rule__Group__34141); 
     7035            pushFollow(FOLLOW_rule__Rule__Group__4_in_rule__Rule__Group__34341); 
    67317036            rule__Rule__Group__4(); 
    67327037 
     
    67427047        } 
    67437048        finally { 
    6744             if ( state.backtracking>0 ) { memoize(input, 116, rule__Rule__Group__3_StartIndex); } 
     7049            if ( state.backtracking>0 ) { memoize(input, 122, rule__Rule__Group__3_StartIndex); } 
    67457050 
    67467051                restoreStackSize(stackSize); 
     
    67537058 
    67547059    // $ANTLR start "rule__Rule__Group__3__Impl" 
    6755     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1990:1: rule__Rule__Group__3__Impl : ( ( rule__Rule__DefinitionListAssignment_3 )? ) ; 
     7060    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2087:1: rule__Rule__Group__3__Impl : ( ( rule__Rule__DefinitionListAssignment_3 )? ) ; 
    67567061    public final void rule__Rule__Group__3__Impl() throws RecognitionException { 
    67577062        int rule__Rule__Group__3__Impl_StartIndex = input.index(); 
     
    67607065             
    67617066        try { 
    6762             if ( state.backtracking>0 && alreadyParsedRule(input, 117) ) { return ; } 
    6763             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1994:1: ( ( ( rule__Rule__DefinitionListAssignment_3 )? ) ) 
    6764             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1995:1: ( ( rule__Rule__DefinitionListAssignment_3 )? ) 
    6765             { 
    6766             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1995:1: ( ( rule__Rule__DefinitionListAssignment_3 )? ) 
    6767             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1996:1: ( rule__Rule__DefinitionListAssignment_3 )? 
     7067            if ( state.backtracking>0 && alreadyParsedRule(input, 123) ) { return ; } 
     7068            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2091:1: ( ( ( rule__Rule__DefinitionListAssignment_3 )? ) ) 
     7069            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2092:1: ( ( rule__Rule__DefinitionListAssignment_3 )? ) 
     7070            { 
     7071            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2092:1: ( ( rule__Rule__DefinitionListAssignment_3 )? ) 
     7072            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2093:1: ( rule__Rule__DefinitionListAssignment_3 )? 
    67687073            { 
    67697074            if ( state.backtracking==0 ) { 
    67707075               before(grammarAccess.getRuleAccess().getDefinitionListAssignment_3());  
    67717076            } 
    6772             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1997:1: ( rule__Rule__DefinitionListAssignment_3 )? 
     7077            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2094:1: ( rule__Rule__DefinitionListAssignment_3 )? 
    67737078            int alt26=2; 
    67747079            int LA26_0 = input.LA(1); 
     
    67807085                int LA26_2 = input.LA(2); 
    67817086 
    6782                 if ( (LA26_2==EOF||(LA26_2>=RULE_ID && LA26_2<=RULE_INT)||LA26_2==RULE_COLON||LA26_2==16||(LA26_2>=18 && LA26_2<=19)||LA26_2==23) ) { 
     7087                if ( (LA26_2==17) ) { 
     7088                    int LA26_4 = input.LA(3); 
     7089 
     7090                    if ( (LA26_4==RULE_ID||LA26_4==RULE_STRING||LA26_4==RULE_COLON||(LA26_4>=17 && LA26_4<=19)) ) { 
     7091                        alt26=1; 
     7092                    } 
     7093                } 
     7094                else if ( (LA26_2==EOF||(LA26_2>=RULE_ID && LA26_2<=RULE_INT)||LA26_2==RULE_COLON||LA26_2==16||(LA26_2>=18 && LA26_2<=19)||LA26_2==23) ) { 
    67837095                    alt26=1; 
    67847096                } 
    6785                 else if ( (LA26_2==17) ) { 
    6786                     int LA26_4 = input.LA(3); 
    6787  
    6788                     if ( (LA26_4==RULE_ID||LA26_4==RULE_STRING||LA26_4==RULE_COLON||(LA26_4>=17 && LA26_4<=19)) ) { 
    6789                         alt26=1; 
    6790                     } 
    6791                 } 
    67927097            } 
    67937098            switch (alt26) { 
    67947099                case 1 : 
    6795                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1997:2: rule__Rule__DefinitionListAssignment_3 
     7100                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2094:2: rule__Rule__DefinitionListAssignment_3 
    67967101                    { 
    6797                     pushFollow(FOLLOW_rule__Rule__DefinitionListAssignment_3_in_rule__Rule__Group__3__Impl4168); 
     7102                    pushFollow(FOLLOW_rule__Rule__DefinitionListAssignment_3_in_rule__Rule__Group__3__Impl4368); 
    67987103                    rule__Rule__DefinitionListAssignment_3(); 
    67997104 
     
    68217126        } 
    68227127        finally { 
    6823             if ( state.backtracking>0 ) { memoize(input, 117, rule__Rule__Group__3__Impl_StartIndex); } 
     7128            if ( state.backtracking>0 ) { memoize(input, 123, rule__Rule__Group__3__Impl_StartIndex); } 
    68247129 
    68257130                restoreStackSize(stackSize); 
     
    68327137 
    68337138    // $ANTLR start "rule__Rule__Group__4" 
    6834     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2007:1: rule__Rule__Group__4 : rule__Rule__Group__4__Impl ; 
     7139    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2104:1: rule__Rule__Group__4 : rule__Rule__Group__4__Impl ; 
    68357140    public final void rule__Rule__Group__4() throws RecognitionException { 
    68367141        int rule__Rule__Group__4_StartIndex = input.index(); 
     
    68397144             
    68407145        try { 
    6841             if ( state.backtracking>0 && alreadyParsedRule(input, 118) ) { return ; } 
    6842             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2011:1: ( rule__Rule__Group__4__Impl ) 
    6843             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2012:2: rule__Rule__Group__4__Impl 
    6844             { 
    6845             pushFollow(FOLLOW_rule__Rule__Group__4__Impl_in_rule__Rule__Group__44199); 
     7146            if ( state.backtracking>0 && alreadyParsedRule(input, 124) ) { return ; } 
     7147            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2108:1: ( rule__Rule__Group__4__Impl ) 
     7148            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2109:2: rule__Rule__Group__4__Impl 
     7149            { 
     7150            pushFollow(FOLLOW_rule__Rule__Group__4__Impl_in_rule__Rule__Group__44399); 
    68467151            rule__Rule__Group__4__Impl(); 
    68477152 
     
    68577162        } 
    68587163        finally { 
    6859             if ( state.backtracking>0 ) { memoize(input, 118, rule__Rule__Group__4_StartIndex); } 
     7164            if ( state.backtracking>0 ) { memoize(input, 124, rule__Rule__Group__4_StartIndex); } 
    68607165 
    68617166                restoreStackSize(stackSize); 
     
    68687173 
    68697174    // $ANTLR start "rule__Rule__Group__4__Impl" 
    6870     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2018:1: rule__Rule__Group__4__Impl : ( ( ';' )? ) ; 
     7175    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2115:1: rule__Rule__Group__4__Impl : ( ( ';' )? ) ; 
    68717176    public final void rule__Rule__Group__4__Impl() throws RecognitionException { 
    68727177        int rule__Rule__Group__4__Impl_StartIndex = input.index(); 
     
    68757180             
    68767181        try { 
    6877             if ( state.backtracking>0 && alreadyParsedRule(input, 119) ) { return ; } 
    6878             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2022:1: ( ( ( ';' )? ) ) 
    6879             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2023:1: ( ( ';' )? ) 
    6880             { 
    6881             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2023:1: ( ( ';' )? ) 
    6882             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2024:1: ( ';' )? 
     7182            if ( state.backtracking>0 && alreadyParsedRule(input, 125) ) { return ; } 
     7183            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2119:1: ( ( ( ';' )? ) ) 
     7184            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2120:1: ( ( ';' )? ) 
     7185            { 
     7186            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2120:1: ( ( ';' )? ) 
     7187            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2121:1: ( ';' )? 
    68837188            { 
    68847189            if ( state.backtracking==0 ) { 
    68857190               before(grammarAccess.getRuleAccess().getSemicolonKeyword_4());  
    68867191            } 
    6887             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2025:1: ( ';' )? 
     7192            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2122:1: ( ';' )? 
    68887193            int alt27=2; 
    68897194            int LA27_0 = input.LA(1); 
     
    68947199            switch (alt27) { 
    68957200                case 1 : 
    6896                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2026:2: ';' 
     7201                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2123:2: ';' 
    68977202                    { 
    6898                     match(input,23,FOLLOW_23_in_rule__Rule__Group__4__Impl4228); if (state.failed) return ; 
     7203                    match(input,23,FOLLOW_23_in_rule__Rule__Group__4__Impl4428); if (state.failed) return ; 
    68997204 
    69007205                    } 
     
    69187223        } 
    69197224        finally { 
    6920             if ( state.backtracking>0 ) { memoize(input, 119, rule__Rule__Group__4__Impl_StartIndex); } 
     7225            if ( state.backtracking>0 ) { memoize(input, 125, rule__Rule__Group__4__Impl_StartIndex); } 
    69217226 
    69227227                restoreStackSize(stackSize); 
     
    69297234 
    69307235    // $ANTLR start "rule__Rule__Group_0__0" 
    6931     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2047:1: rule__Rule__Group_0__0 : rule__Rule__Group_0__0__Impl rule__Rule__Group_0__1 ; 
     7236    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2144:1: rule__Rule__Group_0__0 : rule__Rule__Group_0__0__Impl rule__Rule__Group_0__1 ; 
    69327237    public final void rule__Rule__Group_0__0() throws RecognitionException { 
    69337238        int rule__Rule__Group_0__0_StartIndex = input.index(); 
     
    69367241             
    69377242        try { 
    6938             if ( state.backtracking>0 && alreadyParsedRule(input, 120) ) { return ; } 
    6939             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2051:1: ( rule__Rule__Group_0__0__Impl rule__Rule__Group_0__1 ) 
    6940             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2052:2: rule__Rule__Group_0__0__Impl rule__Rule__Group_0__1 
    6941             { 
    6942             pushFollow(FOLLOW_rule__Rule__Group_0__0__Impl_in_rule__Rule__Group_0__04271); 
     7243            if ( state.backtracking>0 && alreadyParsedRule(input, 126) ) { return ; } 
     7244            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2148:1: ( rule__Rule__Group_0__0__Impl rule__Rule__Group_0__1 ) 
     7245            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2149:2: rule__Rule__Group_0__0__Impl rule__Rule__Group_0__1 
     7246            { 
     7247            pushFollow(FOLLOW_rule__Rule__Group_0__0__Impl_in_rule__Rule__Group_0__04471); 
    69437248            rule__Rule__Group_0__0__Impl(); 
    69447249 
    69457250            state._fsp--; 
    69467251            if (state.failed) return ; 
    6947             pushFollow(FOLLOW_rule__Rule__Group_0__1_in_rule__Rule__Group_0__04274); 
     7252            pushFollow(FOLLOW_rule__Rule__Group_0__1_in_rule__Rule__Group_0__04474); 
    69487253            rule__Rule__Group_0__1(); 
    69497254 
     
    69597264        } 
    69607265        finally { 
    6961             if ( state.backtracking>0 ) { memoize(input, 120, rule__Rule__Group_0__0_StartIndex); } 
     7266            if ( state.backtracking>0 ) { memoize(input, 126, rule__Rule__Group_0__0_StartIndex); } 
    69627267 
    69637268                restoreStackSize(stackSize); 
     
    69707275 
    69717276    // $ANTLR start "rule__Rule__Group_0__0__Impl" 
    6972     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2059:1: rule__Rule__Group_0__0__Impl : ( ( rule__Rule__RulenumberAssignment_0_0 ) ) ; 
     7277    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2156:1: rule__Rule__Group_0__0__Impl : ( ( rule__Rule__RulenumberAssignment_0_0 ) ) ; 
    69737278    public final void rule__Rule__Group_0__0__Impl() throws RecognitionException { 
    69747279        int rule__Rule__Group_0__0__Impl_StartIndex = input.index(); 
     
    69777282             
    69787283        try { 
    6979             if ( state.backtracking>0 && alreadyParsedRule(input, 121) ) { return ; } 
    6980             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2063:1: ( ( ( rule__Rule__RulenumberAssignment_0_0 ) ) ) 
    6981             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2064:1: ( ( rule__Rule__RulenumberAssignment_0_0 ) ) 
    6982             { 
    6983             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2064:1: ( ( rule__Rule__RulenumberAssignment_0_0 ) ) 
    6984             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2065:1: ( rule__Rule__RulenumberAssignment_0_0 ) 
     7284            if ( state.backtracking>0 && alreadyParsedRule(input, 127) ) { return ; } 
     7285            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2160:1: ( ( ( rule__Rule__RulenumberAssignment_0_0 ) ) ) 
     7286            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2161:1: ( ( rule__Rule__RulenumberAssignment_0_0 ) ) 
     7287            { 
     7288            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2161:1: ( ( rule__Rule__RulenumberAssignment_0_0 ) ) 
     7289            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2162:1: ( rule__Rule__RulenumberAssignment_0_0 ) 
    69857290            { 
    69867291            if ( state.backtracking==0 ) { 
    69877292               before(grammarAccess.getRuleAccess().getRulenumberAssignment_0_0());  
    69887293            } 
    6989             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2066:1: ( rule__Rule__RulenumberAssignment_0_0 ) 
    6990             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2066:2: rule__Rule__RulenumberAssignment_0_0 
    6991             { 
    6992             pushFollow(FOLLOW_rule__Rule__RulenumberAssignment_0_0_in_rule__Rule__Group_0__0__Impl4301); 
     7294            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2163:1: ( rule__Rule__RulenumberAssignment_0_0 ) 
     7295            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2163:2: rule__Rule__RulenumberAssignment_0_0 
     7296            { 
     7297            pushFollow(FOLLOW_rule__Rule__RulenumberAssignment_0_0_in_rule__Rule__Group_0__0__Impl4501); 
    69937298            rule__Rule__RulenumberAssignment_0_0(); 
    69947299 
     
    70137318        } 
    70147319        finally { 
    7015             if ( state.backtracking>0 ) { memoize(input, 121, rule__Rule__Group_0__0__Impl_StartIndex); } 
     7320            if ( state.backtracking>0 ) { memoize(input, 127, rule__Rule__Group_0__0__Impl_StartIndex); } 
    70167321 
    70177322                restoreStackSize(stackSize); 
     
    70247329 
    70257330    // $ANTLR start "rule__Rule__Group_0__1" 
    7026     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2076:1: rule__Rule__Group_0__1 : rule__Rule__Group_0__1__Impl rule__Rule__Group_0__2 ; 
     7331    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2173:1: rule__Rule__Group_0__1 : rule__Rule__Group_0__1__Impl rule__Rule__Group_0__2 ; 
    70277332    public final void rule__Rule__Group_0__1() throws RecognitionException { 
    70287333        int rule__Rule__Group_0__1_StartIndex = input.index(); 
     
    70317336             
    70327337        try { 
    7033             if ( state.backtracking>0 && alreadyParsedRule(input, 122) ) { return ; } 
    7034             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2080:1: ( rule__Rule__Group_0__1__Impl rule__Rule__Group_0__2 ) 
    7035             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2081:2: rule__Rule__Group_0__1__Impl rule__Rule__Group_0__2 
    7036             { 
    7037             pushFollow(FOLLOW_rule__Rule__Group_0__1__Impl_in_rule__Rule__Group_0__14331); 
     7338            if ( state.backtracking>0 && alreadyParsedRule(input, 128) ) { return ; } 
     7339            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2177:1: ( rule__Rule__Group_0__1__Impl rule__Rule__Group_0__2 ) 
     7340            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2178:2: rule__Rule__Group_0__1__Impl rule__Rule__Group_0__2 
     7341            { 
     7342            pushFollow(FOLLOW_rule__Rule__Group_0__1__Impl_in_rule__Rule__Group_0__14531); 
    70387343            rule__Rule__Group_0__1__Impl(); 
    70397344 
    70407345            state._fsp--; 
    70417346            if (state.failed) return ; 
    7042             pushFollow(FOLLOW_rule__Rule__Group_0__2_in_rule__Rule__Group_0__14334); 
     7347            pushFollow(FOLLOW_rule__Rule__Group_0__2_in_rule__Rule__Group_0__14534); 
    70437348            rule__Rule__Group_0__2(); 
    70447349 
     
    70547359        } 
    70557360        finally { 
    7056             if ( state.backtracking>0 ) { memoize(input, 122, rule__Rule__Group_0__1_StartIndex); } 
     7361            if ( state.backtracking>0 ) { memoize(input, 128, rule__Rule__Group_0__1_StartIndex); } 
    70577362 
    70587363                restoreStackSize(stackSize); 
     
    70657370 
    70667371    // $ANTLR start "rule__Rule__Group_0__1__Impl" 
    7067     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2088:1: rule__Rule__Group_0__1__Impl : ( ( rule__Rule__RulevariantAssignment_0_1 )? ) ; 
     7372    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2185:1: rule__Rule__Group_0__1__Impl : ( ( rule__Rule__RulevariantAssignment_0_1 )? ) ; 
    70687373    public final void rule__Rule__Group_0__1__Impl() throws RecognitionException { 
    70697374        int rule__Rule__Group_0__1__Impl_StartIndex = input.index(); 
     
    70727377             
    70737378        try { 
    7074             if ( state.backtracking>0 && alreadyParsedRule(input, 123) ) { return ; } 
    7075             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2092:1: ( ( ( rule__Rule__RulevariantAssignment_0_1 )? ) ) 
    7076             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2093:1: ( ( rule__Rule__RulevariantAssignment_0_1 )? ) 
    7077             { 
    7078             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2093:1: ( ( rule__Rule__RulevariantAssignment_0_1 )? ) 
    7079             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2094:1: ( rule__Rule__RulevariantAssignment_0_1 )? 
     7379            if ( state.backtracking>0 && alreadyParsedRule(input, 129) ) { return ; } 
     7380            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2189:1: ( ( ( rule__Rule__RulevariantAssignment_0_1 )? ) ) 
     7381            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2190:1: ( ( rule__Rule__RulevariantAssignment_0_1 )? ) 
     7382            { 
     7383            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2190:1: ( ( rule__Rule__RulevariantAssignment_0_1 )? ) 
     7384            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2191:1: ( rule__Rule__RulevariantAssignment_0_1 )? 
    70807385            { 
    70817386            if ( state.backtracking==0 ) { 
    70827387               before(grammarAccess.getRuleAccess().getRulevariantAssignment_0_1());  
    70837388            } 
    7084             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2095:1: ( rule__Rule__RulevariantAssignment_0_1 )? 
     7389            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2192:1: ( rule__Rule__RulevariantAssignment_0_1 )? 
    70857390            int alt28=2; 
    70867391            int LA28_0 = input.LA(1); 
     
    70917396            switch (alt28) { 
    70927397                case 1 : 
    7093                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2095:2: rule__Rule__RulevariantAssignment_0_1 
     7398                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2192:2: rule__Rule__RulevariantAssignment_0_1 
    70947399                    { 
    7095                     pushFollow(FOLLOW_rule__Rule__RulevariantAssignment_0_1_in_rule__Rule__Group_0__1__Impl4361); 
     7400                    pushFollow(FOLLOW_rule__Rule__RulevariantAssignment_0_1_in_rule__Rule__Group_0__1__Impl4561); 
    70967401                    rule__Rule__RulevariantAssignment_0_1(); 
    70977402 
     
    71197424        } 
    71207425        finally { 
    7121             if ( state.backtracking>0 ) { memoize(input, 123, rule__Rule__Group_0__1__Impl_StartIndex); } 
     7426            if ( state.backtracking>0 ) { memoize(input, 129, rule__Rule__Group_0__1__Impl_StartIndex); } 
    71227427 
    71237428                restoreStackSize(stackSize); 
     
    71307435 
    71317436    // $ANTLR start "rule__Rule__Group_0__2" 
    7132     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2105:1: rule__Rule__Group_0__2 : rule__Rule__Group_0__2__Impl ; 
     7437    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2202:1: rule__Rule__Group_0__2 : rule__Rule__Group_0__2__Impl ; 
    71337438    public final void rule__Rule__Group_0__2() throws RecognitionException { 
    71347439        int rule__Rule__Group_0__2_StartIndex = input.index(); 
     
    71377442             
    71387443        try { 
    7139             if ( state.backtracking>0 && alreadyParsedRule(input, 124) ) { return ; } 
    7140             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2109:1: ( rule__Rule__Group_0__2__Impl ) 
    7141             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2110:2: rule__Rule__Group_0__2__Impl 
    7142             { 
    7143             pushFollow(FOLLOW_rule__Rule__Group_0__2__Impl_in_rule__Rule__Group_0__24392); 
     7444            if ( state.backtracking>0 && alreadyParsedRule(input, 130) ) { return ; } 
     7445            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2206:1: ( rule__Rule__Group_0__2__Impl ) 
     7446            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2207:2: rule__Rule__Group_0__2__Impl 
     7447            { 
     7448            pushFollow(FOLLOW_rule__Rule__Group_0__2__Impl_in_rule__Rule__Group_0__24592); 
    71447449            rule__Rule__Group_0__2__Impl(); 
    71457450 
     
    71557460        } 
    71567461        finally { 
    7157             if ( state.backtracking>0 ) { memoize(input, 124, rule__Rule__Group_0__2_StartIndex); } 
     7462            if ( state.backtracking>0 ) { memoize(input, 130, rule__Rule__Group_0__2_StartIndex); } 
    71587463 
    71597464                restoreStackSize(stackSize); 
     
    71667471 
    71677472    // $ANTLR start "rule__Rule__Group_0__2__Impl" 
    7168     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2116:1: rule__Rule__Group_0__2__Impl : ( '.' ) ; 
     7473    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2213:1: rule__Rule__Group_0__2__Impl : ( '.' ) ; 
    71697474    public final void rule__Rule__Group_0__2__Impl() throws RecognitionException { 
    71707475        int rule__Rule__Group_0__2__Impl_StartIndex = input.index(); 
     
    71737478             
    71747479        try { 
    7175             if ( state.backtracking>0 && alreadyParsedRule(input, 125) ) { return ; } 
    7176             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2120:1: ( ( '.' ) ) 
    7177             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2121:1: ( '.' ) 
    7178             { 
    7179             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2121:1: ( '.' ) 
    7180             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2122:1: '.' 
     7480            if ( state.backtracking>0 && alreadyParsedRule(input, 131) ) { return ; } 
     7481            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2217:1: ( ( '.' ) ) 
     7482            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2218:1: ( '.' ) 
     7483            { 
     7484            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2218:1: ( '.' ) 
     7485            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2219:1: '.' 
    71817486            { 
    71827487            if ( state.backtracking==0 ) { 
    71837488               before(grammarAccess.getRuleAccess().getFullStopKeyword_0_2());  
    71847489            } 
    7185             match(input,28,FOLLOW_28_in_rule__Rule__Group_0__2__Impl4420); if (state.failed) return ; 
     7490            match(input,28,FOLLOW_28_in_rule__Rule__Group_0__2__Impl4620); if (state.failed) return ; 
    71867491            if ( state.backtracking==0 ) { 
    71877492               after(grammarAccess.getRuleAccess().getFullStopKeyword_0_2());  
     
    71997504        } 
    72007505        finally { 
    7201             if ( state.backtracking>0 ) { memoize(input, 125, rule__Rule__Group_0__2__Impl_StartIndex); } 
     7506            if ( state.backtracking>0 ) { memoize(input, 131, rule__Rule__Group_0__2__Impl_StartIndex); } 
    72027507 
    72037508                restoreStackSize(stackSize); 
     
    72107515 
    72117516    // $ANTLR start "rule__ExtRule__Group__0" 
    7212     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2141:1: rule__ExtRule__Group__0 : rule__ExtRule__Group__0__Impl rule__ExtRule__Group__1 ; 
     7517    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2238:1: rule__ExtRule__Group__0 : rule__ExtRule__Group__0__Impl rule__ExtRule__Group__1 ; 
    72137518    public final void rule__ExtRule__Group__0() throws RecognitionException { 
    72147519        int rule__ExtRule__Group__0_StartIndex = input.index(); 
     
    72177522             
    72187523        try { 
    7219             if ( state.backtracking>0 && alreadyParsedRule(input, 126) ) { return ; } 
    7220             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2145:1: ( rule__ExtRule__Group__0__Impl rule__ExtRule__Group__1 ) 
    7221             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2146:2: rule__ExtRule__Group__0__Impl rule__ExtRule__Group__1 
    7222             { 
    7223             pushFollow(FOLLOW_rule__ExtRule__Group__0__Impl_in_rule__ExtRule__Group__04457); 
     7524            if ( state.backtracking>0 && alreadyParsedRule(input, 132) ) { return ; } 
     7525            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2242:1: ( rule__ExtRule__Group__0__Impl rule__ExtRule__Group__1 ) 
     7526            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2243:2: rule__ExtRule__Group__0__Impl rule__ExtRule__Group__1 
     7527            { 
     7528            pushFollow(FOLLOW_rule__ExtRule__Group__0__Impl_in_rule__ExtRule__Group__04657); 
    72247529            rule__ExtRule__Group__0__Impl(); 
    72257530 
    72267531            state._fsp--; 
    72277532            if (state.failed) return ; 
    7228             pushFollow(FOLLOW_rule__ExtRule__Group__1_in_rule__ExtRule__Group__04460); 
     7533            pushFollow(FOLLOW_rule__ExtRule__Group__1_in_rule__ExtRule__Group__04660); 
    72297534            rule__ExtRule__Group__1(); 
    72307535 
     
    72407545        } 
    72417546        finally { 
    7242             if ( state.backtracking>0 ) { memoize(input, 126, rule__ExtRule__Group__0_StartIndex); } 
     7547            if ( state.backtracking>0 ) { memoize(input, 132, rule__ExtRule__Group__0_StartIndex); } 
    72437548 
    72447549                restoreStackSize(stackSize); 
     
    72517556 
    72527557    // $ANTLR start "rule__ExtRule__Group__0__Impl" 
    7253     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2153:1: rule__ExtRule__Group__0__Impl : ( ( rule__ExtRule__Group_0__0 )? ) ; 
     7558    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2250:1: rule__ExtRule__Group__0__Impl : ( ( rule__ExtRule__Group_0__0 )? ) ; 
    72547559    public final void rule__ExtRule__Group__0__Impl() throws RecognitionException { 
    72557560        int rule__ExtRule__Group__0__Impl_StartIndex = input.index(); 
     
    72587563             
    72597564        try { 
    7260             if ( state.backtracking>0 && alreadyParsedRule(input, 127) ) { return ; } 
    7261             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2157:1: ( ( ( rule__ExtRule__Group_0__0 )? ) ) 
    7262             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2158:1: ( ( rule__ExtRule__Group_0__0 )? ) 
    7263             { 
    7264             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2158:1: ( ( rule__ExtRule__Group_0__0 )? ) 
    7265             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2159:1: ( rule__ExtRule__Group_0__0 )? 
     7565            if ( state.backtracking>0 && alreadyParsedRule(input, 133) ) { return ; } 
     7566            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2254:1: ( ( ( rule__ExtRule__Group_0__0 )? ) ) 
     7567            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2255:1: ( ( rule__ExtRule__Group_0__0 )? ) 
     7568            { 
     7569            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2255:1: ( ( rule__ExtRule__Group_0__0 )? ) 
     7570            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2256:1: ( rule__ExtRule__Group_0__0 )? 
    72667571            { 
    72677572            if ( state.backtracking==0 ) { 
    72687573               before(grammarAccess.getExtRuleAccess().getGroup_0());  
    72697574            } 
    7270             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2160:1: ( rule__ExtRule__Group_0__0 )? 
     7575            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2257:1: ( rule__ExtRule__Group_0__0 )? 
    72717576            int alt29=2; 
    72727577            int LA29_0 = input.LA(1); 
     
    72777582            switch (alt29) { 
    72787583                case 1 : 
    7279                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2160:2: rule__ExtRule__Group_0__0 
     7584                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2257:2: rule__ExtRule__Group_0__0 
    72807585                    { 
    7281                     pushFollow(FOLLOW_rule__ExtRule__Group_0__0_in_rule__ExtRule__Group__0__Impl4487); 
     7586                    pushFollow(FOLLOW_rule__ExtRule__Group_0__0_in_rule__ExtRule__Group__0__Impl4687); 
    72827587                    rule__ExtRule__Group_0__0(); 
    72837588 
     
    73057610        } 
    73067611        finally { 
    7307             if ( state.backtracking>0 ) { memoize(input, 127, rule__ExtRule__Group__0__Impl_StartIndex); } 
     7612            if ( state.backtracking>0 ) { memoize(input, 133, rule__ExtRule__Group__0__Impl_StartIndex); } 
    73087613 
    73097614                restoreStackSize(stackSize); 
     
    73167621 
    73177622    // $ANTLR start "rule__ExtRule__Group__1" 
    7318     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2170:1: rule__ExtRule__Group__1 : rule__ExtRule__Group__1__Impl rule__ExtRule__Group__2 ; 
     7623    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2267:1: rule__ExtRule__Group__1 : rule__ExtRule__Group__1__Impl rule__ExtRule__Group__2 ; 
    73197624    public final void rule__ExtRule__Group__1() throws RecognitionException { 
    73207625        int rule__ExtRule__Group__1_StartIndex = input.index(); 
     
    73237628             
    73247629        try { 
    7325             if ( state.backtracking>0 && alreadyParsedRule(input, 128) ) { return ; } 
    7326             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2174:1: ( rule__ExtRule__Group__1__Impl rule__ExtRule__Group__2 ) 
    7327             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2175:2: rule__ExtRule__Group__1__Impl rule__ExtRule__Group__2 
    7328             { 
    7329             pushFollow(FOLLOW_rule__ExtRule__Group__1__Impl_in_rule__ExtRule__Group__14518); 
     7630            if ( state.backtracking>0 && alreadyParsedRule(input, 134) ) { return ; } 
     7631            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2271:1: ( rule__ExtRule__Group__1__Impl rule__ExtRule__Group__2 ) 
     7632            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2272:2: rule__ExtRule__Group__1__Impl rule__ExtRule__Group__2 
     7633            { 
     7634            pushFollow(FOLLOW_rule__ExtRule__Group__1__Impl_in_rule__ExtRule__Group__14718); 
    73307635            rule__ExtRule__Group__1__Impl(); 
    73317636 
    73327637            state._fsp--; 
    73337638            if (state.failed) return ; 
    7334             pushFollow(FOLLOW_rule__ExtRule__Group__2_in_rule__ExtRule__Group__14521); 
     7639            pushFollow(FOLLOW_rule__ExtRule__Group__2_in_rule__ExtRule__Group__14721); 
    73357640            rule__ExtRule__Group__2(); 
    73367641 
     
    73467651        } 
    73477652        finally { 
    7348             if ( state.backtracking>0 ) { memoize(input, 128, rule__ExtRule__Group__1_StartIndex); } 
     7653            if ( state.backtracking>0 ) { memoize(input, 134, rule__ExtRule__Group__1_StartIndex); } 
    73497654 
    73507655                restoreStackSize(stackSize); 
     
    73577662 
    73587663    // $ANTLR start "rule__ExtRule__Group__1__Impl" 
    7359     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2182:1: rule__ExtRule__Group__1__Impl : ( ( rule__ExtRule__NameAssignment_1 ) ) ; 
     7664    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2279:1: rule__ExtRule__Group__1__Impl : ( ( rule__ExtRule__NameAssignment_1 ) ) ; 
    73607665    public final void rule__ExtRule__Group__1__Impl() throws RecognitionException { 
    73617666        int rule__ExtRule__Group__1__Impl_StartIndex = input.index(); 
     
    73647669             
    73657670        try { 
    7366             if ( state.backtracking>0 && alreadyParsedRule(input, 129) ) { return ; } 
    7367             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2186:1: ( ( ( rule__ExtRule__NameAssignment_1 ) ) ) 
    7368             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2187:1: ( ( rule__ExtRule__NameAssignment_1 ) ) 
    7369             { 
    7370             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2187:1: ( ( rule__ExtRule__NameAssignment_1 ) ) 
    7371             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2188:1: ( rule__ExtRule__NameAssignment_1 ) 
     7671            if ( state.backtracking>0 && alreadyParsedRule(input, 135) ) { return ; } 
     7672            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2283:1: ( ( ( rule__ExtRule__NameAssignment_1 ) ) ) 
     7673            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2284:1: ( ( rule__ExtRule__NameAssignment_1 ) ) 
     7674            { 
     7675            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2284:1: ( ( rule__ExtRule__NameAssignment_1 ) ) 
     7676            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2285:1: ( rule__ExtRule__NameAssignment_1 ) 
    73727677            { 
    73737678            if ( state.backtracking==0 ) { 
    73747679               before(grammarAccess.getExtRuleAccess().getNameAssignment_1());  
    73757680            } 
    7376             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2189:1: ( rule__ExtRule__NameAssignment_1 ) 
    7377             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2189:2: rule__ExtRule__NameAssignment_1 
    7378             { 
    7379             pushFollow(FOLLOW_rule__ExtRule__NameAssignment_1_in_rule__ExtRule__Group__1__Impl4548); 
     7681            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2286:1: ( rule__ExtRule__NameAssignment_1 ) 
     7682            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2286:2: rule__ExtRule__NameAssignment_1 
     7683            { 
     7684            pushFollow(FOLLOW_rule__ExtRule__NameAssignment_1_in_rule__ExtRule__Group__1__Impl4748); 
    73807685            rule__ExtRule__NameAssignment_1(); 
    73817686 
     
    74007705        } 
    74017706        finally { 
    7402             if ( state.backtracking>0 ) { memoize(input, 129, rule__ExtRule__Group__1__Impl_StartIndex); } 
     7707            if ( state.backtracking>0 ) { memoize(input, 135, rule__ExtRule__Group__1__Impl_StartIndex); } 
    74037708 
    74047709                restoreStackSize(stackSize); 
     
    74117716 
    74127717    // $ANTLR start "rule__ExtRule__Group__2" 
    7413     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2199:1: rule__ExtRule__Group__2 : rule__ExtRule__Group__2__Impl rule__ExtRule__Group__3 ; 
     7718    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2296:1: rule__ExtRule__Group__2 : rule__ExtRule__Group__2__Impl rule__ExtRule__Group__3 ; 
    74147719    public final void rule__ExtRule__Group__2() throws RecognitionException { 
    74157720        int rule__ExtRule__Group__2_StartIndex = input.index(); 
     
    74187723             
    74197724        try { 
    7420             if ( state.backtracking>0 && alreadyParsedRule(input, 130) ) { return ; } 
    7421             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2203:1: ( rule__ExtRule__Group__2__Impl rule__ExtRule__Group__3 ) 
    7422             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2204:2: rule__ExtRule__Group__2__Impl rule__ExtRule__Group__3 
    7423             { 
    7424             pushFollow(FOLLOW_rule__ExtRule__Group__2__Impl_in_rule__ExtRule__Group__24578); 
     7725            if ( state.backtracking>0 && alreadyParsedRule(input, 136) ) { return ; } 
     7726            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2300:1: ( rule__ExtRule__Group__2__Impl rule__ExtRule__Group__3 ) 
     7727            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2301:2: rule__ExtRule__Group__2__Impl rule__ExtRule__Group__3 
     7728            { 
     7729            pushFollow(FOLLOW_rule__ExtRule__Group__2__Impl_in_rule__ExtRule__Group__24778); 
    74257730            rule__ExtRule__Group__2__Impl(); 
    74267731 
    74277732            state._fsp--; 
    74287733            if (state.failed) return ; 
    7429             pushFollow(FOLLOW_rule__ExtRule__Group__3_in_rule__ExtRule__Group__24581); 
     7734            pushFollow(FOLLOW_rule__ExtRule__Group__3_in_rule__ExtRule__Group__24781); 
    74307735            rule__ExtRule__Group__3(); 
    74317736 
     
    74417746        } 
    74427747        finally { 
    7443             if ( state.backtracking>0 ) { memoize(input, 130, rule__ExtRule__Group__2_StartIndex); } 
     7748            if ( state.backtracking>0 ) { memoize(input, 136, rule__ExtRule__Group__2_StartIndex); } 
    74447749 
    74457750                restoreStackSize(stackSize); 
     
    74527757 
    74537758    // $ANTLR start "rule__ExtRule__Group__2__Impl" 
    7454     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2211:1: rule__ExtRule__Group__2__Impl : ( ( rule__ExtRule__Group_2__0 ) ) ; 
     7759    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2308:1: rule__ExtRule__Group__2__Impl : ( ( rule__ExtRule__Group_2__0 ) ) ; 
    74557760    public final void rule__ExtRule__Group__2__Impl() throws RecognitionException { 
    74567761        int rule__ExtRule__Group__2__Impl_StartIndex = input.index(); 
     
    74597764             
    74607765        try { 
    7461             if ( state.backtracking>0 && alreadyParsedRule(input, 131) ) { return ; } 
    7462             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2215:1: ( ( ( rule__ExtRule__Group_2__0 ) ) ) 
    7463             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2216:1: ( ( rule__ExtRule__Group_2__0 ) ) 
    7464             { 
    7465             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2216:1: ( ( rule__ExtRule__Group_2__0 ) ) 
    7466             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2217:1: ( rule__ExtRule__Group_2__0 ) 
     7766            if ( state.backtracking>0 && alreadyParsedRule(input, 137) ) { return ; } 
     7767            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2312:1: ( ( ( rule__ExtRule__Group_2__0 ) ) ) 
     7768            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2313:1: ( ( rule__ExtRule__Group_2__0 ) ) 
     7769            { 
     7770            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2313:1: ( ( rule__ExtRule__Group_2__0 ) ) 
     7771            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2314:1: ( rule__ExtRule__Group_2__0 ) 
    74677772            { 
    74687773            if ( state.backtracking==0 ) { 
    74697774               before(grammarAccess.getExtRuleAccess().getGroup_2());  
    74707775            } 
    7471             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2218:1: ( rule__ExtRule__Group_2__0 ) 
    7472             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2218:2: rule__ExtRule__Group_2__0 
    7473             { 
    7474             pushFollow(FOLLOW_rule__ExtRule__Group_2__0_in_rule__ExtRule__Group__2__Impl4608); 
     7776            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2315:1: ( rule__ExtRule__Group_2__0 ) 
     7777            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2315:2: rule__ExtRule__Group_2__0 
     7778            { 
     7779            pushFollow(FOLLOW_rule__ExtRule__Group_2__0_in_rule__ExtRule__Group__2__Impl4808); 
    74757780            rule__ExtRule__Group_2__0(); 
    74767781 
     
    74957800        } 
    74967801        finally { 
    7497             if ( state.backtracking>0 ) { memoize(input, 131, rule__ExtRule__Group__2__Impl_StartIndex); } 
     7802            if ( state.backtracking>0 ) { memoize(input, 137, rule__ExtRule__Group__2__Impl_StartIndex); } 
    74987803 
    74997804                restoreStackSize(stackSize); 
     
    75067811 
    75077812    // $ANTLR start "rule__ExtRule__Group__3" 
    7508     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2228:1: rule__ExtRule__Group__3 : rule__ExtRule__Group__3__Impl rule__ExtRule__Group__4 ; 
     7813    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2325:1: rule__ExtRule__Group__3 : rule__ExtRule__Group__3__Impl rule__ExtRule__Group__4 ; 
    75097814    public final void rule__ExtRule__Group__3() throws RecognitionException { 
    75107815        int rule__ExtRule__Group__3_StartIndex = input.index(); 
     
    75137818             
    75147819        try { 
    7515             if ( state.backtracking>0 && alreadyParsedRule(input, 132) ) { return ; } 
    7516             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2232:1: ( rule__ExtRule__Group__3__Impl rule__ExtRule__Group__4 ) 
    7517             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2233:2: rule__ExtRule__Group__3__Impl rule__ExtRule__Group__4 
    7518             { 
    7519             pushFollow(FOLLOW_rule__ExtRule__Group__3__Impl_in_rule__ExtRule__Group__34638); 
     7820            if ( state.backtracking>0 && alreadyParsedRule(input, 138) ) { return ; } 
     7821            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2329:1: ( rule__ExtRule__Group__3__Impl rule__ExtRule__Group__4 ) 
     7822            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2330:2: rule__ExtRule__Group__3__Impl rule__ExtRule__Group__4 
     7823            { 
     7824            pushFollow(FOLLOW_rule__ExtRule__Group__3__Impl_in_rule__ExtRule__Group__34838); 
    75207825            rule__ExtRule__Group__3__Impl(); 
    75217826 
    75227827            state._fsp--; 
    75237828            if (state.failed) return ; 
    7524             pushFollow(FOLLOW_rule__ExtRule__Group__4_in_rule__ExtRule__Group__34641); 
     7829            pushFollow(FOLLOW_rule__ExtRule__Group__4_in_rule__ExtRule__Group__34841); 
    75257830            rule__ExtRule__Group__4(); 
    75267831 
     
    75367841        } 
    75377842        finally { 
    7538             if ( state.backtracking>0 ) { memoize(input, 132, rule__ExtRule__Group__3_StartIndex); } 
     7843            if ( state.backtracking>0 ) { memoize(input, 138, rule__ExtRule__Group__3_StartIndex); } 
    75397844 
    75407845                restoreStackSize(stackSize); 
     
    75477852 
    75487853    // $ANTLR start "rule__ExtRule__Group__3__Impl" 
    7549     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2240:1: rule__ExtRule__Group__3__Impl : ( '<-' ) ; 
     7854    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2337:1: rule__ExtRule__Group__3__Impl : ( '<-' ) ; 
    75507855    public final void rule__ExtRule__Group__3__Impl() throws RecognitionException { 
    75517856        int rule__ExtRule__Group__3__Impl_StartIndex = input.index(); 
     
    75547859             
    75557860        try { 
    7556             if ( state.backtracking>0 && alreadyParsedRule(input, 133) ) { return ; } 
    7557             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2244:1: ( ( '<-' ) ) 
    7558             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2245:1: ( '<-' ) 
    7559             { 
    7560             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2245:1: ( '<-' ) 
    7561             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2246:1: '<-' 
     7861            if ( state.backtracking>0 && alreadyParsedRule(input, 139) ) { return ; } 
     7862            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2341:1: ( ( '<-' ) ) 
     7863            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2342:1: ( '<-' ) 
     7864            { 
     7865            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2342:1: ( '<-' ) 
     7866            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2343:1: '<-' 
    75627867            { 
    75637868            if ( state.backtracking==0 ) { 
    75647869               before(grammarAccess.getExtRuleAccess().getLessThanSignHyphenMinusKeyword_3());  
    75657870            } 
    7566             match(input,29,FOLLOW_29_in_rule__ExtRule__Group__3__Impl4669); if (state.failed) return ; 
     7871            match(input,29,FOLLOW_29_in_rule__ExtRule__Group__3__Impl4869); if (state.failed) return ; 
    75677872            if ( state.backtracking==0 ) { 
    75687873               after(grammarAccess.getExtRuleAccess().getLessThanSignHyphenMinusKeyword_3());  
     
    75807885        } 
    75817886        finally { 
    7582             if ( state.backtracking>0 ) { memoize(input, 133, rule__ExtRule__Group__3__Impl_StartIndex); } 
     7887            if ( state.backtracking>0 ) { memoize(input, 139, rule__ExtRule__Group__3__Impl_StartIndex); } 
    75837888 
    75847889                restoreStackSize(stackSize); 
     
    75917896 
    75927897    // $ANTLR start "rule__ExtRule__Group__4" 
    7593     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2259:1: rule__ExtRule__Group__4 : rule__ExtRule__Group__4__Impl rule__ExtRule__Group__5 ; 
     7898    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2356:1: rule__ExtRule__Group__4 : rule__ExtRule__Group__4__Impl rule__ExtRule__Group__5 ; 
    75947899    public final void rule__ExtRule__Group__4() throws RecognitionException { 
    75957900        int rule__ExtRule__Group__4_StartIndex = input.index(); 
     
    75987903             
    75997904        try { 
    7600             if ( state.backtracking>0 && alreadyParsedRule(input, 134) ) { return ; } 
    7601             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2263:1: ( rule__ExtRule__Group__4__Impl rule__ExtRule__Group__5 ) 
    7602             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2264:2: rule__ExtRule__Group__4__Impl rule__ExtRule__Group__5 
    7603             { 
    7604             pushFollow(FOLLOW_rule__ExtRule__Group__4__Impl_in_rule__ExtRule__Group__44700); 
     7905            if ( state.backtracking>0 && alreadyParsedRule(input, 140) ) { return ; } 
     7906            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2360:1: ( rule__ExtRule__Group__4__Impl rule__ExtRule__Group__5 ) 
     7907            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2361:2: rule__ExtRule__Group__4__Impl rule__ExtRule__Group__5 
     7908            { 
     7909            pushFollow(FOLLOW_rule__ExtRule__Group__4__Impl_in_rule__ExtRule__Group__44900); 
    76057910            rule__ExtRule__Group__4__Impl(); 
    76067911 
    76077912            state._fsp--; 
    76087913            if (state.failed) return ; 
    7609             pushFollow(FOLLOW_rule__ExtRule__Group__5_in_rule__ExtRule__Group__44703); 
     7914            pushFollow(FOLLOW_rule__ExtRule__Group__5_in_rule__ExtRule__Group__44903); 
    76107915            rule__ExtRule__Group__5(); 
    76117916 
     
    76217926        } 
    76227927        finally { 
    7623             if ( state.backtracking>0 ) { memoize(input, 134, rule__ExtRule__Group__4_StartIndex); } 
     7928            if ( state.backtracking>0 ) { memoize(input, 140, rule__ExtRule__Group__4_StartIndex); } 
    76247929 
    76257930                restoreStackSize(stackSize); 
     
    76327937 
    76337938    // $ANTLR start "rule__ExtRule__Group__4__Impl" 
    7634     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2271:1: rule__ExtRule__Group__4__Impl : ( ( rule__ExtRule__Alternatives_4 )* ) ; 
     7939    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2368:1: rule__ExtRule__Group__4__Impl : ( ( rule__ExtRule__Alternatives_4 )* ) ; 
    76357940    public final void rule__ExtRule__Group__4__Impl() throws RecognitionException { 
    76367941        int rule__ExtRule__Group__4__Impl_StartIndex = input.index(); 
     
    76397944             
    76407945        try { 
    7641             if ( state.backtracking>0 && alreadyParsedRule(input, 135) ) { return ; } 
    7642             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2275:1: ( ( ( rule__ExtRule__Alternatives_4 )* ) ) 
    7643             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2276:1: ( ( rule__ExtRule__Alternatives_4 )* ) 
    7644             { 
    7645             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2276:1: ( ( rule__ExtRule__Alternatives_4 )* ) 
    7646             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2277:1: ( rule__ExtRule__Alternatives_4 )* 
     7946            if ( state.backtracking>0 && alreadyParsedRule(input, 141) ) { return ; } 
     7947            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2372:1: ( ( ( rule__ExtRule__Alternatives_4 )* ) ) 
     7948            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2373:1: ( ( rule__ExtRule__Alternatives_4 )* ) 
     7949            { 
     7950            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2373:1: ( ( rule__ExtRule__Alternatives_4 )* ) 
     7951            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2374:1: ( rule__ExtRule__Alternatives_4 )* 
    76477952            { 
    76487953            if ( state.backtracking==0 ) { 
    76497954               before(grammarAccess.getExtRuleAccess().getAlternatives_4());  
    76507955            } 
    7651             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2278:1: ( rule__ExtRule__Alternatives_4 )* 
     7956            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2375:1: ( rule__ExtRule__Alternatives_4 )* 
    76527957            loop30: 
    76537958            do { 
     
    76587963                    int LA30_2 = input.LA(2); 
    76597964 
    7660                     if ( (LA30_2==EOF||(LA30_2>=RULE_ID && LA30_2<=RULE_INT)||LA30_2==RULE_COLON||(LA30_2>=13 && LA30_2<=16)||(LA30_2>=18 && LA30_2<=21)||LA30_2==23) ) { 
     7965                    if ( (LA30_2==EOF||(LA30_2>=RULE_ID && LA30_2<=RULE_SECTIONHEADER)||(LA30_2>=RULE_STRING && LA30_2<=RULE_INT)||LA30_2==RULE_COLON||(LA30_2>=13 && LA30_2<=16)||(LA30_2>=18 && LA30_2<=21)||LA30_2==23) ) { 
    76617966                        alt30=1; 
    76627967                    } 
     
    76647969                        int LA30_4 = input.LA(3); 
    76657970 
    7666                         if ( (LA30_4==EOF||(LA30_4>=RULE_ID && LA30_4<=RULE_STRING)||LA30_4==RULE_COLON||(LA30_4>=13 && LA30_4<=21)||LA30_4==23) ) { 
    7667                             alt30=1; 
    7668                         } 
    7669                         else if ( (LA30_4==RULE_INT) ) { 
     7971                        if ( (LA30_4==RULE_INT) ) { 
    76707972                            int LA30_5 = input.LA(4); 
    76717973 
     
    76757977 
    76767978 
     7979                        } 
     7980                        else if ( (LA30_4==EOF||(LA30_4>=RULE_ID && LA30_4<=RULE_SECTIONHEADER)||LA30_4==RULE_STRING||LA30_4==RULE_COLON||(LA30_4>=13 && LA30_4<=21)||LA30_4==23) ) { 
     7981                            alt30=1; 
    76777982                        } 
    76787983 
     
    76897994                switch (alt30) { 
    76907995                case 1 : 
    7691                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2278:2: rule__ExtRule__Alternatives_4 
     7996                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2375:2: rule__ExtRule__Alternatives_4 
    76927997                    { 
    7693                     pushFollow(FOLLOW_rule__ExtRule__Alternatives_4_in_rule__ExtRule__Group__4__Impl4730); 
     7998                    pushFollow(FOLLOW_rule__ExtRule__Alternatives_4_in_rule__ExtRule__Group__4__Impl4930); 
    76947999                    rule__ExtRule__Alternatives_4(); 
    76958000 
     
    77208025        } 
    77218026        finally { 
    7722             if ( state.backtracking>0 ) { memoize(input, 135, rule__ExtRule__Group__4__Impl_StartIndex); } 
     8027            if ( state.backtracking>0 ) { memoize(input, 141, rule__ExtRule__Group__4__Impl_StartIndex); } 
    77238028 
    77248029                restoreStackSize(stackSize); 
     
    77318036 
    77328037    // $ANTLR start "rule__ExtRule__Group__5" 
    7733     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2288:1: rule__ExtRule__Group__5 : rule__ExtRule__Group__5__Impl ; 
     8038    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2385:1: rule__ExtRule__Group__5 : rule__ExtRule__Group__5__Impl ; 
    77348039    public final void rule__ExtRule__Group__5() throws RecognitionException { 
    77358040        int rule__ExtRule__Group__5_StartIndex = input.index(); 
     
    77388043             
    77398044        try { 
    7740             if ( state.backtracking>0 && alreadyParsedRule(input, 136) ) { return ; } 
    7741             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2292:1: ( rule__ExtRule__Group__5__Impl ) 
    7742             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2293:2: rule__ExtRule__Group__5__Impl 
    7743             { 
    7744             pushFollow(FOLLOW_rule__ExtRule__Group__5__Impl_in_rule__ExtRule__Group__54761); 
     8045            if ( state.backtracking>0 && alreadyParsedRule(input, 142) ) { return ; } 
     8046            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2389:1: ( rule__ExtRule__Group__5__Impl ) 
     8047            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2390:2: rule__ExtRule__Group__5__Impl 
     8048            { 
     8049            pushFollow(FOLLOW_rule__ExtRule__Group__5__Impl_in_rule__ExtRule__Group__54961); 
    77458050            rule__ExtRule__Group__5__Impl(); 
    77468051 
     
    77568061        } 
    77578062        finally { 
    7758             if ( state.backtracking>0 ) { memoize(input, 136, rule__ExtRule__Group__5_StartIndex); } 
     8063            if ( state.backtracking>0 ) { memoize(input, 142, rule__ExtRule__Group__5_StartIndex); } 
    77598064 
    77608065                restoreStackSize(stackSize); 
     
    77678072 
    77688073    // $ANTLR start "rule__ExtRule__Group__5__Impl" 
    7769     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2299:1: rule__ExtRule__Group__5__Impl : ( ( ';' )? ) ; 
     8074    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2396:1: rule__ExtRule__Group__5__Impl : ( ( ';' )? ) ; 
    77708075    public final void rule__ExtRule__Group__5__Impl() throws RecognitionException { 
    77718076        int rule__ExtRule__Group__5__Impl_StartIndex = input.index(); 
     
    77748079             
    77758080        try { 
    7776             if ( state.backtracking>0 && alreadyParsedRule(input, 137) ) { return ; } 
    7777             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2303:1: ( ( ( ';' )? ) ) 
    7778             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2304:1: ( ( ';' )? ) 
    7779             { 
    7780             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2304:1: ( ( ';' )? ) 
    7781             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2305:1: ( ';' )? 
     8081            if ( state.backtracking>0 && alreadyParsedRule(input, 143) ) { return ; } 
     8082            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2400:1: ( ( ( ';' )? ) ) 
     8083            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2401:1: ( ( ';' )? ) 
     8084            { 
     8085            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2401:1: ( ( ';' )? ) 
     8086            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2402:1: ( ';' )? 
    77828087            { 
    77838088            if ( state.backtracking==0 ) { 
    77848089               before(grammarAccess.getExtRuleAccess().getSemicolonKeyword_5());  
    77858090            } 
    7786             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2306:1: ( ';' )? 
     8091            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2403:1: ( ';' )? 
    77878092            int alt31=2; 
    77888093            int LA31_0 = input.LA(1); 
     
    77938098            switch (alt31) { 
    77948099                case 1 : 
    7795                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2307:2: ';' 
     8100                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2404:2: ';' 
    77968101                    { 
    7797                     match(input,23,FOLLOW_23_in_rule__ExtRule__Group__5__Impl4790); if (state.failed) return ; 
     8102                    match(input,23,FOLLOW_23_in_rule__ExtRule__Group__5__Impl4990); if (state.failed) return ; 
    77988103 
    77998104                    } 
     
    78178122        } 
    78188123        finally { 
    7819             if ( state.backtracking>0 ) { memoize(input, 137, rule__ExtRule__Group__5__Impl_StartIndex); } 
     8124            if ( state.backtracking>0 ) { memoize(input, 143, rule__ExtRule__Group__5__Impl_StartIndex); } 
    78208125 
    78218126                restoreStackSize(stackSize); 
     
    78288133 
    78298134    // $ANTLR start "rule__ExtRule__Group_0__0" 
    7830     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2330:1: rule__ExtRule__Group_0__0 : rule__ExtRule__Group_0__0__Impl rule__ExtRule__Group_0__1 ; 
     8135    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2427:1: rule__ExtRule__Group_0__0 : rule__ExtRule__Group_0__0__Impl rule__ExtRule__Group_0__1 ; 
    78318136    public final void rule__ExtRule__Group_0__0() throws RecognitionException { 
    78328137        int rule__ExtRule__Group_0__0_StartIndex = input.index(); 
     
    78358140             
    78368141        try { 
    7837             if ( state.backtracking>0 && alreadyParsedRule(input, 138) ) { return ; } 
    7838             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2334:1: ( rule__ExtRule__Group_0__0__Impl rule__ExtRule__Group_0__1 ) 
    7839             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2335:2: rule__ExtRule__Group_0__0__Impl rule__ExtRule__Group_0__1 
    7840             { 
    7841             pushFollow(FOLLOW_rule__ExtRule__Group_0__0__Impl_in_rule__ExtRule__Group_0__04835); 
     8142            if ( state.backtracking>0 && alreadyParsedRule(input, 144) ) { return ; } 
     8143            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2431:1: ( rule__ExtRule__Group_0__0__Impl rule__ExtRule__Group_0__1 ) 
     8144            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2432:2: rule__ExtRule__Group_0__0__Impl rule__ExtRule__Group_0__1 
     8145            { 
     8146            pushFollow(FOLLOW_rule__ExtRule__Group_0__0__Impl_in_rule__ExtRule__Group_0__05035); 
    78428147            rule__ExtRule__Group_0__0__Impl(); 
    78438148 
    78448149            state._fsp--; 
    78458150            if (state.failed) return ; 
    7846             pushFollow(FOLLOW_rule__ExtRule__Group_0__1_in_rule__ExtRule__Group_0__04838); 
     8151            pushFollow(FOLLOW_rule__ExtRule__Group_0__1_in_rule__ExtRule__Group_0__05038); 
    78478152            rule__ExtRule__Group_0__1(); 
    78488153 
     
    78588163        } 
    78598164        finally { 
    7860             if ( state.backtracking>0 ) { memoize(input, 138, rule__ExtRule__Group_0__0_StartIndex); } 
     8165            if ( state.backtracking>0 ) { memoize(input, 144, rule__ExtRule__Group_0__0_StartIndex); } 
    78618166 
    78628167                restoreStackSize(stackSize); 
     
    78698174 
    78708175    // $ANTLR start "rule__ExtRule__Group_0__0__Impl" 
    7871     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2342:1: rule__ExtRule__Group_0__0__Impl : ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) ; 
     8176    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2439:1: rule__ExtRule__Group_0__0__Impl : ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) ; 
    78728177    public final void rule__ExtRule__Group_0__0__Impl() throws RecognitionException { 
    78738178        int rule__ExtRule__Group_0__0__Impl_StartIndex = input.index(); 
     
    78768181             
    78778182        try { 
    7878             if ( state.backtracking>0 && alreadyParsedRule(input, 139) ) { return ; } 
    7879             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2346:1: ( ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) ) 
    7880             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2347:1: ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) 
    7881             { 
    7882             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2347:1: ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) 
    7883             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2348:1: ( rule__ExtRule__RulenumberAssignment_0_0 ) 
     8183            if ( state.backtracking>0 && alreadyParsedRule(input, 145) ) { return ; } 
     8184            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2443:1: ( ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) ) 
     8185            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2444:1: ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) 
     8186            { 
     8187            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2444:1: ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) 
     8188            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2445:1: ( rule__ExtRule__RulenumberAssignment_0_0 ) 
    78848189            { 
    78858190            if ( state.backtracking==0 ) { 
    78868191               before(grammarAccess.getExtRuleAccess().getRulenumberAssignment_0_0());  
    78878192            } 
    7888             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2349:1: ( rule__ExtRule__RulenumberAssignment_0_0 ) 
    7889             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2349:2: rule__ExtRule__RulenumberAssignment_0_0 
    7890             { 
    7891             pushFollow(FOLLOW_rule__ExtRule__RulenumberAssignment_0_0_in_rule__ExtRule__Group_0__0__Impl4865); 
     8193            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2446:1: ( rule__ExtRule__RulenumberAssignment_0_0 ) 
     8194            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2446:2: rule__ExtRule__RulenumberAssignment_0_0 
     8195            { 
     8196            pushFollow(FOLLOW_rule__ExtRule__RulenumberAssignment_0_0_in_rule__ExtRule__Group_0__0__Impl5065); 
    78928197            rule__ExtRule__RulenumberAssignment_0_0(); 
    78938198 
     
    79128217        } 
    79138218        finally { 
    7914             if ( state.backtracking>0 ) { memoize(input, 139, rule__ExtRule__Group_0__0__Impl_StartIndex); } 
     8219            if ( state.backtracking>0 ) { memoize(input, 145, rule__ExtRule__Group_0__0__Impl_StartIndex); } 
    79158220 
    79168221                restoreStackSize(stackSize); 
     
    79238228 
    79248229    // $ANTLR start "rule__ExtRule__Group_0__1" 
    7925     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2359:1: rule__ExtRule__Group_0__1 : rule__ExtRule__Group_0__1__Impl rule__ExtRule__Group_0__2 ; 
     8230    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2456:1: rule__ExtRule__Group_0__1 : rule__ExtRule__Group_0__1__Impl rule__ExtRule__Group_0__2 ; 
    79268231    public final void rule__ExtRule__Group_0__1() throws RecognitionException { 
    79278232        int rule__ExtRule__Group_0__1_StartIndex = input.index(); 
     
    79308235             
    79318236        try { 
    7932             if ( state.backtracking>0 && alreadyParsedRule(input, 140) ) { return ; } 
    7933             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2363:1: ( rule__ExtRule__Group_0__1__Impl rule__ExtRule__Group_0__2 ) 
    7934             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2364:2: rule__ExtRule__Group_0__1__Impl rule__ExtRule__Group_0__2 
    7935             { 
    7936             pushFollow(FOLLOW_rule__ExtRule__Group_0__1__Impl_in_rule__ExtRule__Group_0__14895); 
     8237            if ( state.backtracking>0 && alreadyParsedRule(input, 146) ) { return ; } 
     8238            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2460:1: ( rule__ExtRule__Group_0__1__Impl rule__ExtRule__Group_0__2 ) 
     8239            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2461:2: rule__ExtRule__Group_0__1__Impl rule__ExtRule__Group_0__2 
     8240            { 
     8241            pushFollow(FOLLOW_rule__ExtRule__Group_0__1__Impl_in_rule__ExtRule__Group_0__15095); 
    79378242            rule__ExtRule__Group_0__1__Impl(); 
    79388243 
    79398244            state._fsp--; 
    79408245            if (state.failed) return ; 
    7941             pushFollow(FOLLOW_rule__ExtRule__Group_0__2_in_rule__ExtRule__Group_0__14898); 
     8246            pushFollow(FOLLOW_rule__ExtRule__Group_0__2_in_rule__ExtRule__Group_0__15098); 
    79428247            rule__ExtRule__Group_0__2(); 
    79438248 
     
    79538258        } 
    79548259        finally { 
    7955             if ( state.backtracking>0 ) { memoize(input, 140, rule__ExtRule__Group_0__1_StartIndex); } 
     8260            if ( state.backtracking>0 ) { memoize(input, 146, rule__ExtRule__Group_0__1_StartIndex); } 
    79568261 
    79578262                restoreStackSize(stackSize); 
     
    79648269 
    79658270    // $ANTLR start "rule__ExtRule__Group_0__1__Impl" 
    7966     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2371:1: rule__ExtRule__Group_0__1__Impl : ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) ; 
     8271    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2468:1: rule__ExtRule__Group_0__1__Impl : ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) ; 
    79678272    public final void rule__ExtRule__Group_0__1__Impl() throws RecognitionException { 
    79688273        int rule__ExtRule__Group_0__1__Impl_StartIndex = input.index(); 
     
    79718276             
    79728277        try { 
    7973             if ( state.backtracking>0 && alreadyParsedRule(input, 141) ) { return ; } 
    7974             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2375:1: ( ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) ) 
    7975             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2376:1: ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) 
    7976             { 
    7977             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2376:1: ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) 
    7978             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2377:1: ( rule__ExtRule__RulevariantAssignment_0_1 )? 
     8278            if ( state.backtracking>0 && alreadyParsedRule(input, 147) ) { return ; } 
     8279            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2472:1: ( ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) ) 
     8280            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2473:1: ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) 
     8281            { 
     8282            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2473:1: ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) 
     8283            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2474:1: ( rule__ExtRule__RulevariantAssignment_0_1 )? 
    79798284            { 
    79808285            if ( state.backtracking==0 ) { 
    79818286               before(grammarAccess.getExtRuleAccess().getRulevariantAssignment_0_1());  
    79828287            } 
    7983             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2378:1: ( rule__ExtRule__RulevariantAssignment_0_1 )? 
     8288            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2475:1: ( rule__ExtRule__RulevariantAssignment_0_1 )? 
    79848289            int alt32=2; 
    79858290            int LA32_0 = input.LA(1); 
     
    79908295            switch (alt32) { 
    79918296                case 1 : 
    7992                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2378:2: rule__ExtRule__RulevariantAssignment_0_1 
     8297                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2475:2: rule__ExtRule__RulevariantAssignment_0_1 
    79938298                    { 
    7994                     pushFollow(FOLLOW_rule__ExtRule__RulevariantAssignment_0_1_in_rule__ExtRule__Group_0__1__Impl4925); 
     8299                    pushFollow(FOLLOW_rule__ExtRule__RulevariantAssignment_0_1_in_rule__ExtRule__Group_0__1__Impl5125); 
    79958300                    rule__ExtRule__RulevariantAssignment_0_1(); 
    79968301 
     
    80188323        } 
    80198324        finally { 
    8020             if ( state.backtracking>0 ) { memoize(input, 141, rule__ExtRule__Group_0__1__Impl_StartIndex); } 
     8325            if ( state.backtracking>0 ) { memoize(input, 147, rule__ExtRule__Group_0__1__Impl_StartIndex); } 
    80218326 
    80228327                restoreStackSize(stackSize); 
     
    80298334 
    80308335    // $ANTLR start "rule__ExtRule__Group_0__2" 
    8031     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2388:1: rule__ExtRule__Group_0__2 : rule__ExtRule__Group_0__2__Impl ; 
     8336    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2485:1: rule__ExtRule__Group_0__2 : rule__ExtRule__Group_0__2__Impl ; 
    80328337    public final void rule__ExtRule__Group_0__2() throws RecognitionException { 
    80338338        int rule__ExtRule__Group_0__2_StartIndex = input.index(); 
     
    80368341             
    80378342        try { 
    8038             if ( state.backtracking>0 && alreadyParsedRule(input, 142) ) { return ; } 
    8039             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2392:1: ( rule__ExtRule__Group_0__2__Impl ) 
    8040             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2393:2: rule__ExtRule__Group_0__2__Impl 
    8041             { 
    8042             pushFollow(FOLLOW_rule__ExtRule__Group_0__2__Impl_in_rule__ExtRule__Group_0__24956); 
     8343            if ( state.backtracking>0 && alreadyParsedRule(input, 148) ) { return ; } 
     8344            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2489:1: ( rule__ExtRule__Group_0__2__Impl ) 
     8345            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2490:2: rule__ExtRule__Group_0__2__Impl 
     8346            { 
     8347            pushFollow(FOLLOW_rule__ExtRule__Group_0__2__Impl_in_rule__ExtRule__Group_0__25156); 
    80438348            rule__ExtRule__Group_0__2__Impl(); 
    80448349 
     
    80548359        } 
    80558360        finally { 
    8056             if ( state.backtracking>0 ) { memoize(input, 142, rule__ExtRule__Group_0__2_StartIndex); } 
     8361            if ( state.backtracking>0 ) { memoize(input, 148, rule__ExtRule__Group_0__2_StartIndex); } 
    80578362 
    80588363                restoreStackSize(stackSize); 
     
    80658370 
    80668371    // $ANTLR start "rule__ExtRule__Group_0__2__Impl" 
    8067     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2399:1: rule__ExtRule__Group_0__2__Impl : ( '.' ) ; 
     8372    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2496:1: rule__ExtRule__Group_0__2__Impl : ( '.' ) ; 
    80688373    public final void rule__ExtRule__Group_0__2__Impl() throws RecognitionException { 
    80698374        int rule__ExtRule__Group_0__2__Impl_StartIndex = input.index(); 
     
    80728377             
    80738378        try { 
    8074             if ( state.backtracking>0 && alreadyParsedRule(input, 143) ) { return ; } 
    8075             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2403:1: ( ( '.' ) ) 
    8076             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2404:1: ( '.' ) 
    8077             { 
    8078             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2404:1: ( '.' ) 
    8079             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2405:1: '.' 
     8379            if ( state.backtracking>0 && alreadyParsedRule(input, 149) ) { return ; } 
     8380            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2500:1: ( ( '.' ) ) 
     8381            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2501:1: ( '.' ) 
     8382            { 
     8383            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2501:1: ( '.' ) 
     8384            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2502:1: '.' 
    80808385            { 
    80818386            if ( state.backtracking==0 ) { 
    80828387               before(grammarAccess.getExtRuleAccess().getFullStopKeyword_0_2());  
    80838388            } 
    8084             match(input,28,FOLLOW_28_in_rule__ExtRule__Group_0__2__Impl4984); if (state.failed) return ; 
     8389            match(input,28,FOLLOW_28_in_rule__ExtRule__Group_0__2__Impl5184); if (state.failed) return ; 
    80858390            if ( state.backtracking==0 ) { 
    80868391               after(grammarAccess.getExtRuleAccess().getFullStopKeyword_0_2());  
     
    80988403        } 
    80998404        finally { 
    8100             if ( state.backtracking>0 ) { memoize(input, 143, rule__ExtRule__Group_0__2__Impl_StartIndex); } 
     8405            if ( state.backtracking>0 ) { memoize(input, 149, rule__ExtRule__Group_0__2__Impl_StartIndex); } 
    81018406 
    81028407                restoreStackSize(stackSize); 
     
    81098414 
    81108415    // $ANTLR start "rule__ExtRule__Group_2__0" 
    8111     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2424:1: rule__ExtRule__Group_2__0 : rule__ExtRule__Group_2__0__Impl rule__ExtRule__Group_2__1 ; 
     8416    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2521:1: rule__ExtRule__Group_2__0 : rule__ExtRule__Group_2__0__Impl rule__ExtRule__Group_2__1 ; 
    81128417    public final void rule__ExtRule__Group_2__0() throws RecognitionException { 
    81138418        int rule__ExtRule__Group_2__0_StartIndex = input.index(); 
     
    81168421             
    81178422        try { 
    8118             if ( state.backtracking>0 && alreadyParsedRule(input, 144) ) { return ; } 
    8119             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2428:1: ( rule__ExtRule__Group_2__0__Impl rule__ExtRule__Group_2__1 ) 
    8120             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2429:2: rule__ExtRule__Group_2__0__Impl rule__ExtRule__Group_2__1 
    8121             { 
    8122             pushFollow(FOLLOW_rule__ExtRule__Group_2__0__Impl_in_rule__ExtRule__Group_2__05021); 
     8423            if ( state.backtracking>0 && alreadyParsedRule(input, 150) ) { return ; } 
     8424            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2525:1: ( rule__ExtRule__Group_2__0__Impl rule__ExtRule__Group_2__1 ) 
     8425            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2526:2: rule__ExtRule__Group_2__0__Impl rule__ExtRule__Group_2__1 
     8426            { 
     8427            pushFollow(FOLLOW_rule__ExtRule__Group_2__0__Impl_in_rule__ExtRule__Group_2__05221); 
    81238428            rule__ExtRule__Group_2__0__Impl(); 
    81248429 
    81258430            state._fsp--; 
    81268431            if (state.failed) return ; 
    8127             pushFollow(FOLLOW_rule__ExtRule__Group_2__1_in_rule__ExtRule__Group_2__05024); 
     8432            pushFollow(FOLLOW_rule__ExtRule__Group_2__1_in_rule__ExtRule__Group_2__05224); 
    81288433            rule__ExtRule__Group_2__1(); 
    81298434 
     
    81398444        } 
    81408445        finally { 
    8141             if ( state.backtracking>0 ) { memoize(input, 144, rule__ExtRule__Group_2__0_StartIndex); } 
     8446            if ( state.backtracking>0 ) { memoize(input, 150, rule__ExtRule__Group_2__0_StartIndex); } 
    81428447 
    81438448                restoreStackSize(stackSize); 
     
    81508455 
    81518456    // $ANTLR start "rule__ExtRule__Group_2__0__Impl" 
    8152     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2436:1: rule__ExtRule__Group_2__0__Impl : ( '(' ) ; 
     8457    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2533:1: rule__ExtRule__Group_2__0__Impl : ( '(' ) ; 
    81538458    public final void rule__ExtRule__Group_2__0__Impl() throws RecognitionException { 
    81548459        int rule__ExtRule__Group_2__0__Impl_StartIndex = input.index(); 
     
    81578462             
    81588463        try { 
    8159             if ( state.backtracking>0 && alreadyParsedRule(input, 145) ) { return ; } 
    8160             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2440:1: ( ( '(' ) ) 
    8161             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2441:1: ( '(' ) 
    8162             { 
    8163             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2441:1: ( '(' ) 
    8164             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2442:1: '(' 
     8464            if ( state.backtracking>0 && alreadyParsedRule(input, 151) ) { return ; } 
     8465            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2537:1: ( ( '(' ) ) 
     8466            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2538:1: ( '(' ) 
     8467            { 
     8468            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2538:1: ( '(' ) 
     8469            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2539:1: '(' 
    81658470            { 
    81668471            if ( state.backtracking==0 ) { 
    81678472               before(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_2_0());  
    81688473            } 
    8169             match(input,17,FOLLOW_17_in_rule__ExtRule__Group_2__0__Impl5052); if (state.failed) return ; 
     8474            match(input,17,FOLLOW_17_in_rule__ExtRule__Group_2__0__Impl5252); if (state.failed) return ; 
    81708475            if ( state.backtracking==0 ) { 
    81718476               after(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_2_0());  
     
    81838488        } 
    81848489        finally { 
    8185             if ( state.backtracking>0 ) { memoize(input, 145, rule__ExtRule__Group_2__0__Impl_StartIndex); } 
     8490            if ( state.backtracking>0 ) { memoize(input, 151, rule__ExtRule__Group_2__0__Impl_StartIndex); } 
    81868491 
    81878492                restoreStackSize(stackSize); 
     
    81948499 
    81958500    // $ANTLR start "rule__ExtRule__Group_2__1" 
    8196     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2455:1: rule__ExtRule__Group_2__1 : rule__ExtRule__Group_2__1__Impl rule__ExtRule__Group_2__2 ; 
     8501    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2552:1: rule__ExtRule__Group_2__1 : rule__ExtRule__Group_2__1__Impl rule__ExtRule__Group_2__2 ; 
    81978502    public final void rule__ExtRule__Group_2__1() throws RecognitionException { 
    81988503        int rule__ExtRule__Group_2__1_StartIndex = input.index(); 
     
    82018506             
    82028507        try { 
    8203             if ( state.backtracking>0 && alreadyParsedRule(input, 146) ) { return ; } 
    8204             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2459:1: ( rule__ExtRule__Group_2__1__Impl rule__ExtRule__Group_2__2 ) 
    8205             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2460:2: rule__ExtRule__Group_2__1__Impl rule__ExtRule__Group_2__2 
    8206             { 
    8207             pushFollow(FOLLOW_rule__ExtRule__Group_2__1__Impl_in_rule__ExtRule__Group_2__15083); 
     8508            if ( state.backtracking>0 && alreadyParsedRule(input, 152) ) { return ; } 
     8509            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2556:1: ( rule__ExtRule__Group_2__1__Impl rule__ExtRule__Group_2__2 ) 
     8510            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2557:2: rule__ExtRule__Group_2__1__Impl rule__ExtRule__Group_2__2 
     8511            { 
     8512            pushFollow(FOLLOW_rule__ExtRule__Group_2__1__Impl_in_rule__ExtRule__Group_2__15283); 
    82088513            rule__ExtRule__Group_2__1__Impl(); 
    82098514 
    82108515            state._fsp--; 
    82118516            if (state.failed) return ; 
    8212             pushFollow(FOLLOW_rule__ExtRule__Group_2__2_in_rule__ExtRule__Group_2__15086); 
     8517            pushFollow(FOLLOW_rule__ExtRule__Group_2__2_in_rule__ExtRule__Group_2__15286); 
    82138518            rule__ExtRule__Group_2__2(); 
    82148519 
     
    82248529        } 
    82258530        finally { 
    8226             if ( state.backtracking>0 ) { memoize(input, 146, rule__ExtRule__Group_2__1_StartIndex); } 
     8531            if ( state.backtracking>0 ) { memoize(input, 152, rule__ExtRule__Group_2__1_StartIndex); } 
    82278532 
    82288533                restoreStackSize(stackSize); 
     
    82358540 
    82368541    // $ANTLR start "rule__ExtRule__Group_2__1__Impl" 
    8237     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2467:1: rule__ExtRule__Group_2__1__Impl : ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) ; 
     8542    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2564:1: rule__ExtRule__Group_2__1__Impl : ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) ; 
    82388543    public final void rule__ExtRule__Group_2__1__Impl() throws RecognitionException { 
    82398544        int rule__ExtRule__Group_2__1__Impl_StartIndex = input.index(); 
     
    82428547             
    82438548        try { 
    8244             if ( state.backtracking>0 && alreadyParsedRule(input, 147) ) { return ; } 
    8245             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2471:1: ( ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) ) 
    8246             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2472:1: ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) 
    8247             { 
    8248             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2472:1: ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) 
    8249             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2473:1: ( rule__ExtRule__RuleextAssignment_2_1 ) 
     8549            if ( state.backtracking>0 && alreadyParsedRule(input, 153) ) { return ; } 
     8550            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2568:1: ( ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) ) 
     8551            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2569:1: ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) 
     8552            { 
     8553            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2569:1: ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) 
     8554            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2570:1: ( rule__ExtRule__RuleextAssignment_2_1 ) 
    82508555            { 
    82518556            if ( state.backtracking==0 ) { 
    82528557               before(grammarAccess.getExtRuleAccess().getRuleextAssignment_2_1());  
    82538558            } 
    8254             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2474:1: ( rule__ExtRule__RuleextAssignment_2_1 ) 
    8255             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2474:2: rule__ExtRule__RuleextAssignment_2_1 
    8256             { 
    8257             pushFollow(FOLLOW_rule__ExtRule__RuleextAssignment_2_1_in_rule__ExtRule__Group_2__1__Impl5113); 
     8559            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2571:1: ( rule__ExtRule__RuleextAssignment_2_1 ) 
     8560            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2571:2: rule__ExtRule__RuleextAssignment_2_1 
     8561            { 
     8562            pushFollow(FOLLOW_rule__ExtRule__RuleextAssignment_2_1_in_rule__ExtRule__Group_2__1__Impl5313); 
    82588563            rule__ExtRule__RuleextAssignment_2_1(); 
    82598564 
     
    82788583        } 
    82798584        finally { 
    8280             if ( state.backtracking>0 ) { memoize(input, 147, rule__ExtRule__Group_2__1__Impl_StartIndex); } 
     8585            if ( state.backtracking>0 ) { memoize(input, 153, rule__ExtRule__Group_2__1__Impl_StartIndex); } 
    82818586 
    82828587                restoreStackSize(stackSize); 
     
    82898594 
    82908595    // $ANTLR start "rule__ExtRule__Group_2__2" 
    8291     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2484:1: rule__ExtRule__Group_2__2 : rule__ExtRule__Group_2__2__Impl ; 
     8596    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2581:1: rule__ExtRule__Group_2__2 : rule__ExtRule__Group_2__2__Impl ; 
    82928597    public final void rule__ExtRule__Group_2__2() throws RecognitionException { 
    82938598        int rule__ExtRule__Group_2__2_StartIndex = input.index(); 
     
    82968601             
    82978602        try { 
    8298             if ( state.backtracking>0 && alreadyParsedRule(input, 148) ) { return ; } 
    8299             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2488:1: ( rule__ExtRule__Group_2__2__Impl ) 
    8300             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2489:2: rule__ExtRule__Group_2__2__Impl 
    8301             { 
    8302             pushFollow(FOLLOW_rule__ExtRule__Group_2__2__Impl_in_rule__ExtRule__Group_2__25143); 
     8603            if ( state.backtracking>0 && alreadyParsedRule(input, 154) ) { return ; } 
     8604            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2585:1: ( rule__ExtRule__Group_2__2__Impl ) 
     8605            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2586:2: rule__ExtRule__Group_2__2__Impl 
     8606            { 
     8607            pushFollow(FOLLOW_rule__ExtRule__Group_2__2__Impl_in_rule__ExtRule__Group_2__25343); 
    83038608            rule__ExtRule__Group_2__2__Impl(); 
    83048609 
     
    83148619        } 
    83158620        finally { 
    8316             if ( state.backtracking>0 ) { memoize(input, 148, rule__ExtRule__Group_2__2_StartIndex); } 
     8621            if ( state.backtracking>0 ) { memoize(input, 154, rule__ExtRule__Group_2__2_StartIndex); } 
    83178622 
    83188623                restoreStackSize(stackSize); 
     
    83258630 
    83268631    // $ANTLR start "rule__ExtRule__Group_2__2__Impl" 
    8327     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2495:1: rule__ExtRule__Group_2__2__Impl : ( ')' ) ; 
     8632    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2592:1: rule__ExtRule__Group_2__2__Impl : ( ')' ) ; 
    83288633    public final void rule__ExtRule__Group_2__2__Impl() throws RecognitionException { 
    83298634        int rule__ExtRule__Group_2__2__Impl_StartIndex = input.index(); 
     
    83328637             
    83338638        try { 
    8334             if ( state.backtracking>0 && alreadyParsedRule(input, 149) ) { return ; } 
    8335             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2499:1: ( ( ')' ) ) 
    8336             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2500:1: ( ')' ) 
    8337             { 
    8338             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2500:1: ( ')' ) 
    8339             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2501:1: ')' 
     8639            if ( state.backtracking>0 && alreadyParsedRule(input, 155) ) { return ; } 
     8640            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2596:1: ( ( ')' ) ) 
     8641            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2597:1: ( ')' ) 
     8642            { 
     8643            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2597:1: ( ')' ) 
     8644            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2598:1: ')' 
    83408645            { 
    83418646            if ( state.backtracking==0 ) { 
    83428647               before(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_2_2());  
    83438648            } 
    8344             match(input,13,FOLLOW_13_in_rule__ExtRule__Group_2__2__Impl5171); if (state.failed) return ; 
     8649            match(input,13,FOLLOW_13_in_rule__ExtRule__Group_2__2__Impl5371); if (state.failed) return ; 
    83458650            if ( state.backtracking==0 ) { 
    83468651               after(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_2_2());  
     
    83588663        } 
    83598664        finally { 
    8360             if ( state.backtracking>0 ) { memoize(input, 149, rule__ExtRule__Group_2__2__Impl_StartIndex); } 
     8665            if ( state.backtracking>0 ) { memoize(input, 155, rule__ExtRule__Group_2__2__Impl_StartIndex); } 
    83618666 
    83628667                restoreStackSize(stackSize); 
     
    83698674 
    83708675    // $ANTLR start "rule__GlobalCombinator__Group__0" 
    8371     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2520:1: rule__GlobalCombinator__Group__0 : rule__GlobalCombinator__Group__0__Impl rule__GlobalCombinator__Group__1 ; 
     8676    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2617:1: rule__GlobalCombinator__Group__0 : rule__GlobalCombinator__Group__0__Impl rule__GlobalCombinator__Group__1 ; 
    83728677    public final void rule__GlobalCombinator__Group__0() throws RecognitionException { 
    83738678        int rule__GlobalCombinator__Group__0_StartIndex = input.index(); 
     
    83768681             
    83778682        try { 
    8378             if ( state.backtracking>0 && alreadyParsedRule(input, 150) ) { return ; } 
    8379             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2524:1: ( rule__GlobalCombinator__Group__0__Impl rule__GlobalCombinator__Group__1 ) 
    8380             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2525:2: rule__GlobalCombinator__Group__0__Impl rule__GlobalCombinator__Group__1 
    8381             { 
    8382             pushFollow(FOLLOW_rule__GlobalCombinator__Group__0__Impl_in_rule__GlobalCombinator__Group__05208); 
     8683            if ( state.backtracking>0 && alreadyParsedRule(input, 156) ) { return ; } 
     8684            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2621:1: ( rule__GlobalCombinator__Group__0__Impl rule__GlobalCombinator__Group__1 ) 
     8685            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2622:2: rule__GlobalCombinator__Group__0__Impl rule__GlobalCombinator__Group__1 
     8686            { 
     8687            pushFollow(FOLLOW_rule__GlobalCombinator__Group__0__Impl_in_rule__GlobalCombinator__Group__05408); 
    83838688            rule__GlobalCombinator__Group__0__Impl(); 
    83848689 
    83858690            state._fsp--; 
    83868691            if (state.failed) return ; 
    8387             pushFollow(FOLLOW_rule__GlobalCombinator__Group__1_in_rule__GlobalCombinator__Group__05211); 
     8692            pushFollow(FOLLOW_rule__GlobalCombinator__Group__1_in_rule__GlobalCombinator__Group__05411); 
    83888693            rule__GlobalCombinator__Group__1(); 
    83898694 
     
    83998704        } 
    84008705        finally { 
    8401             if ( state.backtracking>0 ) { memoize(input, 150, rule__GlobalCombinator__Group__0_StartIndex); } 
     8706            if ( state.backtracking>0 ) { memoize(input, 156, rule__GlobalCombinator__Group__0_StartIndex); } 
    84028707 
    84038708                restoreStackSize(stackSize); 
     
    84108715 
    84118716    // $ANTLR start "rule__GlobalCombinator__Group__0__Impl" 
    8412     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2532:1: rule__GlobalCombinator__Group__0__Impl : ( ( rule__GlobalCombinator__Group_0__0 ) ) ; 
     8717    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2629:1: rule__GlobalCombinator__Group__0__Impl : ( ( rule__GlobalCombinator__Group_0__0 ) ) ; 
    84138718    public final void rule__GlobalCombinator__Group__0__Impl() throws RecognitionException { 
    84148719        int rule__GlobalCombinator__Group__0__Impl_StartIndex = input.index(); 
     
    84178722             
    84188723        try { 
    8419             if ( state.backtracking>0 && alreadyParsedRule(input, 151) ) { return ; } 
    8420             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2536:1: ( ( ( rule__GlobalCombinator__Group_0__0 ) ) ) 
    8421             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2537:1: ( ( rule__GlobalCombinator__Group_0__0 ) ) 
    8422             { 
    8423             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2537:1: ( ( rule__GlobalCombinator__Group_0__0 ) ) 
    8424             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2538:1: ( rule__GlobalCombinator__Group_0__0 ) 
     8724            if ( state.backtracking>0 && alreadyParsedRule(input, 157) ) { return ; } 
     8725            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2633:1: ( ( ( rule__GlobalCombinator__Group_0__0 ) ) ) 
     8726            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2634:1: ( ( rule__GlobalCombinator__Group_0__0 ) ) 
     8727            { 
     8728            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2634:1: ( ( rule__GlobalCombinator__Group_0__0 ) ) 
     8729            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2635:1: ( rule__GlobalCombinator__Group_0__0 ) 
    84258730            { 
    84268731            if ( state.backtracking==0 ) { 
    84278732               before(grammarAccess.getGlobalCombinatorAccess().getGroup_0());  
    84288733            } 
    8429             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2539:1: ( rule__GlobalCombinator__Group_0__0 ) 
    8430             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2539:2: rule__GlobalCombinator__Group_0__0 
    8431             { 
    8432             pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__0_in_rule__GlobalCombinator__Group__0__Impl5238); 
     8734            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2636:1: ( rule__GlobalCombinator__Group_0__0 ) 
     8735            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2636:2: rule__GlobalCombinator__Group_0__0 
     8736            { 
     8737            pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__0_in_rule__GlobalCombinator__Group__0__Impl5438); 
    84338738            rule__GlobalCombinator__Group_0__0(); 
    84348739 
     
    84538758        } 
    84548759        finally { 
    8455             if ( state.backtracking>0 ) { memoize(input, 151, rule__GlobalCombinator__Group__0__Impl_StartIndex); } 
     8760            if ( state.backtracking>0 ) { memoize(input, 157, rule__GlobalCombinator__Group__0__Impl_StartIndex); } 
    84568761 
    84578762                restoreStackSize(stackSize); 
     
    84648769 
    84658770    // $ANTLR start "rule__GlobalCombinator__Group__1" 
    8466     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2549:1: rule__GlobalCombinator__Group__1 : rule__GlobalCombinator__Group__1__Impl rule__GlobalCombinator__Group__2 ; 
     8771    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2646:1: rule__GlobalCombinator__Group__1 : rule__GlobalCombinator__Group__1__Impl rule__GlobalCombinator__Group__2 ; 
    84678772    public final void rule__GlobalCombinator__Group__1() throws RecognitionException { 
    84688773        int rule__GlobalCombinator__Group__1_StartIndex = input.index(); 
     
    84718776             
    84728777        try { 
    8473             if ( state.backtracking>0 && alreadyParsedRule(input, 152) ) { return ; } 
    8474             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2553:1: ( rule__GlobalCombinator__Group__1__Impl rule__GlobalCombinator__Group__2 ) 
    8475             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2554:2: rule__GlobalCombinator__Group__1__Impl rule__GlobalCombinator__Group__2 
    8476             { 
    8477             pushFollow(FOLLOW_rule__GlobalCombinator__Group__1__Impl_in_rule__GlobalCombinator__Group__15268); 
     8778            if ( state.backtracking>0 && alreadyParsedRule(input, 158) ) { return ; } 
     8779            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2650:1: ( rule__GlobalCombinator__Group__1__Impl rule__GlobalCombinator__Group__2 ) 
     8780            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2651:2: rule__GlobalCombinator__Group__1__Impl rule__GlobalCombinator__Group__2 
     8781            { 
     8782            pushFollow(FOLLOW_rule__GlobalCombinator__Group__1__Impl_in_rule__GlobalCombinator__Group__15468); 
    84788783            rule__GlobalCombinator__Group__1__Impl(); 
    84798784 
    84808785            state._fsp--; 
    84818786            if (state.failed) return ; 
    8482             pushFollow(FOLLOW_rule__GlobalCombinator__Group__2_in_rule__GlobalCombinator__Group__15271); 
     8787            pushFollow(FOLLOW_rule__GlobalCombinator__Group__2_in_rule__GlobalCombinator__Group__15471); 
    84838788            rule__GlobalCombinator__Group__2(); 
    84848789 
     
    84948799        } 
    84958800        finally { 
    8496             if ( state.backtracking>0 ) { memoize(input, 152, rule__GlobalCombinator__Group__1_StartIndex); } 
     8801            if ( state.backtracking>0 ) { memoize(input, 158, rule__GlobalCombinator__Group__1_StartIndex); } 
    84978802 
    84988803                restoreStackSize(stackSize); 
     
    85058810 
    85068811    // $ANTLR start "rule__GlobalCombinator__Group__1__Impl" 
    8507     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2561:1: rule__GlobalCombinator__Group__1__Impl : ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) ; 
     8812    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2658:1: rule__GlobalCombinator__Group__1__Impl : ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) ; 
    85088813    public final void rule__GlobalCombinator__Group__1__Impl() throws RecognitionException { 
    85098814        int rule__GlobalCombinator__Group__1__Impl_StartIndex = input.index(); 
     
    85128817             
    85138818        try { 
    8514             if ( state.backtracking>0 && alreadyParsedRule(input, 153) ) { return ; } 
    8515             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2565:1: ( ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) ) 
    8516             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2566:1: ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) 
    8517             { 
    8518             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2566:1: ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) 
    8519             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2567:1: ( rule__GlobalCombinator__LogicAssignment_1 ) 
     8819            if ( state.backtracking>0 && alreadyParsedRule(input, 159) ) { return ; } 
     8820            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2662:1: ( ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) ) 
     8821            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2663:1: ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) 
     8822            { 
     8823            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2663:1: ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) 
     8824            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2664:1: ( rule__GlobalCombinator__LogicAssignment_1 ) 
    85208825            { 
    85218826            if ( state.backtracking==0 ) { 
    85228827               before(grammarAccess.getGlobalCombinatorAccess().getLogicAssignment_1());  
    85238828            } 
    8524             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2568:1: ( rule__GlobalCombinator__LogicAssignment_1 ) 
    8525             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2568:2: rule__GlobalCombinator__LogicAssignment_1 
    8526             { 
    8527             pushFollow(FOLLOW_rule__GlobalCombinator__LogicAssignment_1_in_rule__GlobalCombinator__Group__1__Impl5298); 
     8829            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2665:1: ( rule__GlobalCombinator__LogicAssignment_1 ) 
     8830            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2665:2: rule__GlobalCombinator__LogicAssignment_1 
     8831            { 
     8832            pushFollow(FOLLOW_rule__GlobalCombinator__LogicAssignment_1_in_rule__GlobalCombinator__Group__1__Impl5498); 
    85288833            rule__GlobalCombinator__LogicAssignment_1(); 
    85298834 
     
    85488853        } 
    85498854        finally { 
    8550             if ( state.backtracking>0 ) { memoize(input, 153, rule__GlobalCombinator__Group__1__Impl_StartIndex); } 
     8855            if ( state.backtracking>0 ) { memoize(input, 159, rule__GlobalCombinator__Group__1__Impl_StartIndex); } 
    85518856 
    85528857                restoreStackSize(stackSize); 
     
    85598864 
    85608865    // $ANTLR start "rule__GlobalCombinator__Group__2" 
    8561     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2578:1: rule__GlobalCombinator__Group__2 : rule__GlobalCombinator__Group__2__Impl ; 
     8866    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2675:1: rule__GlobalCombinator__Group__2 : rule__GlobalCombinator__Group__2__Impl ; 
    85628867    public final void rule__GlobalCombinator__Group__2() throws RecognitionException { 
    85638868        int rule__GlobalCombinator__Group__2_StartIndex = input.index(); 
     
    85668871             
    85678872        try { 
    8568             if ( state.backtracking>0 && alreadyParsedRule(input, 154) ) { return ; } 
    8569             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2582:1: ( rule__GlobalCombinator__Group__2__Impl ) 
    8570             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2583:2: rule__GlobalCombinator__Group__2__Impl 
    8571             { 
    8572             pushFollow(FOLLOW_rule__GlobalCombinator__Group__2__Impl_in_rule__GlobalCombinator__Group__25328); 
     8873            if ( state.backtracking>0 && alreadyParsedRule(input, 160) ) { return ; } 
     8874            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2679:1: ( rule__GlobalCombinator__Group__2__Impl ) 
     8875            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2680:2: rule__GlobalCombinator__Group__2__Impl 
     8876            { 
     8877            pushFollow(FOLLOW_rule__GlobalCombinator__Group__2__Impl_in_rule__GlobalCombinator__Group__25528); 
    85738878            rule__GlobalCombinator__Group__2__Impl(); 
    85748879 
     
    85848889        } 
    85858890        finally { 
    8586             if ( state.backtracking>0 ) { memoize(input, 154, rule__GlobalCombinator__Group__2_StartIndex); } 
     8891            if ( state.backtracking>0 ) { memoize(input, 160, rule__GlobalCombinator__Group__2_StartIndex); } 
    85878892 
    85888893                restoreStackSize(stackSize); 
     
    85958900 
    85968901    // $ANTLR start "rule__GlobalCombinator__Group__2__Impl" 
    8597     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2589:1: rule__GlobalCombinator__Group__2__Impl : ( ( ';' )? ) ; 
     8902    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2686:1: rule__GlobalCombinator__Group__2__Impl : ( ( ';' )? ) ; 
    85988903    public final void rule__GlobalCombinator__Group__2__Impl() throws RecognitionException { 
    85998904        int rule__GlobalCombinator__Group__2__Impl_StartIndex = input.index(); 
     
    86028907             
    86038908        try { 
    8604             if ( state.backtracking>0 && alreadyParsedRule(input, 155) ) { return ; } 
    8605             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2593:1: ( ( ( ';' )? ) ) 
    8606             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2594:1: ( ( ';' )? ) 
    8607             { 
    8608             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2594:1: ( ( ';' )? ) 
    8609             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2595:1: ( ';' )? 
     8909            if ( state.backtracking>0 && alreadyParsedRule(input, 161) ) { return ; } 
     8910            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2690:1: ( ( ( ';' )? ) ) 
     8911            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2691:1: ( ( ';' )? ) 
     8912            { 
     8913            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2691:1: ( ( ';' )? ) 
     8914            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2692:1: ( ';' )? 
    86108915            { 
    86118916            if ( state.backtracking==0 ) { 
    86128917               before(grammarAccess.getGlobalCombinatorAccess().getSemicolonKeyword_2());  
    86138918            } 
    8614             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2596:1: ( ';' )? 
     8919            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2693:1: ( ';' )? 
    86158920            int alt33=2; 
    86168921            int LA33_0 = input.LA(1); 
     
    86218926            switch (alt33) { 
    86228927                case 1 : 
    8623                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2597:2: ';' 
     8928                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2694:2: ';' 
    86248929                    { 
    8625                     match(input,23,FOLLOW_23_in_rule__GlobalCombinator__Group__2__Impl5357); if (state.failed) return ; 
     8930                    match(input,23,FOLLOW_23_in_rule__GlobalCombinator__Group__2__Impl5557); if (state.failed) return ; 
    86268931 
    86278932                    } 
     
    86458950        } 
    86468951        finally { 
    8647             if ( state.backtracking>0 ) { memoize(input, 155, rule__GlobalCombinator__Group__2__Impl_StartIndex); } 
     8952            if ( state.backtracking>0 ) { memoize(input, 161, rule__GlobalCombinator__Group__2__Impl_StartIndex); } 
    86488953 
    86498954                restoreStackSize(stackSize); 
     
    86568961 
    86578962    // $ANTLR start "rule__GlobalCombinator__Group_0__0" 
    8658     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2614:1: rule__GlobalCombinator__Group_0__0 : rule__GlobalCombinator__Group_0__0__Impl rule__GlobalCombinator__Group_0__1 ; 
     8963    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2711:1: rule__GlobalCombinator__Group_0__0 : rule__GlobalCombinator__Group_0__0__Impl rule__GlobalCombinator__Group_0__1 ; 
    86598964    public final void rule__GlobalCombinator__Group_0__0() throws RecognitionException { 
    86608965        int rule__GlobalCombinator__Group_0__0_StartIndex = input.index(); 
     
    86638968             
    86648969        try { 
    8665             if ( state.backtracking>0 && alreadyParsedRule(input, 156) ) { return ; } 
    8666             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2618:1: ( rule__GlobalCombinator__Group_0__0__Impl rule__GlobalCombinator__Group_0__1 ) 
    8667             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2619:2: rule__GlobalCombinator__Group_0__0__Impl rule__GlobalCombinator__Group_0__1 
    8668             { 
    8669             pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__0__Impl_in_rule__GlobalCombinator__Group_0__05396); 
     8970            if ( state.backtracking>0 && alreadyParsedRule(input, 162) ) { return ; } 
     8971            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2715:1: ( rule__GlobalCombinator__Group_0__0__Impl rule__GlobalCombinator__Group_0__1 ) 
     8972            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2716:2: rule__GlobalCombinator__Group_0__0__Impl rule__GlobalCombinator__Group_0__1 
     8973            { 
     8974            pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__0__Impl_in_rule__GlobalCombinator__Group_0__05596); 
    86708975            rule__GlobalCombinator__Group_0__0__Impl(); 
    86718976 
    86728977            state._fsp--; 
    86738978            if (state.failed) return ; 
    8674             pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__1_in_rule__GlobalCombinator__Group_0__05399); 
     8979            pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__1_in_rule__GlobalCombinator__Group_0__05599); 
    86758980            rule__GlobalCombinator__Group_0__1(); 
    86768981 
     
    86868991        } 
    86878992        finally { 
    8688             if ( state.backtracking>0 ) { memoize(input, 156, rule__GlobalCombinator__Group_0__0_StartIndex); } 
     8993            if ( state.backtracking>0 ) { memoize(input, 162, rule__GlobalCombinator__Group_0__0_StartIndex); } 
    86898994 
    86908995                restoreStackSize(stackSize); 
     
    86979002 
    86989003    // $ANTLR start "rule__GlobalCombinator__Group_0__0__Impl" 
    8699     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2626:1: rule__GlobalCombinator__Group_0__0__Impl : ( 'global' ) ; 
     9004    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2723:1: rule__GlobalCombinator__Group_0__0__Impl : ( 'global' ) ; 
    87009005    public final void rule__GlobalCombinator__Group_0__0__Impl() throws RecognitionException { 
    87019006        int rule__GlobalCombinator__Group_0__0__Impl_StartIndex = input.index(); 
     
    87049009             
    87059010        try { 
    8706             if ( state.backtracking>0 && alreadyParsedRule(input, 157) ) { return ; } 
    8707             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2630:1: ( ( 'global' ) ) 
    8708             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2631:1: ( 'global' ) 
    8709             { 
    8710             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2631:1: ( 'global' ) 
    8711             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2632:1: 'global' 
     9011            if ( state.backtracking>0 && alreadyParsedRule(input, 163) ) { return ; } 
     9012            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2727:1: ( ( 'global' ) ) 
     9013            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2728:1: ( 'global' ) 
     9014            { 
     9015            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2728:1: ( 'global' ) 
     9016            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2729:1: 'global' 
    87129017            { 
    87139018            if ( state.backtracking==0 ) { 
    87149019               before(grammarAccess.getGlobalCombinatorAccess().getGlobalKeyword_0_0());  
    87159020            } 
    8716             match(input,30,FOLLOW_30_in_rule__GlobalCombinator__Group_0__0__Impl5427); if (state.failed) return ; 
     9021            match(input,30,FOLLOW_30_in_rule__GlobalCombinator__Group_0__0__Impl5627); if (state.failed) return ; 
    87179022            if ( state.backtracking==0 ) { 
    87189023               after(grammarAccess.getGlobalCombinatorAccess().getGlobalKeyword_0_0());  
     
    87309035        } 
    87319036        finally { 
    8732             if ( state.backtracking>0 ) { memoize(input, 157, rule__GlobalCombinator__Group_0__0__Impl_StartIndex); } 
     9037            if ( state.backtracking>0 ) { memoize(input, 163, rule__GlobalCombinator__Group_0__0__Impl_StartIndex); } 
    87339038 
    87349039                restoreStackSize(stackSize); 
     
    87419046 
    87429047    // $ANTLR start "rule__GlobalCombinator__Group_0__1" 
    8743     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2645:1: rule__GlobalCombinator__Group_0__1 : rule__GlobalCombinator__Group_0__1__Impl ; 
     9048    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2742:1: rule__GlobalCombinator__Group_0__1 : rule__GlobalCombinator__Group_0__1__Impl ; 
    87449049    public final void rule__GlobalCombinator__Group_0__1() throws RecognitionException { 
    87459050        int rule__GlobalCombinator__Group_0__1_StartIndex = input.index(); 
     
    87489053             
    87499054        try { 
    8750             if ( state.backtracking>0 && alreadyParsedRule(input, 158) ) { return ; } 
    8751             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2649:1: ( rule__GlobalCombinator__Group_0__1__Impl ) 
    8752             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2650:2: rule__GlobalCombinator__Group_0__1__Impl 
    8753             { 
    8754             pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__1__Impl_in_rule__GlobalCombinator__Group_0__15458); 
     9055            if ( state.backtracking>0 && alreadyParsedRule(input, 164) ) { return ; } 
     9056            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2746:1: ( rule__GlobalCombinator__Group_0__1__Impl ) 
     9057            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2747:2: rule__GlobalCombinator__Group_0__1__Impl 
     9058            { 
     9059            pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__1__Impl_in_rule__GlobalCombinator__Group_0__15658); 
    87559060            rule__GlobalCombinator__Group_0__1__Impl(); 
    87569061 
     
    87669071        } 
    87679072        finally { 
    8768             if ( state.backtracking>0 ) { memoize(input, 158, rule__GlobalCombinator__Group_0__1_StartIndex); } 
     9073            if ( state.backtracking>0 ) { memoize(input, 164, rule__GlobalCombinator__Group_0__1_StartIndex); } 
    87699074 
    87709075                restoreStackSize(stackSize); 
     
    87779082 
    87789083    // $ANTLR start "rule__GlobalCombinator__Group_0__1__Impl" 
    8779     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2656:1: rule__GlobalCombinator__Group_0__1__Impl : ( 'combinator:' ) ; 
     9084    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2753:1: rule__GlobalCombinator__Group_0__1__Impl : ( 'combinator:' ) ; 
    87809085    public final void rule__GlobalCombinator__Group_0__1__Impl() throws RecognitionException { 
    87819086        int rule__GlobalCombinator__Group_0__1__Impl_StartIndex = input.index(); 
     
    87849089             
    87859090        try { 
    8786             if ( state.backtracking>0 && alreadyParsedRule(input, 159) ) { return ; } 
    8787             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2660:1: ( ( 'combinator:' ) ) 
    8788             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2661:1: ( 'combinator:' ) 
    8789             { 
    8790             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2661:1: ( 'combinator:' ) 
    8791             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2662:1: 'combinator:' 
     9091            if ( state.backtracking>0 && alreadyParsedRule(input, 165) ) { return ; } 
     9092            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2757:1: ( ( 'combinator:' ) ) 
     9093            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2758:1: ( 'combinator:' ) 
     9094            { 
     9095            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2758:1: ( 'combinator:' ) 
     9096            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2759:1: 'combinator:' 
    87929097            { 
    87939098            if ( state.backtracking==0 ) { 
    87949099               before(grammarAccess.getGlobalCombinatorAccess().getCombinatorKeyword_0_1());  
    87959100            } 
    8796             match(input,31,FOLLOW_31_in_rule__GlobalCombinator__Group_0__1__Impl5486); if (state.failed) return ; 
     9101            match(input,31,FOLLOW_31_in_rule__GlobalCombinator__Group_0__1__Impl5686); if (state.failed) return ; 
    87979102            if ( state.backtracking==0 ) { 
    87989103               after(grammarAccess.getGlobalCombinatorAccess().getCombinatorKeyword_0_1());  
     
    88109115        } 
    88119116        finally { 
    8812             if ( state.backtracking>0 ) { memoize(input, 159, rule__GlobalCombinator__Group_0__1__Impl_StartIndex); } 
     9117            if ( state.backtracking>0 ) { memoize(input, 165, rule__GlobalCombinator__Group_0__1__Impl_StartIndex); } 
    88139118 
    88149119                restoreStackSize(stackSize); 
     
    88219126 
    88229127    // $ANTLR start "rule__RuleCombinator__Group__0" 
    8823     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2679:1: rule__RuleCombinator__Group__0 : rule__RuleCombinator__Group__0__Impl rule__RuleCombinator__Group__1 ; 
     9128    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2776:1: rule__RuleCombinator__Group__0 : rule__RuleCombinator__Group__0__Impl rule__RuleCombinator__Group__1 ; 
    88249129    public final void rule__RuleCombinator__Group__0() throws RecognitionException { 
    88259130        int rule__RuleCombinator__Group__0_StartIndex = input.index(); 
     
    88289133             
    88299134        try { 
    8830             if ( state.backtracking>0 && alreadyParsedRule(input, 160) ) { return ; } 
    8831             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2683:1: ( rule__RuleCombinator__Group__0__Impl rule__RuleCombinator__Group__1 ) 
    8832             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2684:2: rule__RuleCombinator__Group__0__Impl rule__RuleCombinator__Group__1 
    8833             { 
    8834             pushFollow(FOLLOW_rule__RuleCombinator__Group__0__Impl_in_rule__RuleCombinator__Group__05521); 
     9135            if ( state.backtracking>0 && alreadyParsedRule(input, 166) ) { return ; } 
     9136            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2780:1: ( rule__RuleCombinator__Group__0__Impl rule__RuleCombinator__Group__1 ) 
     9137            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2781:2: rule__RuleCombinator__Group__0__Impl rule__RuleCombinator__Group__1 
     9138            { 
     9139            pushFollow(FOLLOW_rule__RuleCombinator__Group__0__Impl_in_rule__RuleCombinator__Group__05721); 
    88359140            rule__RuleCombinator__Group__0__Impl(); 
    88369141 
    88379142            state._fsp--; 
    88389143            if (state.failed) return ; 
    8839             pushFollow(FOLLOW_rule__RuleCombinator__Group__1_in_rule__RuleCombinator__Group__05524); 
     9144            pushFollow(FOLLOW_rule__RuleCombinator__Group__1_in_rule__RuleCombinator__Group__05724); 
    88409145            rule__RuleCombinator__Group__1(); 
    88419146 
     
    88519156        } 
    88529157        finally { 
    8853             if ( state.backtracking>0 ) { memoize(input, 160, rule__RuleCombinator__Group__0_StartIndex); } 
     9158            if ( state.backtracking>0 ) { memoize(input, 166, rule__RuleCombinator__Group__0_StartIndex); } 
    88549159 
    88559160                restoreStackSize(stackSize); 
     
    88629167 
    88639168    // $ANTLR start "rule__RuleCombinator__Group__0__Impl" 
    8864     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2691:1: rule__RuleCombinator__Group__0__Impl : ( ( rule__RuleCombinator__Group_0__0 ) ) ; 
     9169    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2788:1: rule__RuleCombinator__Group__0__Impl : ( ( rule__RuleCombinator__Group_0__0 ) ) ; 
    88659170    public final void rule__RuleCombinator__Group__0__Impl() throws RecognitionException { 
    88669171        int rule__RuleCombinator__Group__0__Impl_StartIndex = input.index(); 
     
    88699174             
    88709175        try { 
    8871             if ( state.backtracking>0 && alreadyParsedRule(input, 161) ) { return ; } 
    8872             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2695:1: ( ( ( rule__RuleCombinator__Group_0__0 ) ) ) 
    8873             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2696:1: ( ( rule__RuleCombinator__Group_0__0 ) ) 
    8874             { 
    8875             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2696:1: ( ( rule__RuleCombinator__Group_0__0 ) ) 
    8876             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2697:1: ( rule__RuleCombinator__Group_0__0 ) 
     9176            if ( state.backtracking>0 && alreadyParsedRule(input, 167) ) { return ; } 
     9177            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2792:1: ( ( ( rule__RuleCombinator__Group_0__0 ) ) ) 
     9178            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2793:1: ( ( rule__RuleCombinator__Group_0__0 ) ) 
     9179            { 
     9180            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2793:1: ( ( rule__RuleCombinator__Group_0__0 ) ) 
     9181            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2794:1: ( rule__RuleCombinator__Group_0__0 ) 
    88779182            { 
    88789183            if ( state.backtracking==0 ) { 
    88799184               before(grammarAccess.getRuleCombinatorAccess().getGroup_0());  
    88809185            } 
    8881             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2698:1: ( rule__RuleCombinator__Group_0__0 ) 
    8882             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2698:2: rule__RuleCombinator__Group_0__0 
    8883             { 
    8884             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__0_in_rule__RuleCombinator__Group__0__Impl5551); 
     9186            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2795:1: ( rule__RuleCombinator__Group_0__0 ) 
     9187            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2795:2: rule__RuleCombinator__Group_0__0 
     9188            { 
     9189            pushFollow(FOLLOW_rule__RuleCombinator__Group_0__0_in_rule__RuleCombinator__Group__0__Impl5751); 
    88859190            rule__RuleCombinator__Group_0__0(); 
    88869191 
     
    89059210        } 
    89069211        finally { 
    8907             if ( state.backtracking>0 ) { memoize(input, 161, rule__RuleCombinator__Group__0__Impl_StartIndex); } 
     9212            if ( state.backtracking>0 ) { memoize(input, 167, rule__RuleCombinator__Group__0__Impl_StartIndex); } 
    89089213 
    89099214                restoreStackSize(stackSize); 
     
    89169221 
    89179222    // $ANTLR start "rule__RuleCombinator__Group__1" 
    8918     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2708:1: rule__RuleCombinator__Group__1 : rule__RuleCombinator__Group__1__Impl rule__RuleCombinator__Group__2 ; 
     9223    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2805:1: rule__RuleCombinator__Group__1 : rule__RuleCombinator__Group__1__Impl rule__RuleCombinator__Group__2 ; 
    89199224    public final void rule__RuleCombinator__Group__1() throws RecognitionException { 
    89209225        int rule__RuleCombinator__Group__1_StartIndex = input.index(); 
     
    89239228             
    89249229        try { 
    8925             if ( state.backtracking>0 && alreadyParsedRule(input, 162) ) { return ; } 
    8926             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2712:1: ( rule__RuleCombinator__Group__1__Impl rule__RuleCombinator__Group__2 ) 
    8927             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2713:2: rule__RuleCombinator__Group__1__Impl rule__RuleCombinator__Group__2 
    8928             { 
    8929             pushFollow(FOLLOW_rule__RuleCombinator__Group__1__Impl_in_rule__RuleCombinator__Group__15581); 
     9230            if ( state.backtracking>0 && alreadyParsedRule(input, 168) ) { return ; } 
     9231            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2809:1: ( rule__RuleCombinator__Group__1__Impl rule__RuleCombinator__Group__2 ) 
     9232            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2810:2: rule__RuleCombinator__Group__1__Impl rule__RuleCombinator__Group__2 
     9233            { 
     9234            pushFollow(FOLLOW_rule__RuleCombinator__Group__1__Impl_in_rule__RuleCombinator__Group__15781); 
    89309235            rule__RuleCombinator__Group__1__Impl(); 
    89319236 
    89329237            state._fsp--; 
    89339238            if (state.failed) return ; 
    8934             pushFollow(FOLLOW_rule__RuleCombinator__Group__2_in_rule__RuleCombinator__Group__15584); 
     9239            pushFollow(FOLLOW_rule__RuleCombinator__Group__2_in_rule__RuleCombinator__Group__15784); 
    89359240            rule__RuleCombinator__Group__2(); 
    89369241 
     
    89469251        } 
    89479252        finally { 
    8948             if ( state.backtracking>0 ) { memoize(input, 162, rule__RuleCombinator__Group__1_StartIndex); } 
     9253            if ( state.backtracking>0 ) { memoize(input, 168, rule__RuleCombinator__Group__1_StartIndex); } 
    89499254 
    89509255                restoreStackSize(stackSize); 
     
    89579262 
    89589263    // $ANTLR start "rule__RuleCombinator__Group__1__Impl" 
    8959     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2720:1: rule__RuleCombinator__Group__1__Impl : ( ( rule__RuleCombinator__LogicAssignment_1 ) ) ; 
     9264    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2817:1: rule__RuleCombinator__Group__1__Impl : ( ( rule__RuleCombinator__LogicAssignment_1 ) ) ; 
    89609265    public final void rule__RuleCombinator__Group__1__Impl() throws RecognitionException { 
    89619266        int rule__RuleCombinator__Group__1__Impl_StartIndex = input.index(); 
     
    89649269             
    89659270        try { 
    8966             if ( state.backtracking>0 && alreadyParsedRule(input, 163) ) { return ; } 
    8967             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2724:1: ( ( ( rule__RuleCombinator__LogicAssignment_1 ) ) ) 
    8968             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2725:1: ( ( rule__RuleCombinator__LogicAssignment_1 ) ) 
    8969             { 
    8970             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2725:1: ( ( rule__RuleCombinator__LogicAssignment_1 ) ) 
    8971             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2726:1: ( rule__RuleCombinator__LogicAssignment_1 ) 
     9271            if ( state.backtracking>0 && alreadyParsedRule(input, 169) ) { return ; } 
     9272            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2821:1: ( ( ( rule__RuleCombinator__LogicAssignment_1 ) ) ) 
     9273            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2822:1: ( ( rule__RuleCombinator__LogicAssignment_1 ) ) 
     9274            { 
     9275            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2822:1: ( ( rule__RuleCombinator__LogicAssignment_1 ) ) 
     9276            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2823:1: ( rule__RuleCombinator__LogicAssignment_1 ) 
    89729277            { 
    89739278            if ( state.backtracking==0 ) { 
    89749279               before(grammarAccess.getRuleCombinatorAccess().getLogicAssignment_1());  
    89759280            } 
    8976             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2727:1: ( rule__RuleCombinator__LogicAssignment_1 ) 
    8977             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2727:2: rule__RuleCombinator__LogicAssignment_1 
    8978             { 
    8979             pushFollow(FOLLOW_rule__RuleCombinator__LogicAssignment_1_in_rule__RuleCombinator__Group__1__Impl5611); 
     9281            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2824:1: ( rule__RuleCombinator__LogicAssignment_1 ) 
     9282            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2824:2: rule__RuleCombinator__LogicAssignment_1 
     9283            { 
     9284            pushFollow(FOLLOW_rule__RuleCombinator__LogicAssignment_1_in_rule__RuleCombinator__Group__1__Impl5811); 
    89809285            rule__RuleCombinator__LogicAssignment_1(); 
    89819286 
     
    90009305        } 
    90019306        finally { 
    9002             if ( state.backtracking>0 ) { memoize(input, 163, rule__RuleCombinator__Group__1__Impl_StartIndex); } 
     9307            if ( state.backtracking>0 ) { memoize(input, 169, rule__RuleCombinator__Group__1__Impl_StartIndex); } 
    90039308 
    90049309                restoreStackSize(stackSize); 
     
    90119316 
    90129317    // $ANTLR start "rule__RuleCombinator__Group__2" 
    9013     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2737:1: rule__RuleCombinator__Group__2 : rule__RuleCombinator__Group__2__Impl rule__RuleCombinator__Group__3 ; 
     9318    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2834:1: rule__RuleCombinator__Group__2 : rule__RuleCombinator__Group__2__Impl rule__RuleCombinator__Group__3 ; 
    90149319    public final void rule__RuleCombinator__Group__2() throws RecognitionException { 
    90159320        int rule__RuleCombinator__Group__2_StartIndex = input.index(); 
     
    90189323             
    90199324        try { 
    9020             if ( state.backtracking>0 && alreadyParsedRule(input, 164) ) { return ; } 
    9021             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2741:1: ( rule__RuleCombinator__Group__2__Impl rule__RuleCombinator__Group__3 ) 
    9022             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2742:2: rule__RuleCombinator__Group__2__Impl rule__RuleCombinator__Group__3 
    9023             { 
    9024             pushFollow(FOLLOW_rule__RuleCombinator__Group__2__Impl_in_rule__RuleCombinator__Group__25641); 
     9325            if ( state.backtracking>0 && alreadyParsedRule(input, 170) ) { return ; } 
     9326            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2838:1: ( rule__RuleCombinator__Group__2__Impl rule__RuleCombinator__Group__3 ) 
     9327            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2839:2: rule__RuleCombinator__Group__2__Impl rule__RuleCombinator__Group__3 
     9328            { 
     9329            pushFollow(FOLLOW_rule__RuleCombinator__Group__2__Impl_in_rule__RuleCombinator__Group__25841); 
    90259330            rule__RuleCombinator__Group__2__Impl(); 
    90269331 
    90279332            state._fsp--; 
    90289333            if (state.failed) return ; 
    9029             pushFollow(FOLLOW_rule__RuleCombinator__Group__3_in_rule__RuleCombinator__Group__25644); 
     9334            pushFollow(FOLLOW_rule__RuleCombinator__Group__3_in_rule__RuleCombinator__Group__25844); 
    90309335            rule__RuleCombinator__Group__3(); 
    90319336 
     
    90419346        } 
    90429347        finally { 
    9043             if ( state.backtracking>0 ) { memoize(input, 164, rule__RuleCombinator__Group__2_StartIndex); } 
     9348            if ( state.backtracking>0 ) { memoize(input, 170, rule__RuleCombinator__Group__2_StartIndex); } 
    90449349 
    90459350                restoreStackSize(stackSize); 
     
    90529357 
    90539358    // $ANTLR start "rule__RuleCombinator__Group__2__Impl" 
    9054     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2749:1: rule__RuleCombinator__Group__2__Impl : ( ( rule__RuleCombinator__Group_2__0 )* ) ; 
     9359    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2846:1: rule__RuleCombinator__Group__2__Impl : ( ( rule__RuleCombinator__Group_2__0 )* ) ; 
    90559360    public final void rule__RuleCombinator__Group__2__Impl() throws RecognitionException { 
    90569361        int rule__RuleCombinator__Group__2__Impl_StartIndex = input.index(); 
     
    90599364             
    90609365        try { 
    9061             if ( state.backtracking>0 && alreadyParsedRule(input, 165) ) { return ; } 
    9062             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2753:1: ( ( ( rule__RuleCombinator__Group_2__0 )* ) ) 
    9063             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2754:1: ( ( rule__RuleCombinator__Group_2__0 )* ) 
    9064             { 
    9065             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2754:1: ( ( rule__RuleCombinator__Group_2__0 )* ) 
    9066             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2755:1: ( rule__RuleCombinator__Group_2__0 )* 
     9366            if ( state.backtracking>0 && alreadyParsedRule(input, 171) ) { return ; } 
     9367            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2850:1: ( ( ( rule__RuleCombinator__Group_2__0 )* ) ) 
     9368            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2851:1: ( ( rule__RuleCombinator__Group_2__0 )* ) 
     9369            { 
     9370            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2851:1: ( ( rule__RuleCombinator__Group_2__0 )* ) 
     9371            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2852:1: ( rule__RuleCombinator__Group_2__0 )* 
    90679372            { 
    90689373            if ( state.backtracking==0 ) { 
    90699374               before(grammarAccess.getRuleCombinatorAccess().getGroup_2());  
    90709375            } 
    9071             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2756:1: ( rule__RuleCombinator__Group_2__0 )* 
     9376            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2853:1: ( rule__RuleCombinator__Group_2__0 )* 
    90729377            loop34: 
    90739378            do { 
     
    90829387                switch (alt34) { 
    90839388                case 1 : 
    9084                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2756:2: rule__RuleCombinator__Group_2__0 
     9389                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2853:2: rule__RuleCombinator__Group_2__0 
    90859390                    { 
    9086                     pushFollow(FOLLOW_rule__RuleCombinator__Group_2__0_in_rule__RuleCombinator__Group__2__Impl5671); 
     9391                    pushFollow(FOLLOW_rule__RuleCombinator__Group_2__0_in_rule__RuleCombinator__Group__2__Impl5871); 
    90879392                    rule__RuleCombinator__Group_2__0(); 
    90889393 
     
    91139418        } 
    91149419        finally { 
    9115             if ( state.backtracking>0 ) { memoize(input, 165, rule__RuleCombinator__Group__2__Impl_StartIndex); } 
     9420            if ( state.backtracking>0 ) { memoize(input, 171, rule__RuleCombinator__Group__2__Impl_StartIndex); } 
    91169421 
    91179422                restoreStackSize(stackSize); 
     
    91249429 
    91259430    // $ANTLR start "rule__RuleCombinator__Group__3" 
    9126     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2766:1: rule__RuleCombinator__Group__3 : rule__RuleCombinator__Group__3__Impl ; 
     9431    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2863:1: rule__RuleCombinator__Group__3 : rule__RuleCombinator__Group__3__Impl ; 
    91279432    public final void rule__RuleCombinator__Group__3() throws RecognitionException { 
    91289433        int rule__RuleCombinator__Group__3_StartIndex = input.index(); 
     
    91319436             
    91329437        try { 
    9133             if ( state.backtracking>0 && alreadyParsedRule(input, 166) ) { return ; } 
    9134             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2770:1: ( rule__RuleCombinator__Group__3__Impl ) 
    9135             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2771:2: rule__RuleCombinator__Group__3__Impl 
    9136             { 
    9137             pushFollow(FOLLOW_rule__RuleCombinator__Group__3__Impl_in_rule__RuleCombinator__Group__35702); 
     9438            if ( state.backtracking>0 && alreadyParsedRule(input, 172) ) { return ; } 
     9439            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2867:1: ( rule__RuleCombinator__Group__3__Impl ) 
     9440            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2868:2: rule__RuleCombinator__Group__3__Impl 
     9441            { 
     9442            pushFollow(FOLLOW_rule__RuleCombinator__Group__3__Impl_in_rule__RuleCombinator__Group__35902); 
    91389443            rule__RuleCombinator__Group__3__Impl(); 
    91399444 
     
    91499454        } 
    91509455        finally { 
    9151             if ( state.backtracking>0 ) { memoize(input, 166, rule__RuleCombinator__Group__3_StartIndex); } 
     9456            if ( state.backtracking>0 ) { memoize(input, 172, rule__RuleCombinator__Group__3_StartIndex); } 
    91529457 
    91539458                restoreStackSize(stackSize); 
     
    91609465 
    91619466    // $ANTLR start "rule__RuleCombinator__Group__3__Impl" 
    9162     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2777:1: rule__RuleCombinator__Group__3__Impl : ( ( ';' )? ) ; 
     9467    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2874:1: rule__RuleCombinator__Group__3__Impl : ( ( ';' )? ) ; 
    91639468    public final void rule__RuleCombinator__Group__3__Impl() throws RecognitionException { 
    91649469        int rule__RuleCombinator__Group__3__Impl_StartIndex = input.index(); 
     
    91679472             
    91689473        try { 
    9169             if ( state.backtracking>0 && alreadyParsedRule(input, 167) ) { return ; } 
    9170             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2781:1: ( ( ( ';' )? ) ) 
    9171             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2782:1: ( ( ';' )? ) 
    9172             { 
    9173             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2782:1: ( ( ';' )? ) 
    9174             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2783:1: ( ';' )? 
     9474            if ( state.backtracking>0 && alreadyParsedRule(input, 173) ) { return ; } 
     9475            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2878:1: ( ( ( ';' )? ) ) 
     9476            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2879:1: ( ( ';' )? ) 
     9477            { 
     9478            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2879:1: ( ( ';' )? ) 
     9479            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2880:1: ( ';' )? 
    91759480            { 
    91769481            if ( state.backtracking==0 ) { 
    91779482               before(grammarAccess.getRuleCombinatorAccess().getSemicolonKeyword_3());  
    91789483            } 
    9179             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2784:1: ( ';' )? 
     9484            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2881:1: ( ';' )? 
    91809485            int alt35=2; 
    91819486            int LA35_0 = input.LA(1); 
     
    91869491            switch (alt35) { 
    91879492                case 1 : 
    9188                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2785:2: ';' 
     9493                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2882:2: ';' 
    91899494                    { 
    9190                     match(input,23,FOLLOW_23_in_rule__RuleCombinator__Group__3__Impl5731); if (state.failed) return ; 
     9495                    match(input,23,FOLLOW_23_in_rule__RuleCombinator__Group__3__Impl5931); if (state.failed) return ; 
    91919496 
    91929497                    } 
     
    92109515        } 
    92119516        finally { 
    9212             if ( state.backtracking>0 ) { memoize(input, 167, rule__RuleCombinator__Group__3__Impl_StartIndex); } 
     9517            if ( state.backtracking>0 ) { memoize(input, 173, rule__RuleCombinator__Group__3__Impl_StartIndex); } 
    92139518 
    92149519                restoreStackSize(stackSize); 
     
    92219526 
    92229527    // $ANTLR start "rule__RuleCombinator__Group_0__0" 
    9223     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2804:1: rule__RuleCombinator__Group_0__0 : rule__RuleCombinator__Group_0__0__Impl rule__RuleCombinator__Group_0__1 ; 
     9528    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2901:1: rule__RuleCombinator__Group_0__0 : rule__RuleCombinator__Group_0__0__Impl rule__RuleCombinator__Group_0__1 ; 
    92249529    public final void rule__RuleCombinator__Group_0__0() throws RecognitionException { 
    92259530        int rule__RuleCombinator__Group_0__0_StartIndex = input.index(); 
     
    92289533             
    92299534        try { 
    9230             if ( state.backtracking>0 && alreadyParsedRule(input, 168) ) { return ; } 
    9231             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2808:1: ( rule__RuleCombinator__Group_0__0__Impl rule__RuleCombinator__Group_0__1 ) 
    9232             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2809:2: rule__RuleCombinator__Group_0__0__Impl rule__RuleCombinator__Group_0__1 
    9233             { 
    9234             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__0__Impl_in_rule__RuleCombinator__Group_0__05772); 
     9535            if ( state.backtracking>0 && alreadyParsedRule(input, 174) ) { return ; } 
     9536            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2905:1: ( rule__RuleCombinator__Group_0__0__Impl rule__RuleCombinator__Group_0__1 ) 
     9537            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2906:2: rule__RuleCombinator__Group_0__0__Impl rule__RuleCombinator__Group_0__1 
     9538            { 
     9539            pushFollow(FOLLOW_rule__RuleCombinator__Group_0__0__Impl_in_rule__RuleCombinator__Group_0__05972); 
    92359540            rule__RuleCombinator__Group_0__0__Impl(); 
    92369541 
    92379542            state._fsp--; 
    92389543            if (state.failed) return ; 
    9239             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__1_in_rule__RuleCombinator__Group_0__05775); 
     9544            pushFollow(FOLLOW_rule__RuleCombinator__Group_0__1_in_rule__RuleCombinator__Group_0__05975); 
    92409545            rule__RuleCombinator__Group_0__1(); 
    92419546 
     
    92519556        } 
    92529557        finally { 
    9253             if ( state.backtracking>0 ) { memoize(input, 168, rule__RuleCombinator__Group_0__0_StartIndex); } 
     9558            if ( state.backtracking>0 ) { memoize(input, 174, rule__RuleCombinator__Group_0__0_StartIndex); } 
    92549559 
    92559560                restoreStackSize(stackSize); 
     
    92629567 
    92639568    // $ANTLR start "rule__RuleCombinator__Group_0__0__Impl" 
    9264     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2816:1: rule__RuleCombinator__Group_0__0__Impl : ( 'rule' ) ; 
     9569    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2913:1: rule__RuleCombinator__Group_0__0__Impl : ( 'rule' ) ; 
    92659570    public final void rule__RuleCombinator__Group_0__0__Impl() throws RecognitionException { 
    92669571        int rule__RuleCombinator__Group_0__0__Impl_StartIndex = input.index(); 
     
    92699574             
    92709575        try { 
    9271             if ( state.backtracking>0 && alreadyParsedRule(input, 169) ) { return ; } 
    9272             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2820:1: ( ( 'rule' ) ) 
    9273             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2821:1: ( 'rule' ) 
    9274             { 
    9275             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2821:1: ( 'rule' ) 
    9276             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2822:1: 'rule' 
     9576            if ( state.backtracking>0 && alreadyParsedRule(input, 175) ) { return ; } 
     9577            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2917:1: ( ( 'rule' ) ) 
     9578            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2918:1: ( 'rule' ) 
     9579            { 
     9580            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2918:1: ( 'rule' ) 
     9581            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2919:1: 'rule' 
    92779582            { 
    92789583            if ( state.backtracking==0 ) { 
    92799584               before(grammarAccess.getRuleCombinatorAccess().getRuleKeyword_0_0());  
    92809585            } 
    9281             match(input,32,FOLLOW_32_in_rule__RuleCombinator__Group_0__0__Impl5803); if (state.failed) return ; 
     9586            match(input,32,FOLLOW_32_in_rule__RuleCombinator__Group_0__0__Impl6003); if (state.failed) return ; 
    92829587            if ( state.backtracking==0 ) { 
    92839588               after(grammarAccess.getRuleCombinatorAccess().getRuleKeyword_0_0());  
     
    92959600        } 
    92969601        finally { 
    9297             if ( state.backtracking>0 ) { memoize(input, 169, rule__RuleCombinator__Group_0__0__Impl_StartIndex); } 
     9602            if ( state.backtracking>0 ) { memoize(input, 175, rule__RuleCombinator__Group_0__0__Impl_StartIndex); } 
    92989603 
    92999604                restoreStackSize(stackSize); 
     
    93069611 
    93079612    // $ANTLR start "rule__RuleCombinator__Group_0__1" 
    9308     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2835:1: rule__RuleCombinator__Group_0__1 : rule__RuleCombinator__Group_0__1__Impl rule__RuleCombinator__Group_0__2 ; 
     9613    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2932:1: rule__RuleCombinator__Group_0__1 : rule__RuleCombinator__Group_0__1__Impl rule__RuleCombinator__Group_0__2 ; 
    93099614    public final void rule__RuleCombinator__Group_0__1() throws RecognitionException { 
    93109615        int rule__RuleCombinator__Group_0__1_StartIndex = input.index(); 
     
    93139618             
    93149619        try { 
    9315             if ( state.backtracking>0 && alreadyParsedRule(input, 170) ) { return ; } 
    9316             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2839:1: ( rule__RuleCombinator__Group_0__1__Impl rule__RuleCombinator__Group_0__2 ) 
    9317             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2840:2: rule__RuleCombinator__Group_0__1__Impl rule__RuleCombinator__Group_0__2 
    9318             { 
    9319             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__1__Impl_in_rule__RuleCombinator__Group_0__15834); 
     9620            if ( state.backtracking>0 && alreadyParsedRule(input, 176) ) { return ; } 
     9621            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2936:1: ( rule__RuleCombinator__Group_0__1__Impl rule__RuleCombinator__Group_0__2 ) 
     9622            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2937:2: rule__RuleCombinator__Group_0__1__Impl rule__RuleCombinator__Group_0__2 
     9623            { 
     9624            pushFollow(FOLLOW_rule__RuleCombinator__Group_0__1__Impl_in_rule__RuleCombinator__Group_0__16034); 
    93209625            rule__RuleCombinator__Group_0__1__Impl(); 
    93219626 
    93229627            state._fsp--; 
    93239628            if (state.failed) return ; 
    9324             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__2_in_rule__RuleCombinator__Group_0__15837); 
     9629            pushFollow(FOLLOW_rule__RuleCombinator__Group_0__2_in_rule__RuleCombinator__Group_0__16037); 
    93259630            rule__RuleCombinator__Group_0__2(); 
    93269631 
     
    93369641        } 
    93379642        finally { 
    9338             if ( state.backtracking>0 ) { memoize(input, 170, rule__RuleCombinator__Group_0__1_StartIndex); } 
     9643            if ( state.backtracking>0 ) { memoize(input, 176, rule__RuleCombinator__Group_0__1_StartIndex); } 
    93399644 
    93409645                restoreStackSize(stackSize); 
     
    93479652 
    93489653    // $ANTLR start "rule__RuleCombinator__Group_0__1__Impl" 
    9349     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2847:1: rule__RuleCombinator__Group_0__1__Impl : ( 'combinator:' ) ; 
     9654    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2944:1: rule__RuleCombinator__Group_0__1__Impl : ( 'combinator:' ) ; 
    93509655    public final void rule__RuleCombinator__Group_0__1__Impl() throws RecognitionException { 
    93519656        int rule__RuleCombinator__Group_0__1__Impl_StartIndex = input.index(); 
     
    93549659             
    93559660        try { 
    9356             if ( state.backtracking>0 && alreadyParsedRule(input, 171) ) { return ; } 
    9357             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2851:1: ( ( 'combinator:' ) ) 
    9358             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2852:1: ( 'combinator:' ) 
    9359             { 
    9360             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2852:1: ( 'combinator:' ) 
    9361             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2853:1: 'combinator:' 
     9661            if ( state.backtracking>0 && alreadyParsedRule(input, 177) ) { return ; } 
     9662            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2948:1: ( ( 'combinator:' ) ) 
     9663            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2949:1: ( 'combinator:' ) 
     9664            { 
     9665            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2949:1: ( 'combinator:' ) 
     9666            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2950:1: 'combinator:' 
    93629667            { 
    93639668            if ( state.backtracking==0 ) { 
    93649669               before(grammarAccess.getRuleCombinatorAccess().getCombinatorKeyword_0_1());  
    93659670            } 
    9366             match(input,31,FOLLOW_31_in_rule__RuleCombinator__Group_0__1__Impl5865); if (state.failed) return ; 
     9671            match(input,31,FOLLOW_31_in_rule__RuleCombinator__Group_0__1__Impl6065); if (state.failed) return ; 
    93679672            if ( state.backtracking==0 ) { 
    93689673               after(grammarAccess.getRuleCombinatorAccess().getCombinatorKeyword_0_1());  
     
    93809685        } 
    93819686        finally { 
    9382             if ( state.backtracking>0 ) { memoize(input, 171, rule__RuleCombinator__Group_0__1__Impl_StartIndex); } 
     9687            if ( state.backtracking>0 ) { memoize(input, 177, rule__RuleCombinator__Group_0__1__Impl_StartIndex); } 
    93839688 
    93849689                restoreStackSize(stackSize); 
     
    93919696 
    93929697    // $ANTLR start "rule__RuleCombinator__Group_0__2" 
    9393     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2866:1: rule__RuleCombinator__Group_0__2 : rule__RuleCombinator__Group_0__2__Impl ; 
     9698    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2963:1: rule__RuleCombinator__Group_0__2 : rule__RuleCombinator__Group_0__2__Impl ; 
    93949699    public final void rule__RuleCombinator__Group_0__2() throws RecognitionException { 
    93959700        int rule__RuleCombinator__Group_0__2_StartIndex = input.index(); 
     
    93989703             
    93999704        try { 
    9400             if ( state.backtracking>0 && alreadyParsedRule(input, 172) ) { return ; } 
    9401             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2870:1: ( rule__RuleCombinator__Group_0__2__Impl ) 
    9402             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2871:2: rule__RuleCombinator__Group_0__2__Impl 
    9403             { 
    9404             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__2__Impl_in_rule__RuleCombinator__Group_0__25896); 
     9705            if ( state.backtracking>0 && alreadyParsedRule(input, 178) ) { return ; } 
     9706            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2967:1: ( rule__RuleCombinator__Group_0__2__Impl ) 
     9707            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2968:2: rule__RuleCombinator__Group_0__2__Impl 
     9708            { 
     9709            pushFollow(FOLLOW_rule__RuleCombinator__Group_0__2__Impl_in_rule__RuleCombinator__Group_0__26096); 
    94059710            rule__RuleCombinator__Group_0__2__Impl(); 
    94069711 
     
    94169721        } 
    94179722        finally { 
    9418             if ( state.backtracking>0 ) { memoize(input, 172, rule__RuleCombinator__Group_0__2_StartIndex); } 
     9723            if ( state.backtracking>0 ) { memoize(input, 178, rule__RuleCombinator__Group_0__2_StartIndex); } 
    94199724 
    94209725                restoreStackSize(stackSize); 
     
    94279732 
    94289733    // $ANTLR start "rule__RuleCombinator__Group_0__2__Impl" 
    9429     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2877:1: rule__RuleCombinator__Group_0__2__Impl : ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) ; 
     9734    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2974:1: rule__RuleCombinator__Group_0__2__Impl : ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) ; 
    94309735    public final void rule__RuleCombinator__Group_0__2__Impl() throws RecognitionException { 
    94319736        int rule__RuleCombinator__Group_0__2__Impl_StartIndex = input.index(); 
     
    94349739             
    94359740        try { 
    9436             if ( state.backtracking>0 && alreadyParsedRule(input, 173) ) { return ; } 
    9437             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2881:1: ( ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) ) 
    9438             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2882:1: ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) 
    9439             { 
    9440             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2882:1: ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) 
    9441             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2883:1: ( rule__RuleCombinator__NameAssignment_0_2 ) 
     9741            if ( state.backtracking>0 && alreadyParsedRule(input, 179) ) { return ; } 
     9742            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2978:1: ( ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) ) 
     9743            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2979:1: ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) 
     9744            { 
     9745            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2979:1: ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) 
     9746            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2980:1: ( rule__RuleCombinator__NameAssignment_0_2 ) 
    94429747            { 
    94439748            if ( state.backtracking==0 ) { 
    94449749               before(grammarAccess.getRuleCombinatorAccess().getNameAssignment_0_2());  
    94459750            } 
    9446             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2884:1: ( rule__RuleCombinator__NameAssignment_0_2 ) 
    9447             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2884:2: rule__RuleCombinator__NameAssignment_0_2 
    9448             { 
    9449             pushFollow(FOLLOW_rule__RuleCombinator__NameAssignment_0_2_in_rule__RuleCombinator__Group_0__2__Impl5923); 
     9751            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2981:1: ( rule__RuleCombinator__NameAssignment_0_2 ) 
     9752            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2981:2: rule__RuleCombinator__NameAssignment_0_2 
     9753            { 
     9754            pushFollow(FOLLOW_rule__RuleCombinator__NameAssignment_0_2_in_rule__RuleCombinator__Group_0__2__Impl6123); 
    94509755            rule__RuleCombinator__NameAssignment_0_2(); 
    94519756 
     
    94709775        } 
    94719776        finally { 
    9472             if ( state.backtracking>0 ) { memoize(input, 173, rule__RuleCombinator__Group_0__2__Impl_StartIndex); } 
     9777            if ( state.backtracking>0 ) { memoize(input, 179, rule__RuleCombinator__Group_0__2__Impl_StartIndex); } 
    94739778 
    94749779                restoreStackSize(stackSize); 
     
    94819786 
    94829787    // $ANTLR start "rule__RuleCombinator__Group_2__0" 
    9483     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2900:1: rule__RuleCombinator__Group_2__0 : rule__RuleCombinator__Group_2__0__Impl rule__RuleCombinator__Group_2__1 ; 
     9788    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2997:1: rule__RuleCombinator__Group_2__0 : rule__RuleCombinator__Group_2__0__Impl rule__RuleCombinator__Group_2__1 ; 
    94849789    public final void rule__RuleCombinator__Group_2__0() throws RecognitionException { 
    94859790        int rule__RuleCombinator__Group_2__0_StartIndex = input.index(); 
     
    94889793             
    94899794        try { 
    9490             if ( state.backtracking>0 && alreadyParsedRule(input, 174) ) { return ; } 
    9491             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2904:1: ( rule__RuleCombinator__Group_2__0__Impl rule__RuleCombinator__Group_2__1 ) 
    9492             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2905:2: rule__RuleCombinator__Group_2__0__Impl rule__RuleCombinator__Group_2__1 
    9493             { 
    9494             pushFollow(FOLLOW_rule__RuleCombinator__Group_2__0__Impl_in_rule__RuleCombinator__Group_2__05959); 
     9795            if ( state.backtracking>0 && alreadyParsedRule(input, 180) ) { return ; } 
     9796            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3001:1: ( rule__RuleCombinator__Group_2__0__Impl rule__RuleCombinator__Group_2__1 ) 
     9797            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3002:2: rule__RuleCombinator__Group_2__0__Impl rule__RuleCombinator__Group_2__1 
     9798            { 
     9799            pushFollow(FOLLOW_rule__RuleCombinator__Group_2__0__Impl_in_rule__RuleCombinator__Group_2__06159); 
    94959800            rule__RuleCombinator__Group_2__0__Impl(); 
    94969801 
    94979802            state._fsp--; 
    94989803            if (state.failed) return ; 
    9499             pushFollow(FOLLOW_rule__RuleCombinator__Group_2__1_in_rule__RuleCombinator__Group_2__05962); 
     9804            pushFollow(FOLLOW_rule__RuleCombinator__Group_2__1_in_rule__RuleCombinator__Group_2__06162); 
    95009805            rule__RuleCombinator__Group_2__1(); 
    95019806 
     
    95119816        } 
    95129817        finally { 
    9513             if ( state.backtracking>0 ) { memoize(input, 174, rule__RuleCombinator__Group_2__0_StartIndex); } 
     9818            if ( state.backtracking>0 ) { memoize(input, 180, rule__RuleCombinator__Group_2__0_StartIndex); } 
    95149819 
    95159820                restoreStackSize(stackSize); 
     
    95229827 
    95239828    // $ANTLR start "rule__RuleCombinator__Group_2__0__Impl" 
    9524     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2912:1: rule__RuleCombinator__Group_2__0__Impl : ( '(' ) ; 
     9829    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3009:1: rule__RuleCombinator__Group_2__0__Impl : ( '(' ) ; 
    95259830    public final void rule__RuleCombinator__Group_2__0__Impl() throws RecognitionException { 
    95269831        int rule__RuleCombinator__Group_2__0__Impl_StartIndex = input.index(); 
     
    95299834             
    95309835        try { 
    9531             if ( state.backtracking>0 && alreadyParsedRule(input, 175) ) { return ; } 
    9532             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2916:1: ( ( '(' ) ) 
    9533             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2917:1: ( '(' ) 
    9534             { 
    9535             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2917:1: ( '(' ) 
    9536             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2918:1: '(' 
     9836            if ( state.backtracking>0 && alreadyParsedRule(input, 181) ) { return ; } 
     9837            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3013:1: ( ( '(' ) ) 
     9838            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3014:1: ( '(' ) 
     9839            { 
     9840            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3014:1: ( '(' ) 
     9841            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3015:1: '(' 
    95379842            { 
    95389843            if ( state.backtracking==0 ) { 
    95399844               before(grammarAccess.getRuleCombinatorAccess().getLeftParenthesisKeyword_2_0());  
    95409845            } 
    9541             match(input,17,FOLLOW_17_in_rule__RuleCombinator__Group_2__0__Impl5990); if (state.failed) return ; 
     9846            match(input,17,FOLLOW_17_in_rule__RuleCombinator__Group_2__0__Impl6190); if (state.failed) return ; 
    95429847            if ( state.backtracking==0 ) { 
    95439848               after(grammarAccess.getRuleCombinatorAccess().getLeftParenthesisKeyword_2_0());  
     
    95559860        } 
    95569861        finally { 
    9557             if ( state.backtracking>0 ) { memoize(input, 175, rule__RuleCombinator__Group_2__0__Impl_StartIndex); } 
     9862            if ( state.backtracking>0 ) { memoize(input, 181, rule__RuleCombinator__Group_2__0__Impl_StartIndex); } 
    95589863 
    95599864                restoreStackSize(stackSize); 
     
    95669871 
    95679872    // $ANTLR start "rule__RuleCombinator__Group_2__1" 
    9568     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2931:1: rule__RuleCombinator__Group_2__1 : rule__RuleCombinator__Group_2__1__Impl rule__RuleCombinator__Group_2__2 ; 
     9873    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3028:1: rule__RuleCombinator__Group_2__1 : rule__RuleCombinator__Group_2__1__Impl rule__RuleCombinator__Group_2__2 ; 
    95699874    public final void rule__RuleCombinator__Group_2__1() throws RecognitionException { 
    95709875        int rule__RuleCombinator__Group_2__1_StartIndex = input.index(); 
     
    95739878             
    95749879        try { 
    9575             if ( state.backtracking>0 && alreadyParsedRule(input, 176) ) { return ; } 
    9576             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2935:1: ( rule__RuleCombinator__Group_2__1__Impl rule__RuleCombinator__Group_2__2 ) 
    9577             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2936:2: rule__RuleCombinator__Group_2__1__Impl rule__RuleCombinator__Group_2__2 
    9578             { 
    9579             pushFollow(FOLLOW_rule__RuleCombinator__Group_2__1__Impl_in_rule__RuleCombinator__Group_2__16021); 
     9880            if ( state.backtracking>0 && alreadyParsedRule(input, 182) ) { return ; } 
     9881            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3032:1: ( rule__RuleCombinator__Group_2__1__Impl rule__RuleCombinator__Group_2__2 ) 
     9882            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3033:2: rule__RuleCombinator__Group_2__1__Impl rule__RuleCombinator__Group_2__2 
     9883            { 
     9884            pushFollow(FOLLOW_rule__RuleCombinator__Group_2__1__Impl_in_rule__RuleCombinator__Group_2__16221); 
    95809885            rule__RuleCombinator__Group_2__1__Impl(); 
    95819886 
    95829887            state._fsp--; 
    95839888            if (state.failed) return ; 
    9584             pushFollow(FOLLOW_rule__RuleCombinator__Group_2__2_in_rule__RuleCombinator__Group_2__16024); 
     9889            pushFollow(FOLLOW_rule__RuleCombinator__Group_2__2_in_rule__RuleCombinator__Group_2__16224); 
    95859890            rule__RuleCombinator__Group_2__2(); 
    95869891 
     
    95969901        } 
    95979902        finally { 
    9598             if ( state.backtracking>0 ) { memoize(input, 176, rule__RuleCombinator__Group_2__1_StartIndex); } 
     9903            if ( state.backtracking>0 ) { memoize(input, 182, rule__RuleCombinator__Group_2__1_StartIndex); } 
    95999904 
    96009905                restoreStackSize(stackSize); 
     
    96079912 
    96089913    // $ANTLR start "rule__RuleCombinator__Group_2__1__Impl" 
    9609     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2943:1: rule__RuleCombinator__Group_2__1__Impl : ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) ; 
     9914    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3040:1: rule__RuleCombinator__Group_2__1__Impl : ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) ; 
    96109915    public final void rule__RuleCombinator__Group_2__1__Impl() throws RecognitionException { 
    96119916        int rule__RuleCombinator__Group_2__1__Impl_StartIndex = input.index(); 
     
    96149919             
    96159920        try { 
    9616             if ( state.backtracking>0 && alreadyParsedRule(input, 177) ) { return ; } 
    9617             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2947:1: ( ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) ) 
    9618             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2948:1: ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) 
    9619             { 
    9620             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2948:1: ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) 
    9621             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2949:1: ( rule__RuleCombinator__LABELAssignment_2_1 ) 
     9921            if ( state.backtracking>0 && alreadyParsedRule(input, 183) ) { return ; } 
     9922            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3044:1: ( ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) ) 
     9923            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3045:1: ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) 
     9924            { 
     9925            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3045:1: ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) 
     9926            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3046:1: ( rule__RuleCombinator__LABELAssignment_2_1 ) 
    96229927            { 
    96239928            if ( state.backtracking==0 ) { 
    96249929               before(grammarAccess.getRuleCombinatorAccess().getLABELAssignment_2_1());  
    96259930            } 
    9626             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2950:1: ( rule__RuleCombinator__LABELAssignment_2_1 ) 
    9627             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2950:2: rule__RuleCombinator__LABELAssignment_2_1 
    9628             { 
    9629             pushFollow(FOLLOW_rule__RuleCombinator__LABELAssignment_2_1_in_rule__RuleCombinator__Group_2__1__Impl6051); 
     9931            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3047:1: ( rule__RuleCombinator__LABELAssignment_2_1 ) 
     9932            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3047:2: rule__RuleCombinator__LABELAssignment_2_1 
     9933            { 
     9934            pushFollow(FOLLOW_rule__RuleCombinator__LABELAssignment_2_1_in_rule__RuleCombinator__Group_2__1__Impl6251); 
    96309935            rule__RuleCombinator__LABELAssignment_2_1(); 
    96319936 
     
    96509955        } 
    96519956        finally { 
    9652             if ( state.backtracking>0 ) { memoize(input, 177, rule__RuleCombinator__Group_2__1__Impl_StartIndex); } 
     9957            if ( state.backtracking>0 ) { memoize(input, 183, rule__RuleCombinator__Group_2__1__Impl_StartIndex); } 
    96539958 
    96549959                restoreStackSize(stackSize); 
     
    96619966 
    96629967    // $ANTLR start "rule__RuleCombinator__Group_2__2" 
    9663     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2960:1: rule__RuleCombinator__Group_2__2 : rule__RuleCombinator__Group_2__2__Impl ; 
     9968    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3057:1: rule__RuleCombinator__Group_2__2 : rule__RuleCombinator__Group_2__2__Impl ; 
    96649969    public final void rule__RuleCombinator__Group_2__2() throws RecognitionException { 
    96659970        int rule__RuleCombinator__Group_2__2_StartIndex = input.index(); 
     
    96689973             
    96699974        try { 
    9670             if ( state.backtracking>0 && alreadyParsedRule(input, 178) ) { return ; } 
    9671             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2964:1: ( rule__RuleCombinator__Group_2__2__Impl ) 
    9672             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2965:2: rule__RuleCombinator__Group_2__2__Impl 
    9673             { 
    9674             pushFollow(FOLLOW_rule__RuleCombinator__Group_2__2__Impl_in_rule__RuleCombinator__Group_2__26081); 
     9975            if ( state.backtracking>0 && alreadyParsedRule(input, 184) ) { return ; } 
     9976            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3061:1: ( rule__RuleCombinator__Group_2__2__Impl ) 
     9977            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3062:2: rule__RuleCombinator__Group_2__2__Impl 
     9978            { 
     9979            pushFollow(FOLLOW_rule__RuleCombinator__Group_2__2__Impl_in_rule__RuleCombinator__Group_2__26281); 
    96759980            rule__RuleCombinator__Group_2__2__Impl(); 
    96769981 
     
    96869991        } 
    96879992        finally { 
    9688             if ( state.backtracking>0 ) { memoize(input, 178, rule__RuleCombinator__Group_2__2_StartIndex); } 
     9993            if ( state.backtracking>0 ) { memoize(input, 184, rule__RuleCombinator__Group_2__2_StartIndex); } 
    96899994 
    96909995                restoreStackSize(stackSize); 
     
    969710002 
    969810003    // $ANTLR start "rule__RuleCombinator__Group_2__2__Impl" 
    9699     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2971:1: rule__RuleCombinator__Group_2__2__Impl : ( ')' ) ; 
     10004    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3068:1: rule__RuleCombinator__Group_2__2__Impl : ( ')' ) ; 
    970010005    public final void rule__RuleCombinator__Group_2__2__Impl() throws RecognitionException { 
    970110006        int rule__RuleCombinator__Group_2__2__Impl_StartIndex = input.index(); 
     
    970410009             
    970510010        try { 
    9706             if ( state.backtracking>0 && alreadyParsedRule(input, 179) ) { return ; } 
    9707             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2975:1: ( ( ')' ) ) 
    9708             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2976:1: ( ')' ) 
    9709             { 
    9710             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2976:1: ( ')' ) 
    9711             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2977:1: ')' 
     10011            if ( state.backtracking>0 && alreadyParsedRule(input, 185) ) { return ; } 
     10012            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3072:1: ( ( ')' ) ) 
     10013            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3073:1: ( ')' ) 
     10014            { 
     10015            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3073:1: ( ')' ) 
     10016            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3074:1: ')' 
    971210017            { 
    971310018            if ( state.backtracking==0 ) { 
    971410019               before(grammarAccess.getRuleCombinatorAccess().getRightParenthesisKeyword_2_2());  
    971510020            } 
    9716             match(input,13,FOLLOW_13_in_rule__RuleCombinator__Group_2__2__Impl6109); if (state.failed) return ; 
     10021            match(input,13,FOLLOW_13_in_rule__RuleCombinator__Group_2__2__Impl6309); if (state.failed) return ; 
    971710022            if ( state.backtracking==0 ) { 
    971810023               after(grammarAccess.getRuleCombinatorAccess().getRightParenthesisKeyword_2_2());  
     
    973010035        } 
    973110036        finally { 
    9732             if ( state.backtracking>0 ) { memoize(input, 179, rule__RuleCombinator__Group_2__2__Impl_StartIndex); } 
     10037            if ( state.backtracking>0 ) { memoize(input, 185, rule__RuleCombinator__Group_2__2__Impl_StartIndex); } 
    973310038 
    973410039                restoreStackSize(stackSize); 
     
    974110046 
    974210047    // $ANTLR start "rule__HookCombinator__Group__0" 
    9743     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2996:1: rule__HookCombinator__Group__0 : rule__HookCombinator__Group__0__Impl rule__HookCombinator__Group__1 ; 
     10048    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3093:1: rule__HookCombinator__Group__0 : rule__HookCombinator__Group__0__Impl rule__HookCombinator__Group__1 ; 
    974410049    public final void rule__HookCombinator__Group__0() throws RecognitionException { 
    974510050        int rule__HookCombinator__Group__0_StartIndex = input.index(); 
     
    974810053             
    974910054        try { 
    9750             if ( state.backtracking>0 && alreadyParsedRule(input, 180) ) { return ; } 
    9751             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3000:1: ( rule__HookCombinator__Group__0__Impl rule__HookCombinator__Group__1 ) 
    9752             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3001:2: rule__HookCombinator__Group__0__Impl rule__HookCombinator__Group__1 
    9753             { 
    9754             pushFollow(FOLLOW_rule__HookCombinator__Group__0__Impl_in_rule__HookCombinator__Group__06146); 
     10055            if ( state.backtracking>0 && alreadyParsedRule(input, 186) ) { return ; } 
     10056            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3097:1: ( rule__HookCombinator__Group__0__Impl rule__HookCombinator__Group__1 ) 
     10057            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3098:2: rule__HookCombinator__Group__0__Impl rule__HookCombinator__Group__1 
     10058            { 
     10059            pushFollow(FOLLOW_rule__HookCombinator__Group__0__Impl_in_rule__HookCombinator__Group__06346); 
    975510060            rule__HookCombinator__Group__0__Impl(); 
    975610061 
    975710062            state._fsp--; 
    975810063            if (state.failed) return ; 
    9759             pushFollow(FOLLOW_rule__HookCombinator__Group__1_in_rule__HookCombinator__Group__06149); 
     10064            pushFollow(FOLLOW_rule__HookCombinator__Group__1_in_rule__HookCombinator__Group__06349); 
    976010065            rule__HookCombinator__Group__1(); 
    976110066 
     
    977110076        } 
    977210077        finally { 
    9773             if ( state.backtracking>0 ) { memoize(input, 180, rule__HookCombinator__Group__0_StartIndex); } 
     10078            if ( state.backtracking>0 ) { memoize(input, 186, rule__HookCombinator__Group__0_StartIndex); } 
    977410079 
    977510080                restoreStackSize(stackSize); 
     
    978210087 
    978310088    // $ANTLR start "rule__HookCombinator__Group__0__Impl" 
    9784     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3008:1: rule__HookCombinator__Group__0__Impl : ( 'hook' ) ; 
     10089    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3105:1: rule__HookCombinator__Group__0__Impl : ( 'hook' ) ; 
    978510090    public final void rule__HookCombinator__Group__0__Impl() throws RecognitionException { 
    978610091        int rule__HookCombinator__Group__0__Impl_StartIndex = input.index(); 
     
    978910094             
    979010095        try { 
    9791             if ( state.backtracking>0 && alreadyParsedRule(input, 181) ) { return ; } 
    9792             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3012:1: ( ( 'hook' ) ) 
    9793             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3013:1: ( 'hook' ) 
    9794             { 
    9795             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3013:1: ( 'hook' ) 
    9796             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3014:1: 'hook' 
     10096            if ( state.backtracking>0 && alreadyParsedRule(input, 187) ) { return ; } 
     10097            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3109:1: ( ( 'hook' ) ) 
     10098            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3110:1: ( 'hook' ) 
     10099            { 
     10100            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3110:1: ( 'hook' ) 
     10101            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3111:1: 'hook' 
    979710102            { 
    979810103            if ( state.backtracking==0 ) { 
    979910104               before(grammarAccess.getHookCombinatorAccess().getHookKeyword_0());  
    980010105            } 
    9801             match(input,33,FOLLOW_33_in_rule__HookCombinator__Group__0__Impl6177); if (state.failed) return ; 
     10106            match(input,33,FOLLOW_33_in_rule__HookCombinator__Group__0__Impl6377); if (state.failed) return ; 
    980210107            if ( state.backtracking==0 ) { 
    980310108               after(grammarAccess.getHookCombinatorAccess().getHookKeyword_0());  
     
    981510120        } 
    981610121        finally { 
    9817             if ( state.backtracking>0 ) { memoize(input, 181, rule__HookCombinator__Group__0__Impl_StartIndex); } 
     10122            if ( state.backtracking>0 ) { memoize(input, 187, rule__HookCombinator__Group__0__Impl_StartIndex); } 
    981810123 
    981910124                restoreStackSize(stackSize); 
     
    982610131 
    982710132    // $ANTLR start "rule__HookCombinator__Group__1" 
    9828     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3027:1: rule__HookCombinator__Group__1 : rule__HookCombinator__Group__1__Impl rule__HookCombinator__Group__2 ; 
     10133    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3124:1: rule__HookCombinator__Group__1 : rule__HookCombinator__Group__1__Impl rule__HookCombinator__Group__2 ; 
    982910134    public final void rule__HookCombinator__Group__1() throws RecognitionException { 
    983010135        int rule__HookCombinator__Group__1_StartIndex = input.index(); 
     
    983310138             
    983410139        try { 
    9835             if ( state.backtracking>0 && alreadyParsedRule(input, 182) ) { return ; } 
    9836             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3031:1: ( rule__HookCombinator__Group__1__Impl rule__HookCombinator__Group__2 ) 
    9837             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3032:2: rule__HookCombinator__Group__1__Impl rule__HookCombinator__Group__2 
    9838             { 
    9839             pushFollow(FOLLOW_rule__HookCombinator__Group__1__Impl_in_rule__HookCombinator__Group__16208); 
     10140            if ( state.backtracking>0 && alreadyParsedRule(input, 188) ) { return ; } 
     10141            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3128:1: ( rule__HookCombinator__Group__1__Impl rule__HookCombinator__Group__2 ) 
     10142            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3129:2: rule__HookCombinator__Group__1__Impl rule__HookCombinator__Group__2 
     10143            { 
     10144            pushFollow(FOLLOW_rule__HookCombinator__Group__1__Impl_in_rule__HookCombinator__Group__16408); 
    984010145            rule__HookCombinator__Group__1__Impl(); 
    984110146 
    984210147            state._fsp--; 
    984310148            if (state.failed) return ; 
    9844             pushFollow(FOLLOW_rule__HookCombinator__Group__2_in_rule__HookCombinator__Group__16211); 
     10149            pushFollow(FOLLOW_rule__HookCombinator__Group__2_in_rule__HookCombinator__Group__16411); 
    984510150            rule__HookCombinator__Group__2(); 
    984610151 
     
    985610161        } 
    985710162        finally { 
    9858             if ( state.backtracking>0 ) { memoize(input, 182, rule__HookCombinator__Group__1_StartIndex); } 
     10163            if ( state.backtracking>0 ) { memoize(input, 188, rule__HookCombinator__Group__1_StartIndex); } 
    985910164 
    986010165                restoreStackSize(stackSize); 
     
    986710172 
    986810173    // $ANTLR start "rule__HookCombinator__Group__1__Impl" 
    9869     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3039:1: rule__HookCombinator__Group__1__Impl : ( 'combinator:' ) ; 
     10174    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3136:1: rule__HookCombinator__Group__1__Impl : ( 'combinator:' ) ; 
    987010175    public final void rule__HookCombinator__Group__1__Impl() throws RecognitionException { 
    987110176        int rule__HookCombinator__Group__1__Impl_StartIndex = input.index(); 
     
    987410179             
    987510180        try { 
    9876             if ( state.backtracking>0 && alreadyParsedRule(input, 183) ) { return ; } 
    9877             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3043:1: ( ( 'combinator:' ) ) 
    9878             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3044:1: ( 'combinator:' ) 
    9879             { 
    9880             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3044:1: ( 'combinator:' ) 
    9881             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3045:1: 'combinator:' 
     10181            if ( state.backtracking>0 && alreadyParsedRule(input, 189) ) { return ; } 
     10182            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3140:1: ( ( 'combinator:' ) ) 
     10183            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3141:1: ( 'combinator:' ) 
     10184            { 
     10185            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3141:1: ( 'combinator:' ) 
     10186            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3142:1: 'combinator:' 
    988210187            { 
    988310188            if ( state.backtracking==0 ) { 
    988410189               before(grammarAccess.getHookCombinatorAccess().getCombinatorKeyword_1());  
    988510190            } 
    9886             match(input,31,FOLLOW_31_in_rule__HookCombinator__Group__1__Impl6239); if (state.failed) return ; 
     10191            match(input,31,FOLLOW_31_in_rule__HookCombinator__Group__1__Impl6439); if (state.failed) return ; 
    988710192            if ( state.backtracking==0 ) { 
    988810193               after(grammarAccess.getHookCombinatorAccess().getCombinatorKeyword_1());  
     
    990010205        } 
    990110206        finally { 
    9902             if ( state.backtracking>0 ) { memoize(input, 183, rule__HookCombinator__Group__1__Impl_StartIndex); } 
     10207            if ( state.backtracking>0 ) { memoize(input, 189, rule__HookCombinator__Group__1__Impl_StartIndex); } 
    990310208 
    990410209                restoreStackSize(stackSize); 
     
    991110216 
    991210217    // $ANTLR start "rule__HookCombinator__Group__2" 
    9913     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3058:1: rule__HookCombinator__Group__2 : rule__HookCombinator__Group__2__Impl rule__HookCombinator__Group__3 ; 
     10218    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3155:1: rule__HookCombinator__Group__2 : rule__HookCombinator__Group__2__Impl rule__HookCombinator__Group__3 ; 
    991410219    public final void rule__HookCombinator__Group__2() throws RecognitionException { 
    991510220        int rule__HookCombinator__Group__2_StartIndex = input.index(); 
     
    991810223             
    991910224        try { 
    9920             if ( state.backtracking>0 && alreadyParsedRule(input, 184) ) { return ; } 
    9921             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3062:1: ( rule__HookCombinator__Group__2__Impl rule__HookCombinator__Group__3 ) 
    9922             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3063:2: rule__HookCombinator__Group__2__Impl rule__HookCombinator__Group__3 
    9923             { 
    9924             pushFollow(FOLLOW_rule__HookCombinator__Group__2__Impl_in_rule__HookCombinator__Group__26270); 
     10225            if ( state.backtracking>0 && alreadyParsedRule(input, 190) ) { return ; } 
     10226            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3159:1: ( rule__HookCombinator__Group__2__Impl rule__HookCombinator__Group__3 ) 
     10227            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3160:2: rule__HookCombinator__Group__2__Impl rule__HookCombinator__Group__3 
     10228            { 
     10229            pushFollow(FOLLOW_rule__HookCombinator__Group__2__Impl_in_rule__HookCombinator__Group__26470); 
    992510230            rule__HookCombinator__Group__2__Impl(); 
    992610231 
    992710232            state._fsp--; 
    992810233            if (state.failed) return ; 
    9929             pushFollow(FOLLOW_rule__HookCombinator__Group__3_in_rule__HookCombinator__Group__26273); 
     10234            pushFollow(FOLLOW_rule__HookCombinator__Group__3_in_rule__HookCombinator__Group__26473); 
    993010235            rule__HookCombinator__Group__3(); 
    993110236 
     
    994110246        } 
    994210247        finally { 
    9943             if ( state.backtracking>0 ) { memoize(input, 184, rule__HookCombinator__Group__2_StartIndex); } 
     10248            if ( state.backtracking>0 ) { memoize(input, 190, rule__HookCombinator__Group__2_StartIndex); } 
    994410249 
    994510250                restoreStackSize(stackSize); 
     
    995210257 
    995310258    // $ANTLR start "rule__HookCombinator__Group__2__Impl" 
    9954     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3070:1: rule__HookCombinator__Group__2__Impl : ( ( rule__HookCombinator__NameAssignment_2 ) ) ; 
     10259    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3167:1: rule__HookCombinator__Group__2__Impl : ( ( rule__HookCombinator__NameAssignment_2 ) ) ; 
    995510260    public final void rule__HookCombinator__Group__2__Impl() throws RecognitionException { 
    995610261        int rule__HookCombinator__Group__2__Impl_StartIndex = input.index(); 
     
    995910264             
    996010265        try { 
    9961             if ( state.backtracking>0 && alreadyParsedRule(input, 185) ) { return ; } 
    9962             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3074:1: ( ( ( rule__HookCombinator__NameAssignment_2 ) ) ) 
    9963             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3075:1: ( ( rule__HookCombinator__NameAssignment_2 ) ) 
    9964             { 
    9965             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3075:1: ( ( rule__HookCombinator__NameAssignment_2 ) ) 
    9966             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3076:1: ( rule__HookCombinator__NameAssignment_2 ) 
     10266            if ( state.backtracking>0 && alreadyParsedRule(input, 191) ) { return ; } 
     10267            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3171:1: ( ( ( rule__HookCombinator__NameAssignment_2 ) ) ) 
     10268            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3172:1: ( ( rule__HookCombinator__NameAssignment_2 ) ) 
     10269            { 
     10270            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3172:1: ( ( rule__HookCombinator__NameAssignment_2 ) ) 
     10271            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3173:1: ( rule__HookCombinator__NameAssignment_2 ) 
    996710272            { 
    996810273            if ( state.backtracking==0 ) { 
    996910274               before(grammarAccess.getHookCombinatorAccess().getNameAssignment_2());  
    997010275            } 
    9971             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3077:1: ( rule__HookCombinator__NameAssignment_2 ) 
    9972             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3077:2: rule__HookCombinator__NameAssignment_2 
    9973             { 
    9974             pushFollow(FOLLOW_rule__HookCombinator__NameAssignment_2_in_rule__HookCombinator__Group__2__Impl6300); 
     10276            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3174:1: ( rule__HookCombinator__NameAssignment_2 ) 
     10277            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3174:2: rule__HookCombinator__NameAssignment_2 
     10278            { 
     10279            pushFollow(FOLLOW_rule__HookCombinator__NameAssignment_2_in_rule__HookCombinator__Group__2__Impl6500); 
    997510280            rule__HookCombinator__NameAssignment_2(); 
    997610281 
     
    999510300        } 
    999610301        finally { 
    9997             if ( state.backtracking>0 ) { memoize(input, 185, rule__HookCombinator__Group__2__Impl_StartIndex); } 
     10302            if ( state.backtracking>0 ) { memoize(input, 191, rule__HookCombinator__Group__2__Impl_StartIndex); } 
    999810303 
    999910304                restoreStackSize(stackSize); 
     
    1000610311 
    1000710312    // $ANTLR start "rule__HookCombinator__Group__3" 
    10008     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3087:1: rule__HookCombinator__Group__3 : rule__HookCombinator__Group__3__Impl rule__HookCombinator__Group__4 ; 
     10313    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3184:1: rule__HookCombinator__Group__3 : rule__HookCombinator__Group__3__Impl rule__HookCombinator__Group__4 ; 
    1000910314    public final void rule__HookCombinator__Group__3() throws RecognitionException { 
    1001010315        int rule__HookCombinator__Group__3_StartIndex = input.index(); 
     
    1001310318             
    1001410319        try { 
    10015             if ( state.backtracking>0 && alreadyParsedRule(input, 186) ) { return ; } 
    10016             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3091:1: ( rule__HookCombinator__Group__3__Impl rule__HookCombinator__Group__4 ) 
    10017             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3092:2: rule__HookCombinator__Group__3__Impl rule__HookCombinator__Group__4 
    10018             { 
    10019             pushFollow(FOLLOW_rule__HookCombinator__Group__3__Impl_in_rule__HookCombinator__Group__36330); 
     10320            if ( state.backtracking>0 && alreadyParsedRule(input, 192) ) { return ; } 
     10321            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3188:1: ( rule__HookCombinator__Group__3__Impl rule__HookCombinator__Group__4 ) 
     10322            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3189:2: rule__HookCombinator__Group__3__Impl rule__HookCombinator__Group__4 
     10323            { 
     10324            pushFollow(FOLLOW_rule__HookCombinator__Group__3__Impl_in_rule__HookCombinator__Group__36530); 
    1002010325            rule__HookCombinator__Group__3__Impl(); 
    1002110326 
    1002210327            state._fsp--; 
    1002310328            if (state.failed) return ; 
    10024             pushFollow(FOLLOW_rule__HookCombinator__Group__4_in_rule__HookCombinator__Group__36333); 
     10329            pushFollow(FOLLOW_rule__HookCombinator__Group__4_in_rule__HookCombinator__Group__36533); 
    1002510330            rule__HookCombinator__Group__4(); 
    1002610331 
     
    1003610341        } 
    1003710342        finally { 
    10038             if ( state.backtracking>0 ) { memoize(input, 186, rule__HookCombinator__Group__3_StartIndex); } 
     10343            if ( state.backtracking>0 ) { memoize(input, 192, rule__HookCombinator__Group__3_StartIndex); } 
    1003910344 
    1004010345                restoreStackSize(stackSize); 
     
    1004710352 
    1004810353    // $ANTLR start "rule__HookCombinator__Group__3__Impl" 
    10049     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3099:1: rule__HookCombinator__Group__3__Impl : ( '(' ) ; 
     10354    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3196:1: rule__HookCombinator__Group__3__Impl : ( '(' ) ; 
    1005010355    public final void rule__HookCombinator__Group__3__Impl() throws RecognitionException { 
    1005110356        int rule__HookCombinator__Group__3__Impl_StartIndex = input.index(); 
     
    1005410359             
    1005510360        try { 
    10056             if ( state.backtracking>0 && alreadyParsedRule(input, 187) ) { return ; } 
    10057             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3103:1: ( ( '(' ) ) 
    10058             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3104:1: ( '(' ) 
    10059             { 
    10060             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3104:1: ( '(' ) 
    10061             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3105:1: '(' 
     10361            if ( state.backtracking>0 && alreadyParsedRule(input, 193) ) { return ; } 
     10362            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3200:1: ( ( '(' ) ) 
     10363            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3201:1: ( '(' ) 
     10364            { 
     10365            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3201:1: ( '(' ) 
     10366            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3202:1: '(' 
    1006210367            { 
    1006310368            if ( state.backtracking==0 ) { 
    1006410369               before(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_3());  
    1006510370            } 
    10066             match(input,17,FOLLOW_17_in_rule__HookCombinator__Group__3__Impl6361); if (state.failed) return ; 
     10371            match(input,17,FOLLOW_17_in_rule__HookCombinator__Group__3__Impl6561); if (state.failed) return ; 
    1006710372            if ( state.backtracking==0 ) { 
    1006810373               after(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_3());  
     
    1008010385        } 
    1008110386        finally { 
    10082             if ( state.backtracking>0 ) { memoize(input, 187, rule__HookCombinator__Group__3__Impl_StartIndex); } 
     10387            if ( state.backtracking>0 ) { memoize(input, 193, rule__HookCombinator__Group__3__Impl_StartIndex); } 
    1008310388 
    1008410389                restoreStackSize(stackSize); 
     
    1009110396 
    1009210397    // $ANTLR start "rule__HookCombinator__Group__4" 
    10093     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3118:1: rule__HookCombinator__Group__4 : rule__HookCombinator__Group__4__Impl rule__HookCombinator__Group__5 ; 
     10398    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3215:1: rule__HookCombinator__Group__4 : rule__HookCombinator__Group__4__Impl rule__HookCombinator__Group__5 ; 
    1009410399    public final void rule__HookCombinator__Group__4() throws RecognitionException { 
    1009510400        int rule__HookCombinator__Group__4_StartIndex = input.index(); 
     
    1009810403             
    1009910404        try { 
    10100             if ( state.backtracking>0 && alreadyParsedRule(input, 188) ) { return ; } 
    10101             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3122:1: ( rule__HookCombinator__Group__4__Impl rule__HookCombinator__Group__5 ) 
    10102             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3123:2: rule__HookCombinator__Group__4__Impl rule__HookCombinator__Group__5 
    10103             { 
    10104             pushFollow(FOLLOW_rule__HookCombinator__Group__4__Impl_in_rule__HookCombinator__Group__46392); 
     10405            if ( state.backtracking>0 && alreadyParsedRule(input, 194) ) { return ; } 
     10406            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3219:1: ( rule__HookCombinator__Group__4__Impl rule__HookCombinator__Group__5 ) 
     10407            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3220:2: rule__HookCombinator__Group__4__Impl rule__HookCombinator__Group__5 
     10408            { 
     10409            pushFollow(FOLLOW_rule__HookCombinator__Group__4__Impl_in_rule__HookCombinator__Group__46592); 
    1010510410            rule__HookCombinator__Group__4__Impl(); 
    1010610411 
    1010710412            state._fsp--; 
    1010810413            if (state.failed) return ; 
    10109             pushFollow(FOLLOW_rule__HookCombinator__Group__5_in_rule__HookCombinator__Group__46395); 
     10414            pushFollow(FOLLOW_rule__HookCombinator__Group__5_in_rule__HookCombinator__Group__46595); 
    1011010415            rule__HookCombinator__Group__5(); 
    1011110416 
     
    1012110426        } 
    1012210427        finally { 
    10123             if ( state.backtracking>0 ) { memoize(input, 188, rule__HookCombinator__Group__4_StartIndex); } 
     10428            if ( state.backtracking>0 ) { memoize(input, 194, rule__HookCombinator__Group__4_StartIndex); } 
    1012410429 
    1012510430                restoreStackSize(stackSize); 
     
    1013210437 
    1013310438    // $ANTLR start "rule__HookCombinator__Group__4__Impl" 
    10134     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3130:1: rule__HookCombinator__Group__4__Impl : ( ( rule__HookCombinator__RuleextAssignment_4 ) ) ; 
     10439    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3227:1: rule__HookCombinator__Group__4__Impl : ( ( rule__HookCombinator__RuleextAssignment_4 ) ) ; 
    1013510440    public final void rule__HookCombinator__Group__4__Impl() throws RecognitionException { 
    1013610441        int rule__HookCombinator__Group__4__Impl_StartIndex = input.index(); 
     
    1013910444             
    1014010445        try { 
    10141             if ( state.backtracking>0 && alreadyParsedRule(input, 189) ) { return ; } 
    10142             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3134:1: ( ( ( rule__HookCombinator__RuleextAssignment_4 ) ) ) 
    10143             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3135:1: ( ( rule__HookCombinator__RuleextAssignment_4 ) ) 
    10144             { 
    10145             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3135:1: ( ( rule__HookCombinator__RuleextAssignment_4 ) ) 
    10146             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3136:1: ( rule__HookCombinator__RuleextAssignment_4 ) 
     10446            if ( state.backtracking>0 && alreadyParsedRule(input, 195) ) { return ; } 
     10447            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3231:1: ( ( ( rule__HookCombinator__RuleextAssignment_4 ) ) ) 
     10448            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3232:1: ( ( rule__HookCombinator__RuleextAssignment_4 ) ) 
     10449            { 
     10450            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3232:1: ( ( rule__HookCombinator__RuleextAssignment_4 ) ) 
     10451            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3233:1: ( rule__HookCombinator__RuleextAssignment_4 ) 
    1014710452            { 
    1014810453            if ( state.backtracking==0 ) { 
    1014910454               before(grammarAccess.getHookCombinatorAccess().getRuleextAssignment_4());  
    1015010455            } 
    10151             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3137:1: ( rule__HookCombinator__RuleextAssignment_4 ) 
    10152             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3137:2: rule__HookCombinator__RuleextAssignment_4 
    10153             { 
    10154             pushFollow(FOLLOW_rule__HookCombinator__RuleextAssignment_4_in_rule__HookCombinator__Group__4__Impl6422); 
     10456            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3234:1: ( rule__HookCombinator__RuleextAssignment_4 ) 
     10457            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3234:2: rule__HookCombinator__RuleextAssignment_4 
     10458            { 
     10459            pushFollow(FOLLOW_rule__HookCombinator__RuleextAssignment_4_in_rule__HookCombinator__Group__4__Impl6622); 
    1015510460            rule__HookCombinator__RuleextAssignment_4(); 
    1015610461 
     
    1017510480        } 
    1017610481        finally { 
    10177             if ( state.backtracking>0 ) { memoize(input, 189, rule__HookCombinator__Group__4__Impl_StartIndex); } 
     10482            if ( state.backtracking>0 ) { memoize(input, 195, rule__HookCombinator__Group__4__Impl_StartIndex); } 
    1017810483 
    1017910484                restoreStackSize(stackSize); 
     
    1018610491 
    1018710492    // $ANTLR start "rule__HookCombinator__Group__5" 
    10188     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3147:1: rule__HookCombinator__Group__5 : rule__HookCombinator__Group__5__Impl rule__HookCombinator__Group__6 ; 
     10493    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3244:1: rule__HookCombinator__Group__5 : rule__HookCombinator__Group__5__Impl rule__HookCombinator__Group__6 ; 
    1018910494    public final void rule__HookCombinator__Group__5() throws RecognitionException { 
    1019010495        int rule__HookCombinator__Group__5_StartIndex = input.index(); 
     
    1019310498             
    1019410499        try { 
    10195             if ( state.backtracking>0 && alreadyParsedRule(input, 190) ) { return ; } 
    10196             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3151:1: ( rule__HookCombinator__Group__5__Impl rule__HookCombinator__Group__6 ) 
    10197             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3152:2: rule__HookCombinator__Group__5__Impl rule__HookCombinator__Group__6 
    10198             { 
    10199             pushFollow(FOLLOW_rule__HookCombinator__Group__5__Impl_in_rule__HookCombinator__Group__56452); 
     10500            if ( state.backtracking>0 && alreadyParsedRule(input, 196) ) { return ; } 
     10501            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3248:1: ( rule__HookCombinator__Group__5__Impl rule__HookCombinator__Group__6 ) 
     10502            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3249:2: rule__HookCombinator__Group__5__Impl rule__HookCombinator__Group__6 
     10503            { 
     10504            pushFollow(FOLLOW_rule__HookCombinator__Group__5__Impl_in_rule__HookCombinator__Group__56652); 
    1020010505            rule__HookCombinator__Group__5__Impl(); 
    1020110506 
    1020210507            state._fsp--; 
    1020310508            if (state.failed) return ; 
    10204             pushFollow(FOLLOW_rule__HookCombinator__Group__6_in_rule__HookCombinator__Group__56455); 
     10509            pushFollow(FOLLOW_rule__HookCombinator__Group__6_in_rule__HookCombinator__Group__56655); 
    1020510510            rule__HookCombinator__Group__6(); 
    1020610511 
     
    1021610521        } 
    1021710522        finally { 
    10218             if ( state.backtracking>0 ) { memoize(input, 190, rule__HookCombinator__Group__5_StartIndex); } 
     10523            if ( state.backtracking>0 ) { memoize(input, 196, rule__HookCombinator__Group__5_StartIndex); } 
    1021910524 
    1022010525                restoreStackSize(stackSize); 
     
    1022710532 
    1022810533    // $ANTLR start "rule__HookCombinator__Group__5__Impl" 
    10229     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3159:1: rule__HookCombinator__Group__5__Impl : ( ')' ) ; 
     10534    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3256:1: rule__HookCombinator__Group__5__Impl : ( ')' ) ; 
    1023010535    public final void rule__HookCombinator__Group__5__Impl() throws RecognitionException { 
    1023110536        int rule__HookCombinator__Group__5__Impl_StartIndex = input.index(); 
     
    1023410539             
    1023510540        try { 
    10236             if ( state.backtracking>0 && alreadyParsedRule(input, 191) ) { return ; } 
    10237             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3163:1: ( ( ')' ) ) 
    10238             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3164:1: ( ')' ) 
    10239             { 
    10240             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3164:1: ( ')' ) 
    10241             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3165:1: ')' 
     10541            if ( state.backtracking>0 && alreadyParsedRule(input, 197) ) { return ; } 
     10542            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3260:1: ( ( ')' ) ) 
     10543            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3261:1: ( ')' ) 
     10544            { 
     10545            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3261:1: ( ')' ) 
     10546            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3262:1: ')' 
    1024210547            { 
    1024310548            if ( state.backtracking==0 ) { 
    1024410549               before(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_5());  
    1024510550            } 
    10246             match(input,13,FOLLOW_13_in_rule__HookCombinator__Group__5__Impl6483); if (state.failed) return ; 
     10551            match(input,13,FOLLOW_13_in_rule__HookCombinator__Group__5__Impl6683); if (state.failed) return ; 
    1024710552            if ( state.backtracking==0 ) { 
    1024810553               after(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_5());  
     
    1026010565        } 
    1026110566        finally { 
    10262             if ( state.backtracking>0 ) { memoize(input, 191, rule__HookCombinator__Group__5__Impl_StartIndex); } 
     10567            if ( state.backtracking>0 ) { memoize(input, 197, rule__HookCombinator__Group__5__Impl_StartIndex); } 
    1026310568 
    1026410569                restoreStackSize(stackSize); 
     
    1027110576 
    1027210577    // $ANTLR start "rule__HookCombinator__Group__6" 
    10273     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3178:1: rule__HookCombinator__Group__6 : rule__HookCombinator__Group__6__Impl rule__HookCombinator__Group__7 ; 
     10578    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3275:1: rule__HookCombinator__Group__6 : rule__HookCombinator__Group__6__Impl rule__HookCombinator__Group__7 ; 
    1027410579    public final void rule__HookCombinator__Group__6() throws RecognitionException { 
    1027510580        int rule__HookCombinator__Group__6_StartIndex = input.index(); 
     
    1027810583             
    1027910584        try { 
    10280             if ( state.backtracking>0 && alreadyParsedRule(input, 192) ) { return ; } 
    10281             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3182:1: ( rule__HookCombinator__Group__6__Impl rule__HookCombinator__Group__7 ) 
    10282             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3183:2: rule__HookCombinator__Group__6__Impl rule__HookCombinator__Group__7 
    10283             { 
    10284             pushFollow(FOLLOW_rule__HookCombinator__Group__6__Impl_in_rule__HookCombinator__Group__66514); 
     10585            if ( state.backtracking>0 && alreadyParsedRule(input, 198) ) { return ; } 
     10586            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3279:1: ( rule__HookCombinator__Group__6__Impl rule__HookCombinator__Group__7 ) 
     10587            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3280:2: rule__HookCombinator__Group__6__Impl rule__HookCombinator__Group__7 
     10588            { 
     10589            pushFollow(FOLLOW_rule__HookCombinator__Group__6__Impl_in_rule__HookCombinator__Group__66714); 
    1028510590            rule__HookCombinator__Group__6__Impl(); 
    1028610591 
    1028710592            state._fsp--; 
    1028810593            if (state.failed) return ; 
    10289             pushFollow(FOLLOW_rule__HookCombinator__Group__7_in_rule__HookCombinator__Group__66517); 
     10594            pushFollow(FOLLOW_rule__HookCombinator__Group__7_in_rule__HookCombinator__Group__66717); 
    1029010595            rule__HookCombinator__Group__7(); 
    1029110596 
     
    1030110606        } 
    1030210607        finally { 
    10303             if ( state.backtracking>0 ) { memoize(input, 192, rule__HookCombinator__Group__6_StartIndex); } 
     10608            if ( state.backtracking>0 ) { memoize(input, 198, rule__HookCombinator__Group__6_StartIndex); } 
    1030410609 
    1030510610                restoreStackSize(stackSize); 
     
    1031210617 
    1031310618    // $ANTLR start "rule__HookCombinator__Group__6__Impl" 
    10314     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3190:1: rule__HookCombinator__Group__6__Impl : ( ( rule__HookCombinator__LogicAssignment_6 )? ) ; 
     10619    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3287:1: rule__HookCombinator__Group__6__Impl : ( ( rule__HookCombinator__LogicAssignment_6 )? ) ; 
    1031510620    public final void rule__HookCombinator__Group__6__Impl() throws RecognitionException { 
    1031610621        int rule__HookCombinator__Group__6__Impl_StartIndex = input.index(); 
     
    1031910624             
    1032010625        try { 
    10321             if ( state.backtracking>0 && alreadyParsedRule(input, 193) ) { return ; } 
    10322             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3194:1: ( ( ( rule__HookCombinator__LogicAssignment_6 )? ) ) 
    10323             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3195:1: ( ( rule__HookCombinator__LogicAssignment_6 )? ) 
    10324             { 
    10325             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3195:1: ( ( rule__HookCombinator__LogicAssignment_6 )? ) 
    10326             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3196:1: ( rule__HookCombinator__LogicAssignment_6 )? 
     10626            if ( state.backtracking>0 && alreadyParsedRule(input, 199) ) { return ; } 
     10627            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3291:1: ( ( ( rule__HookCombinator__LogicAssignment_6 )? ) ) 
     10628            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3292:1: ( ( rule__HookCombinator__LogicAssignment_6 )? ) 
     10629            { 
     10630            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3292:1: ( ( rule__HookCombinator__LogicAssignment_6 )? ) 
     10631            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3293:1: ( rule__HookCombinator__LogicAssignment_6 )? 
    1032710632            { 
    1032810633            if ( state.backtracking==0 ) { 
    1032910634               before(grammarAccess.getHookCombinatorAccess().getLogicAssignment_6());  
    1033010635            } 
    10331             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3197:1: ( rule__HookCombinator__LogicAssignment_6 )? 
     10636            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3294:1: ( rule__HookCombinator__LogicAssignment_6 )? 
    1033210637            int alt36=2; 
    1033310638            int LA36_0 = input.LA(1); 
     
    1033810643            switch (alt36) { 
    1033910644                case 1 : 
    10340                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3197:2: rule__HookCombinator__LogicAssignment_6 
     10645                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3294:2: rule__HookCombinator__LogicAssignment_6 
    1034110646                    { 
    10342                     pushFollow(FOLLOW_rule__HookCombinator__LogicAssignment_6_in_rule__HookCombinator__Group__6__Impl6544); 
     10647                    pushFollow(FOLLOW_rule__HookCombinator__LogicAssignment_6_in_rule__HookCombinator__Group__6__Impl6744); 
    1034310648                    rule__HookCombinator__LogicAssignment_6(); 
    1034410649 
     
    1036610671        } 
    1036710672        finally { 
    10368             if ( state.backtracking>0 ) { memoize(input, 193, rule__HookCombinator__Group__6__Impl_StartIndex); } 
     10673            if ( state.backtracking>0 ) { memoize(input, 199, rule__HookCombinator__Group__6__Impl_StartIndex); } 
    1036910674 
    1037010675                restoreStackSize(stackSize); 
     
    1037710682 
    1037810683    // $ANTLR start "rule__HookCombinator__Group__7" 
    10379     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3207:1: rule__HookCombinator__Group__7 : rule__HookCombinator__Group__7__Impl rule__HookCombinator__Group__8 ; 
     10684    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3304:1: rule__HookCombinator__Group__7 : rule__HookCombinator__Group__7__Impl rule__HookCombinator__Group__8 ; 
    1038010685    public final void rule__HookCombinator__Group__7() throws RecognitionException { 
    1038110686        int rule__HookCombinator__Group__7_StartIndex = input.index(); 
     
    1038410689             
    1038510690        try { 
    10386             if ( state.backtracking>0 && alreadyParsedRule(input, 194) ) { return ; } 
    10387             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3211:1: ( rule__HookCombinator__Group__7__Impl rule__HookCombinator__Group__8 ) 
    10388             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3212:2: rule__HookCombinator__Group__7__Impl rule__HookCombinator__Group__8 
    10389             { 
    10390             pushFollow(FOLLOW_rule__HookCombinator__Group__7__Impl_in_rule__HookCombinator__Group__76575); 
     10691            if ( state.backtracking>0 && alreadyParsedRule(input, 200) ) { return ; } 
     10692            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3308:1: ( rule__HookCombinator__Group__7__Impl rule__HookCombinator__Group__8 ) 
     10693            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3309:2: rule__HookCombinator__Group__7__Impl rule__HookCombinator__Group__8 
     10694            { 
     10695            pushFollow(FOLLOW_rule__HookCombinator__Group__7__Impl_in_rule__HookCombinator__Group__76775); 
    1039110696            rule__HookCombinator__Group__7__Impl(); 
    1039210697 
    1039310698            state._fsp--; 
    1039410699            if (state.failed) return ; 
    10395             pushFollow(FOLLOW_rule__HookCombinator__Group__8_in_rule__HookCombinator__Group__76578); 
     10700            pushFollow(FOLLOW_rule__HookCombinator__Group__8_in_rule__HookCombinator__Group__76778); 
    1039610701            rule__HookCombinator__Group__8(); 
    1039710702 
     
    1040710712        } 
    1040810713        finally { 
    10409             if ( state.backtracking>0 ) { memoize(input, 194, rule__HookCombinator__Group__7_StartIndex); } 
     10714            if ( state.backtracking>0 ) { memoize(input, 200, rule__HookCombinator__Group__7_StartIndex); } 
    1041010715 
    1041110716                restoreStackSize(stackSize); 
     
    1041810723 
    1041910724    // $ANTLR start "rule__HookCombinator__Group__7__Impl" 
    10420     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3219:1: rule__HookCombinator__Group__7__Impl : ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) ; 
     10725    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3316:1: rule__HookCombinator__Group__7__Impl : ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) ; 
    1042110726    public final void rule__HookCombinator__Group__7__Impl() throws RecognitionException { 
    1042210727        int rule__HookCombinator__Group__7__Impl_StartIndex = input.index(); 
     
    1042510730             
    1042610731        try { 
    10427             if ( state.backtracking>0 && alreadyParsedRule(input, 195) ) { return ; } 
    10428             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3223:1: ( ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) ) 
    10429             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3224:1: ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) 
    10430             { 
    10431             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3224:1: ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) 
    10432             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3225:1: ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) 
    10433             { 
    10434             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3225:1: ( ( rule__HookCombinator__Group_7__0 ) ) 
    10435             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3226:1: ( rule__HookCombinator__Group_7__0 ) 
     10732            if ( state.backtracking>0 && alreadyParsedRule(input, 201) ) { return ; } 
     10733            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3320:1: ( ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) ) 
     10734            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3321:1: ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) 
     10735            { 
     10736            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3321:1: ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) 
     10737            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3322:1: ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) 
     10738            { 
     10739            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3322:1: ( ( rule__HookCombinator__Group_7__0 ) ) 
     10740            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3323:1: ( rule__HookCombinator__Group_7__0 ) 
    1043610741            { 
    1043710742            if ( state.backtracking==0 ) { 
    1043810743               before(grammarAccess.getHookCombinatorAccess().getGroup_7());  
    1043910744            } 
    10440             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3227:1: ( rule__HookCombinator__Group_7__0 ) 
    10441             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3227:2: rule__HookCombinator__Group_7__0 
    10442             { 
    10443             pushFollow(FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6607); 
     10745            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3324:1: ( rule__HookCombinator__Group_7__0 ) 
     10746            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3324:2: rule__HookCombinator__Group_7__0 
     10747            { 
     10748            pushFollow(FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6807); 
    1044410749            rule__HookCombinator__Group_7__0(); 
    1044510750 
     
    1045510760            } 
    1045610761 
    10457             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3230:1: ( ( rule__HookCombinator__Group_7__0 )* ) 
    10458             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3231:1: ( rule__HookCombinator__Group_7__0 )* 
     10762            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3327:1: ( ( rule__HookCombinator__Group_7__0 )* ) 
     10763            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3328:1: ( rule__HookCombinator__Group_7__0 )* 
    1045910764            { 
    1046010765            if ( state.backtracking==0 ) { 
    1046110766               before(grammarAccess.getHookCombinatorAccess().getGroup_7());  
    1046210767            } 
    10463             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3232:1: ( rule__HookCombinator__Group_7__0 )* 
     10768            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3329:1: ( rule__HookCombinator__Group_7__0 )* 
    1046410769            loop37: 
    1046510770            do { 
     
    1047410779                switch (alt37) { 
    1047510780                case 1 : 
    10476                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3232:2: rule__HookCombinator__Group_7__0 
     10781                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3329:2: rule__HookCombinator__Group_7__0 
    1047710782                    { 
    10478                     pushFollow(FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6619); 
     10783                    pushFollow(FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6819); 
    1047910784                    rule__HookCombinator__Group_7__0(); 
    1048010785 
     
    1050810813        } 
    1050910814        finally { 
    10510             if ( state.backtracking>0 ) { memoize(input, 195, rule__HookCombinator__Group__7__Impl_StartIndex); } 
     10815            if ( state.backtracking>0 ) { memoize(input, 201, rule__HookCombinator__Group__7__Impl_StartIndex); } 
    1051110816 
    1051210817                restoreStackSize(stackSize); 
     
    1051910824 
    1052010825    // $ANTLR start "rule__HookCombinator__Group__8" 
    10521     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3243:1: rule__HookCombinator__Group__8 : rule__HookCombinator__Group__8__Impl ; 
     10826    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3340:1: rule__HookCombinator__Group__8 : rule__HookCombinator__Group__8__Impl ; 
    1052210827    public final void rule__HookCombinator__Group__8() throws RecognitionException { 
    1052310828        int rule__HookCombinator__Group__8_StartIndex = input.index(); 
     
    1052610831             
    1052710832        try { 
    10528             if ( state.backtracking>0 && alreadyParsedRule(input, 196) ) { return ; } 
    10529             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3247:1: ( rule__HookCombinator__Group__8__Impl ) 
    10530             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3248:2: rule__HookCombinator__Group__8__Impl 
    10531             { 
    10532             pushFollow(FOLLOW_rule__HookCombinator__Group__8__Impl_in_rule__HookCombinator__Group__86652); 
     10833            if ( state.backtracking>0 && alreadyParsedRule(input, 202) ) { return ; } 
     10834            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3344:1: ( rule__HookCombinator__Group__8__Impl ) 
     10835            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3345:2: rule__HookCombinator__Group__8__Impl 
     10836            { 
     10837            pushFollow(FOLLOW_rule__HookCombinator__Group__8__Impl_in_rule__HookCombinator__Group__86852); 
    1053310838            rule__HookCombinator__Group__8__Impl(); 
    1053410839 
     
    1054410849        } 
    1054510850        finally { 
    10546             if ( state.backtracking>0 ) { memoize(input, 196, rule__HookCombinator__Group__8_StartIndex); } 
     10851            if ( state.backtracking>0 ) { memoize(input, 202, rule__HookCombinator__Group__8_StartIndex); } 
    1054710852 
    1054810853                restoreStackSize(stackSize); 
     
    1055510860 
    1055610861    // $ANTLR start "rule__HookCombinator__Group__8__Impl" 
    10557     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3254:1: rule__HookCombinator__Group__8__Impl : ( ( ';' )? ) ; 
     10862    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3351:1: rule__HookCombinator__Group__8__Impl : ( ( ';' )? ) ; 
    1055810863    public final void rule__HookCombinator__Group__8__Impl() throws RecognitionException { 
    1055910864        int rule__HookCombinator__Group__8__Impl_StartIndex = input.index(); 
     
    1056210867             
    1056310868        try { 
    10564             if ( state.backtracking>0 && alreadyParsedRule(input, 197) ) { return ; } 
    10565             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3258:1: ( ( ( ';' )? ) ) 
    10566             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3259:1: ( ( ';' )? ) 
    10567             { 
    10568             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3259:1: ( ( ';' )? ) 
    10569             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3260:1: ( ';' )? 
     10869            if ( state.backtracking>0 && alreadyParsedRule(input, 203) ) { return ; } 
     10870            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3355:1: ( ( ( ';' )? ) ) 
     10871            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3356:1: ( ( ';' )? ) 
     10872            { 
     10873            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3356:1: ( ( ';' )? ) 
     10874            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3357:1: ( ';' )? 
    1057010875            { 
    1057110876            if ( state.backtracking==0 ) { 
    1057210877               before(grammarAccess.getHookCombinatorAccess().getSemicolonKeyword_8());  
    1057310878            } 
    10574             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3261:1: ( ';' )? 
     10879            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3358:1: ( ';' )? 
    1057510880            int alt38=2; 
    1057610881            int LA38_0 = input.LA(1); 
     
    1058110886            switch (alt38) { 
    1058210887                case 1 : 
    10583                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3262:2: ';' 
     10888                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3359:2: ';' 
    1058410889                    { 
    10585                     match(input,23,FOLLOW_23_in_rule__HookCombinator__Group__8__Impl6681); if (state.failed) return ; 
     10890                    match(input,23,FOLLOW_23_in_rule__HookCombinator__Group__8__Impl6881); if (state.failed) return ; 
    1058610891 
    1058710892                    } 
     
    1060510910        } 
    1060610911        finally { 
    10607             if ( state.backtracking>0 ) { memoize(input, 197, rule__HookCombinator__Group__8__Impl_StartIndex); } 
     10912            if ( state.backtracking>0 ) { memoize(input, 203, rule__HookCombinator__Group__8__Impl_StartIndex); } 
    1060810913 
    1060910914                restoreStackSize(stackSize); 
     
    1061610921 
    1061710922    // $ANTLR start "rule__HookCombinator__Group_7__0" 
    10618     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3291:1: rule__HookCombinator__Group_7__0 : rule__HookCombinator__Group_7__0__Impl rule__HookCombinator__Group_7__1 ; 
     10923    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3388:1: rule__HookCombinator__Group_7__0 : rule__HookCombinator__Group_7__0__Impl rule__HookCombinator__Group_7__1 ; 
    1061910924    public final void rule__HookCombinator__Group_7__0() throws RecognitionException { 
    1062010925        int rule__HookCombinator__Group_7__0_StartIndex = input.index(); 
     
    1062310928             
    1062410929        try { 
    10625             if ( state.backtracking>0 && alreadyParsedRule(input, 198) ) { return ; } 
    10626             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3295:1: ( rule__HookCombinator__Group_7__0__Impl rule__HookCombinator__Group_7__1 ) 
    10627             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3296:2: rule__HookCombinator__Group_7__0__Impl rule__HookCombinator__Group_7__1 
    10628             { 
    10629             pushFollow(FOLLOW_rule__HookCombinator__Group_7__0__Impl_in_rule__HookCombinator__Group_7__06732); 
     10930            if ( state.backtracking>0 && alreadyParsedRule(input, 204) ) { return ; } 
     10931            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3392:1: ( rule__HookCombinator__Group_7__0__Impl rule__HookCombinator__Group_7__1 ) 
     10932            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3393:2: rule__HookCombinator__Group_7__0__Impl rule__HookCombinator__Group_7__1 
     10933            { 
     10934            pushFollow(FOLLOW_rule__HookCombinator__Group_7__0__Impl_in_rule__HookCombinator__Group_7__06932); 
    1063010935            rule__HookCombinator__Group_7__0__Impl(); 
    1063110936 
    1063210937            state._fsp--; 
    1063310938            if (state.failed) return ; 
    10634             pushFollow(FOLLOW_rule__HookCombinator__Group_7__1_in_rule__HookCombinator__Group_7__06735); 
     10939            pushFollow(FOLLOW_rule__HookCombinator__Group_7__1_in_rule__HookCombinator__Group_7__06935); 
    1063510940            rule__HookCombinator__Group_7__1(); 
    1063610941 
     
    1064610951        } 
    1064710952        finally { 
    10648             if ( state.backtracking>0 ) { memoize(input, 198, rule__HookCombinator__Group_7__0_StartIndex); } 
     10953            if ( state.backtracking>0 ) { memoize(input, 204, rule__HookCombinator__Group_7__0_StartIndex); } 
    1064910954 
    1065010955                restoreStackSize(stackSize); 
     
    1065710962 
    1065810963    // $ANTLR start "rule__HookCombinator__Group_7__0__Impl" 
    10659     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3303:1: rule__HookCombinator__Group_7__0__Impl : ( '(' ) ; 
     10964    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3400:1: rule__HookCombinator__Group_7__0__Impl : ( '(' ) ; 
    1066010965    public final void rule__HookCombinator__Group_7__0__Impl() throws RecognitionException { 
    1066110966        int rule__HookCombinator__Group_7__0__Impl_StartIndex = input.index(); 
     
    1066410969             
    1066510970        try { 
    10666             if ( state.backtracking>0 && alreadyParsedRule(input, 199) ) { return ; } 
    10667             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3307:1: ( ( '(' ) ) 
    10668             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3308:1: ( '(' ) 
    10669             { 
    10670             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3308:1: ( '(' ) 
    10671             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3309:1: '(' 
     10971            if ( state.backtracking>0 && alreadyParsedRule(input, 205) ) { return ; } 
     10972            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3404:1: ( ( '(' ) ) 
     10973            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3405:1: ( '(' ) 
     10974            { 
     10975            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3405:1: ( '(' ) 
     10976            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3406:1: '(' 
    1067210977            { 
    1067310978            if ( state.backtracking==0 ) { 
    1067410979               before(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_7_0());  
    1067510980            } 
    10676             match(input,17,FOLLOW_17_in_rule__HookCombinator__Group_7__0__Impl6763); if (state.failed) return ; 
     10981            match(input,17,FOLLOW_17_in_rule__HookCombinator__Group_7__0__Impl6963); if (state.failed) return ; 
    1067710982            if ( state.backtracking==0 ) { 
    1067810983               after(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_7_0());  
     
    1069010995        } 
    1069110996        finally { 
    10692             if ( state.backtracking>0 ) { memoize(input, 199, rule__HookCombinator__Group_7__0__Impl_StartIndex); } 
     10997            if ( state.backtracking>0 ) { memoize(input, 205, rule__HookCombinator__Group_7__0__Impl_StartIndex); } 
    1069310998 
    1069410999                restoreStackSize(stackSize); 
     
    1070111006 
    1070211007    // $ANTLR start "rule__HookCombinator__Group_7__1" 
    10703     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3322:1: rule__HookCombinator__Group_7__1 : rule__HookCombinator__Group_7__1__Impl rule__HookCombinator__Group_7__2 ; 
     11008    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3419:1: rule__HookCombinator__Group_7__1 : rule__HookCombinator__Group_7__1__Impl rule__HookCombinator__Group_7__2 ; 
    1070411009    public final void rule__HookCombinator__Group_7__1() throws RecognitionException { 
    1070511010        int rule__HookCombinator__Group_7__1_StartIndex = input.index(); 
     
    1070811013             
    1070911014        try { 
    10710             if ( state.backtracking>0 && alreadyParsedRule(input, 200) ) { return ; } 
    10711             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3326:1: ( rule__HookCombinator__Group_7__1__Impl rule__HookCombinator__Group_7__2 ) 
    10712             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3327:2: rule__HookCombinator__Group_7__1__Impl rule__HookCombinator__Group_7__2 
    10713             { 
    10714             pushFollow(FOLLOW_rule__HookCombinator__Group_7__1__Impl_in_rule__HookCombinator__Group_7__16794); 
     11015            if ( state.backtracking>0 && alreadyParsedRule(input, 206) ) { return ; } 
     11016            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3423:1: ( rule__HookCombinator__Group_7__1__Impl rule__HookCombinator__Group_7__2 ) 
     11017            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3424:2: rule__HookCombinator__Group_7__1__Impl rule__HookCombinator__Group_7__2 
     11018            { 
     11019            pushFollow(FOLLOW_rule__HookCombinator__Group_7__1__Impl_in_rule__HookCombinator__Group_7__16994); 
    1071511020            rule__HookCombinator__Group_7__1__Impl(); 
    1071611021 
    1071711022            state._fsp--; 
    1071811023            if (state.failed) return ; 
    10719             pushFollow(FOLLOW_rule__HookCombinator__Group_7__2_in_rule__HookCombinator__Group_7__16797); 
     11024            pushFollow(FOLLOW_rule__HookCombinator__Group_7__2_in_rule__HookCombinator__Group_7__16997); 
    1072011025            rule__HookCombinator__Group_7__2(); 
    1072111026 
     
    1073111036        } 
    1073211037        finally { 
    10733             if ( state.backtracking>0 ) { memoize(input, 200, rule__HookCombinator__Group_7__1_StartIndex); } 
     11038            if ( state.backtracking>0 ) { memoize(input, 206, rule__HookCombinator__Group_7__1_StartIndex); } 
    1073411039 
    1073511040                restoreStackSize(stackSize); 
     
    1074211047 
    1074311048    // $ANTLR start "rule__HookCombinator__Group_7__1__Impl" 
    10744     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3334:1: rule__HookCombinator__Group_7__1__Impl : ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) ; 
     11049    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3431:1: rule__HookCombinator__Group_7__1__Impl : ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) ; 
    1074511050    public final void rule__HookCombinator__Group_7__1__Impl() throws RecognitionException { 
    1074611051        int rule__HookCombinator__Group_7__1__Impl_StartIndex = input.index(); 
     
    1074911054             
    1075011055        try { 
    10751             if ( state.backtracking>0 && alreadyParsedRule(input, 201) ) { return ; } 
    10752             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3338:1: ( ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) ) 
    10753             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3339:1: ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) 
    10754             { 
    10755             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3339:1: ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) 
    10756             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3340:1: ( rule__HookCombinator__LABELAssignment_7_1 ) 
     11056            if ( state.backtracking>0 && alreadyParsedRule(input, 207) ) { return ; } 
     11057            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3435:1: ( ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) ) 
     11058            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3436:1: ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) 
     11059            { 
     11060            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3436:1: ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) 
     11061            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3437:1: ( rule__HookCombinator__LABELAssignment_7_1 ) 
    1075711062            { 
    1075811063            if ( state.backtracking==0 ) { 
    1075911064               before(grammarAccess.getHookCombinatorAccess().getLABELAssignment_7_1());  
    1076011065            } 
    10761             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3341:1: ( rule__HookCombinator__LABELAssignment_7_1 ) 
    10762             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3341:2: rule__HookCombinator__LABELAssignment_7_1 
    10763             { 
    10764             pushFollow(FOLLOW_rule__HookCombinator__LABELAssignment_7_1_in_rule__HookCombinator__Group_7__1__Impl6824); 
     11066            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3438:1: ( rule__HookCombinator__LABELAssignment_7_1 ) 
     11067            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3438:2: rule__HookCombinator__LABELAssignment_7_1 
     11068            { 
     11069            pushFollow(FOLLOW_rule__HookCombinator__LABELAssignment_7_1_in_rule__HookCombinator__Group_7__1__Impl7024); 
    1076511070            rule__HookCombinator__LABELAssignment_7_1(); 
    1076611071 
     
    1078511090        } 
    1078611091        finally { 
    10787             if ( state.backtracking>0 ) { memoize(input, 201, rule__HookCombinator__Group_7__1__Impl_StartIndex); } 
     11092            if ( state.backtracking>0 ) { memoize(input, 207, rule__HookCombinator__Group_7__1__Impl_StartIndex); } 
    1078811093 
    1078911094                restoreStackSize(stackSize); 
     
    1079611101 
    1079711102    // $ANTLR start "rule__HookCombinator__Group_7__2" 
    10798     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3351:1: rule__HookCombinator__Group_7__2 : rule__HookCombinator__Group_7__2__Impl ; 
     11103    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3448:1: rule__HookCombinator__Group_7__2 : rule__HookCombinator__Group_7__2__Impl ; 
    1079911104    public final void rule__HookCombinator__Group_7__2() throws RecognitionException { 
    1080011105        int rule__HookCombinator__Group_7__2_StartIndex = input.index(); 
     
    1080311108             
    1080411109        try { 
    10805             if ( state.backtracking>0 && alreadyParsedRule(input, 202) ) { return ; } 
    10806             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3355:1: ( rule__HookCombinator__Group_7__2__Impl ) 
    10807             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3356:2: rule__HookCombinator__Group_7__2__Impl 
    10808             { 
    10809             pushFollow(FOLLOW_rule__HookCombinator__Group_7__2__Impl_in_rule__HookCombinator__Group_7__26854); 
     11110            if ( state.backtracking>0 && alreadyParsedRule(input, 208) ) { return ; } 
     11111            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3452:1: ( rule__HookCombinator__Group_7__2__Impl ) 
     11112            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3453:2: rule__HookCombinator__Group_7__2__Impl 
     11113            { 
     11114            pushFollow(FOLLOW_rule__HookCombinator__Group_7__2__Impl_in_rule__HookCombinator__Group_7__27054); 
    1081011115            rule__HookCombinator__Group_7__2__Impl(); 
    1081111116 
     
    1082111126        } 
    1082211127        finally { 
    10823             if ( state.backtracking>0 ) { memoize(input, 202, rule__HookCombinator__Group_7__2_StartIndex); } 
     11128            if ( state.backtracking>0 ) { memoize(input, 208, rule__HookCombinator__Group_7__2_StartIndex); } 
    1082411129 
    1082511130                restoreStackSize(stackSize); 
     
    1083211137 
    1083311138    // $ANTLR start "rule__HookCombinator__Group_7__2__Impl" 
    10834     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3362:1: rule__HookCombinator__Group_7__2__Impl : ( ')' ) ; 
     11139    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3459:1: rule__HookCombinator__Group_7__2__Impl : ( ')' ) ; 
    1083511140    public final void rule__HookCombinator__Group_7__2__Impl() throws RecognitionException { 
    1083611141        int rule__HookCombinator__Group_7__2__Impl_StartIndex = input.index(); 
     
    1083911144             
    1084011145        try { 
    10841             if ( state.backtracking>0 && alreadyParsedRule(input, 203) ) { return ; } 
    10842             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3366:1: ( ( ')' ) ) 
    10843             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3367:1: ( ')' ) 
    10844             { 
    10845             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3367:1: ( ')' ) 
    10846             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3368:1: ')' 
     11146            if ( state.backtracking>0 && alreadyParsedRule(input, 209) ) { return ; } 
     11147            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3463:1: ( ( ')' ) ) 
     11148            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3464:1: ( ')' ) 
     11149            { 
     11150            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3464:1: ( ')' ) 
     11151            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3465:1: ')' 
    1084711152            { 
    1084811153            if ( state.backtracking==0 ) { 
    1084911154               before(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_7_2());  
    1085011155            } 
    10851             match(input,13,FOLLOW_13_in_rule__HookCombinator__Group_7__2__Impl6882); if (state.failed) return ; 
     11156            match(input,13,FOLLOW_13_in_rule__HookCombinator__Group_7__2__Impl7082); if (state.failed) return ; 
    1085211157            if ( state.backtracking==0 ) { 
    1085311158               after(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_7_2());  
     
    1086511170        } 
    1086611171        finally { 
    10867             if ( state.backtracking>0 ) { memoize(input, 203, rule__HookCombinator__Group_7__2__Impl_StartIndex); } 
     11172            if ( state.backtracking>0 ) { memoize(input, 209, rule__HookCombinator__Group_7__2__Impl_StartIndex); } 
    1086811173 
    1086911174                restoreStackSize(stackSize); 
     
    1087611181 
    1087711182    // $ANTLR start "rule__DefinitionList__Group__0" 
    10878     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3387:1: rule__DefinitionList__Group__0 : rule__DefinitionList__Group__0__Impl rule__DefinitionList__Group__1 ; 
     11183    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3484:1: rule__DefinitionList__Group__0 : rule__DefinitionList__Group__0__Impl rule__DefinitionList__Group__1 ; 
    1087911184    public final void rule__DefinitionList__Group__0() throws RecognitionException { 
    1088011185        int rule__DefinitionList__Group__0_StartIndex = input.index(); 
     
    1088311188             
    1088411189        try { 
    10885             if ( state.backtracking>0 && alreadyParsedRule(input, 204) ) { return ; } 
    10886             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3391:1: ( rule__DefinitionList__Group__0__Impl rule__DefinitionList__Group__1 ) 
    10887             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3392:2: rule__DefinitionList__Group__0__Impl rule__DefinitionList__Group__1 
    10888             { 
    10889             pushFollow(FOLLOW_rule__DefinitionList__Group__0__Impl_in_rule__DefinitionList__Group__06919); 
     11190            if ( state.backtracking>0 && alreadyParsedRule(input, 210) ) { return ; } 
     11191            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3488:1: ( rule__DefinitionList__Group__0__Impl rule__DefinitionList__Group__1 ) 
     11192            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3489:2: rule__DefinitionList__Group__0__Impl rule__DefinitionList__Group__1 
     11193            { 
     11194            pushFollow(FOLLOW_rule__DefinitionList__Group__0__Impl_in_rule__DefinitionList__Group__07119); 
    1089011195            rule__DefinitionList__Group__0__Impl(); 
    1089111196 
    1089211197            state._fsp--; 
    1089311198            if (state.failed) return ; 
    10894             pushFollow(FOLLOW_rule__DefinitionList__Group__1_in_rule__DefinitionList__Group__06922); 
     11199            pushFollow(FOLLOW_rule__DefinitionList__Group__1_in_rule__DefinitionList__Group__07122); 
    1089511200            rule__DefinitionList__Group__1(); 
    1089611201 
     
    1090611211        } 
    1090711212        finally { 
    10908             if ( state.backtracking>0 ) { memoize(input, 204, rule__DefinitionList__Group__0_StartIndex); } 
     11213            if ( state.backtracking>0 ) { memoize(input, 210, rule__DefinitionList__Group__0_StartIndex); } 
    1090911214 
    1091011215                restoreStackSize(stackSize); 
     
    1091711222 
    1091811223    // $ANTLR start "rule__DefinitionList__Group__0__Impl" 
    10919     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3399:1: rule__DefinitionList__Group__0__Impl : ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) ; 
     11224    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3496:1: rule__DefinitionList__Group__0__Impl : ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) ; 
    1092011225    public final void rule__DefinitionList__Group__0__Impl() throws RecognitionException { 
    1092111226        int rule__DefinitionList__Group__0__Impl_StartIndex = input.index(); 
     
    1092411229             
    1092511230        try { 
    10926             if ( state.backtracking>0 && alreadyParsedRule(input, 205) ) { return ; } 
    10927             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3403:1: ( ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) ) 
    10928             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3404:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) 
    10929             { 
    10930             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3404:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) 
    10931             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3405:1: ( rule__DefinitionList__SingleDefinitionAssignment_0 ) 
     11231            if ( state.backtracking>0 && alreadyParsedRule(input, 211) ) { return ; } 
     11232            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3500:1: ( ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) ) 
     11233            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3501:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) 
     11234            { 
     11235            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3501:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) 
     11236            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3502:1: ( rule__DefinitionList__SingleDefinitionAssignment_0 ) 
    1093211237            { 
    1093311238            if ( state.backtracking==0 ) { 
    1093411239               before(grammarAccess.getDefinitionListAccess().getSingleDefinitionAssignment_0());  
    1093511240            } 
    10936             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3406:1: ( rule__DefinitionList__SingleDefinitionAssignment_0 ) 
    10937             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3406:2: rule__DefinitionList__SingleDefinitionAssignment_0 
    10938             { 
    10939             pushFollow(FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_0_in_rule__DefinitionList__Group__0__Impl6949); 
     11241            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3503:1: ( rule__DefinitionList__SingleDefinitionAssignment_0 ) 
     11242            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3503:2: rule__DefinitionList__SingleDefinitionAssignment_0 
     11243            { 
     11244            pushFollow(FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_0_in_rule__DefinitionList__Group__0__Impl7149); 
    1094011245            rule__DefinitionList__SingleDefinitionAssignment_0(); 
    1094111246 
     
    1096011265        } 
    1096111266        finally { 
    10962             if ( state.backtracking>0 ) { memoize(input, 205, rule__DefinitionList__Group__0__Impl_StartIndex); } 
     11267            if ( state.backtracking>0 ) { memoize(input, 211, rule__DefinitionList__Group__0__Impl_StartIndex); } 
    1096311268 
    1096411269                restoreStackSize(stackSize); 
     
    1097111276 
    1097211277    // $ANTLR start "rule__DefinitionList__Group__1" 
    10973     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3416:1: rule__DefinitionList__Group__1 : rule__DefinitionList__Group__1__Impl ; 
     11278    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3513:1: rule__DefinitionList__Group__1 : rule__DefinitionList__Group__1__Impl ; 
    1097411279    public final void rule__DefinitionList__Group__1() throws RecognitionException { 
    1097511280        int rule__DefinitionList__Group__1_StartIndex = input.index(); 
     
    1097811283             
    1097911284        try { 
    10980             if ( state.backtracking>0 && alreadyParsedRule(input, 206) ) { return ; } 
    10981             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3420:1: ( rule__DefinitionList__Group__1__Impl ) 
    10982             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3421:2: rule__DefinitionList__Group__1__Impl 
    10983             { 
    10984             pushFollow(FOLLOW_rule__DefinitionList__Group__1__Impl_in_rule__DefinitionList__Group__16979); 
     11285            if ( state.backtracking>0 && alreadyParsedRule(input, 212) ) { return ; } 
     11286            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3517:1: ( rule__DefinitionList__Group__1__Impl ) 
     11287            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3518:2: rule__DefinitionList__Group__1__Impl 
     11288            { 
     11289            pushFollow(FOLLOW_rule__DefinitionList__Group__1__Impl_in_rule__DefinitionList__Group__17179); 
    1098511290            rule__DefinitionList__Group__1__Impl(); 
    1098611291 
     
    1099611301        } 
    1099711302        finally { 
    10998             if ( state.backtracking>0 ) { memoize(input, 206, rule__DefinitionList__Group__1_StartIndex); } 
     11303            if ( state.backtracking>0 ) { memoize(input, 212, rule__DefinitionList__Group__1_StartIndex); } 
    1099911304 
    1100011305                restoreStackSize(stackSize); 
     
    1100711312 
    1100811313    // $ANTLR start "rule__DefinitionList__Group__1__Impl" 
    11009     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3427:1: rule__DefinitionList__Group__1__Impl : ( ( rule__DefinitionList__Group_1__0 )* ) ; 
     11314    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3524:1: rule__DefinitionList__Group__1__Impl : ( ( rule__DefinitionList__Group_1__0 )* ) ; 
    1101011315    public final void rule__DefinitionList__Group__1__Impl() throws RecognitionException { 
    1101111316        int rule__DefinitionList__Group__1__Impl_StartIndex = input.index(); 
     
    1101411319             
    1101511320        try { 
    11016             if ( state.backtracking>0 && alreadyParsedRule(input, 207) ) { return ; } 
    11017             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3431:1: ( ( ( rule__DefinitionList__Group_1__0 )* ) ) 
    11018             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3432:1: ( ( rule__DefinitionList__Group_1__0 )* ) 
    11019             { 
    11020             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3432:1: ( ( rule__DefinitionList__Group_1__0 )* ) 
    11021             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3433:1: ( rule__DefinitionList__Group_1__0 )* 
     11321            if ( state.backtracking>0 && alreadyParsedRule(input, 213) ) { return ; } 
     11322            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3528:1: ( ( ( rule__DefinitionList__Group_1__0 )* ) ) 
     11323            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3529:1: ( ( rule__DefinitionList__Group_1__0 )* ) 
     11324            { 
     11325            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3529:1: ( ( rule__DefinitionList__Group_1__0 )* ) 
     11326            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3530:1: ( rule__DefinitionList__Group_1__0 )* 
    1102211327            { 
    1102311328            if ( state.backtracking==0 ) { 
    1102411329               before(grammarAccess.getDefinitionListAccess().getGroup_1());  
    1102511330            } 
    11026             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3434:1: ( rule__DefinitionList__Group_1__0 )* 
     11331            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3531:1: ( rule__DefinitionList__Group_1__0 )* 
    1102711332            loop39: 
    1102811333            do { 
     
    1103711342                switch (alt39) { 
    1103811343                case 1 : 
    11039                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3434:2: rule__DefinitionList__Group_1__0 
     11344                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3531:2: rule__DefinitionList__Group_1__0 
    1104011345                    { 
    11041                     pushFollow(FOLLOW_rule__DefinitionList__Group_1__0_in_rule__DefinitionList__Group__1__Impl7006); 
     11346                    pushFollow(FOLLOW_rule__DefinitionList__Group_1__0_in_rule__DefinitionList__Group__1__Impl7206); 
    1104211347                    rule__DefinitionList__Group_1__0(); 
    1104311348 
     
    1106811373        } 
    1106911374        finally { 
    11070             if ( state.backtracking>0 ) { memoize(input, 207, rule__DefinitionList__Group__1__Impl_StartIndex); } 
     11375            if ( state.backtracking>0 ) { memoize(input, 213, rule__DefinitionList__Group__1__Impl_StartIndex); } 
    1107111376 
    1107211377                restoreStackSize(stackSize); 
     
    1107911384 
    1108011385    // $ANTLR start "rule__DefinitionList__Group_1__0" 
    11081     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3448:1: rule__DefinitionList__Group_1__0 : rule__DefinitionList__Group_1__0__Impl rule__DefinitionList__Group_1__1 ; 
     11386    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3545:1: rule__DefinitionList__Group_1__0 : rule__DefinitionList__Group_1__0__Impl rule__DefinitionList__Group_1__1 ; 
    1108211387    public final void rule__DefinitionList__Group_1__0() throws RecognitionException { 
    1108311388        int rule__DefinitionList__Group_1__0_StartIndex = input.index(); 
     
    1108611391             
    1108711392        try { 
    11088             if ( state.backtracking>0 && alreadyParsedRule(input, 208) ) { return ; } 
    11089             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3452:1: ( rule__DefinitionList__Group_1__0__Impl rule__DefinitionList__Group_1__1 ) 
    11090             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3453:2: rule__DefinitionList__Group_1__0__Impl rule__DefinitionList__Group_1__1 
    11091             { 
    11092             pushFollow(FOLLOW_rule__DefinitionList__Group_1__0__Impl_in_rule__DefinitionList__Group_1__07041); 
     11393            if ( state.backtracking>0 && alreadyParsedRule(input, 214) ) { return ; } 
     11394            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3549:1: ( rule__DefinitionList__Group_1__0__Impl rule__DefinitionList__Group_1__1 ) 
     11395            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3550:2: rule__DefinitionList__Group_1__0__Impl rule__DefinitionList__Group_1__1 
     11396            { 
     11397            pushFollow(FOLLOW_rule__DefinitionList__Group_1__0__Impl_in_rule__DefinitionList__Group_1__07241); 
    1109311398            rule__DefinitionList__Group_1__0__Impl(); 
    1109411399 
    1109511400            state._fsp--; 
    1109611401            if (state.failed) return ; 
    11097             pushFollow(FOLLOW_rule__DefinitionList__Group_1__1_in_rule__DefinitionList__Group_1__07044); 
     11402            pushFollow(FOLLOW_rule__DefinitionList__Group_1__1_in_rule__DefinitionList__Group_1__07244); 
    1109811403            rule__DefinitionList__Group_1__1(); 
    1109911404 
     
    1110911414        } 
    1111011415        finally { 
    11111             if ( state.backtracking>0 ) { memoize(input, 208, rule__DefinitionList__Group_1__0_StartIndex); } 
     11416            if ( state.backtracking>0 ) { memoize(input, 214, rule__DefinitionList__Group_1__0_StartIndex); } 
    1111211417 
    1111311418                restoreStackSize(stackSize); 
     
    1112011425 
    1112111426    // $ANTLR start "rule__DefinitionList__Group_1__0__Impl" 
    11122     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3460:1: rule__DefinitionList__Group_1__0__Impl : ( '|' ) ; 
     11427    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3557:1: rule__DefinitionList__Group_1__0__Impl : ( '|' ) ; 
    1112311428    public final void rule__DefinitionList__Group_1__0__Impl() throws RecognitionException { 
    1112411429        int rule__DefinitionList__Group_1__0__Impl_StartIndex = input.index(); 
     
    1112711432             
    1112811433        try { 
    11129             if ( state.backtracking>0 && alreadyParsedRule(input, 209) ) { return ; } 
    11130             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3464:1: ( ( '|' ) ) 
    11131             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3465:1: ( '|' ) 
    11132             { 
    11133             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3465:1: ( '|' ) 
    11134             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3466:1: '|' 
     11434            if ( state.backtracking>0 && alreadyParsedRule(input, 215) ) { return ; } 
     11435            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3561:1: ( ( '|' ) ) 
     11436            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3562:1: ( '|' ) 
     11437            { 
     11438            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3562:1: ( '|' ) 
     11439            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3563:1: '|' 
    1113511440            { 
    1113611441            if ( state.backtracking==0 ) { 
    1113711442               before(grammarAccess.getDefinitionListAccess().getVerticalLineKeyword_1_0());  
    1113811443            } 
    11139             match(input,16,FOLLOW_16_in_rule__DefinitionList__Group_1__0__Impl7072); if (state.failed) return ; 
     11444            match(input,16,FOLLOW_16_in_rule__DefinitionList__Group_1__0__Impl7272); if (state.failed) return ; 
    1114011445            if ( state.backtracking==0 ) { 
    1114111446               after(grammarAccess.getDefinitionListAccess().getVerticalLineKeyword_1_0());  
     
    1115311458        } 
    1115411459        finally { 
    11155             if ( state.backtracking>0 ) { memoize(input, 209, rule__DefinitionList__Group_1__0__Impl_StartIndex); } 
     11460            if ( state.backtracking>0 ) { memoize(input, 215, rule__DefinitionList__Group_1__0__Impl_StartIndex); } 
    1115611461 
    1115711462                restoreStackSize(stackSize); 
     
    1116411469 
    1116511470    // $ANTLR start "rule__DefinitionList__Group_1__1" 
    11166     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3479:1: rule__DefinitionList__Group_1__1 : rule__DefinitionList__Group_1__1__Impl ; 
     11471    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3576:1: rule__DefinitionList__Group_1__1 : rule__DefinitionList__Group_1__1__Impl ; 
    1116711472    public final void rule__DefinitionList__Group_1__1() throws RecognitionException { 
    1116811473        int rule__DefinitionList__Group_1__1_StartIndex = input.index(); 
     
    1117111476             
    1117211477        try { 
    11173             if ( state.backtracking>0 && alreadyParsedRule(input, 210) ) { return ; } 
    11174             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3483:1: ( rule__DefinitionList__Group_1__1__Impl ) 
    11175             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3484:2: rule__DefinitionList__Group_1__1__Impl 
    11176             { 
    11177             pushFollow(FOLLOW_rule__DefinitionList__Group_1__1__Impl_in_rule__DefinitionList__Group_1__17103); 
     11478            if ( state.backtracking>0 && alreadyParsedRule(input, 216) ) { return ; } 
     11479            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3580:1: ( rule__DefinitionList__Group_1__1__Impl ) 
     11480            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3581:2: rule__DefinitionList__Group_1__1__Impl 
     11481            { 
     11482            pushFollow(FOLLOW_rule__DefinitionList__Group_1__1__Impl_in_rule__DefinitionList__Group_1__17303); 
    1117811483            rule__DefinitionList__Group_1__1__Impl(); 
    1117911484 
     
    1118911494        } 
    1119011495        finally { 
    11191             if ( state.backtracking>0 ) { memoize(input, 210, rule__DefinitionList__Group_1__1_StartIndex); } 
     11496            if ( state.backtracking>0 ) { memoize(input, 216, rule__DefinitionList__Group_1__1_StartIndex); } 
    1119211497 
    1119311498                restoreStackSize(stackSize); 
     
    1120011505 
    1120111506    // $ANTLR start "rule__DefinitionList__Group_1__1__Impl" 
    11202     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3490:1: rule__DefinitionList__Group_1__1__Impl : ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) ; 
     11507    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3587:1: rule__DefinitionList__Group_1__1__Impl : ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) ; 
    1120311508    public final void rule__DefinitionList__Group_1__1__Impl() throws RecognitionException { 
    1120411509        int rule__DefinitionList__Group_1__1__Impl_StartIndex = input.index(); 
     
    1120711512             
    1120811513        try { 
    11209             if ( state.backtracking>0 && alreadyParsedRule(input, 211) ) { return ; } 
    11210             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3494:1: ( ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) ) 
    11211             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3495:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) 
    11212             { 
    11213             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3495:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) 
    11214             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3496:1: ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) 
     11514            if ( state.backtracking>0 && alreadyParsedRule(input, 217) ) { return ; } 
     11515            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3591:1: ( ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) ) 
     11516            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3592:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) 
     11517            { 
     11518            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3592:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) 
     11519            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3593:1: ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) 
    1121511520            { 
    1121611521            if ( state.backtracking==0 ) { 
    1121711522               before(grammarAccess.getDefinitionListAccess().getSingleDefinitionAssignment_1_1());  
    1121811523            } 
    11219             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3497:1: ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) 
    11220             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3497:2: rule__DefinitionList__SingleDefinitionAssignment_1_1 
    11221             { 
    11222             pushFollow(FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_1_1_in_rule__DefinitionList__Group_1__1__Impl7130); 
     11524            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3594:1: ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) 
     11525            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3594:2: rule__DefinitionList__SingleDefinitionAssignment_1_1 
     11526            { 
     11527            pushFollow(FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_1_1_in_rule__DefinitionList__Group_1__1__Impl7330); 
    1122311528            rule__DefinitionList__SingleDefinitionAssignment_1_1(); 
    1122411529 
     
    1124311548        } 
    1124411549        finally { 
    11245             if ( state.backtracking>0 ) { memoize(input, 211, rule__DefinitionList__Group_1__1__Impl_StartIndex); } 
     11550            if ( state.backtracking>0 ) { memoize(input, 217, rule__DefinitionList__Group_1__1__Impl_StartIndex); } 
    1124611551 
    1124711552                restoreStackSize(stackSize); 
     
    1125411559 
    1125511560    // $ANTLR start "rule__GroupedSequence__Group__0" 
    11256     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3511:1: rule__GroupedSequence__Group__0 : rule__GroupedSequence__Group__0__Impl rule__GroupedSequence__Group__1 ; 
     11561    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3608:1: rule__GroupedSequence__Group__0 : rule__GroupedSequence__Group__0__Impl rule__GroupedSequence__Group__1 ; 
    1125711562    public final void rule__GroupedSequence__Group__0() throws RecognitionException { 
    1125811563        int rule__GroupedSequence__Group__0_StartIndex = input.index(); 
     
    1126111566             
    1126211567        try { 
    11263             if ( state.backtracking>0 && alreadyParsedRule(input, 212) ) { return ; } 
    11264             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3515:1: ( rule__GroupedSequence__Group__0__Impl rule__GroupedSequence__Group__1 ) 
    11265             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3516:2: rule__GroupedSequence__Group__0__Impl rule__GroupedSequence__Group__1 
    11266             { 
    11267             pushFollow(FOLLOW_rule__GroupedSequence__Group__0__Impl_in_rule__GroupedSequence__Group__07164); 
     11568            if ( state.backtracking>0 && alreadyParsedRule(input, 218) ) { return ; } 
     11569            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3612:1: ( rule__GroupedSequence__Group__0__Impl rule__GroupedSequence__Group__1 ) 
     11570            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3613:2: rule__GroupedSequence__Group__0__Impl rule__GroupedSequence__Group__1 
     11571            { 
     11572            pushFollow(FOLLOW_rule__GroupedSequence__Group__0__Impl_in_rule__GroupedSequence__Group__07364); 
    1126811573            rule__GroupedSequence__Group__0__Impl(); 
    1126911574 
    1127011575            state._fsp--; 
    1127111576            if (state.failed) return ; 
    11272             pushFollow(FOLLOW_rule__GroupedSequence__Group__1_in_rule__GroupedSequence__Group__07167); 
     11577            pushFollow(FOLLOW_rule__GroupedSequence__Group__1_in_rule__GroupedSequence__Group__07367); 
    1127311578            rule__GroupedSequence__Group__1(); 
    1127411579 
     
    1128411589        } 
    1128511590        finally { 
    11286             if ( state.backtracking>0 ) { memoize(input, 212, rule__GroupedSequence__Group__0_StartIndex); } 
     11591            if ( state.backtracking>0 ) { memoize(input, 218, rule__GroupedSequence__Group__0_StartIndex); } 
    1128711592 
    1128811593                restoreStackSize(stackSize); 
     
    1129511600 
    1129611601    // $ANTLR start "rule__GroupedSequence__Group__0__Impl" 
    11297     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3523:1: rule__GroupedSequence__Group__0__Impl : ( '(' ) ; 
     11602    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3620:1: rule__GroupedSequence__Group__0__Impl : ( '(' ) ; 
    1129811603    public final void rule__GroupedSequence__Group__0__Impl() throws RecognitionException { 
    1129911604        int rule__GroupedSequence__Group__0__Impl_StartIndex = input.index(); 
     
    1130211607             
    1130311608        try { 
    11304             if ( state.backtracking>0 && alreadyParsedRule(input, 213) ) { return ; } 
    11305             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3527:1: ( ( '(' ) ) 
    11306             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3528:1: ( '(' ) 
    11307             { 
    11308             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3528:1: ( '(' ) 
    11309             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3529:1: '(' 
     11609            if ( state.backtracking>0 && alreadyParsedRule(input, 219) ) { return ; } 
     11610            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3624:1: ( ( '(' ) ) 
     11611            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3625:1: ( '(' ) 
     11612            { 
     11613            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3625:1: ( '(' ) 
     11614            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3626:1: '(' 
    1131011615            { 
    1131111616            if ( state.backtracking==0 ) { 
    1131211617               before(grammarAccess.getGroupedSequenceAccess().getLeftParenthesisKeyword_0());  
    1131311618            } 
    11314             match(input,17,FOLLOW_17_in_rule__GroupedSequence__Group__0__Impl7195); if (state.failed) return ; 
     11619            match(input,17,FOLLOW_17_in_rule__GroupedSequence__Group__0__Impl7395); if (state.failed) return ; 
    1131511620            if ( state.backtracking==0 ) { 
    1131611621               after(grammarAccess.getGroupedSequenceAccess().getLeftParenthesisKeyword_0());  
     
    1132811633        } 
    1132911634        finally { 
    11330             if ( state.backtracking>0 ) { memoize(input, 213, rule__GroupedSequence__Group__0__Impl_StartIndex); } 
     11635            if ( state.backtracking>0 ) { memoize(input, 219, rule__GroupedSequence__Group__0__Impl_StartIndex); } 
    1133111636 
    1133211637                restoreStackSize(stackSize); 
     
    1133911644 
    1134011645    // $ANTLR start "rule__GroupedSequence__Group__1" 
    11341     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3542:1: rule__GroupedSequence__Group__1 : rule__GroupedSequence__Group__1__Impl rule__GroupedSequence__Group__2 ; 
     11646    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3639:1: rule__GroupedSequence__Group__1 : rule__GroupedSequence__Group__1__Impl rule__GroupedSequence__Group__2 ; 
    1134211647    public final void rule__GroupedSequence__Group__1() throws RecognitionException { 
    1134311648        int rule__GroupedSequence__Group__1_StartIndex = input.index(); 
     
    1134611651             
    1134711652        try { 
    11348             if ( state.backtracking>0 && alreadyParsedRule(input, 214) ) { return ; } 
    11349             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3546:1: ( rule__GroupedSequence__Group__1__Impl rule__GroupedSequence__Group__2 ) 
    11350             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3547:2: rule__GroupedSequence__Group__1__Impl rule__GroupedSequence__Group__2 
    11351             { 
    11352             pushFollow(FOLLOW_rule__GroupedSequence__Group__1__Impl_in_rule__GroupedSequence__Group__17226); 
     11653            if ( state.backtracking>0 && alreadyParsedRule(input, 220) ) { return ; } 
     11654            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3643:1: ( rule__GroupedSequence__Group__1__Impl rule__GroupedSequence__Group__2 ) 
     11655            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3644:2: rule__GroupedSequence__Group__1__Impl rule__GroupedSequence__Group__2 
     11656            { 
     11657            pushFollow(FOLLOW_rule__GroupedSequence__Group__1__Impl_in_rule__GroupedSequence__Group__17426); 
    1135311658            rule__GroupedSequence__Group__1__Impl(); 
    1135411659 
    1135511660            state._fsp--; 
    1135611661            if (state.failed) return ; 
    11357             pushFollow(FOLLOW_rule__GroupedSequence__Group__2_in_rule__GroupedSequence__Group__17229); 
     11662            pushFollow(FOLLOW_rule__GroupedSequence__Group__2_in_rule__GroupedSequence__Group__17429); 
    1135811663            rule__GroupedSequence__Group__2(); 
    1135911664 
     
    1136911674        } 
    1137011675        finally { 
    11371             if ( state.backtracking>0 ) { memoize(input, 214, rule__GroupedSequence__Group__1_StartIndex); } 
     11676            if ( state.backtracking>0 ) { memoize(input, 220, rule__GroupedSequence__Group__1_StartIndex); } 
    1137211677 
    1137311678                restoreStackSize(stackSize); 
     
    1138011685 
    1138111686    // $ANTLR start "rule__GroupedSequence__Group__1__Impl" 
    11382     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3554:1: rule__GroupedSequence__Group__1__Impl : ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) ; 
     11687    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3651:1: rule__GroupedSequence__Group__1__Impl : ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) ; 
    1138311688    public final void rule__GroupedSequence__Group__1__Impl() throws RecognitionException { 
    1138411689        int rule__GroupedSequence__Group__1__Impl_StartIndex = input.index(); 
     
    1138711692             
    1138811693        try { 
    11389             if ( state.backtracking>0 && alreadyParsedRule(input, 215) ) { return ; } 
    11390             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3558:1: ( ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) ) 
    11391             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3559:1: ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) 
    11392             { 
    11393             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3559:1: ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) 
    11394             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3560:1: ( rule__GroupedSequence__DefinitionListAssignment_1 ) 
     11694            if ( state.backtracking>0 && alreadyParsedRule(input, 221) ) { return ; } 
     11695            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3655:1: ( ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) ) 
     11696            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3656:1: ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) 
     11697            { 
     11698            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3656:1: ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) 
     11699            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3657:1: ( rule__GroupedSequence__DefinitionListAssignment_1 ) 
    1139511700            { 
    1139611701            if ( state.backtracking==0 ) { 
    1139711702               before(grammarAccess.getGroupedSequenceAccess().getDefinitionListAssignment_1());  
    1139811703            } 
    11399             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3561:1: ( rule__GroupedSequence__DefinitionListAssignment_1 ) 
    11400             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3561:2: rule__GroupedSequence__DefinitionListAssignment_1 
    11401             { 
    11402             pushFollow(FOLLOW_rule__GroupedSequence__DefinitionListAssignment_1_in_rule__GroupedSequence__Group__1__Impl7256); 
     11704            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3658:1: ( rule__GroupedSequence__DefinitionListAssignment_1 ) 
     11705            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3658:2: rule__GroupedSequence__DefinitionListAssignment_1 
     11706            { 
     11707            pushFollow(FOLLOW_rule__GroupedSequence__DefinitionListAssignment_1_in_rule__GroupedSequence__Group__1__Impl7456); 
    1140311708            rule__GroupedSequence__DefinitionListAssignment_1(); 
    1140411709 
     
    1142311728        } 
    1142411729        finally { 
    11425             if ( state.backtracking>0 ) { memoize(input, 215, rule__GroupedSequence__Group__1__Impl_StartIndex); } 
     11730            if ( state.backtracking>0 ) { memoize(input, 221, rule__GroupedSequence__Group__1__Impl_StartIndex); } 
    1142611731 
    1142711732                restoreStackSize(stackSize); 
     
    1143411739 
    1143511740    // $ANTLR start "rule__GroupedSequence__Group__2" 
    11436     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3571:1: rule__GroupedSequence__Group__2 : rule__GroupedSequence__Group__2__Impl ; 
     11741    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3668:1: rule__GroupedSequence__Group__2 : rule__GroupedSequence__Group__2__Impl ; 
    1143711742    public final void rule__GroupedSequence__Group__2() throws RecognitionException { 
    1143811743        int rule__GroupedSequence__Group__2_StartIndex = input.index(); 
     
    1144111746             
    1144211747        try { 
    11443             if ( state.backtracking>0 && alreadyParsedRule(input, 216) ) { return ; } 
    11444             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3575:1: ( rule__GroupedSequence__Group__2__Impl ) 
    11445             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3576:2: rule__GroupedSequence__Group__2__Impl 
    11446             { 
    11447             pushFollow(FOLLOW_rule__GroupedSequence__Group__2__Impl_in_rule__GroupedSequence__Group__27286); 
     11748            if ( state.backtracking>0 && alreadyParsedRule(input, 222) ) { return ; } 
     11749            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3672:1: ( rule__GroupedSequence__Group__2__Impl ) 
     11750            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3673:2: rule__GroupedSequence__Group__2__Impl 
     11751            { 
     11752            pushFollow(FOLLOW_rule__GroupedSequence__Group__2__Impl_in_rule__GroupedSequence__Group__27486); 
    1144811753            rule__GroupedSequence__Group__2__Impl(); 
    1144911754 
     
    1145911764        } 
    1146011765        finally { 
    11461             if ( state.backtracking>0 ) { memoize(input, 216, rule__GroupedSequence__Group__2_StartIndex); } 
     11766            if ( state.backtracking>0 ) { memoize(input, 222, rule__GroupedSequence__Group__2_StartIndex); } 
    1146211767 
    1146311768                restoreStackSize(stackSize); 
     
    1147011775 
    1147111776    // $ANTLR start "rule__GroupedSequence__Group__2__Impl" 
    11472     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3582:1: rule__GroupedSequence__Group__2__Impl : ( ')' ) ; 
     11777    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3679:1: rule__GroupedSequence__Group__2__Impl : ( ')' ) ; 
    1147311778    public final void rule__GroupedSequence__Group__2__Impl() throws RecognitionException { 
    1147411779        int rule__GroupedSequence__Group__2__Impl_StartIndex = input.index(); 
     
    1147711782             
    1147811783        try { 
    11479             if ( state.backtracking>0 && alreadyParsedRule(input, 217) ) { return ; } 
    11480             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3586:1: ( ( ')' ) ) 
    11481             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3587:1: ( ')' ) 
    11482             { 
    11483             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3587:1: ( ')' ) 
    11484             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3588:1: ')' 
     11784            if ( state.backtracking>0 && alreadyParsedRule(input, 223) ) { return ; } 
     11785            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3683:1: ( ( ')' ) ) 
     11786            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3684:1: ( ')' ) 
     11787            { 
     11788            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3684:1: ( ')' ) 
     11789            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3685:1: ')' 
    1148511790            { 
    1148611791            if ( state.backtracking==0 ) { 
    1148711792               before(grammarAccess.getGroupedSequenceAccess().getRightParenthesisKeyword_2());  
    1148811793            } 
    11489             match(input,13,FOLLOW_13_in_rule__GroupedSequence__Group__2__Impl7314); if (state.failed) return ; 
     11794            match(input,13,FOLLOW_13_in_rule__GroupedSequence__Group__2__Impl7514); if (state.failed) return ; 
    1149011795            if ( state.backtracking==0 ) { 
    1149111796               after(grammarAccess.getGroupedSequenceAccess().getRightParenthesisKeyword_2());  
     
    1150311808        } 
    1150411809        finally { 
    11505             if ( state.backtracking>0 ) { memoize(input, 217, rule__GroupedSequence__Group__2__Impl_StartIndex); } 
     11810            if ( state.backtracking>0 ) { memoize(input, 223, rule__GroupedSequence__Group__2__Impl_StartIndex); } 
    1150611811 
    1150711812                restoreStackSize(stackSize); 
     
    1151411819 
    1151511820    // $ANTLR start "rule__OptionalSequence__Group__0" 
    11516     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3607:1: rule__OptionalSequence__Group__0 : rule__OptionalSequence__Group__0__Impl rule__OptionalSequence__Group__1 ; 
     11821    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3704:1: rule__OptionalSequence__Group__0 : rule__OptionalSequence__Group__0__Impl rule__OptionalSequence__Group__1 ; 
    1151711822    public final void rule__OptionalSequence__Group__0() throws RecognitionException { 
    1151811823        int rule__OptionalSequence__Group__0_StartIndex = input.index(); 
     
    1152111826             
    1152211827        try { 
    11523             if ( state.backtracking>0 && alreadyParsedRule(input, 218) ) { return ; } 
    11524             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3611:1: ( rule__OptionalSequence__Group__0__Impl rule__OptionalSequence__Group__1 ) 
    11525             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3612:2: rule__OptionalSequence__Group__0__Impl rule__OptionalSequence__Group__1 
    11526             { 
    11527             pushFollow(FOLLOW_rule__OptionalSequence__Group__0__Impl_in_rule__OptionalSequence__Group__07351); 
     11828            if ( state.backtracking>0 && alreadyParsedRule(input, 224) ) { return ; } 
     11829            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3708:1: ( rule__OptionalSequence__Group__0__Impl rule__OptionalSequence__Group__1 ) 
     11830            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3709:2: rule__OptionalSequence__Group__0__Impl rule__OptionalSequence__Group__1 
     11831            { 
     11832            pushFollow(FOLLOW_rule__OptionalSequence__Group__0__Impl_in_rule__OptionalSequence__Group__07551); 
    1152811833            rule__OptionalSequence__Group__0__Impl(); 
    1152911834 
    1153011835            state._fsp--; 
    1153111836            if (state.failed) return ; 
    11532             pushFollow(FOLLOW_rule__OptionalSequence__Group__1_in_rule__OptionalSequence__Group__07354); 
     11837            pushFollow(FOLLOW_rule__OptionalSequence__Group__1_in_rule__OptionalSequence__Group__07554); 
    1153311838            rule__OptionalSequence__Group__1(); 
    1153411839 
     
    1154411849        } 
    1154511850        finally { 
    11546             if ( state.backtracking>0 ) { memoize(input, 218, rule__OptionalSequence__Group__0_StartIndex); } 
     11851            if ( state.backtracking>0 ) { memoize(input, 224, rule__OptionalSequence__Group__0_StartIndex); } 
    1154711852 
    1154811853                restoreStackSize(stackSize); 
     
    1155511860 
    1155611861    // $ANTLR start "rule__OptionalSequence__Group__0__Impl" 
    11557     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3619:1: rule__OptionalSequence__Group__0__Impl : ( '[' ) ; 
     11862    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3716:1: rule__OptionalSequence__Group__0__Impl : ( '[' ) ; 
    1155811863    public final void rule__OptionalSequence__Group__0__Impl() throws RecognitionException { 
    1155911864        int rule__OptionalSequence__Group__0__Impl_StartIndex = input.index(); 
     
    1156211867             
    1156311868        try { 
    11564             if ( state.backtracking>0 && alreadyParsedRule(input, 219) ) { return ; } 
    11565             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3623:1: ( ( '[' ) ) 
    11566             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3624:1: ( '[' ) 
    11567             { 
    11568             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3624:1: ( '[' ) 
    11569             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3625:1: '[' 
     11869            if ( state.backtracking>0 && alreadyParsedRule(input, 225) ) { return ; } 
     11870            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3720:1: ( ( '[' ) ) 
     11871            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3721:1: ( '[' ) 
     11872            { 
     11873            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3721:1: ( '[' ) 
     11874            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3722:1: '[' 
    1157011875            { 
    1157111876            if ( state.backtracking==0 ) { 
    1157211877               before(grammarAccess.getOptionalSequenceAccess().getLeftSquareBracketKeyword_0());  
    1157311878            } 
    11574             match(input,18,FOLLOW_18_in_rule__OptionalSequence__Group__0__Impl7382); if (state.failed) return ; 
     11879            match(input,18,FOLLOW_18_in_rule__OptionalSequence__Group__0__Impl7582); if (state.failed) return ; 
    1157511880            if ( state.backtracking==0 ) { 
    1157611881               after(grammarAccess.getOptionalSequenceAccess().getLeftSquareBracketKeyword_0());  
     
    1158811893        } 
    1158911894        finally { 
    11590             if ( state.backtracking>0 ) { memoize(input, 219, rule__OptionalSequence__Group__0__Impl_StartIndex); } 
     11895            if ( state.backtracking>0 ) { memoize(input, 225, rule__OptionalSequence__Group__0__Impl_StartIndex); } 
    1159111896 
    1159211897                restoreStackSize(stackSize); 
     
    1159911904 
    1160011905    // $ANTLR start "rule__OptionalSequence__Group__1" 
    11601     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3638:1: rule__OptionalSequence__Group__1 : rule__OptionalSequence__Group__1__Impl rule__OptionalSequence__Group__2 ; 
     11906    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3735:1: rule__OptionalSequence__Group__1 : rule__OptionalSequence__Group__1__Impl rule__OptionalSequence__Group__2 ; 
    1160211907    public final void rule__OptionalSequence__Group__1() throws RecognitionException { 
    1160311908        int rule__OptionalSequence__Group__1_StartIndex = input.index(); 
     
    1160611911             
    1160711912        try { 
    11608             if ( state.backtracking>0 && alreadyParsedRule(input, 220) ) { return ; } 
    11609             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3642:1: ( rule__OptionalSequence__Group__1__Impl rule__OptionalSequence__Group__2 ) 
    11610             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3643:2: rule__OptionalSequence__Group__1__Impl rule__OptionalSequence__Group__2 
    11611             { 
    11612             pushFollow(FOLLOW_rule__OptionalSequence__Group__1__Impl_in_rule__OptionalSequence__Group__17413); 
     11913            if ( state.backtracking>0 && alreadyParsedRule(input, 226) ) { return ; } 
     11914            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3739:1: ( rule__OptionalSequence__Group__1__Impl rule__OptionalSequence__Group__2 ) 
     11915            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3740:2: rule__OptionalSequence__Group__1__Impl rule__OptionalSequence__Group__2 
     11916            { 
     11917            pushFollow(FOLLOW_rule__OptionalSequence__Group__1__Impl_in_rule__OptionalSequence__Group__17613); 
    1161311918            rule__OptionalSequence__Group__1__Impl(); 
    1161411919 
    1161511920            state._fsp--; 
    1161611921            if (state.failed) return ; 
    11617             pushFollow(FOLLOW_rule__OptionalSequence__Group__2_in_rule__OptionalSequence__Group__17416); 
     11922            pushFollow(FOLLOW_rule__OptionalSequence__Group__2_in_rule__OptionalSequence__Group__17616); 
    1161811923            rule__OptionalSequence__Group__2(); 
    1161911924 
     
    1162911934        } 
    1163011935        finally { 
    11631             if ( state.backtracking>0 ) { memoize(input, 220, rule__OptionalSequence__Group__1_StartIndex); } 
     11936            if ( state.backtracking>0 ) { memoize(input, 226, rule__OptionalSequence__Group__1_StartIndex); } 
    1163211937 
    1163311938                restoreStackSize(stackSize); 
     
    1164011945 
    1164111946    // $ANTLR start "rule__OptionalSequence__Group__1__Impl" 
    11642     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3650:1: rule__OptionalSequence__Group__1__Impl : ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) ; 
     11947    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3747:1: rule__OptionalSequence__Group__1__Impl : ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) ; 
    1164311948    public final void rule__OptionalSequence__Group__1__Impl() throws RecognitionException { 
    1164411949        int rule__OptionalSequence__Group__1__Impl_StartIndex = input.index(); 
     
    1164711952             
    1164811953        try { 
    11649             if ( state.backtracking>0 && alreadyParsedRule(input, 221) ) { return ; } 
    11650             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3654:1: ( ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) ) 
    11651             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3655:1: ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) 
    11652             { 
    11653             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3655:1: ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) 
    11654             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3656:1: ( rule__OptionalSequence__DefinitionListAssignment_1 ) 
     11954            if ( state.backtracking>0 && alreadyParsedRule(input, 227) ) { return ; } 
     11955            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3751:1: ( ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) ) 
     11956            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3752:1: ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) 
     11957            { 
     11958            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3752:1: ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) 
     11959            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3753:1: ( rule__OptionalSequence__DefinitionListAssignment_1 ) 
    1165511960            { 
    1165611961            if ( state.backtracking==0 ) { 
    1165711962               before(grammarAccess.getOptionalSequenceAccess().getDefinitionListAssignment_1());  
    1165811963            } 
    11659             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3657:1: ( rule__OptionalSequence__DefinitionListAssignment_1 ) 
    11660             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3657:2: rule__OptionalSequence__DefinitionListAssignment_1 
    11661             { 
    11662             pushFollow(FOLLOW_rule__OptionalSequence__DefinitionListAssignment_1_in_rule__OptionalSequence__Group__1__Impl7443); 
     11964            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3754:1: ( rule__OptionalSequence__DefinitionListAssignment_1 ) 
     11965            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3754:2: rule__OptionalSequence__DefinitionListAssignment_1 
     11966            { 
     11967            pushFollow(FOLLOW_rule__OptionalSequence__DefinitionListAssignment_1_in_rule__OptionalSequence__Group__1__Impl7643); 
    1166311968            rule__OptionalSequence__DefinitionListAssignment_1(); 
    1166411969 
     
    1168311988        } 
    1168411989        finally { 
    11685             if ( state.backtracking>0 ) { memoize(input, 221, rule__OptionalSequence__Group__1__Impl_StartIndex); } 
     11990            if ( state.backtracking>0 ) { memoize(input, 227, rule__OptionalSequence__Group__1__Impl_StartIndex); } 
    1168611991 
    1168711992                restoreStackSize(stackSize); 
     
    1169411999 
    1169512000    // $ANTLR start "rule__OptionalSequence__Group__2" 
    11696     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3667:1: rule__OptionalSequence__Group__2 : rule__OptionalSequence__Group__2__Impl ; 
     12001    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3764:1: rule__OptionalSequence__Group__2 : rule__OptionalSequence__Group__2__Impl ; 
    1169712002    public final void rule__OptionalSequence__Group__2() throws RecognitionException { 
    1169812003        int rule__OptionalSequence__Group__2_StartIndex = input.index(); 
     
    1170112006             
    1170212007        try { 
    11703             if ( state.backtracking>0 && alreadyParsedRule(input, 222) ) { return ; } 
    11704             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3671:1: ( rule__OptionalSequence__Group__2__Impl ) 
    11705             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3672:2: rule__OptionalSequence__Group__2__Impl 
    11706             { 
    11707             pushFollow(FOLLOW_rule__OptionalSequence__Group__2__Impl_in_rule__OptionalSequence__Group__27473); 
     12008            if ( state.backtracking>0 && alreadyParsedRule(input, 228) ) { return ; } 
     12009            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3768:1: ( rule__OptionalSequence__Group__2__Impl ) 
     12010            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3769:2: rule__OptionalSequence__Group__2__Impl 
     12011            { 
     12012            pushFollow(FOLLOW_rule__OptionalSequence__Group__2__Impl_in_rule__OptionalSequence__Group__27673); 
    1170812013            rule__OptionalSequence__Group__2__Impl(); 
    1170912014 
     
    1171912024        } 
    1172012025        finally { 
    11721             if ( state.backtracking>0 ) { memoize(input, 222, rule__OptionalSequence__Group__2_StartIndex); } 
     12026            if ( state.backtracking>0 ) { memoize(input, 228, rule__OptionalSequence__Group__2_StartIndex); } 
    1172212027 
    1172312028                restoreStackSize(stackSize); 
     
    1173012035 
    1173112036    // $ANTLR start "rule__OptionalSequence__Group__2__Impl" 
    11732     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3678:1: rule__OptionalSequence__Group__2__Impl : ( ']' ) ; 
     12037    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3775:1: rule__OptionalSequence__Group__2__Impl : ( ']' ) ; 
    1173312038    public final void rule__OptionalSequence__Group__2__Impl() throws RecognitionException { 
    1173412039        int rule__OptionalSequence__Group__2__Impl_StartIndex = input.index(); 
     
    1173712042             
    1173812043        try { 
    11739             if ( state.backtracking>0 && alreadyParsedRule(input, 223) ) { return ; } 
    11740             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3682:1: ( ( ']' ) ) 
    11741             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3683:1: ( ']' ) 
    11742             { 
    11743             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3683:1: ( ']' ) 
    11744             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3684:1: ']' 
     12044            if ( state.backtracking>0 && alreadyParsedRule(input, 229) ) { return ; } 
     12045            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3779:1: ( ( ']' ) ) 
     12046            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3780:1: ( ']' ) 
     12047            { 
     12048            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3780:1: ( ']' ) 
     12049            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3781:1: ']' 
    1174512050            { 
    1174612051            if ( state.backtracking==0 ) { 
    1174712052               before(grammarAccess.getOptionalSequenceAccess().getRightSquareBracketKeyword_2());  
    1174812053            } 
    11749             match(input,14,FOLLOW_14_in_rule__OptionalSequence__Group__2__Impl7501); if (state.failed) return ; 
     12054            match(input,14,FOLLOW_14_in_rule__OptionalSequence__Group__2__Impl7701); if (state.failed) return ; 
    1175012055            if ( state.backtracking==0 ) { 
    1175112056               after(grammarAccess.getOptionalSequenceAccess().getRightSquareBracketKeyword_2());  
     
    1176312068        } 
    1176412069        finally { 
    11765             if ( state.backtracking>0 ) { memoize(input, 223, rule__OptionalSequence__Group__2__Impl_StartIndex); } 
     12070            if ( state.backtracking>0 ) { memoize(input, 229, rule__OptionalSequence__Group__2__Impl_StartIndex); } 
    1176612071 
    1176712072                restoreStackSize(stackSize); 
     
    1177412079 
    1177512080    // $ANTLR start "rule__RepeatedSequence__Group__0" 
    11776     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3703:1: rule__RepeatedSequence__Group__0 : rule__RepeatedSequence__Group__0__Impl rule__RepeatedSequence__Group__1 ; 
     12081    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3800:1: rule__RepeatedSequence__Group__0 : rule__RepeatedSequence__Group__0__Impl rule__RepeatedSequence__Group__1 ; 
    1177712082    public final void rule__RepeatedSequence__Group__0() throws RecognitionException { 
    1177812083        int rule__RepeatedSequence__Group__0_StartIndex = input.index(); 
     
    1178112086             
    1178212087        try { 
    11783             if ( state.backtracking>0 && alreadyParsedRule(input, 224) ) { return ; } 
    11784             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3707:1: ( rule__RepeatedSequence__Group__0__Impl rule__RepeatedSequence__Group__1 ) 
    11785             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3708:2: rule__RepeatedSequence__Group__0__Impl rule__RepeatedSequence__Group__1 
    11786             { 
    11787             pushFollow(FOLLOW_rule__RepeatedSequence__Group__0__Impl_in_rule__RepeatedSequence__Group__07538); 
     12088            if ( state.backtracking>0 && alreadyParsedRule(input, 230) ) { return ; } 
     12089            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3804:1: ( rule__RepeatedSequence__Group__0__Impl rule__RepeatedSequence__Group__1 ) 
     12090            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3805:2: rule__RepeatedSequence__Group__0__Impl rule__RepeatedSequence__Group__1 
     12091            { 
     12092            pushFollow(FOLLOW_rule__RepeatedSequence__Group__0__Impl_in_rule__RepeatedSequence__Group__07738); 
    1178812093            rule__RepeatedSequence__Group__0__Impl(); 
    1178912094 
    1179012095            state._fsp--; 
    1179112096            if (state.failed) return ; 
    11792             pushFollow(FOLLOW_rule__RepeatedSequence__Group__1_in_rule__RepeatedSequence__Group__07541); 
     12097            pushFollow(FOLLOW_rule__RepeatedSequence__Group__1_in_rule__RepeatedSequence__Group__07741); 
    1179312098            rule__RepeatedSequence__Group__1(); 
    1179412099 
     
    1180412109        } 
    1180512110        finally { 
    11806             if ( state.backtracking>0 ) { memoize(input, 224, rule__RepeatedSequence__Group__0_StartIndex); } 
     12111            if ( state.backtracking>0 ) { memoize(input, 230, rule__RepeatedSequence__Group__0_StartIndex); } 
    1180712112 
    1180812113                restoreStackSize(stackSize); 
     
    1181512120 
    1181612121    // $ANTLR start "rule__RepeatedSequence__Group__0__Impl" 
    11817     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3715:1: rule__RepeatedSequence__Group__0__Impl : ( '{' ) ; 
     12122    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3812:1: rule__RepeatedSequence__Group__0__Impl : ( '{' ) ; 
    1181812123    public final void rule__RepeatedSequence__Group__0__Impl() throws RecognitionException { 
    1181912124        int rule__RepeatedSequence__Group__0__Impl_StartIndex = input.index(); 
     
    1182212127             
    1182312128        try { 
    11824             if ( state.backtracking>0 && alreadyParsedRule(input, 225) ) { return ; } 
    11825             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3719:1: ( ( '{' ) ) 
    11826             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3720:1: ( '{' ) 
    11827             { 
    11828             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3720:1: ( '{' ) 
    11829             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3721:1: '{' 
     12129            if ( state.backtracking>0 && alreadyParsedRule(input, 231) ) { return ; } 
     12130            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3816:1: ( ( '{' ) ) 
     12131            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3817:1: ( '{' ) 
     12132            { 
     12133            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3817:1: ( '{' ) 
     12134            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3818:1: '{' 
    1183012135            { 
    1183112136            if ( state.backtracking==0 ) { 
    1183212137               before(grammarAccess.getRepeatedSequenceAccess().getLeftCurlyBracketKeyword_0());  
    1183312138            } 
    11834             match(input,19,FOLLOW_19_in_rule__RepeatedSequence__Group__0__Impl7569); if (state.failed) return ; 
     12139            match(input,19,FOLLOW_19_in_rule__RepeatedSequence__Group__0__Impl7769); if (state.failed) return ; 
    1183512140            if ( state.backtracking==0 ) { 
    1183612141               after(grammarAccess.getRepeatedSequenceAccess().getLeftCurlyBracketKeyword_0());  
     
    1184812153        } 
    1184912154        finally { 
    11850             if ( state.backtracking>0 ) { memoize(input, 225, rule__RepeatedSequence__Group__0__Impl_StartIndex); } 
     12155            if ( state.backtracking>0 ) { memoize(input, 231, rule__RepeatedSequence__Group__0__Impl_StartIndex); } 
    1185112156 
    1185212157                restoreStackSize(stackSize); 
     
    1185912164 
    1186012165    // $ANTLR start "rule__RepeatedSequence__Group__1" 
    11861     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3734:1: rule__RepeatedSequence__Group__1 : rule__RepeatedSequence__Group__1__Impl rule__RepeatedSequence__Group__2 ; 
     12166    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3831:1: rule__RepeatedSequence__Group__1 : rule__RepeatedSequence__Group__1__Impl rule__RepeatedSequence__Group__2 ; 
    1186212167    public final void rule__RepeatedSequence__Group__1() throws RecognitionException { 
    1186312168        int rule__RepeatedSequence__Group__1_StartIndex = input.index(); 
     
    1186612171             
    1186712172        try { 
    11868             if ( state.backtracking>0 && alreadyParsedRule(input, 226) ) { return ; } 
    11869             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3738:1: ( rule__RepeatedSequence__Group__1__Impl rule__RepeatedSequence__Group__2 ) 
    11870             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3739:2: rule__RepeatedSequence__Group__1__Impl rule__RepeatedSequence__Group__2 
    11871             { 
    11872             pushFollow(FOLLOW_rule__RepeatedSequence__Group__1__Impl_in_rule__RepeatedSequence__Group__17600); 
     12173            if ( state.backtracking>0 && alreadyParsedRule(input, 232) ) { return ; } 
     12174            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3835:1: ( rule__RepeatedSequence__Group__1__Impl rule__RepeatedSequence__Group__2 ) 
     12175            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3836:2: rule__RepeatedSequence__Group__1__Impl rule__RepeatedSequence__Group__2 
     12176            { 
     12177            pushFollow(FOLLOW_rule__RepeatedSequence__Group__1__Impl_in_rule__RepeatedSequence__Group__17800); 
    1187312178            rule__RepeatedSequence__Group__1__Impl(); 
    1187412179 
    1187512180            state._fsp--; 
    1187612181            if (state.failed) return ; 
    11877             pushFollow(FOLLOW_rule__RepeatedSequence__Group__2_in_rule__RepeatedSequence__Group__17603); 
     12182            pushFollow(FOLLOW_rule__RepeatedSequence__Group__2_in_rule__RepeatedSequence__Group__17803); 
    1187812183            rule__RepeatedSequence__Group__2(); 
    1187912184 
     
    1188912194        } 
    1189012195        finally { 
    11891             if ( state.backtracking>0 ) { memoize(input, 226, rule__RepeatedSequence__Group__1_StartIndex); } 
     12196            if ( state.backtracking>0 ) { memoize(input, 232, rule__RepeatedSequence__Group__1_StartIndex); } 
    1189212197 
    1189312198                restoreStackSize(stackSize); 
     
    1190012205 
    1190112206    // $ANTLR start "rule__RepeatedSequence__Group__1__Impl" 
    11902     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3746:1: rule__RepeatedSequence__Group__1__Impl : ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) ; 
     12207    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3843:1: rule__RepeatedSequence__Group__1__Impl : ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) ; 
    1190312208    public final void rule__RepeatedSequence__Group__1__Impl() throws RecognitionException { 
    1190412209        int rule__RepeatedSequence__Group__1__Impl_StartIndex = input.index(); 
     
    1190712212             
    1190812213        try { 
    11909             if ( state.backtracking>0 && alreadyParsedRule(input, 227) ) { return ; } 
    11910             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3750:1: ( ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) ) 
    11911             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3751:1: ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) 
    11912             { 
    11913             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3751:1: ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) 
    11914             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3752:1: ( rule__RepeatedSequence__DefinitionsAssignment_1 ) 
     12214            if ( state.backtracking>0 && alreadyParsedRule(input, 233) ) { return ; } 
     12215            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3847:1: ( ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) ) 
     12216            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3848:1: ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) 
     12217            { 
     12218            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3848:1: ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) 
     12219            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3849:1: ( rule__RepeatedSequence__DefinitionsAssignment_1 ) 
    1191512220            { 
    1191612221            if ( state.backtracking==0 ) { 
    1191712222               before(grammarAccess.getRepeatedSequenceAccess().getDefinitionsAssignment_1());  
    1191812223            } 
    11919             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3753:1: ( rule__RepeatedSequence__DefinitionsAssignment_1 ) 
    11920             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3753:2: rule__RepeatedSequence__DefinitionsAssignment_1 
    11921             { 
    11922             pushFollow(FOLLOW_rule__RepeatedSequence__DefinitionsAssignment_1_in_rule__RepeatedSequence__Group__1__Impl7630); 
     12224            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3850:1: ( rule__RepeatedSequence__DefinitionsAssignment_1 ) 
     12225            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3850:2: rule__RepeatedSequence__DefinitionsAssignment_1 
     12226            { 
     12227            pushFollow(FOLLOW_rule__RepeatedSequence__DefinitionsAssignment_1_in_rule__RepeatedSequence__Group__1__Impl7830); 
    1192312228            rule__RepeatedSequence__DefinitionsAssignment_1(); 
    1192412229 
     
    1194312248        } 
    1194412249        finally { 
    11945             if ( state.backtracking>0 ) { memoize(input, 227, rule__RepeatedSequence__Group__1__Impl_StartIndex); } 
     12250            if ( state.backtracking>0 ) { memoize(input, 233, rule__RepeatedSequence__Group__1__Impl_StartIndex); } 
    1194612251 
    1194712252                restoreStackSize(stackSize); 
     
    1195412259 
    1195512260    // $ANTLR start "rule__RepeatedSequence__Group__2" 
    11956     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3763:1: rule__RepeatedSequence__Group__2 : rule__RepeatedSequence__Group__2__Impl rule__RepeatedSequence__Group__3 ; 
     12261    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3860:1: rule__RepeatedSequence__Group__2 : rule__RepeatedSequence__Group__2__Impl rule__RepeatedSequence__Group__3 ; 
    1195712262    public final void rule__RepeatedSequence__Group__2() throws RecognitionException { 
    1195812263        int rule__RepeatedSequence__Group__2_StartIndex = input.index(); 
     
    1196112266             
    1196212267        try { 
    11963             if ( state.backtracking>0 && alreadyParsedRule(input, 228) ) { return ; } 
    11964             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3767:1: ( rule__RepeatedSequence__Group__2__Impl rule__RepeatedSequence__Group__3 ) 
    11965             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3768:2: rule__RepeatedSequence__Group__2__Impl rule__RepeatedSequence__Group__3 
    11966             { 
    11967             pushFollow(FOLLOW_rule__RepeatedSequence__Group__2__Impl_in_rule__RepeatedSequence__Group__27660); 
     12268            if ( state.backtracking>0 && alreadyParsedRule(input, 234) ) { return ; } 
     12269            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3864:1: ( rule__RepeatedSequence__Group__2__Impl rule__RepeatedSequence__Group__3 ) 
     12270            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3865:2: rule__RepeatedSequence__Group__2__Impl rule__RepeatedSequence__Group__3 
     12271            { 
     12272            pushFollow(FOLLOW_rule__RepeatedSequence__Group__2__Impl_in_rule__RepeatedSequence__Group__27860); 
    1196812273            rule__RepeatedSequence__Group__2__Impl(); 
    1196912274 
    1197012275            state._fsp--; 
    1197112276            if (state.failed) return ; 
    11972             pushFollow(FOLLOW_rule__RepeatedSequence__Group__3_in_rule__RepeatedSequence__Group__27663); 
     12277            pushFollow(FOLLOW_rule__RepeatedSequence__Group__3_in_rule__RepeatedSequence__Group__27863); 
    1197312278            rule__RepeatedSequence__Group__3(); 
    1197412279 
     
    1198412289        } 
    1198512290        finally { 
    11986             if ( state.backtracking>0 ) { memoize(input, 228, rule__RepeatedSequence__Group__2_StartIndex); } 
     12291            if ( state.backtracking>0 ) { memoize(input, 234, rule__RepeatedSequence__Group__2_StartIndex); } 
    1198712292 
    1198812293                restoreStackSize(stackSize); 
     
    1199512300 
    1199612301    // $ANTLR start "rule__RepeatedSequence__Group__2__Impl" 
    11997     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3775:1: rule__RepeatedSequence__Group__2__Impl : ( '}' ) ; 
     12302    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3872:1: rule__RepeatedSequence__Group__2__Impl : ( '}' ) ; 
    1199812303    public final void rule__RepeatedSequence__Group__2__Impl() throws RecognitionException { 
    1199912304        int rule__RepeatedSequence__Group__2__Impl_StartIndex = input.index(); 
     
    1200212307             
    1200312308        try { 
    12004             if ( state.backtracking>0 && alreadyParsedRule(input, 229) ) { return ; } 
    12005             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3779:1: ( ( '}' ) ) 
    12006             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3780:1: ( '}' ) 
    12007             { 
    12008             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3780:1: ( '}' ) 
    12009             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3781:1: '}' 
     12309            if ( state.backtracking>0 && alreadyParsedRule(input, 235) ) { return ; } 
     12310            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3876:1: ( ( '}' ) ) 
     12311            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3877:1: ( '}' ) 
     12312            { 
     12313            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3877:1: ( '}' ) 
     12314            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3878:1: '}' 
    1201012315            { 
    1201112316            if ( state.backtracking==0 ) { 
    1201212317               before(grammarAccess.getRepeatedSequenceAccess().getRightCurlyBracketKeyword_2());  
    1201312318            } 
    12014             match(input,15,FOLLOW_15_in_rule__RepeatedSequence__Group__2__Impl7691); if (state.failed) return ; 
     12319            match(input,15,FOLLOW_15_in_rule__RepeatedSequence__Group__2__Impl7891); if (state.failed) return ; 
    1201512320            if ( state.backtracking==0 ) { 
    1201612321               after(grammarAccess.getRepeatedSequenceAccess().getRightCurlyBracketKeyword_2());  
     
    1202812333        } 
    1202912334        finally { 
    12030             if ( state.backtracking>0 ) { memoize(input, 229, rule__RepeatedSequence__Group__2__Impl_StartIndex); } 
     12335            if ( state.backtracking>0 ) { memoize(input, 235, rule__RepeatedSequence__Group__2__Impl_StartIndex); } 
    1203112336 
    1203212337                restoreStackSize(stackSize); 
     
    1203912344 
    1204012345    // $ANTLR start "rule__RepeatedSequence__Group__3" 
    12041     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3794:1: rule__RepeatedSequence__Group__3 : rule__RepeatedSequence__Group__3__Impl ; 
     12346    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3891:1: rule__RepeatedSequence__Group__3 : rule__RepeatedSequence__Group__3__Impl ; 
    1204212347    public final void rule__RepeatedSequence__Group__3() throws RecognitionException { 
    1204312348        int rule__RepeatedSequence__Group__3_StartIndex = input.index(); 
     
    1204612351             
    1204712352        try { 
    12048             if ( state.backtracking>0 && alreadyParsedRule(input, 230) ) { return ; } 
    12049             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3798:1: ( rule__RepeatedSequence__Group__3__Impl ) 
    12050             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3799:2: rule__RepeatedSequence__Group__3__Impl 
    12051             { 
    12052             pushFollow(FOLLOW_rule__RepeatedSequence__Group__3__Impl_in_rule__RepeatedSequence__Group__37722); 
     12353            if ( state.backtracking>0 && alreadyParsedRule(input, 236) ) { return ; } 
     12354            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3895:1: ( rule__RepeatedSequence__Group__3__Impl ) 
     12355            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3896:2: rule__RepeatedSequence__Group__3__Impl 
     12356            { 
     12357            pushFollow(FOLLOW_rule__RepeatedSequence__Group__3__Impl_in_rule__RepeatedSequence__Group__37922); 
    1205312358            rule__RepeatedSequence__Group__3__Impl(); 
    1205412359 
     
    1206412369        } 
    1206512370        finally { 
    12066             if ( state.backtracking>0 ) { memoize(input, 230, rule__RepeatedSequence__Group__3_StartIndex); } 
     12371            if ( state.backtracking>0 ) { memoize(input, 236, rule__RepeatedSequence__Group__3_StartIndex); } 
    1206712372 
    1206812373                restoreStackSize(stackSize); 
     
    1207512380 
    1207612381    // $ANTLR start "rule__RepeatedSequence__Group__3__Impl" 
    12077     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3805:1: rule__RepeatedSequence__Group__3__Impl : ( ( rule__RepeatedSequence__Alternatives_3 ) ) ; 
     12382    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3902:1: rule__RepeatedSequence__Group__3__Impl : ( ( rule__RepeatedSequence__Alternatives_3 ) ) ; 
    1207812383    public final void rule__RepeatedSequence__Group__3__Impl() throws RecognitionException { 
    1207912384        int rule__RepeatedSequence__Group__3__Impl_StartIndex = input.index(); 
     
    1208212387             
    1208312388        try { 
    12084             if ( state.backtracking>0 && alreadyParsedRule(input, 231) ) { return ; } 
    12085             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3809:1: ( ( ( rule__RepeatedSequence__Alternatives_3 ) ) ) 
    12086             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3810:1: ( ( rule__RepeatedSequence__Alternatives_3 ) ) 
    12087             { 
    12088             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3810:1: ( ( rule__RepeatedSequence__Alternatives_3 ) ) 
    12089             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3811:1: ( rule__RepeatedSequence__Alternatives_3 ) 
     12389            if ( state.backtracking>0 && alreadyParsedRule(input, 237) ) { return ; } 
     12390            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3906:1: ( ( ( rule__RepeatedSequence__Alternatives_3 ) ) ) 
     12391            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3907:1: ( ( rule__RepeatedSequence__Alternatives_3 ) ) 
     12392            { 
     12393            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3907:1: ( ( rule__RepeatedSequence__Alternatives_3 ) ) 
     12394            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3908:1: ( rule__RepeatedSequence__Alternatives_3 ) 
    1209012395            { 
    1209112396            if ( state.backtracking==0 ) { 
    1209212397               before(grammarAccess.getRepeatedSequenceAccess().getAlternatives_3());  
    1209312398            } 
    12094             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3812:1: ( rule__RepeatedSequence__Alternatives_3 ) 
    12095             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3812:2: rule__RepeatedSequence__Alternatives_3 
    12096             { 
    12097             pushFollow(FOLLOW_rule__RepeatedSequence__Alternatives_3_in_rule__RepeatedSequence__Group__3__Impl7749); 
     12399            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3909:1: ( rule__RepeatedSequence__Alternatives_3 ) 
     12400            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3909:2: rule__RepeatedSequence__Alternatives_3 
     12401            { 
     12402            pushFollow(FOLLOW_rule__RepeatedSequence__Alternatives_3_in_rule__RepeatedSequence__Group__3__Impl7949); 
    1209812403            rule__RepeatedSequence__Alternatives_3(); 
    1209912404 
     
    1211812423        } 
    1211912424        finally { 
    12120             if ( state.backtracking>0 ) { memoize(input, 231, rule__RepeatedSequence__Group__3__Impl_StartIndex); } 
     12425            if ( state.backtracking>0 ) { memoize(input, 237, rule__RepeatedSequence__Group__3__Impl_StartIndex); } 
    1212112426 
    1212212427                restoreStackSize(stackSize); 
     
    1212912434 
    1213012435    // $ANTLR start "rule__RepeatRange__Group__0" 
    12131     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3830:1: rule__RepeatRange__Group__0 : rule__RepeatRange__Group__0__Impl rule__RepeatRange__Group__1 ; 
     12436    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3927:1: rule__RepeatRange__Group__0 : rule__RepeatRange__Group__0__Impl rule__RepeatRange__Group__1 ; 
    1213212437    public final void rule__RepeatRange__Group__0() throws RecognitionException { 
    1213312438        int rule__RepeatRange__Group__0_StartIndex = input.index(); 
     
    1213612441             
    1213712442        try { 
    12138             if ( state.backtracking>0 && alreadyParsedRule(input, 232) ) { return ; } 
    12139             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3834:1: ( rule__RepeatRange__Group__0__Impl rule__RepeatRange__Group__1 ) 
    12140             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3835:2: rule__RepeatRange__Group__0__Impl rule__RepeatRange__Group__1 
    12141             { 
    12142             pushFollow(FOLLOW_rule__RepeatRange__Group__0__Impl_in_rule__RepeatRange__Group__07787); 
     12443            if ( state.backtracking>0 && alreadyParsedRule(input, 238) ) { return ; } 
     12444            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3931:1: ( rule__RepeatRange__Group__0__Impl rule__RepeatRange__Group__1 ) 
     12445            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3932:2: rule__RepeatRange__Group__0__Impl rule__RepeatRange__Group__1 
     12446            { 
     12447            pushFollow(FOLLOW_rule__RepeatRange__Group__0__Impl_in_rule__RepeatRange__Group__07987); 
    1214312448            rule__RepeatRange__Group__0__Impl(); 
    1214412449 
    1214512450            state._fsp--; 
    1214612451            if (state.failed) return ; 
    12147             pushFollow(FOLLOW_rule__RepeatRange__Group__1_in_rule__RepeatRange__Group__07790); 
     12452            pushFollow(FOLLOW_rule__RepeatRange__Group__1_in_rule__RepeatRange__Group__07990); 
    1214812453            rule__RepeatRange__Group__1(); 
    1214912454 
     
    1215912464        } 
    1216012465        finally { 
    12161             if ( state.backtracking>0 ) { memoize(input, 232, rule__RepeatRange__Group__0_StartIndex); } 
     12466            if ( state.backtracking>0 ) { memoize(input, 238, rule__RepeatRange__Group__0_StartIndex); } 
    1216212467 
    1216312468                restoreStackSize(stackSize); 
     
    1217012475 
    1217112476    // $ANTLR start "rule__RepeatRange__Group__0__Impl" 
    12172     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3842:1: rule__RepeatRange__Group__0__Impl : ( '#' ) ; 
     12477    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3939:1: rule__RepeatRange__Group__0__Impl : ( '#' ) ; 
    1217312478    public final void rule__RepeatRange__Group__0__Impl() throws RecognitionException { 
    1217412479        int rule__RepeatRange__Group__0__Impl_StartIndex = input.index(); 
     
    1217712482             
    1217812483        try { 
    12179             if ( state.backtracking>0 && alreadyParsedRule(input, 233) ) { return ; } 
    12180             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3846:1: ( ( '#' ) ) 
    12181             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3847:1: ( '#' ) 
    12182             { 
    12183             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3847:1: ( '#' ) 
    12184             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3848:1: '#' 
     12484            if ( state.backtracking>0 && alreadyParsedRule(input, 239) ) { return ; } 
     12485            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3943:1: ( ( '#' ) ) 
     12486            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3944:1: ( '#' ) 
     12487            { 
     12488            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3944:1: ( '#' ) 
     12489            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3945:1: '#' 
    1218512490            { 
    1218612491            if ( state.backtracking==0 ) { 
    1218712492               before(grammarAccess.getRepeatRangeAccess().getNumberSignKeyword_0());  
    1218812493            } 
    12189             match(input,34,FOLLOW_34_in_rule__RepeatRange__Group__0__Impl7818); if (state.failed) return ; 
     12494            match(input,34,FOLLOW_34_in_rule__RepeatRange__Group__0__Impl8018); if (state.failed) return ; 
    1219012495            if ( state.backtracking==0 ) { 
    1219112496               after(grammarAccess.getRepeatRangeAccess().getNumberSignKeyword_0());  
     
    1220312508        } 
    1220412509        finally { 
    12205             if ( state.backtracking>0 ) { memoize(input, 233, rule__RepeatRange__Group__0__Impl_StartIndex); } 
     12510            if ( state.backtracking>0 ) { memoize(input, 239, rule__RepeatRange__Group__0__Impl_StartIndex); } 
    1220612511 
    1220712512                restoreStackSize(stackSize); 
     
    1221412519 
    1221512520    // $ANTLR start "rule__RepeatRange__Group__1" 
    12216     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3861:1: rule__RepeatRange__Group__1 : rule__RepeatRange__Group__1__Impl rule__RepeatRange__Group__2 ; 
     12521    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3958:1: rule__RepeatRange__Group__1 : rule__RepeatRange__Group__1__Impl rule__RepeatRange__Group__2 ; 
    1221712522    public final void rule__RepeatRange__Group__1() throws RecognitionException { 
    1221812523        int rule__RepeatRange__Group__1_StartIndex = input.index(); 
     
    1222112526             
    1222212527        try { 
    12223             if ( state.backtracking>0 && alreadyParsedRule(input, 234) ) { return ; } 
    12224             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3865:1: ( rule__RepeatRange__Group__1__Impl rule__RepeatRange__Group__2 ) 
    12225             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3866:2: rule__RepeatRange__Group__1__Impl rule__RepeatRange__Group__2 
    12226             { 
    12227             pushFollow(FOLLOW_rule__RepeatRange__Group__1__Impl_in_rule__RepeatRange__Group__17849); 
     12528            if ( state.backtracking>0 && alreadyParsedRule(input, 240) ) { return ; } 
     12529            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3962:1: ( rule__RepeatRange__Group__1__Impl rule__RepeatRange__Group__2 ) 
     12530            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3963:2: rule__RepeatRange__Group__1__Impl rule__RepeatRange__Group__2 
     12531            { 
     12532            pushFollow(FOLLOW_rule__RepeatRange__Group__1__Impl_in_rule__RepeatRange__Group__18049); 
    1222812533            rule__RepeatRange__Group__1__Impl(); 
    1222912534 
    1223012535            state._fsp--; 
    1223112536            if (state.failed) return ; 
    12232             pushFollow(FOLLOW_rule__RepeatRange__Group__2_in_rule__RepeatRange__Group__17852); 
     12537            pushFollow(FOLLOW_rule__RepeatRange__Group__2_in_rule__RepeatRange__Group__18052); 
    1223312538            rule__RepeatRange__Group__2(); 
    1223412539 
     
    1224412549        } 
    1224512550        finally { 
    12246             if ( state.backtracking>0 ) { memoize(input, 234, rule__RepeatRange__Group__1_StartIndex); } 
     12551            if ( state.backtracking>0 ) { memoize(input, 240, rule__RepeatRange__Group__1_StartIndex); } 
    1224712552 
    1224812553                restoreStackSize(stackSize); 
     
    1225512560 
    1225612561    // $ANTLR start "rule__RepeatRange__Group__1__Impl" 
    12257     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3873:1: rule__RepeatRange__Group__1__Impl : ( '(' ) ; 
     12562    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3970:1: rule__RepeatRange__Group__1__Impl : ( '(' ) ; 
    1225812563    public final void rule__RepeatRange__Group__1__Impl() throws RecognitionException { 
    1225912564        int rule__RepeatRange__Group__1__Impl_StartIndex = input.index(); 
     
    1226212567             
    1226312568        try { 
    12264             if ( state.backtracking>0 && alreadyParsedRule(input, 235) ) { return ; } 
    12265             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3877:1: ( ( '(' ) ) 
    12266             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3878:1: ( '(' ) 
    12267             { 
    12268             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3878:1: ( '(' ) 
    12269             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3879:1: '(' 
     12569            if ( state.backtracking>0 && alreadyParsedRule(input, 241) ) { return ; } 
     12570            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3974:1: ( ( '(' ) ) 
     12571            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3975:1: ( '(' ) 
     12572            { 
     12573            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3975:1: ( '(' ) 
     12574            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3976:1: '(' 
    1227012575            { 
    1227112576            if ( state.backtracking==0 ) { 
    1227212577               before(grammarAccess.getRepeatRangeAccess().getLeftParenthesisKeyword_1());  
    1227312578            } 
    12274             match(input,17,FOLLOW_17_in_rule__RepeatRange__Group__1__Impl7880); if (state.failed) return ; 
     12579            match(input,17,FOLLOW_17_in_rule__RepeatRange__Group__1__Impl8080); if (state.failed) return ; 
    1227512580            if ( state.backtracking==0 ) { 
    1227612581               after(grammarAccess.getRepeatRangeAccess().getLeftParenthesisKeyword_1());  
     
    1228812593        } 
    1228912594        finally { 
    12290             if ( state.backtracking>0 ) { memoize(input, 235, rule__RepeatRange__Group__1__Impl_StartIndex); } 
     12595            if ( state.backtracking>0 ) { memoize(input, 241, rule__RepeatRange__Group__1__Impl_StartIndex); } 
    1229112596 
    1229212597                restoreStackSize(stackSize); 
     
    1229912604 
    1230012605    // $ANTLR start "rule__RepeatRange__Group__2" 
    12301     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3892:1: rule__RepeatRange__Group__2 : rule__RepeatRange__Group__2__Impl rule__RepeatRange__Group__3 ; 
     12606    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3989:1: rule__RepeatRange__Group__2 : rule__RepeatRange__Group__2__Impl rule__RepeatRange__Group__3 ; 
    1230212607    public final void rule__RepeatRange__Group__2() throws RecognitionException { 
    1230312608        int rule__RepeatRange__Group__2_StartIndex = input.index(); 
     
    1230612611             
    1230712612        try { 
    12308             if ( state.backtracking>0 && alreadyParsedRule(input, 236) ) { return ; } 
    12309             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3896:1: ( rule__RepeatRange__Group__2__Impl rule__RepeatRange__Group__3 ) 
    12310             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3897:2: rule__RepeatRange__Group__2__Impl rule__RepeatRange__Group__3 
    12311             { 
    12312             pushFollow(FOLLOW_rule__RepeatRange__Group__2__Impl_in_rule__RepeatRange__Group__27911); 
     12613            if ( state.backtracking>0 && alreadyParsedRule(input, 242) ) { return ; } 
     12614            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3993:1: ( rule__RepeatRange__Group__2__Impl rule__RepeatRange__Group__3 ) 
     12615            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3994:2: rule__RepeatRange__Group__2__Impl rule__RepeatRange__Group__3 
     12616            { 
     12617            pushFollow(FOLLOW_rule__RepeatRange__Group__2__Impl_in_rule__RepeatRange__Group__28111); 
    1231312618            rule__RepeatRange__Group__2__Impl(); 
    1231412619 
    1231512620            state._fsp--; 
    1231612621            if (state.failed) return ; 
    12317             pushFollow(FOLLOW_rule__RepeatRange__Group__3_in_rule__RepeatRange__Group__27914); 
     12622            pushFollow(FOLLOW_rule__RepeatRange__Group__3_in_rule__RepeatRange__Group__28114); 
    1231812623            rule__RepeatRange__Group__3(); 
    1231912624 
     
    1232912634        } 
    1233012635        finally { 
    12331             if ( state.backtracking>0 ) { memoize(input, 236, rule__RepeatRange__Group__2_StartIndex); } 
     12636            if ( state.backtracking>0 ) { memoize(input, 242, rule__RepeatRange__Group__2_StartIndex); } 
    1233212637 
    1233312638                restoreStackSize(stackSize); 
     
    1234012645 
    1234112646    // $ANTLR start "rule__RepeatRange__Group__2__Impl" 
    12342     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3904:1: rule__RepeatRange__Group__2__Impl : ( ( rule__RepeatRange__FromAssignment_2 ) ) ; 
     12647    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4001:1: rule__RepeatRange__Group__2__Impl : ( ( rule__RepeatRange__FromAssignment_2 ) ) ; 
    1234312648    public final void rule__RepeatRange__Group__2__Impl() throws RecognitionException { 
    1234412649        int rule__RepeatRange__Group__2__Impl_StartIndex = input.index(); 
     
    1234712652             
    1234812653        try { 
    12349             if ( state.backtracking>0 && alreadyParsedRule(input, 237) ) { return ; } 
    12350             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3908:1: ( ( ( rule__RepeatRange__FromAssignment_2 ) ) ) 
    12351             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3909:1: ( ( rule__RepeatRange__FromAssignment_2 ) ) 
    12352             { 
    12353             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3909:1: ( ( rule__RepeatRange__FromAssignment_2 ) ) 
    12354             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3910:1: ( rule__RepeatRange__FromAssignment_2 ) 
     12654            if ( state.backtracking>0 && alreadyParsedRule(input, 243) ) { return ; } 
     12655            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4005:1: ( ( ( rule__RepeatRange__FromAssignment_2 ) ) ) 
     12656            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4006:1: ( ( rule__RepeatRange__FromAssignment_2 ) ) 
     12657            { 
     12658            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4006:1: ( ( rule__RepeatRange__FromAssignment_2 ) ) 
     12659            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4007:1: ( rule__RepeatRange__FromAssignment_2 ) 
    1235512660            { 
    1235612661            if ( state.backtracking==0 ) { 
    1235712662               before(grammarAccess.getRepeatRangeAccess().getFromAssignment_2());  
    1235812663            } 
    12359             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3911:1: ( rule__RepeatRange__FromAssignment_2 ) 
    12360             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3911:2: rule__RepeatRange__FromAssignment_2 
    12361             { 
    12362             pushFollow(FOLLOW_rule__RepeatRange__FromAssignment_2_in_rule__RepeatRange__Group__2__Impl7941); 
     12664            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4008:1: ( rule__RepeatRange__FromAssignment_2 ) 
     12665            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4008:2: rule__RepeatRange__FromAssignment_2 
     12666            { 
     12667            pushFollow(FOLLOW_rule__RepeatRange__FromAssignment_2_in_rule__RepeatRange__Group__2__Impl8141); 
    1236312668            rule__RepeatRange__FromAssignment_2(); 
    1236412669 
     
    1238312688        } 
    1238412689        finally { 
    12385             if ( state.backtracking>0 ) { memoize(input, 237, rule__RepeatRange__Group__2__Impl_StartIndex); } 
     12690            if ( state.backtracking>0 ) { memoize(input, 243, rule__RepeatRange__Group__2__Impl_StartIndex); } 
    1238612691 
    1238712692                restoreStackSize(stackSize); 
     
    1239412699 
    1239512700    // $ANTLR start "rule__RepeatRange__Group__3" 
    12396     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3921:1: rule__RepeatRange__Group__3 : rule__RepeatRange__Group__3__Impl rule__RepeatRange__Group__4 ; 
     12701    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4018:1: rule__RepeatRange__Group__3 : rule__RepeatRange__Group__3__Impl rule__RepeatRange__Group__4 ; 
    1239712702    public final void rule__RepeatRange__Group__3() throws RecognitionException { 
    1239812703        int rule__RepeatRange__Group__3_StartIndex = input.index(); 
     
    1240112706             
    1240212707        try { 
    12403             if ( state.backtracking>0 && alreadyParsedRule(input, 238) ) { return ; } 
    12404             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3925:1: ( rule__RepeatRange__Group__3__Impl rule__RepeatRange__Group__4 ) 
    12405             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3926:2: rule__RepeatRange__Group__3__Impl rule__RepeatRange__Group__4 
    12406             { 
    12407             pushFollow(FOLLOW_rule__RepeatRange__Group__3__Impl_in_rule__RepeatRange__Group__37971); 
     12708            if ( state.backtracking>0 && alreadyParsedRule(input, 244) ) { return ; } 
     12709            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4022:1: ( rule__RepeatRange__Group__3__Impl rule__RepeatRange__Group__4 ) 
     12710            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4023:2: rule__RepeatRange__Group__3__Impl rule__RepeatRange__Group__4 
     12711            { 
     12712            pushFollow(FOLLOW_rule__RepeatRange__Group__3__Impl_in_rule__RepeatRange__Group__38171); 
    1240812713            rule__RepeatRange__Group__3__Impl(); 
    1240912714 
    1241012715            state._fsp--; 
    1241112716            if (state.failed) return ; 
    12412             pushFollow(FOLLOW_rule__RepeatRange__Group__4_in_rule__RepeatRange__Group__37974); 
     12717            pushFollow(FOLLOW_rule__RepeatRange__Group__4_in_rule__RepeatRange__Group__38174); 
    1241312718            rule__RepeatRange__Group__4(); 
    1241412719 
     
    1242412729        } 
    1242512730        finally { 
    12426             if ( state.backtracking>0 ) { memoize(input, 238, rule__RepeatRange__Group__3_StartIndex); } 
     12731            if ( state.backtracking>0 ) { memoize(input, 244, rule__RepeatRange__Group__3_StartIndex); } 
    1242712732 
    1242812733                restoreStackSize(stackSize); 
     
    1243512740 
    1243612741    // $ANTLR start "rule__RepeatRange__Group__3__Impl" 
    12437     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3933:1: rule__RepeatRange__Group__3__Impl : ( ',' ) ; 
     12742    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4030:1: rule__RepeatRange__Group__3__Impl : ( ',' ) ; 
    1243812743    public final void rule__RepeatRange__Group__3__Impl() throws RecognitionException { 
    1243912744        int rule__RepeatRange__Group__3__Impl_StartIndex = input.index(); 
     
    1244212747             
    1244312748        try { 
    12444             if ( state.backtracking>0 && alreadyParsedRule(input, 239) ) { return ; } 
    12445             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3937:1: ( ( ',' ) ) 
    12446             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3938:1: ( ',' ) 
    12447             { 
    12448             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3938:1: ( ',' ) 
    12449             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3939:1: ',' 
     12749            if ( state.backtracking>0 && alreadyParsedRule(input, 245) ) { return ; } 
     12750            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4034:1: ( ( ',' ) ) 
     12751            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4035:1: ( ',' ) 
     12752            { 
     12753            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4035:1: ( ',' ) 
     12754            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4036:1: ',' 
    1245012755            { 
    1245112756            if ( state.backtracking==0 ) { 
    1245212757               before(grammarAccess.getRepeatRangeAccess().getCommaKeyword_3());  
    1245312758            } 
    12454             match(input,35,FOLLOW_35_in_rule__RepeatRange__Group__3__Impl8002); if (state.failed) return ; 
     12759            match(input,35,FOLLOW_35_in_rule__RepeatRange__Group__3__Impl8202); if (state.failed) return ; 
    1245512760            if ( state.backtracking==0 ) { 
    1245612761               after(grammarAccess.getRepeatRangeAccess().getCommaKeyword_3());  
     
    1246812773        } 
    1246912774        finally { 
    12470             if ( state.backtracking>0 ) { memoize(input, 239, rule__RepeatRange__Group__3__Impl_StartIndex); } 
     12775            if ( state.backtracking>0 ) { memoize(input, 245, rule__RepeatRange__Group__3__Impl_StartIndex); } 
    1247112776 
    1247212777                restoreStackSize(stackSize); 
     
    1247912784 
    1248012785    // $ANTLR start "rule__RepeatRange__Group__4" 
    12481     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3952:1: rule__RepeatRange__Group__4 : rule__RepeatRange__Group__4__Impl rule__RepeatRange__Group__5 ; 
     12786    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4049:1: rule__RepeatRange__Group__4 : rule__RepeatRange__Group__4__Impl rule__RepeatRange__Group__5 ; 
    1248212787    public final void rule__RepeatRange__Group__4() throws RecognitionException { 
    1248312788        int rule__RepeatRange__Group__4_StartIndex = input.index(); 
     
    1248612791             
    1248712792        try { 
    12488             if ( state.backtracking>0 && alreadyParsedRule(input, 240) ) { return ; } 
    12489             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3956:1: ( rule__RepeatRange__Group__4__Impl rule__RepeatRange__Group__5 ) 
    12490             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3957:2: rule__RepeatRange__Group__4__Impl rule__RepeatRange__Group__5 
    12491             { 
    12492             pushFollow(FOLLOW_rule__RepeatRange__Group__4__Impl_in_rule__RepeatRange__Group__48033); 
     12793            if ( state.backtracking>0 && alreadyParsedRule(input, 246) ) { return ; } 
     12794            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4053:1: ( rule__RepeatRange__Group__4__Impl rule__RepeatRange__Group__5 ) 
     12795            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4054:2: rule__RepeatRange__Group__4__Impl rule__RepeatRange__Group__5 
     12796            { 
     12797            pushFollow(FOLLOW_rule__RepeatRange__Group__4__Impl_in_rule__RepeatRange__Group__48233); 
    1249312798            rule__RepeatRange__Group__4__Impl(); 
    1249412799 
    1249512800            state._fsp--; 
    1249612801            if (state.failed) return ; 
    12497             pushFollow(FOLLOW_rule__RepeatRange__Group__5_in_rule__RepeatRange__Group__48036); 
     12802            pushFollow(FOLLOW_rule__RepeatRange__Group__5_in_rule__RepeatRange__Group__48236); 
    1249812803            rule__RepeatRange__Group__5(); 
    1249912804 
     
    1250912814        } 
    1251012815        finally { 
    12511             if ( state.backtracking>0 ) { memoize(input, 240, rule__RepeatRange__Group__4_StartIndex); } 
     12816            if ( state.backtracking>0 ) { memoize(input, 246, rule__RepeatRange__Group__4_StartIndex); } 
    1251212817 
    1251312818                restoreStackSize(stackSize); 
     
    1252012825 
    1252112826    // $ANTLR start "rule__RepeatRange__Group__4__Impl" 
    12522     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3964:1: rule__RepeatRange__Group__4__Impl : ( ( rule__RepeatRange__ToAssignment_4 ) ) ; 
     12827    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4061:1: rule__RepeatRange__Group__4__Impl : ( ( rule__RepeatRange__ToAssignment_4 ) ) ; 
    1252312828    public final void rule__RepeatRange__Group__4__Impl() throws RecognitionException { 
    1252412829        int rule__RepeatRange__Group__4__Impl_StartIndex = input.index(); 
     
    1252712832             
    1252812833        try { 
    12529             if ( state.backtracking>0 && alreadyParsedRule(input, 241) ) { return ; } 
    12530             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3968:1: ( ( ( rule__RepeatRange__ToAssignment_4 ) ) ) 
    12531             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3969:1: ( ( rule__RepeatRange__ToAssignment_4 ) ) 
    12532             { 
    12533             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3969:1: ( ( rule__RepeatRange__ToAssignment_4 ) ) 
    12534             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3970:1: ( rule__RepeatRange__ToAssignment_4 ) 
     12834            if ( state.backtracking>0 && alreadyParsedRule(input, 247) ) { return ; } 
     12835            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4065:1: ( ( ( rule__RepeatRange__ToAssignment_4 ) ) ) 
     12836            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4066:1: ( ( rule__RepeatRange__ToAssignment_4 ) ) 
     12837            { 
     12838            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4066:1: ( ( rule__RepeatRange__ToAssignment_4 ) ) 
     12839            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4067:1: ( rule__RepeatRange__ToAssignment_4 ) 
    1253512840            { 
    1253612841            if ( state.backtracking==0 ) { 
    1253712842               before(grammarAccess.getRepeatRangeAccess().getToAssignment_4());  
    1253812843            } 
    12539             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3971:1: ( rule__RepeatRange__ToAssignment_4 ) 
    12540             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3971:2: rule__RepeatRange__ToAssignment_4 
    12541             { 
    12542             pushFollow(FOLLOW_rule__RepeatRange__ToAssignment_4_in_rule__RepeatRange__Group__4__Impl8063); 
     12844            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4068:1: ( rule__RepeatRange__ToAssignment_4 ) 
     12845            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4068:2: rule__RepeatRange__ToAssignment_4 
     12846            { 
     12847            pushFollow(FOLLOW_rule__RepeatRange__ToAssignment_4_in_rule__RepeatRange__Group__4__Impl8263); 
    1254312848            rule__RepeatRange__ToAssignment_4(); 
    1254412849 
     
    1256312868        } 
    1256412869        finally { 
    12565             if ( state.backtracking>0 ) { memoize(input, 241, rule__RepeatRange__Group__4__Impl_StartIndex); } 
     12870            if ( state.backtracking>0 ) { memoize(input, 247, rule__RepeatRange__Group__4__Impl_StartIndex); } 
    1256612871 
    1256712872                restoreStackSize(stackSize); 
     
    1257412879 
    1257512880    // $ANTLR start "rule__RepeatRange__Group__5" 
    12576     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3981:1: rule__RepeatRange__Group__5 : rule__RepeatRange__Group__5__Impl ; 
     12881    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4078:1: rule__RepeatRange__Group__5 : rule__RepeatRange__Group__5__Impl ; 
    1257712882    public final void rule__RepeatRange__Group__5() throws RecognitionException { 
    1257812883        int rule__RepeatRange__Group__5_StartIndex = input.index(); 
     
    1258112886             
    1258212887        try { 
    12583             if ( state.backtracking>0 && alreadyParsedRule(input, 242) ) { return ; } 
    12584             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3985:1: ( rule__RepeatRange__Group__5__Impl ) 
    12585             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3986:2: rule__RepeatRange__Group__5__Impl 
    12586             { 
    12587             pushFollow(FOLLOW_rule__RepeatRange__Group__5__Impl_in_rule__RepeatRange__Group__58093); 
     12888            if ( state.backtracking>0 && alreadyParsedRule(input, 248) ) { return ; } 
     12889            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4082:1: ( rule__RepeatRange__Group__5__Impl ) 
     12890            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4083:2: rule__RepeatRange__Group__5__Impl 
     12891            { 
     12892            pushFollow(FOLLOW_rule__RepeatRange__Group__5__Impl_in_rule__RepeatRange__Group__58293); 
    1258812893            rule__RepeatRange__Group__5__Impl(); 
    1258912894 
     
    1259912904        } 
    1260012905        finally { 
    12601             if ( state.backtracking>0 ) { memoize(input, 242, rule__RepeatRange__Group__5_StartIndex); } 
     12906            if ( state.backtracking>0 ) { memoize(input, 248, rule__RepeatRange__Group__5_StartIndex); } 
    1260212907 
    1260312908                restoreStackSize(stackSize); 
     
    1261012915 
    1261112916    // $ANTLR start "rule__RepeatRange__Group__5__Impl" 
    12612     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3992:1: rule__RepeatRange__Group__5__Impl : ( ')' ) ; 
     12917    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4089:1: rule__RepeatRange__Group__5__Impl : ( ')' ) ; 
    1261312918    public final void rule__RepeatRange__Group__5__Impl() throws RecognitionException { 
    1261412919        int rule__RepeatRange__Group__5__Impl_StartIndex = input.index(); 
     
    1261712922             
    1261812923        try { 
    12619             if ( state.backtracking>0 && alreadyParsedRule(input, 243) ) { return ; } 
    12620             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3996:1: ( ( ')' ) ) 
    12621             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3997:1: ( ')' ) 
    12622             { 
    12623             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3997:1: ( ')' ) 
    12624             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3998:1: ')' 
     12924            if ( state.backtracking>0 && alreadyParsedRule(input, 249) ) { return ; } 
     12925            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4093:1: ( ( ')' ) ) 
     12926            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4094:1: ( ')' ) 
     12927            { 
     12928            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4094:1: ( ')' ) 
     12929            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4095:1: ')' 
    1262512930            { 
    1262612931            if ( state.backtracking==0 ) { 
    1262712932               before(grammarAccess.getRepeatRangeAccess().getRightParenthesisKeyword_5());  
    1262812933            } 
    12629             match(input,13,FOLLOW_13_in_rule__RepeatRange__Group__5__Impl8121); if (state.failed) return ; 
     12934            match(input,13,FOLLOW_13_in_rule__RepeatRange__Group__5__Impl8321); if (state.failed) return ; 
    1263012935            if ( state.backtracking==0 ) { 
    1263112936               after(grammarAccess.getRepeatRangeAccess().getRightParenthesisKeyword_5());  
     
    1264312948        } 
    1264412949        finally { 
    12645             if ( state.backtracking>0 ) { memoize(input, 243, rule__RepeatRange__Group__5__Impl_StartIndex); } 
     12950            if ( state.backtracking>0 ) { memoize(input, 249, rule__RepeatRange__Group__5__Impl_StartIndex); } 
    1264612951 
    1264712952                restoreStackSize(stackSize); 
     
    1265412959 
    1265512960    // $ANTLR start "rule__EtsiBnf__NameAssignment_0_1" 
    12656     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4024:1: rule__EtsiBnf__NameAssignment_0_1 : ( RULE_ID ) ; 
     12961    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4121:1: rule__EtsiBnf__NameAssignment_0_1 : ( RULE_ID ) ; 
    1265712962    public final void rule__EtsiBnf__NameAssignment_0_1() throws RecognitionException { 
    1265812963        int rule__EtsiBnf__NameAssignment_0_1_StartIndex = input.index(); 
     
    1266112966             
    1266212967        try { 
    12663             if ( state.backtracking>0 && alreadyParsedRule(input, 244) ) { return ; } 
    12664             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4028:1: ( ( RULE_ID ) ) 
    12665             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4029:1: ( RULE_ID ) 
    12666             { 
    12667             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4029:1: ( RULE_ID ) 
    12668             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4030:1: RULE_ID 
     12968            if ( state.backtracking>0 && alreadyParsedRule(input, 250) ) { return ; } 
     12969            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4125:1: ( ( RULE_ID ) ) 
     12970            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4126:1: ( RULE_ID ) 
     12971            { 
     12972            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4126:1: ( RULE_ID ) 
     12973            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4127:1: RULE_ID 
    1266912974            { 
    1267012975            if ( state.backtracking==0 ) { 
    1267112976               before(grammarAccess.getEtsiBnfAccess().getNameIDTerminalRuleCall_0_1_0());  
    1267212977            } 
    12673             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EtsiBnf__NameAssignment_0_18169); if (state.failed) return ; 
     12978            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EtsiBnf__NameAssignment_0_18369); if (state.failed) return ; 
    1267412979            if ( state.backtracking==0 ) { 
    1267512980               after(grammarAccess.getEtsiBnfAccess().getNameIDTerminalRuleCall_0_1_0());  
     
    1268712992        } 
    1268812993        finally { 
    12689             if ( state.backtracking>0 ) { memoize(input, 244, rule__EtsiBnf__NameAssignment_0_1_StartIndex); } 
     12994            if ( state.backtracking>0 ) { memoize(input, 250, rule__EtsiBnf__NameAssignment_0_1_StartIndex); } 
    1269012995 
    1269112996                restoreStackSize(stackSize); 
     
    1269813003 
    1269913004    // $ANTLR start "rule__EtsiBnf__TypeAssignment_0_2_0" 
    12700     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4039:1: rule__EtsiBnf__TypeAssignment_0_2_0 : ( ( '/bnf' ) ) ; 
     13005    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4136:1: rule__EtsiBnf__TypeAssignment_0_2_0 : ( ( '/bnf' ) ) ; 
    1270113006    public final void rule__EtsiBnf__TypeAssignment_0_2_0() throws RecognitionException { 
    1270213007        int rule__EtsiBnf__TypeAssignment_0_2_0_StartIndex = input.index(); 
     
    1270513010             
    1270613011        try { 
    12707             if ( state.backtracking>0 && alreadyParsedRule(input, 245) ) { return ; } 
    12708             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4043:1: ( ( ( '/bnf' ) ) ) 
    12709             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4044:1: ( ( '/bnf' ) ) 
    12710             { 
    12711             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4044:1: ( ( '/bnf' ) ) 
    12712             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4045:1: ( '/bnf' ) 
     13012            if ( state.backtracking>0 && alreadyParsedRule(input, 251) ) { return ; } 
     13013            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4140:1: ( ( ( '/bnf' ) ) ) 
     13014            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4141:1: ( ( '/bnf' ) ) 
     13015            { 
     13016            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4141:1: ( ( '/bnf' ) ) 
     13017            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4142:1: ( '/bnf' ) 
    1271313018            { 
    1271413019            if ( state.backtracking==0 ) { 
    1271513020               before(grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());  
    1271613021            } 
    12717             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4046:1: ( '/bnf' ) 
    12718             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4047:1: '/bnf' 
     13022            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4143:1: ( '/bnf' ) 
     13023            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4144:1: '/bnf' 
    1271913024            { 
    1272013025            if ( state.backtracking==0 ) { 
    1272113026               before(grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());  
    1272213027            } 
    12723             match(input,36,FOLLOW_36_in_rule__EtsiBnf__TypeAssignment_0_2_08205); if (state.failed) return ; 
     13028            match(input,36,FOLLOW_36_in_rule__EtsiBnf__TypeAssignment_0_2_08405); if (state.failed) return ; 
    1272413029            if ( state.backtracking==0 ) { 
    1272513030               after(grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());  
     
    1274313048        } 
    1274413049        finally { 
    12745             if ( state.backtracking>0 ) { memoize(input, 245, rule__EtsiBnf__TypeAssignment_0_2_0_StartIndex); } 
     13050            if ( state.backtracking>0 ) { memoize(input, 251, rule__EtsiBnf__TypeAssignment_0_2_0_StartIndex); } 
    1274613051 
    1274713052                restoreStackSize(stackSize); 
     
    1275413059 
    1275513060    // $ANTLR start "rule__EtsiBnf__ImportSectionAssignment_0_2_2" 
    12756     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4062:1: rule__EtsiBnf__ImportSectionAssignment_0_2_2 : ( ruleImportSection ) ; 
     13061    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4159:1: rule__EtsiBnf__ImportSectionAssignment_0_2_2 : ( ruleImportSection ) ; 
    1275713062    public final void rule__EtsiBnf__ImportSectionAssignment_0_2_2() throws RecognitionException { 
    1275813063        int rule__EtsiBnf__ImportSectionAssignment_0_2_2_StartIndex = input.index(); 
     
    1276113066             
    1276213067        try { 
    12763             if ( state.backtracking>0 && alreadyParsedRule(input, 246) ) { return ; } 
    12764             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4066:1: ( ( ruleImportSection ) ) 
    12765             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4067:1: ( ruleImportSection ) 
    12766             { 
    12767             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4067:1: ( ruleImportSection ) 
    12768             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4068:1: ruleImportSection 
     13068            if ( state.backtracking>0 && alreadyParsedRule(input, 252) ) { return ; } 
     13069            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4163:1: ( ( ruleImportSection ) ) 
     13070            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4164:1: ( ruleImportSection ) 
     13071            { 
     13072            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4164:1: ( ruleImportSection ) 
     13073            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4165:1: ruleImportSection 
    1276913074            { 
    1277013075            if ( state.backtracking==0 ) { 
    1277113076               before(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_0_2_2_0());  
    1277213077            } 
    12773             pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_0_2_28244); 
     13078            pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_0_2_28444); 
    1277413079            ruleImportSection(); 
    1277513080 
     
    1279113096        } 
    1279213097        finally { 
    12793             if ( state.backtracking>0 ) { memoize(input, 246, rule__EtsiBnf__ImportSectionAssignment_0_2_2_StartIndex); } 
     13098            if ( state.backtracking>0 ) { memoize(input, 252, rule__EtsiBnf__ImportSectionAssignment_0_2_2_StartIndex); } 
    1279413099 
    1279513100                restoreStackSize(stackSize); 
     
    1280213107 
    1280313108    // $ANTLR start "rule__EtsiBnf__BnfEntryAssignment_0_2_3" 
    12804     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4077:1: rule__EtsiBnf__BnfEntryAssignment_0_2_3 : ( ruleBnfEntry ) ; 
     13109    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4174:1: rule__EtsiBnf__BnfEntryAssignment_0_2_3 : ( ruleBnfEntry ) ; 
    1280513110    public final void rule__EtsiBnf__BnfEntryAssignment_0_2_3() throws RecognitionException { 
    1280613111        int rule__EtsiBnf__BnfEntryAssignment_0_2_3_StartIndex = input.index(); 
     
    1280913114             
    1281013115        try { 
    12811             if ( state.backtracking>0 && alreadyParsedRule(input, 247) ) { return ; } 
    12812             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4081:1: ( ( ruleBnfEntry ) ) 
    12813             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4082:1: ( ruleBnfEntry ) 
    12814             { 
    12815             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4082:1: ( ruleBnfEntry ) 
    12816             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4083:1: ruleBnfEntry 
     13116            if ( state.backtracking>0 && alreadyParsedRule(input, 253) ) { return ; } 
     13117            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4178:1: ( ( ruleBnfEntry ) ) 
     13118            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4179:1: ( ruleBnfEntry ) 
     13119            { 
     13120            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4179:1: ( ruleBnfEntry ) 
     13121            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4180:1: ruleBnfEntry 
    1281713122            { 
    1281813123            if ( state.backtracking==0 ) { 
    1281913124               before(grammarAccess.getEtsiBnfAccess().getBnfEntryBnfEntryParserRuleCall_0_2_3_0());  
    1282013125            } 
    12821             pushFollow(FOLLOW_ruleBnfEntry_in_rule__EtsiBnf__BnfEntryAssignment_0_2_38275); 
     13126            pushFollow(FOLLOW_ruleBnfEntry_in_rule__EtsiBnf__BnfEntryAssignment_0_2_38475); 
    1282213127            ruleBnfEntry(); 
    1282313128 
     
    1283913144        } 
    1284013145        finally { 
    12841             if ( state.backtracking>0 ) { memoize(input, 247, rule__EtsiBnf__BnfEntryAssignment_0_2_3_StartIndex); } 
     13146            if ( state.backtracking>0 ) { memoize(input, 253, rule__EtsiBnf__BnfEntryAssignment_0_2_3_StartIndex); } 
    1284213147 
    1284313148                restoreStackSize(stackSize); 
     
    1285013155 
    1285113156    // $ANTLR start "rule__EtsiBnf__TypeAssignment_1_0" 
    12852     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4092:1: rule__EtsiBnf__TypeAssignment_1_0 : ( ( '/delta' ) ) ; 
     13157    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4189:1: rule__EtsiBnf__TypeAssignment_1_0 : ( ( '/delta' ) ) ; 
    1285313158    public final void rule__EtsiBnf__TypeAssignment_1_0() throws RecognitionException { 
    1285413159        int rule__EtsiBnf__TypeAssignment_1_0_StartIndex = input.index(); 
     
    1285713162             
    1285813163        try { 
    12859             if ( state.backtracking>0 && alreadyParsedRule(input, 248) ) { return ; } 
    12860             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4096:1: ( ( ( '/delta' ) ) ) 
    12861             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4097:1: ( ( '/delta' ) ) 
    12862             { 
    12863             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4097:1: ( ( '/delta' ) ) 
    12864             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4098:1: ( '/delta' ) 
     13164            if ( state.backtracking>0 && alreadyParsedRule(input, 254) ) { return ; } 
     13165            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4193:1: ( ( ( '/delta' ) ) ) 
     13166            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4194:1: ( ( '/delta' ) ) 
     13167            { 
     13168            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4194:1: ( ( '/delta' ) ) 
     13169            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4195:1: ( '/delta' ) 
    1286513170            { 
    1286613171            if ( state.backtracking==0 ) { 
    1286713172               before(grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());  
    1286813173            } 
    12869             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4099:1: ( '/delta' ) 
    12870             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4100:1: '/delta' 
     13174            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4196:1: ( '/delta' ) 
     13175            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4197:1: '/delta' 
    1287113176            { 
    1287213177            if ( state.backtracking==0 ) { 
    1287313178               before(grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());  
    1287413179            } 
    12875             match(input,37,FOLLOW_37_in_rule__EtsiBnf__TypeAssignment_1_08311); if (state.failed) return ; 
     13180            match(input,37,FOLLOW_37_in_rule__EtsiBnf__TypeAssignment_1_08511); if (state.failed) return ; 
    1287613181            if ( state.backtracking==0 ) { 
    1287713182               after(grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());  
     
    1289513200        } 
    1289613201        finally { 
    12897             if ( state.backtracking>0 ) { memoize(input, 248, rule__EtsiBnf__TypeAssignment_1_0_StartIndex); } 
     13202            if ( state.backtracking>0 ) { memoize(input, 254, rule__EtsiBnf__TypeAssignment_1_0_StartIndex); } 
    1289813203 
    1289913204                restoreStackSize(stackSize); 
     
    1290613211 
    1290713212    // $ANTLR start "rule__EtsiBnf__ImportSectionAssignment_1_2" 
    12908     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4115:1: rule__EtsiBnf__ImportSectionAssignment_1_2 : ( ruleImportSection ) ; 
     13213    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4212:1: rule__EtsiBnf__ImportSectionAssignment_1_2 : ( ruleImportSection ) ; 
    1290913214    public final void rule__EtsiBnf__ImportSectionAssignment_1_2() throws RecognitionException { 
    1291013215        int rule__EtsiBnf__ImportSectionAssignment_1_2_StartIndex = input.index(); 
     
    1291313218             
    1291413219        try { 
    12915             if ( state.backtracking>0 && alreadyParsedRule(input, 249) ) { return ; } 
    12916             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4119:1: ( ( ruleImportSection ) ) 
    12917             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4120:1: ( ruleImportSection ) 
    12918             { 
    12919             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4120:1: ( ruleImportSection ) 
    12920             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4121:1: ruleImportSection 
     13220            if ( state.backtracking>0 && alreadyParsedRule(input, 255) ) { return ; } 
     13221            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4216:1: ( ( ruleImportSection ) ) 
     13222            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4217:1: ( ruleImportSection ) 
     13223            { 
     13224            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4217:1: ( ruleImportSection ) 
     13225            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4218:1: ruleImportSection 
    1292113226            { 
    1292213227            if ( state.backtracking==0 ) { 
    1292313228               before(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_1_2_0());  
    1292413229            } 
    12925             pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_1_28350); 
     13230            pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_1_28550); 
    1292613231            ruleImportSection(); 
    1292713232 
     
    1294313248        } 
    1294413249        finally { 
    12945             if ( state.backtracking>0 ) { memoize(input, 249, rule__EtsiBnf__ImportSectionAssignment_1_2_StartIndex); } 
     13250            if ( state.backtracking>0 ) { memoize(input, 255, rule__EtsiBnf__ImportSectionAssignment_1_2_StartIndex); } 
    1294613251 
    1294713252                restoreStackSize(stackSize); 
     
    1295413259 
    1295513260    // $ANTLR start "rule__EtsiBnf__DeltaEntryAssignment_1_3" 
    12956     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4130:1: rule__EtsiBnf__DeltaEntryAssignment_1_3 : ( ruleDeltaEntry ) ; 
     13261    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4227:1: rule__EtsiBnf__DeltaEntryAssignment_1_3 : ( ruleDeltaEntry ) ; 
    1295713262    public final void rule__EtsiBnf__DeltaEntryAssignment_1_3() throws RecognitionException { 
    1295813263        int rule__EtsiBnf__DeltaEntryAssignment_1_3_StartIndex = input.index(); 
     
    1296113266             
    1296213267        try { 
    12963             if ( state.backtracking>0 && alreadyParsedRule(input, 250) ) { return ; } 
    12964             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4134:1: ( ( ruleDeltaEntry ) ) 
    12965             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4135:1: ( ruleDeltaEntry ) 
    12966             { 
    12967             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4135:1: ( ruleDeltaEntry ) 
    12968             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4136:1: ruleDeltaEntry 
     13268            if ( state.backtracking>0 && alreadyParsedRule(input, 256) ) { return ; } 
     13269            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4231:1: ( ( ruleDeltaEntry ) ) 
     13270            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4232:1: ( ruleDeltaEntry ) 
     13271            { 
     13272            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4232:1: ( ruleDeltaEntry ) 
     13273            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4233:1: ruleDeltaEntry 
    1296913274            { 
    1297013275            if ( state.backtracking==0 ) { 
    1297113276               before(grammarAccess.getEtsiBnfAccess().getDeltaEntryDeltaEntryParserRuleCall_1_3_0());  
    1297213277            } 
    12973             pushFollow(FOLLOW_ruleDeltaEntry_in_rule__EtsiBnf__DeltaEntryAssignment_1_38381); 
     13278            pushFollow(FOLLOW_ruleDeltaEntry_in_rule__EtsiBnf__DeltaEntryAssignment_1_38581); 
    1297413279            ruleDeltaEntry(); 
    1297513280 
     
    1299113296        } 
    1299213297        finally { 
    12993             if ( state.backtracking>0 ) { memoize(input, 250, rule__EtsiBnf__DeltaEntryAssignment_1_3_StartIndex); } 
     13298            if ( state.backtracking>0 ) { memoize(input, 256, rule__EtsiBnf__DeltaEntryAssignment_1_3_StartIndex); } 
    1299413299 
    1299513300                restoreStackSize(stackSize); 
     
    1300213307 
    1300313308    // $ANTLR start "rule__EtsiBnf__TypeAssignment_2_0" 
    13004     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4145:1: rule__EtsiBnf__TypeAssignment_2_0 : ( ( '/merge' ) ) ; 
     13309    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4242:1: rule__EtsiBnf__TypeAssignment_2_0 : ( ( '/merge' ) ) ; 
    1300513310    public final void rule__EtsiBnf__TypeAssignment_2_0() throws RecognitionException { 
    1300613311        int rule__EtsiBnf__TypeAssignment_2_0_StartIndex = input.index(); 
     
    1300913314             
    1301013315        try { 
    13011             if ( state.backtracking>0 && alreadyParsedRule(input, 251) ) { return ; } 
    13012             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4149:1: ( ( ( '/merge' ) ) ) 
    13013             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4150:1: ( ( '/merge' ) ) 
    13014             { 
    13015             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4150:1: ( ( '/merge' ) ) 
    13016             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4151:1: ( '/merge' ) 
     13316            if ( state.backtracking>0 && alreadyParsedRule(input, 257) ) { return ; } 
     13317            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4246:1: ( ( ( '/merge' ) ) ) 
     13318            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4247:1: ( ( '/merge' ) ) 
     13319            { 
     13320            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4247:1: ( ( '/merge' ) ) 
     13321            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4248:1: ( '/merge' ) 
    1301713322            { 
    1301813323            if ( state.backtracking==0 ) { 
    1301913324               before(grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());  
    1302013325            } 
    13021             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4152:1: ( '/merge' ) 
    13022             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4153:1: '/merge' 
     13326            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4249:1: ( '/merge' ) 
     13327            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4250:1: '/merge' 
    1302313328            { 
    1302413329            if ( state.backtracking==0 ) { 
    1302513330               before(grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());  
    1302613331            } 
    13027             match(input,38,FOLLOW_38_in_rule__EtsiBnf__TypeAssignment_2_08417); if (state.failed) return ; 
     13332            match(input,38,FOLLOW_38_in_rule__EtsiBnf__TypeAssignment_2_08617); if (state.failed) return ; 
    1302813333            if ( state.backtracking==0 ) { 
    1302913334               after(grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());  
     
    1304713352        } 
    1304813353        finally { 
    13049             if ( state.backtracking>0 ) { memoize(input, 251, rule__EtsiBnf__TypeAssignment_2_0_StartIndex); } 
     13354            if ( state.backtracking>0 ) { memoize(input, 257, rule__EtsiBnf__TypeAssignment_2_0_StartIndex); } 
    1305013355 
    1305113356                restoreStackSize(stackSize); 
     
    1305813363 
    1305913364    // $ANTLR start "rule__EtsiBnf__ImportSectionAssignment_2_2" 
    13060     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4168:1: rule__EtsiBnf__ImportSectionAssignment_2_2 : ( ruleImportSection ) ; 
     13365    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4265:1: rule__EtsiBnf__ImportSectionAssignment_2_2 : ( ruleImportSection ) ; 
    1306113366    public final void rule__EtsiBnf__ImportSectionAssignment_2_2() throws RecognitionException { 
    1306213367        int rule__EtsiBnf__ImportSectionAssignment_2_2_StartIndex = input.index(); 
     
    1306513370             
    1306613371        try { 
    13067             if ( state.backtracking>0 && alreadyParsedRule(input, 252) ) { return ; } 
    13068             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4172:1: ( ( ruleImportSection ) ) 
    13069             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4173:1: ( ruleImportSection ) 
    13070             { 
    13071             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4173:1: ( ruleImportSection ) 
    13072             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4174:1: ruleImportSection 
     13372            if ( state.backtracking>0 && alreadyParsedRule(input, 258) ) { return ; } 
     13373            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4269:1: ( ( ruleImportSection ) ) 
     13374            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4270:1: ( ruleImportSection ) 
     13375            { 
     13376            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4270:1: ( ruleImportSection ) 
     13377            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4271:1: ruleImportSection 
    1307313378            { 
    1307413379            if ( state.backtracking==0 ) { 
    1307513380               before(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_2_2_0());  
    1307613381            } 
    13077             pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_2_28456); 
     13382            pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_2_28656); 
    1307813383            ruleImportSection(); 
    1307913384 
     
    1309513400        } 
    1309613401        finally { 
    13097             if ( state.backtracking>0 ) { memoize(input, 252, rule__EtsiBnf__ImportSectionAssignment_2_2_StartIndex); } 
     13402            if ( state.backtracking>0 ) { memoize(input, 258, rule__EtsiBnf__ImportSectionAssignment_2_2_StartIndex); } 
    1309813403 
    1309913404                restoreStackSize(stackSize); 
     
    1310613411 
    1310713412    // $ANTLR start "rule__EtsiBnf__MergeEntryAssignment_2_3" 
    13108     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4183:1: rule__EtsiBnf__MergeEntryAssignment_2_3 : ( ruleMergeEntry ) ; 
     13413    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4280:1: rule__EtsiBnf__MergeEntryAssignment_2_3 : ( ruleMergeEntry ) ; 
    1310913414    public final void rule__EtsiBnf__MergeEntryAssignment_2_3() throws RecognitionException { 
    1311013415        int rule__EtsiBnf__MergeEntryAssignment_2_3_StartIndex = input.index(); 
     
    1311313418             
    1311413419        try { 
    13115             if ( state.backtracking>0 && alreadyParsedRule(input, 253) ) { return ; } 
    13116             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4187:1: ( ( ruleMergeEntry ) ) 
    13117             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4188:1: ( ruleMergeEntry ) 
    13118             { 
    13119             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4188:1: ( ruleMergeEntry ) 
    13120             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4189:1: ruleMergeEntry 
     13420            if ( state.backtracking>0 && alreadyParsedRule(input, 259) ) { return ; } 
     13421            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4284:1: ( ( ruleMergeEntry ) ) 
     13422            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4285:1: ( ruleMergeEntry ) 
     13423            { 
     13424            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4285:1: ( ruleMergeEntry ) 
     13425            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4286:1: ruleMergeEntry 
    1312113426            { 
    1312213427            if ( state.backtracking==0 ) { 
    1312313428               before(grammarAccess.getEtsiBnfAccess().getMergeEntryMergeEntryParserRuleCall_2_3_0());  
    1312413429            } 
    13125             pushFollow(FOLLOW_ruleMergeEntry_in_rule__EtsiBnf__MergeEntryAssignment_2_38487); 
     13430            pushFollow(FOLLOW_ruleMergeEntry_in_rule__EtsiBnf__MergeEntryAssignment_2_38687); 
    1312613431            ruleMergeEntry(); 
    1312713432 
     
    1314313448        } 
    1314413449        finally { 
    13145             if ( state.backtracking>0 ) { memoize(input, 253, rule__EtsiBnf__MergeEntryAssignment_2_3_StartIndex); } 
     13450            if ( state.backtracking>0 ) { memoize(input, 259, rule__EtsiBnf__MergeEntryAssignment_2_3_StartIndex); } 
    1314613451 
    1314713452                restoreStackSize(stackSize); 
     
    1315413459 
    1315513460    // $ANTLR start "rule__ImportSection__ImportsAssignment" 
    13156     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4198:1: rule__ImportSection__ImportsAssignment : ( ruleImport ) ; 
     13461    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4295:1: rule__ImportSection__ImportsAssignment : ( ruleImport ) ; 
    1315713462    public final void rule__ImportSection__ImportsAssignment() throws RecognitionException { 
    1315813463        int rule__ImportSection__ImportsAssignment_StartIndex = input.index(); 
     
    1316113466             
    1316213467        try { 
    13163             if ( state.backtracking>0 && alreadyParsedRule(input, 254) ) { return ; } 
    13164             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4202:1: ( ( ruleImport ) ) 
    13165             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4203:1: ( ruleImport ) 
    13166             { 
    13167             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4203:1: ( ruleImport ) 
    13168             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4204:1: ruleImport 
     13468            if ( state.backtracking>0 && alreadyParsedRule(input, 260) ) { return ; } 
     13469            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4299:1: ( ( ruleImport ) ) 
     13470            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4300:1: ( ruleImport ) 
     13471            { 
     13472            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4300:1: ( ruleImport ) 
     13473            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4301:1: ruleImport 
    1316913474            { 
    1317013475            if ( state.backtracking==0 ) { 
    1317113476               before(grammarAccess.getImportSectionAccess().getImportsImportParserRuleCall_0());  
    1317213477            } 
    13173             pushFollow(FOLLOW_ruleImport_in_rule__ImportSection__ImportsAssignment8518); 
     13478            pushFollow(FOLLOW_ruleImport_in_rule__ImportSection__ImportsAssignment8718); 
    1317413479            ruleImport(); 
    1317513480 
     
    1319113496        } 
    1319213497        finally { 
    13193             if ( state.backtracking>0 ) { memoize(input, 254, rule__ImportSection__ImportsAssignment_StartIndex); } 
     13498            if ( state.backtracking>0 ) { memoize(input, 260, rule__ImportSection__ImportsAssignment_StartIndex); } 
    1319413499 
    1319513500                restoreStackSize(stackSize); 
     
    1320213507 
    1320313508    // $ANTLR start "rule__BnfEntry__SectionheaderAssignment_0" 
    13204     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4213:1: rule__BnfEntry__SectionheaderAssignment_0 : ( ruleSectionHeading ) ; 
     13509    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4310:1: rule__BnfEntry__SectionheaderAssignment_0 : ( ruleSectionHeading ) ; 
    1320513510    public final void rule__BnfEntry__SectionheaderAssignment_0() throws RecognitionException { 
    1320613511        int rule__BnfEntry__SectionheaderAssignment_0_StartIndex = input.index(); 
     
    1320913514             
    1321013515        try { 
    13211             if ( state.backtracking>0 && alreadyParsedRule(input, 255) ) { return ; } 
    13212             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4217:1: ( ( ruleSectionHeading ) ) 
    13213             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4218:1: ( ruleSectionHeading ) 
    13214             { 
    13215             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4218:1: ( ruleSectionHeading ) 
    13216             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4219:1: ruleSectionHeading 
     13516            if ( state.backtracking>0 && alreadyParsedRule(input, 261) ) { return ; } 
     13517            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4314:1: ( ( ruleSectionHeading ) ) 
     13518            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4315:1: ( ruleSectionHeading ) 
     13519            { 
     13520            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4315:1: ( ruleSectionHeading ) 
     13521            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4316:1: ruleSectionHeading 
    1321713522            { 
    1321813523            if ( state.backtracking==0 ) { 
    1321913524               before(grammarAccess.getBnfEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());  
    1322013525            } 
    13221             pushFollow(FOLLOW_ruleSectionHeading_in_rule__BnfEntry__SectionheaderAssignment_08549); 
     13526            pushFollow(FOLLOW_ruleSectionHeading_in_rule__BnfEntry__SectionheaderAssignment_08749); 
    1322213527            ruleSectionHeading(); 
    1322313528 
     
    1323913544        } 
    1324013545        finally { 
    13241             if ( state.backtracking>0 ) { memoize(input, 255, rule__BnfEntry__SectionheaderAssignment_0_StartIndex); } 
     13546            if ( state.backtracking>0 ) { memoize(input, 261, rule__BnfEntry__SectionheaderAssignment_0_StartIndex); } 
    1324213547 
    1324313548                restoreStackSize(stackSize); 
     
    1325013555 
    1325113556    // $ANTLR start "rule__BnfEntry__RuleAssignment_1" 
    13252     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4228:1: rule__BnfEntry__RuleAssignment_1 : ( ruleRule ) ; 
     13557    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4325:1: rule__BnfEntry__RuleAssignment_1 : ( ruleRule ) ; 
    1325313558    public final void rule__BnfEntry__RuleAssignment_1() throws RecognitionException { 
    1325413559        int rule__BnfEntry__RuleAssignment_1_StartIndex = input.index(); 
     
    1325713562             
    1325813563        try { 
    13259             if ( state.backtracking>0 && alreadyParsedRule(input, 256) ) { return ; } 
    13260             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4232:1: ( ( ruleRule ) ) 
    13261             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4233:1: ( ruleRule ) 
    13262             { 
    13263             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4233:1: ( ruleRule ) 
    13264             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4234:1: ruleRule 
     13564            if ( state.backtracking>0 && alreadyParsedRule(input, 262) ) { return ; } 
     13565            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4329:1: ( ( ruleRule ) ) 
     13566            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4330:1: ( ruleRule ) 
     13567            { 
     13568            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4330:1: ( ruleRule ) 
     13569            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4331:1: ruleRule 
    1326513570            { 
    1326613571            if ( state.backtracking==0 ) { 
    1326713572               before(grammarAccess.getBnfEntryAccess().getRuleRuleParserRuleCall_1_0());  
    1326813573            } 
    13269             pushFollow(FOLLOW_ruleRule_in_rule__BnfEntry__RuleAssignment_18580); 
     13574            pushFollow(FOLLOW_ruleRule_in_rule__BnfEntry__RuleAssignment_18780); 
    1327013575            ruleRule(); 
    1327113576 
     
    1328713592        } 
    1328813593        finally { 
    13289             if ( state.backtracking>0 ) { memoize(input, 256, rule__BnfEntry__RuleAssignment_1_StartIndex); } 
     13594            if ( state.backtracking>0 ) { memoize(input, 262, rule__BnfEntry__RuleAssignment_1_StartIndex); } 
    1329013595 
    1329113596                restoreStackSize(stackSize); 
     
    1329713602 
    1329813603 
     13604    // $ANTLR start "rule__BnfEntry__CommentAssignment_2" 
     13605    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4340:1: rule__BnfEntry__CommentAssignment_2 : ( ruleComment ) ; 
     13606    public final void rule__BnfEntry__CommentAssignment_2() throws RecognitionException { 
     13607        int rule__BnfEntry__CommentAssignment_2_StartIndex = input.index(); 
     13608 
     13609                        int stackSize = keepStackSize(); 
     13610             
     13611        try { 
     13612            if ( state.backtracking>0 && alreadyParsedRule(input, 263) ) { return ; } 
     13613            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4344:1: ( ( ruleComment ) ) 
     13614            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4345:1: ( ruleComment ) 
     13615            { 
     13616            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4345:1: ( ruleComment ) 
     13617            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4346:1: ruleComment 
     13618            { 
     13619            if ( state.backtracking==0 ) { 
     13620               before(grammarAccess.getBnfEntryAccess().getCommentCommentParserRuleCall_2_0());  
     13621            } 
     13622            pushFollow(FOLLOW_ruleComment_in_rule__BnfEntry__CommentAssignment_28811); 
     13623            ruleComment(); 
     13624 
     13625            state._fsp--; 
     13626            if (state.failed) return ; 
     13627            if ( state.backtracking==0 ) { 
     13628               after(grammarAccess.getBnfEntryAccess().getCommentCommentParserRuleCall_2_0());  
     13629            } 
     13630 
     13631            } 
     13632 
     13633 
     13634            } 
     13635 
     13636        } 
     13637        catch (RecognitionException re) { 
     13638            reportError(re); 
     13639            recover(input,re); 
     13640        } 
     13641        finally { 
     13642            if ( state.backtracking>0 ) { memoize(input, 263, rule__BnfEntry__CommentAssignment_2_StartIndex); } 
     13643 
     13644                restoreStackSize(stackSize); 
     13645 
     13646        } 
     13647        return ; 
     13648    } 
     13649    // $ANTLR end "rule__BnfEntry__CommentAssignment_2" 
     13650 
     13651 
    1329913652    // $ANTLR start "rule__DeltaEntry__RuleAssignment_0" 
    13300     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4243:1: rule__DeltaEntry__RuleAssignment_0 : ( ruleRule ) ; 
     13653    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4355:1: rule__DeltaEntry__RuleAssignment_0 : ( ruleRule ) ; 
    1330113654    public final void rule__DeltaEntry__RuleAssignment_0() throws RecognitionException { 
    1330213655        int rule__DeltaEntry__RuleAssignment_0_StartIndex = input.index(); 
     
    1330513658             
    1330613659        try { 
    13307             if ( state.backtracking>0 && alreadyParsedRule(input, 257) ) { return ; } 
    13308             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4247:1: ( ( ruleRule ) ) 
    13309             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4248:1: ( ruleRule ) 
    13310             { 
    13311             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4248:1: ( ruleRule ) 
    13312             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4249:1: ruleRule 
     13660            if ( state.backtracking>0 && alreadyParsedRule(input, 264) ) { return ; } 
     13661            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4359:1: ( ( ruleRule ) ) 
     13662            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4360:1: ( ruleRule ) 
     13663            { 
     13664            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4360:1: ( ruleRule ) 
     13665            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4361:1: ruleRule 
    1331313666            { 
    1331413667            if ( state.backtracking==0 ) { 
    1331513668               before(grammarAccess.getDeltaEntryAccess().getRuleRuleParserRuleCall_0_0());  
    1331613669            } 
    13317             pushFollow(FOLLOW_ruleRule_in_rule__DeltaEntry__RuleAssignment_08611); 
     13670            pushFollow(FOLLOW_ruleRule_in_rule__DeltaEntry__RuleAssignment_08842); 
    1331813671            ruleRule(); 
    1331913672 
     
    1333513688        } 
    1333613689        finally { 
    13337             if ( state.backtracking>0 ) { memoize(input, 257, rule__DeltaEntry__RuleAssignment_0_StartIndex); } 
     13690            if ( state.backtracking>0 ) { memoize(input, 264, rule__DeltaEntry__RuleAssignment_0_StartIndex); } 
    1333813691 
    1333913692                restoreStackSize(stackSize); 
     
    1334613699 
    1334713700    // $ANTLR start "rule__DeltaEntry__SectionheaderAssignment_1" 
    13348     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4258:1: rule__DeltaEntry__SectionheaderAssignment_1 : ( ruleSectionHeading ) ; 
     13701    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4370:1: rule__DeltaEntry__SectionheaderAssignment_1 : ( ruleSectionHeading ) ; 
    1334913702    public final void rule__DeltaEntry__SectionheaderAssignment_1() throws RecognitionException { 
    1335013703        int rule__DeltaEntry__SectionheaderAssignment_1_StartIndex = input.index(); 
     
    1335313706             
    1335413707        try { 
    13355             if ( state.backtracking>0 && alreadyParsedRule(input, 258) ) { return ; } 
    13356             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4262:1: ( ( ruleSectionHeading ) ) 
    13357             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4263:1: ( ruleSectionHeading ) 
    13358             { 
    13359             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4263:1: ( ruleSectionHeading ) 
    13360             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4264:1: ruleSectionHeading 
     13708            if ( state.backtracking>0 && alreadyParsedRule(input, 265) ) { return ; } 
     13709            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4374:1: ( ( ruleSectionHeading ) ) 
     13710            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4375:1: ( ruleSectionHeading ) 
     13711            { 
     13712            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4375:1: ( ruleSectionHeading ) 
     13713            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4376:1: ruleSectionHeading 
    1336113714            { 
    1336213715            if ( state.backtracking==0 ) { 
    1336313716               before(grammarAccess.getDeltaEntryAccess().getSectionheaderSectionHeadingParserRuleCall_1_0());  
    1336413717            } 
    13365             pushFollow(FOLLOW_ruleSectionHeading_in_rule__DeltaEntry__SectionheaderAssignment_18642); 
     13718            pushFollow(FOLLOW_ruleSectionHeading_in_rule__DeltaEntry__SectionheaderAssignment_18873); 
    1336613719            ruleSectionHeading(); 
    1336713720 
     
    1338313736        } 
    1338413737        finally { 
    13385             if ( state.backtracking>0 ) { memoize(input, 258, rule__DeltaEntry__SectionheaderAssignment_1_StartIndex); } 
     13738            if ( state.backtracking>0 ) { memoize(input, 265, rule__DeltaEntry__SectionheaderAssignment_1_StartIndex); } 
    1338613739 
    1338713740                restoreStackSize(stackSize); 
     
    1339413747 
    1339513748    // $ANTLR start "rule__DeltaEntry__ExtRuleAssignment_2" 
    13396     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4273:1: rule__DeltaEntry__ExtRuleAssignment_2 : ( ruleExtRule ) ; 
     13749    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4385:1: rule__DeltaEntry__ExtRuleAssignment_2 : ( ruleExtRule ) ; 
    1339713750    public final void rule__DeltaEntry__ExtRuleAssignment_2() throws RecognitionException { 
    1339813751        int rule__DeltaEntry__ExtRuleAssignment_2_StartIndex = input.index(); 
     
    1340113754             
    1340213755        try { 
    13403             if ( state.backtracking>0 && alreadyParsedRule(input, 259) ) { return ; } 
    13404             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4277:1: ( ( ruleExtRule ) ) 
    13405             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4278:1: ( ruleExtRule ) 
    13406             { 
    13407             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4278:1: ( ruleExtRule ) 
    13408             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4279:1: ruleExtRule 
     13756            if ( state.backtracking>0 && alreadyParsedRule(input, 266) ) { return ; } 
     13757            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4389:1: ( ( ruleExtRule ) ) 
     13758            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4390:1: ( ruleExtRule ) 
     13759            { 
     13760            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4390:1: ( ruleExtRule ) 
     13761            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4391:1: ruleExtRule 
    1340913762            { 
    1341013763            if ( state.backtracking==0 ) { 
    1341113764               before(grammarAccess.getDeltaEntryAccess().getExtRuleExtRuleParserRuleCall_2_0());  
    1341213765            } 
    13413             pushFollow(FOLLOW_ruleExtRule_in_rule__DeltaEntry__ExtRuleAssignment_28673); 
     13766            pushFollow(FOLLOW_ruleExtRule_in_rule__DeltaEntry__ExtRuleAssignment_28904); 
    1341413767            ruleExtRule(); 
    1341513768 
     
    1343113784        } 
    1343213785        finally { 
    13433             if ( state.backtracking>0 ) { memoize(input, 259, rule__DeltaEntry__ExtRuleAssignment_2_StartIndex); } 
     13786            if ( state.backtracking>0 ) { memoize(input, 266, rule__DeltaEntry__ExtRuleAssignment_2_StartIndex); } 
    1343413787 
    1343513788                restoreStackSize(stackSize); 
     
    1344213795 
    1344313796    // $ANTLR start "rule__MergeEntry__SectionheaderAssignment_0" 
    13444     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4288:1: rule__MergeEntry__SectionheaderAssignment_0 : ( ruleSectionHeading ) ; 
     13797    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4400:1: rule__MergeEntry__SectionheaderAssignment_0 : ( ruleSectionHeading ) ; 
    1344513798    public final void rule__MergeEntry__SectionheaderAssignment_0() throws RecognitionException { 
    1344613799        int rule__MergeEntry__SectionheaderAssignment_0_StartIndex = input.index(); 
     
    1344913802             
    1345013803        try { 
    13451             if ( state.backtracking>0 && alreadyParsedRule(input, 260) ) { return ; } 
    13452             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4292:1: ( ( ruleSectionHeading ) ) 
    13453             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4293:1: ( ruleSectionHeading ) 
    13454             { 
    13455             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4293:1: ( ruleSectionHeading ) 
    13456             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4294:1: ruleSectionHeading 
     13804            if ( state.backtracking>0 && alreadyParsedRule(input, 267) ) { return ; } 
     13805            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4404:1: ( ( ruleSectionHeading ) ) 
     13806            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4405:1: ( ruleSectionHeading ) 
     13807            { 
     13808            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4405:1: ( ruleSectionHeading ) 
     13809            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4406:1: ruleSectionHeading 
    1345713810            { 
    1345813811            if ( state.backtracking==0 ) { 
    1345913812               before(grammarAccess.getMergeEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());  
    1346013813            } 
    13461             pushFollow(FOLLOW_ruleSectionHeading_in_rule__MergeEntry__SectionheaderAssignment_08704); 
     13814            pushFollow(FOLLOW_ruleSectionHeading_in_rule__MergeEntry__SectionheaderAssignment_08935); 
    1346213815            ruleSectionHeading(); 
    1346313816 
     
    1347913832        } 
    1348013833        finally { 
    13481             if ( state.backtracking>0 ) { memoize(input, 260, rule__MergeEntry__SectionheaderAssignment_0_StartIndex); } 
     13834            if ( state.backtracking>0 ) { memoize(input, 267, rule__MergeEntry__SectionheaderAssignment_0_StartIndex); } 
    1348213835 
    1348313836                restoreStackSize(stackSize); 
     
    1349013843 
    1349113844    // $ANTLR start "rule__MergeEntry__MergeRuleAssignment_1" 
    13492     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4303:1: rule__MergeEntry__MergeRuleAssignment_1 : ( ruleMergeRule ) ; 
     13845    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4415:1: rule__MergeEntry__MergeRuleAssignment_1 : ( ruleMergeRule ) ; 
    1349313846    public final void rule__MergeEntry__MergeRuleAssignment_1() throws RecognitionException { 
    1349413847        int rule__MergeEntry__MergeRuleAssignment_1_StartIndex = input.index(); 
     
    1349713850             
    1349813851        try { 
    13499             if ( state.backtracking>0 && alreadyParsedRule(input, 261) ) { return ; } 
    13500             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4307:1: ( ( ruleMergeRule ) ) 
    13501             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4308:1: ( ruleMergeRule ) 
    13502             { 
    13503             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4308:1: ( ruleMergeRule ) 
    13504             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4309:1: ruleMergeRule 
     13852            if ( state.backtracking>0 && alreadyParsedRule(input, 268) ) { return ; } 
     13853            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4419:1: ( ( ruleMergeRule ) ) 
     13854            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4420:1: ( ruleMergeRule ) 
     13855            { 
     13856            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4420:1: ( ruleMergeRule ) 
     13857            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4421:1: ruleMergeRule 
    1350513858            { 
    1350613859            if ( state.backtracking==0 ) { 
    1350713860               before(grammarAccess.getMergeEntryAccess().getMergeRuleMergeRuleParserRuleCall_1_0());  
    1350813861            } 
    13509             pushFollow(FOLLOW_ruleMergeRule_in_rule__MergeEntry__MergeRuleAssignment_18735); 
     13862            pushFollow(FOLLOW_ruleMergeRule_in_rule__MergeEntry__MergeRuleAssignment_18966); 
    1351013863            ruleMergeRule(); 
    1351113864 
     
    1352713880        } 
    1352813881        finally { 
    13529             if ( state.backtracking>0 ) { memoize(input, 261, rule__MergeEntry__MergeRuleAssignment_1_StartIndex); } 
     13882            if ( state.backtracking>0 ) { memoize(input, 268, rule__MergeEntry__MergeRuleAssignment_1_StartIndex); } 
    1353013883 
    1353113884                restoreStackSize(stackSize); 
     
    1353813891 
    1353913892    // $ANTLR start "rule__SectionHeading__SectionHeaderAssignment_1" 
    13540     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4318:1: rule__SectionHeading__SectionHeaderAssignment_1 : ( RULE_SECTIONHEADER ) ; 
     13893    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4430:1: rule__SectionHeading__SectionHeaderAssignment_1 : ( RULE_SECTIONHEADER ) ; 
    1354113894    public final void rule__SectionHeading__SectionHeaderAssignment_1() throws RecognitionException { 
    1354213895        int rule__SectionHeading__SectionHeaderAssignment_1_StartIndex = input.index(); 
     
    1354513898             
    1354613899        try { 
    13547             if ( state.backtracking>0 && alreadyParsedRule(input, 262) ) { return ; } 
    13548             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4322:1: ( ( RULE_SECTIONHEADER ) ) 
    13549             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4323:1: ( RULE_SECTIONHEADER ) 
    13550             { 
    13551             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4323:1: ( RULE_SECTIONHEADER ) 
    13552             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4324:1: RULE_SECTIONHEADER 
     13900            if ( state.backtracking>0 && alreadyParsedRule(input, 269) ) { return ; } 
     13901            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4434:1: ( ( RULE_SECTIONHEADER ) ) 
     13902            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4435:1: ( RULE_SECTIONHEADER ) 
     13903            { 
     13904            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4435:1: ( RULE_SECTIONHEADER ) 
     13905            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4436:1: RULE_SECTIONHEADER 
    1355313906            { 
    1355413907            if ( state.backtracking==0 ) { 
    1355513908               before(grammarAccess.getSectionHeadingAccess().getSectionHeaderSECTIONHEADERTerminalRuleCall_1_0());  
    1355613909            } 
    13557             match(input,RULE_SECTIONHEADER,FOLLOW_RULE_SECTIONHEADER_in_rule__SectionHeading__SectionHeaderAssignment_18766); if (state.failed) return ; 
     13910            match(input,RULE_SECTIONHEADER,FOLLOW_RULE_SECTIONHEADER_in_rule__SectionHeading__SectionHeaderAssignment_18997); if (state.failed) return ; 
    1355813911            if ( state.backtracking==0 ) { 
    1355913912               after(grammarAccess.getSectionHeadingAccess().getSectionHeaderSECTIONHEADERTerminalRuleCall_1_0());  
     
    1357113924        } 
    1357213925        finally { 
    13573             if ( state.backtracking>0 ) { memoize(input, 262, rule__SectionHeading__SectionHeaderAssignment_1_StartIndex); } 
     13926            if ( state.backtracking>0 ) { memoize(input, 269, rule__SectionHeading__SectionHeaderAssignment_1_StartIndex); } 
    1357413927 
    1357513928                restoreStackSize(stackSize); 
     
    1358113934 
    1358213935 
     13936    // $ANTLR start "rule__Comment__ContentAssignment_1" 
     13937    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4445:1: rule__Comment__ContentAssignment_1 : ( RULE_ML_COMMENT ) ; 
     13938    public final void rule__Comment__ContentAssignment_1() throws RecognitionException { 
     13939        int rule__Comment__ContentAssignment_1_StartIndex = input.index(); 
     13940 
     13941                        int stackSize = keepStackSize(); 
     13942             
     13943        try { 
     13944            if ( state.backtracking>0 && alreadyParsedRule(input, 270) ) { return ; } 
     13945            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4449:1: ( ( RULE_ML_COMMENT ) ) 
     13946            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4450:1: ( RULE_ML_COMMENT ) 
     13947            { 
     13948            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4450:1: ( RULE_ML_COMMENT ) 
     13949            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4451:1: RULE_ML_COMMENT 
     13950            { 
     13951            if ( state.backtracking==0 ) { 
     13952               before(grammarAccess.getCommentAccess().getContentML_COMMENTTerminalRuleCall_1_0());  
     13953            } 
     13954            match(input,RULE_ML_COMMENT,FOLLOW_RULE_ML_COMMENT_in_rule__Comment__ContentAssignment_19028); if (state.failed) return ; 
     13955            if ( state.backtracking==0 ) { 
     13956               after(grammarAccess.getCommentAccess().getContentML_COMMENTTerminalRuleCall_1_0());  
     13957            } 
     13958 
     13959            } 
     13960 
     13961 
     13962            } 
     13963 
     13964        } 
     13965        catch (RecognitionException re) { 
     13966            reportError(re); 
     13967            recover(input,re); 
     13968        } 
     13969        finally { 
     13970            if ( state.backtracking>0 ) { memoize(input, 270, rule__Comment__ContentAssignment_1_StartIndex); } 
     13971 
     13972                restoreStackSize(stackSize); 
     13973 
     13974        } 
     13975        return ; 
     13976    } 
     13977    // $ANTLR end "rule__Comment__ContentAssignment_1" 
     13978 
     13979 
    1358313980    // $ANTLR start "rule__Import__ImportURIAssignment_1" 
    13584     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4333:1: rule__Import__ImportURIAssignment_1 : ( RULE_STRING ) ; 
     13981    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4460:1: rule__Import__ImportURIAssignment_1 : ( RULE_STRING ) ; 
    1358513982    public final void rule__Import__ImportURIAssignment_1() throws RecognitionException { 
    1358613983        int rule__Import__ImportURIAssignment_1_StartIndex = input.index(); 
     
    1358913986             
    1359013987        try { 
    13591             if ( state.backtracking>0 && alreadyParsedRule(input, 263) ) { return ; } 
    13592             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4337:1: ( ( RULE_STRING ) ) 
    13593             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4338:1: ( RULE_STRING ) 
    13594             { 
    13595             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4338:1: ( RULE_STRING ) 
    13596             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4339:1: RULE_STRING 
     13988            if ( state.backtracking>0 && alreadyParsedRule(input, 271) ) { return ; } 
     13989            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4464:1: ( ( RULE_STRING ) ) 
     13990            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4465:1: ( RULE_STRING ) 
     13991            { 
     13992            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4465:1: ( RULE_STRING ) 
     13993            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4466:1: RULE_STRING 
    1359713994            { 
    1359813995            if ( state.backtracking==0 ) { 
    1359913996               before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0());  
    1360013997            } 
    13601             match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_18797); if (state.failed) return ; 
     13998            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_19059); if (state.failed) return ; 
    1360213999            if ( state.backtracking==0 ) { 
    1360314000               after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0());  
     
    1361514012        } 
    1361614013        finally { 
    13617             if ( state.backtracking>0 ) { memoize(input, 263, rule__Import__ImportURIAssignment_1_StartIndex); } 
     14014            if ( state.backtracking>0 ) { memoize(input, 271, rule__Import__ImportURIAssignment_1_StartIndex); } 
    1361814015 
    1361914016                restoreStackSize(stackSize); 
     
    1362614023 
    1362714024    // $ANTLR start "rule__Import__GrammarTypeAssignment_2_1_0" 
    13628     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4348:1: rule__Import__GrammarTypeAssignment_2_1_0 : ( ( 'core' ) ) ; 
     14025    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4475:1: rule__Import__GrammarTypeAssignment_2_1_0 : ( ( 'core' ) ) ; 
    1362914026    public final void rule__Import__GrammarTypeAssignment_2_1_0() throws RecognitionException { 
    1363014027        int rule__Import__GrammarTypeAssignment_2_1_0_StartIndex = input.index(); 
     
    1363314030             
    1363414031        try { 
    13635             if ( state.backtracking>0 && alreadyParsedRule(input, 264) ) { return ; } 
    13636             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4352:1: ( ( ( 'core' ) ) ) 
    13637             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4353:1: ( ( 'core' ) ) 
    13638             { 
    13639             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4353:1: ( ( 'core' ) ) 
    13640             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4354:1: ( 'core' ) 
     14032            if ( state.backtracking>0 && alreadyParsedRule(input, 272) ) { return ; } 
     14033            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4479:1: ( ( ( 'core' ) ) ) 
     14034            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4480:1: ( ( 'core' ) ) 
     14035            { 
     14036            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4480:1: ( ( 'core' ) ) 
     14037            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4481:1: ( 'core' ) 
    1364114038            { 
    1364214039            if ( state.backtracking==0 ) { 
    1364314040               before(grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());  
    1364414041            } 
    13645             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4355:1: ( 'core' ) 
    13646             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4356:1: 'core' 
     14042            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4482:1: ( 'core' ) 
     14043            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4483:1: 'core' 
    1364714044            { 
    1364814045            if ( state.backtracking==0 ) { 
    1364914046               before(grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());  
    1365014047            } 
    13651             match(input,39,FOLLOW_39_in_rule__Import__GrammarTypeAssignment_2_1_08833); if (state.failed) return ; 
     14048            match(input,39,FOLLOW_39_in_rule__Import__GrammarTypeAssignment_2_1_09095); if (state.failed) return ; 
    1365214049            if ( state.backtracking==0 ) { 
    1365314050               after(grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());  
     
    1367114068        } 
    1367214069        finally { 
    13673             if ( state.backtracking>0 ) { memoize(input, 264, rule__Import__GrammarTypeAssignment_2_1_0_StartIndex); } 
     14070            if ( state.backtracking>0 ) { memoize(input, 272, rule__Import__GrammarTypeAssignment_2_1_0_StartIndex); } 
    1367414071 
    1367514072                restoreStackSize(stackSize); 
     
    1368214079 
    1368314080    // $ANTLR start "rule__Import__GrammarTypeAssignment_2_1_1" 
    13684     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4371:1: rule__Import__GrammarTypeAssignment_2_1_1 : ( ( 'package' ) ) ; 
     14081    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4498:1: rule__Import__GrammarTypeAssignment_2_1_1 : ( ( 'package' ) ) ; 
    1368514082    public final void rule__Import__GrammarTypeAssignment_2_1_1() throws RecognitionException { 
    1368614083        int rule__Import__GrammarTypeAssignment_2_1_1_StartIndex = input.index(); 
     
    1368914086             
    1369014087        try { 
    13691             if ( state.backtracking>0 && alreadyParsedRule(input, 265) ) { return ; } 
    13692             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4375:1: ( ( ( 'package' ) ) ) 
    13693             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4376:1: ( ( 'package' ) ) 
    13694             { 
    13695             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4376:1: ( ( 'package' ) ) 
    13696             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4377:1: ( 'package' ) 
     14088            if ( state.backtracking>0 && alreadyParsedRule(input, 273) ) { return ; } 
     14089            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4502:1: ( ( ( 'package' ) ) ) 
     14090            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4503:1: ( ( 'package' ) ) 
     14091            { 
     14092            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4503:1: ( ( 'package' ) ) 
     14093            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4504:1: ( 'package' ) 
    1369714094            { 
    1369814095            if ( state.backtracking==0 ) { 
    1369914096               before(grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());  
    1370014097            } 
    13701             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4378:1: ( 'package' ) 
    13702             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4379:1: 'package' 
     14098            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4505:1: ( 'package' ) 
     14099            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4506:1: 'package' 
    1370314100            { 
    1370414101            if ( state.backtracking==0 ) { 
    1370514102               before(grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());  
    1370614103            } 
    13707             match(input,40,FOLLOW_40_in_rule__Import__GrammarTypeAssignment_2_1_18877); if (state.failed) return ; 
     14104            match(input,40,FOLLOW_40_in_rule__Import__GrammarTypeAssignment_2_1_19139); if (state.failed) return ; 
    1370814105            if ( state.backtracking==0 ) { 
    1370914106               after(grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());  
     
    1372714124        } 
    1372814125        finally { 
    13729             if ( state.backtracking>0 ) { memoize(input, 265, rule__Import__GrammarTypeAssignment_2_1_1_StartIndex); } 
     14126            if ( state.backtracking>0 ) { memoize(input, 273, rule__Import__GrammarTypeAssignment_2_1_1_StartIndex); } 
    1373014127 
    1373114128                restoreStackSize(stackSize); 
     
    1373814135 
    1373914136    // $ANTLR start "rule__Import__GrammarTypeAssignment_2_1_2" 
    13740     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4394:1: rule__Import__GrammarTypeAssignment_2_1_2 : ( ( 'update' ) ) ; 
     14137    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4521:1: rule__Import__GrammarTypeAssignment_2_1_2 : ( ( 'update' ) ) ; 
    1374114138    public final void rule__Import__GrammarTypeAssignment_2_1_2() throws RecognitionException { 
    1374214139        int rule__Import__GrammarTypeAssignment_2_1_2_StartIndex = input.index(); 
     
    1374514142             
    1374614143        try { 
    13747             if ( state.backtracking>0 && alreadyParsedRule(input, 266) ) { return ; } 
    13748             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4398:1: ( ( ( 'update' ) ) ) 
    13749             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4399:1: ( ( 'update' ) ) 
    13750             { 
    13751             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4399:1: ( ( 'update' ) ) 
    13752             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4400:1: ( 'update' ) 
     14144            if ( state.backtracking>0 && alreadyParsedRule(input, 274) ) { return ; } 
     14145            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4525:1: ( ( ( 'update' ) ) ) 
     14146            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4526:1: ( ( 'update' ) ) 
     14147            { 
     14148            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4526:1: ( ( 'update' ) ) 
     14149            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4527:1: ( 'update' ) 
    1375314150            { 
    1375414151            if ( state.backtracking==0 ) { 
    1375514152               before(grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());  
    1375614153            } 
    13757             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4401:1: ( 'update' ) 
    13758             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4402:1: 'update' 
     14154            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4528:1: ( 'update' ) 
     14155            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4529:1: 'update' 
    1375914156            { 
    1376014157            if ( state.backtracking==0 ) { 
    1376114158               before(grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());  
    1376214159            } 
    13763             match(input,41,FOLLOW_41_in_rule__Import__GrammarTypeAssignment_2_1_28921); if (state.failed) return ; 
     14160            match(input,41,FOLLOW_41_in_rule__Import__GrammarTypeAssignment_2_1_29183); if (state.failed) return ; 
    1376414161            if ( state.backtracking==0 ) { 
    1376514162               after(grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());  
     
    1378314180        } 
    1378414181        finally { 
    13785             if ( state.backtracking>0 ) { memoize(input, 266, rule__Import__GrammarTypeAssignment_2_1_2_StartIndex); } 
     14182            if ( state.backtracking>0 ) { memoize(input, 274, rule__Import__GrammarTypeAssignment_2_1_2_StartIndex); } 
    1378614183 
    1378714184                restoreStackSize(stackSize); 
     
    1379414191 
    1379514192    // $ANTLR start "rule__Import__LabelAssignment_3_1" 
    13796     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4417:1: rule__Import__LabelAssignment_3_1 : ( RULE_ID ) ; 
     14193    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4544:1: rule__Import__LabelAssignment_3_1 : ( RULE_ID ) ; 
    1379714194    public final void rule__Import__LabelAssignment_3_1() throws RecognitionException { 
    1379814195        int rule__Import__LabelAssignment_3_1_StartIndex = input.index(); 
     
    1380114198             
    1380214199        try { 
    13803             if ( state.backtracking>0 && alreadyParsedRule(input, 267) ) { return ; } 
    13804             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4421:1: ( ( RULE_ID ) ) 
    13805             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4422:1: ( RULE_ID ) 
    13806             { 
    13807             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4422:1: ( RULE_ID ) 
    13808             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4423:1: RULE_ID 
     14200            if ( state.backtracking>0 && alreadyParsedRule(input, 275) ) { return ; } 
     14201            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4548:1: ( ( RULE_ID ) ) 
     14202            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4549:1: ( RULE_ID ) 
     14203            { 
     14204            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4549:1: ( RULE_ID ) 
     14205            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4550:1: RULE_ID 
    1380914206            { 
    1381014207            if ( state.backtracking==0 ) { 
    1381114208               before(grammarAccess.getImportAccess().getLabelIDTerminalRuleCall_3_1_0());  
    1381214209            } 
    13813             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Import__LabelAssignment_3_18960); if (state.failed) return ; 
     14210            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Import__LabelAssignment_3_19222); if (state.failed) return ; 
    1381414211            if ( state.backtracking==0 ) { 
    1381514212               after(grammarAccess.getImportAccess().getLabelIDTerminalRuleCall_3_1_0());  
     
    1382714224        } 
    1382814225        finally { 
    13829             if ( state.backtracking>0 ) { memoize(input, 267, rule__Import__LabelAssignment_3_1_StartIndex); } 
     14226            if ( state.backtracking>0 ) { memoize(input, 275, rule__Import__LabelAssignment_3_1_StartIndex); } 
    1383014227 
    1383114228                restoreStackSize(stackSize); 
     
    1383814235 
    1383914236    // $ANTLR start "rule__Rule__RulenumberAssignment_0_0" 
    13840     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4432:1: rule__Rule__RulenumberAssignment_0_0 : ( RULE_INT ) ; 
     14237    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4559:1: rule__Rule__RulenumberAssignment_0_0 : ( RULE_INT ) ; 
    1384114238    public final void rule__Rule__RulenumberAssignment_0_0() throws RecognitionException { 
    1384214239        int rule__Rule__RulenumberAssignment_0_0_StartIndex = input.index(); 
     
    1384514242             
    1384614243        try { 
    13847             if ( state.backtracking>0 && alreadyParsedRule(input, 268) ) { return ; } 
    13848             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4436:1: ( ( RULE_INT ) ) 
    13849             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4437:1: ( RULE_INT ) 
    13850             { 
    13851             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4437:1: ( RULE_INT ) 
    13852             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4438:1: RULE_INT 
     14244            if ( state.backtracking>0 && alreadyParsedRule(input, 276) ) { return ; } 
     14245            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4563:1: ( ( RULE_INT ) ) 
     14246            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4564:1: ( RULE_INT ) 
     14247            { 
     14248            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4564:1: ( RULE_INT ) 
     14249            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4565:1: RULE_INT 
    1385314250            { 
    1385414251            if ( state.backtracking==0 ) { 
    1385514252               before(grammarAccess.getRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
    1385614253            } 
    13857             match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Rule__RulenumberAssignment_0_08991); if (state.failed) return ; 
     14254            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Rule__RulenumberAssignment_0_09253); if (state.failed) return ; 
    1385814255            if ( state.backtracking==0 ) { 
    1385914256               after(grammarAccess.getRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
     
    1387114268        } 
    1387214269        finally { 
    13873             if ( state.backtracking>0 ) { memoize(input, 268, rule__Rule__RulenumberAssignment_0_0_StartIndex); } 
     14270            if ( state.backtracking>0 ) { memoize(input, 276, rule__Rule__RulenumberAssignment_0_0_StartIndex); } 
    1387414271 
    1387514272                restoreStackSize(stackSize); 
     
    1388214279 
    1388314280    // $ANTLR start "rule__Rule__RulevariantAssignment_0_1" 
    13884     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4447:1: rule__Rule__RulevariantAssignment_0_1 : ( RULE_ID ) ; 
     14281    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4574:1: rule__Rule__RulevariantAssignment_0_1 : ( RULE_ID ) ; 
    1388514282    public final void rule__Rule__RulevariantAssignment_0_1() throws RecognitionException { 
    1388614283        int rule__Rule__RulevariantAssignment_0_1_StartIndex = input.index(); 
     
    1388914286             
    1389014287        try { 
    13891             if ( state.backtracking>0 && alreadyParsedRule(input, 269) ) { return ; } 
    13892             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4451:1: ( ( RULE_ID ) ) 
    13893             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4452:1: ( RULE_ID ) 
    13894             { 
    13895             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4452:1: ( RULE_ID ) 
    13896             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4453:1: RULE_ID 
     14288            if ( state.backtracking>0 && alreadyParsedRule(input, 277) ) { return ; } 
     14289            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4578:1: ( ( RULE_ID ) ) 
     14290            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4579:1: ( RULE_ID ) 
     14291            { 
     14292            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4579:1: ( RULE_ID ) 
     14293            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4580:1: RULE_ID 
    1389714294            { 
    1389814295            if ( state.backtracking==0 ) { 
    1389914296               before(grammarAccess.getRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
    1390014297            } 
    13901             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Rule__RulevariantAssignment_0_19022); if (state.failed) return ; 
     14298            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Rule__RulevariantAssignment_0_19284); if (state.failed) return ; 
    1390214299            if ( state.backtracking==0 ) { 
    1390314300               after(grammarAccess.getRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
     
    1391514312        } 
    1391614313        finally { 
    13917             if ( state.backtracking>0 ) { memoize(input, 269, rule__Rule__RulevariantAssignment_0_1_StartIndex); } 
     14314            if ( state.backtracking>0 ) { memoize(input, 277, rule__Rule__RulevariantAssignment_0_1_StartIndex); } 
    1391814315 
    1391914316                restoreStackSize(stackSize); 
     
    1392614323 
    1392714324    // $ANTLR start "rule__Rule__NameAssignment_1" 
    13928     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4462:1: rule__Rule__NameAssignment_1 : ( RULE_ID ) ; 
     14325    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4589:1: rule__Rule__NameAssignment_1 : ( RULE_ID ) ; 
    1392914326    public final void rule__Rule__NameAssignment_1() throws RecognitionException { 
    1393014327        int rule__Rule__NameAssignment_1_StartIndex = input.index(); 
     
    1393314330             
    1393414331        try { 
    13935             if ( state.backtracking>0 && alreadyParsedRule(input, 270) ) { return ; } 
    13936             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4466:1: ( ( RULE_ID ) ) 
    13937             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4467:1: ( RULE_ID ) 
    13938             { 
    13939             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4467:1: ( RULE_ID ) 
    13940             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4468:1: RULE_ID 
     14332            if ( state.backtracking>0 && alreadyParsedRule(input, 278) ) { return ; } 
     14333            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4593:1: ( ( RULE_ID ) ) 
     14334            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4594:1: ( RULE_ID ) 
     14335            { 
     14336            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4594:1: ( RULE_ID ) 
     14337            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4595:1: RULE_ID 
    1394114338            { 
    1394214339            if ( state.backtracking==0 ) { 
    1394314340               before(grammarAccess.getRuleAccess().getNameIDTerminalRuleCall_1_0());  
    1394414341            } 
    13945             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Rule__NameAssignment_19053); if (state.failed) return ; 
     14342            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Rule__NameAssignment_19315); if (state.failed) return ; 
    1394614343            if ( state.backtracking==0 ) { 
    1394714344               after(grammarAccess.getRuleAccess().getNameIDTerminalRuleCall_1_0());  
     
    1395914356        } 
    1396014357        finally { 
    13961             if ( state.backtracking>0 ) { memoize(input, 270, rule__Rule__NameAssignment_1_StartIndex); } 
     14358            if ( state.backtracking>0 ) { memoize(input, 278, rule__Rule__NameAssignment_1_StartIndex); } 
    1396214359 
    1396314360                restoreStackSize(stackSize); 
     
    1397014367 
    1397114368    // $ANTLR start "rule__Rule__DefinitionListAssignment_3" 
    13972     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4477:1: rule__Rule__DefinitionListAssignment_3 : ( ruleDefinitionList ) ; 
     14369    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4604:1: rule__Rule__DefinitionListAssignment_3 : ( ruleDefinitionList ) ; 
    1397314370    public final void rule__Rule__DefinitionListAssignment_3() throws RecognitionException { 
    1397414371        int rule__Rule__DefinitionListAssignment_3_StartIndex = input.index(); 
     
    1397714374             
    1397814375        try { 
    13979             if ( state.backtracking>0 && alreadyParsedRule(input, 271) ) { return ; } 
    13980             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4481:1: ( ( ruleDefinitionList ) ) 
    13981             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4482:1: ( ruleDefinitionList ) 
    13982             { 
    13983             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4482:1: ( ruleDefinitionList ) 
    13984             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4483:1: ruleDefinitionList 
     14376            if ( state.backtracking>0 && alreadyParsedRule(input, 279) ) { return ; } 
     14377            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4608:1: ( ( ruleDefinitionList ) ) 
     14378            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4609:1: ( ruleDefinitionList ) 
     14379            { 
     14380            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4609:1: ( ruleDefinitionList ) 
     14381            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4610:1: ruleDefinitionList 
    1398514382            { 
    1398614383            if ( state.backtracking==0 ) { 
    1398714384               before(grammarAccess.getRuleAccess().getDefinitionListDefinitionListParserRuleCall_3_0());  
    1398814385            } 
    13989             pushFollow(FOLLOW_ruleDefinitionList_in_rule__Rule__DefinitionListAssignment_39084); 
     14386            pushFollow(FOLLOW_ruleDefinitionList_in_rule__Rule__DefinitionListAssignment_39346); 
    1399014387            ruleDefinitionList(); 
    1399114388 
     
    1400714404        } 
    1400814405        finally { 
    14009             if ( state.backtracking>0 ) { memoize(input, 271, rule__Rule__DefinitionListAssignment_3_StartIndex); } 
     14406            if ( state.backtracking>0 ) { memoize(input, 279, rule__Rule__DefinitionListAssignment_3_StartIndex); } 
    1401014407 
    1401114408                restoreStackSize(stackSize); 
     
    1401814415 
    1401914416    // $ANTLR start "rule__ExtRule__RulenumberAssignment_0_0" 
    14020     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4492:1: rule__ExtRule__RulenumberAssignment_0_0 : ( RULE_INT ) ; 
     14417    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4619:1: rule__ExtRule__RulenumberAssignment_0_0 : ( RULE_INT ) ; 
    1402114418    public final void rule__ExtRule__RulenumberAssignment_0_0() throws RecognitionException { 
    1402214419        int rule__ExtRule__RulenumberAssignment_0_0_StartIndex = input.index(); 
     
    1402514422             
    1402614423        try { 
    14027             if ( state.backtracking>0 && alreadyParsedRule(input, 272) ) { return ; } 
    14028             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4496:1: ( ( RULE_INT ) ) 
    14029             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4497:1: ( RULE_INT ) 
    14030             { 
    14031             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4497:1: ( RULE_INT ) 
    14032             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4498:1: RULE_INT 
     14424            if ( state.backtracking>0 && alreadyParsedRule(input, 280) ) { return ; } 
     14425            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4623:1: ( ( RULE_INT ) ) 
     14426            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4624:1: ( RULE_INT ) 
     14427            { 
     14428            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4624:1: ( RULE_INT ) 
     14429            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4625:1: RULE_INT 
    1403314430            { 
    1403414431            if ( state.backtracking==0 ) { 
    1403514432               before(grammarAccess.getExtRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
    1403614433            } 
    14037             match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ExtRule__RulenumberAssignment_0_09115); if (state.failed) return ; 
     14434            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ExtRule__RulenumberAssignment_0_09377); if (state.failed) return ; 
    1403814435            if ( state.backtracking==0 ) { 
    1403914436               after(grammarAccess.getExtRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
     
    1405114448        } 
    1405214449        finally { 
    14053             if ( state.backtracking>0 ) { memoize(input, 272, rule__ExtRule__RulenumberAssignment_0_0_StartIndex); } 
     14450            if ( state.backtracking>0 ) { memoize(input, 280, rule__ExtRule__RulenumberAssignment_0_0_StartIndex); } 
    1405414451 
    1405514452                restoreStackSize(stackSize); 
     
    1406214459 
    1406314460    // $ANTLR start "rule__ExtRule__RulevariantAssignment_0_1" 
    14064     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4507:1: rule__ExtRule__RulevariantAssignment_0_1 : ( RULE_ID ) ; 
     14461    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4634:1: rule__ExtRule__RulevariantAssignment_0_1 : ( RULE_ID ) ; 
    1406514462    public final void rule__ExtRule__RulevariantAssignment_0_1() throws RecognitionException { 
    1406614463        int rule__ExtRule__RulevariantAssignment_0_1_StartIndex = input.index(); 
     
    1406914466             
    1407014467        try { 
    14071             if ( state.backtracking>0 && alreadyParsedRule(input, 273) ) { return ; } 
    14072             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4511:1: ( ( RULE_ID ) ) 
    14073             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4512:1: ( RULE_ID ) 
    14074             { 
    14075             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4512:1: ( RULE_ID ) 
    14076             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4513:1: RULE_ID 
     14468            if ( state.backtracking>0 && alreadyParsedRule(input, 281) ) { return ; } 
     14469            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4638:1: ( ( RULE_ID ) ) 
     14470            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4639:1: ( RULE_ID ) 
     14471            { 
     14472            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4639:1: ( RULE_ID ) 
     14473            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4640:1: RULE_ID 
    1407714474            { 
    1407814475            if ( state.backtracking==0 ) { 
    1407914476               before(grammarAccess.getExtRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
    1408014477            } 
    14081             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExtRule__RulevariantAssignment_0_19146); if (state.failed) return ; 
     14478            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExtRule__RulevariantAssignment_0_19408); if (state.failed) return ; 
    1408214479            if ( state.backtracking==0 ) { 
    1408314480               after(grammarAccess.getExtRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
     
    1409514492        } 
    1409614493        finally { 
    14097             if ( state.backtracking>0 ) { memoize(input, 273, rule__ExtRule__RulevariantAssignment_0_1_StartIndex); } 
     14494            if ( state.backtracking>0 ) { memoize(input, 281, rule__ExtRule__RulevariantAssignment_0_1_StartIndex); } 
    1409814495 
    1409914496                restoreStackSize(stackSize); 
     
    1410614503 
    1410714504    // $ANTLR start "rule__ExtRule__NameAssignment_1" 
    14108     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4522:1: rule__ExtRule__NameAssignment_1 : ( RULE_ID ) ; 
     14505    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4649:1: rule__ExtRule__NameAssignment_1 : ( RULE_ID ) ; 
    1410914506    public final void rule__ExtRule__NameAssignment_1() throws RecognitionException { 
    1411014507        int rule__ExtRule__NameAssignment_1_StartIndex = input.index(); 
     
    1411314510             
    1411414511        try { 
    14115             if ( state.backtracking>0 && alreadyParsedRule(input, 274) ) { return ; } 
    14116             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4526:1: ( ( RULE_ID ) ) 
    14117             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4527:1: ( RULE_ID ) 
    14118             { 
    14119             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4527:1: ( RULE_ID ) 
    14120             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4528:1: RULE_ID 
     14512            if ( state.backtracking>0 && alreadyParsedRule(input, 282) ) { return ; } 
     14513            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4653:1: ( ( RULE_ID ) ) 
     14514            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4654:1: ( RULE_ID ) 
     14515            { 
     14516            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4654:1: ( RULE_ID ) 
     14517            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4655:1: RULE_ID 
    1412114518            { 
    1412214519            if ( state.backtracking==0 ) { 
    1412314520               before(grammarAccess.getExtRuleAccess().getNameIDTerminalRuleCall_1_0());  
    1412414521            } 
    14125             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExtRule__NameAssignment_19177); if (state.failed) return ; 
     14522            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExtRule__NameAssignment_19439); if (state.failed) return ; 
    1412614523            if ( state.backtracking==0 ) { 
    1412714524               after(grammarAccess.getExtRuleAccess().getNameIDTerminalRuleCall_1_0());  
     
    1413914536        } 
    1414014537        finally { 
    14141             if ( state.backtracking>0 ) { memoize(input, 274, rule__ExtRule__NameAssignment_1_StartIndex); } 
     14538            if ( state.backtracking>0 ) { memoize(input, 282, rule__ExtRule__NameAssignment_1_StartIndex); } 
    1414214539 
    1414314540                restoreStackSize(stackSize); 
     
    1415014547 
    1415114548    // $ANTLR start "rule__ExtRule__RuleextAssignment_2_1" 
    14152     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4537:1: rule__ExtRule__RuleextAssignment_2_1 : ( RULE_INT ) ; 
     14549    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4664:1: rule__ExtRule__RuleextAssignment_2_1 : ( RULE_INT ) ; 
    1415314550    public final void rule__ExtRule__RuleextAssignment_2_1() throws RecognitionException { 
    1415414551        int rule__ExtRule__RuleextAssignment_2_1_StartIndex = input.index(); 
     
    1415714554             
    1415814555        try { 
    14159             if ( state.backtracking>0 && alreadyParsedRule(input, 275) ) { return ; } 
    14160             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4541:1: ( ( RULE_INT ) ) 
    14161             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4542:1: ( RULE_INT ) 
    14162             { 
    14163             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4542:1: ( RULE_INT ) 
    14164             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4543:1: RULE_INT 
     14556            if ( state.backtracking>0 && alreadyParsedRule(input, 283) ) { return ; } 
     14557            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4668:1: ( ( RULE_INT ) ) 
     14558            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4669:1: ( RULE_INT ) 
     14559            { 
     14560            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4669:1: ( RULE_INT ) 
     14561            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4670:1: RULE_INT 
    1416514562            { 
    1416614563            if ( state.backtracking==0 ) { 
    1416714564               before(grammarAccess.getExtRuleAccess().getRuleextINTTerminalRuleCall_2_1_0());  
    1416814565            } 
    14169             match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ExtRule__RuleextAssignment_2_19208); if (state.failed) return ; 
     14566            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ExtRule__RuleextAssignment_2_19470); if (state.failed) return ; 
    1417014567            if ( state.backtracking==0 ) { 
    1417114568               after(grammarAccess.getExtRuleAccess().getRuleextINTTerminalRuleCall_2_1_0());  
     
    1418314580        } 
    1418414581        finally { 
    14185             if ( state.backtracking>0 ) { memoize(input, 275, rule__ExtRule__RuleextAssignment_2_1_StartIndex); } 
     14582            if ( state.backtracking>0 ) { memoize(input, 283, rule__ExtRule__RuleextAssignment_2_1_StartIndex); } 
    1418614583 
    1418714584                restoreStackSize(stackSize); 
     
    1419414591 
    1419514592    // $ANTLR start "rule__ExtRule__ElementsAssignment_4_0" 
    14196     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4552:1: rule__ExtRule__ElementsAssignment_4_0 : ( ruleAtom ) ; 
     14593    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4679:1: rule__ExtRule__ElementsAssignment_4_0 : ( ruleAtom ) ; 
    1419714594    public final void rule__ExtRule__ElementsAssignment_4_0() throws RecognitionException { 
    1419814595        int rule__ExtRule__ElementsAssignment_4_0_StartIndex = input.index(); 
     
    1420114598             
    1420214599        try { 
    14203             if ( state.backtracking>0 && alreadyParsedRule(input, 276) ) { return ; } 
    14204             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4556:1: ( ( ruleAtom ) ) 
    14205             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4557:1: ( ruleAtom ) 
    14206             { 
    14207             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4557:1: ( ruleAtom ) 
    14208             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4558:1: ruleAtom 
     14600            if ( state.backtracking>0 && alreadyParsedRule(input, 284) ) { return ; } 
     14601            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4683:1: ( ( ruleAtom ) ) 
     14602            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4684:1: ( ruleAtom ) 
     14603            { 
     14604            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4684:1: ( ruleAtom ) 
     14605            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4685:1: ruleAtom 
    1420914606            { 
    1421014607            if ( state.backtracking==0 ) { 
    1421114608               before(grammarAccess.getExtRuleAccess().getElementsAtomParserRuleCall_4_0_0());  
    1421214609            } 
    14213             pushFollow(FOLLOW_ruleAtom_in_rule__ExtRule__ElementsAssignment_4_09239); 
     14610            pushFollow(FOLLOW_ruleAtom_in_rule__ExtRule__ElementsAssignment_4_09501); 
    1421414611            ruleAtom(); 
    1421514612 
     
    1423114628        } 
    1423214629        finally { 
    14233             if ( state.backtracking>0 ) { memoize(input, 276, rule__ExtRule__ElementsAssignment_4_0_StartIndex); } 
     14630            if ( state.backtracking>0 ) { memoize(input, 284, rule__ExtRule__ElementsAssignment_4_0_StartIndex); } 
    1423414631 
    1423514632                restoreStackSize(stackSize); 
     
    1424214639 
    1424314640    // $ANTLR start "rule__GlobalCombinator__LogicAssignment_1" 
    14244     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4567:1: rule__GlobalCombinator__LogicAssignment_1 : ( RULE_LOGIC ) ; 
     14641    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4694:1: rule__GlobalCombinator__LogicAssignment_1 : ( RULE_LOGIC ) ; 
    1424514642    public final void rule__GlobalCombinator__LogicAssignment_1() throws RecognitionException { 
    1424614643        int rule__GlobalCombinator__LogicAssignment_1_StartIndex = input.index(); 
     
    1424914646             
    1425014647        try { 
    14251             if ( state.backtracking>0 && alreadyParsedRule(input, 277) ) { return ; } 
    14252             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4571:1: ( ( RULE_LOGIC ) ) 
    14253             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4572:1: ( RULE_LOGIC ) 
    14254             { 
    14255             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4572:1: ( RULE_LOGIC ) 
    14256             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4573:1: RULE_LOGIC 
     14648            if ( state.backtracking>0 && alreadyParsedRule(input, 285) ) { return ; } 
     14649            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4698:1: ( ( RULE_LOGIC ) ) 
     14650            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4699:1: ( RULE_LOGIC ) 
     14651            { 
     14652            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4699:1: ( RULE_LOGIC ) 
     14653            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4700:1: RULE_LOGIC 
    1425714654            { 
    1425814655            if ( state.backtracking==0 ) { 
    1425914656               before(grammarAccess.getGlobalCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
    1426014657            } 
    14261             match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__GlobalCombinator__LogicAssignment_19270); if (state.failed) return ; 
     14658            match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__GlobalCombinator__LogicAssignment_19532); if (state.failed) return ; 
    1426214659            if ( state.backtracking==0 ) { 
    1426314660               after(grammarAccess.getGlobalCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
     
    1427514672        } 
    1427614673        finally { 
    14277             if ( state.backtracking>0 ) { memoize(input, 277, rule__GlobalCombinator__LogicAssignment_1_StartIndex); } 
     14674            if ( state.backtracking>0 ) { memoize(input, 285, rule__GlobalCombinator__LogicAssignment_1_StartIndex); } 
    1427814675 
    1427914676                restoreStackSize(stackSize); 
     
    1428614683 
    1428714684    // $ANTLR start "rule__RuleCombinator__NameAssignment_0_2" 
    14288     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4582:1: rule__RuleCombinator__NameAssignment_0_2 : ( RULE_ID ) ; 
     14685    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4709:1: rule__RuleCombinator__NameAssignment_0_2 : ( RULE_ID ) ; 
    1428914686    public final void rule__RuleCombinator__NameAssignment_0_2() throws RecognitionException { 
    1429014687        int rule__RuleCombinator__NameAssignment_0_2_StartIndex = input.index(); 
     
    1429314690             
    1429414691        try { 
    14295             if ( state.backtracking>0 && alreadyParsedRule(input, 278) ) { return ; } 
    14296             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4586:1: ( ( RULE_ID ) ) 
    14297             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4587:1: ( RULE_ID ) 
    14298             { 
    14299             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4587:1: ( RULE_ID ) 
    14300             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4588:1: RULE_ID 
     14692            if ( state.backtracking>0 && alreadyParsedRule(input, 286) ) { return ; } 
     14693            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4713:1: ( ( RULE_ID ) ) 
     14694            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4714:1: ( RULE_ID ) 
     14695            { 
     14696            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4714:1: ( RULE_ID ) 
     14697            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4715:1: RULE_ID 
    1430114698            { 
    1430214699            if ( state.backtracking==0 ) { 
    1430314700               before(grammarAccess.getRuleCombinatorAccess().getNameIDTerminalRuleCall_0_2_0());  
    1430414701            } 
    14305             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleCombinator__NameAssignment_0_29301); if (state.failed) return ; 
     14702            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleCombinator__NameAssignment_0_29563); if (state.failed) return ; 
    1430614703            if ( state.backtracking==0 ) { 
    1430714704               after(grammarAccess.getRuleCombinatorAccess().getNameIDTerminalRuleCall_0_2_0());  
     
    1431914716        } 
    1432014717        finally { 
    14321             if ( state.backtracking>0 ) { memoize(input, 278, rule__RuleCombinator__NameAssignment_0_2_StartIndex); } 
     14718            if ( state.backtracking>0 ) { memoize(input, 286, rule__RuleCombinator__NameAssignment_0_2_StartIndex); } 
    1432214719 
    1432314720                restoreStackSize(stackSize); 
     
    1433014727 
    1433114728    // $ANTLR start "rule__RuleCombinator__LogicAssignment_1" 
    14332     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4597:1: rule__RuleCombinator__LogicAssignment_1 : ( RULE_LOGIC ) ; 
     14729    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4724:1: rule__RuleCombinator__LogicAssignment_1 : ( RULE_LOGIC ) ; 
    1433314730    public final void rule__RuleCombinator__LogicAssignment_1() throws RecognitionException { 
    1433414731        int rule__RuleCombinator__LogicAssignment_1_StartIndex = input.index(); 
     
    1433714734             
    1433814735        try { 
    14339             if ( state.backtracking>0 && alreadyParsedRule(input, 279) ) { return ; } 
    14340             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4601:1: ( ( RULE_LOGIC ) ) 
    14341             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4602:1: ( RULE_LOGIC ) 
    14342             { 
    14343             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4602:1: ( RULE_LOGIC ) 
    14344             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4603:1: RULE_LOGIC 
     14736            if ( state.backtracking>0 && alreadyParsedRule(input, 287) ) { return ; } 
     14737            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4728:1: ( ( RULE_LOGIC ) ) 
     14738            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4729:1: ( RULE_LOGIC ) 
     14739            { 
     14740            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4729:1: ( RULE_LOGIC ) 
     14741            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4730:1: RULE_LOGIC 
    1434514742            { 
    1434614743            if ( state.backtracking==0 ) { 
    1434714744               before(grammarAccess.getRuleCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
    1434814745            } 
    14349             match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__RuleCombinator__LogicAssignment_19332); if (state.failed) return ; 
     14746            match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__RuleCombinator__LogicAssignment_19594); if (state.failed) return ; 
    1435014747            if ( state.backtracking==0 ) { 
    1435114748               after(grammarAccess.getRuleCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
     
    1436314760        } 
    1436414761        finally { 
    14365             if ( state.backtracking>0 ) { memoize(input, 279, rule__RuleCombinator__LogicAssignment_1_StartIndex); } 
     14762            if ( state.backtracking>0 ) { memoize(input, 287, rule__RuleCombinator__LogicAssignment_1_StartIndex); } 
    1436614763 
    1436714764                restoreStackSize(stackSize); 
     
    1437414771 
    1437514772    // $ANTLR start "rule__RuleCombinator__LABELAssignment_2_1" 
    14376     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4612:1: rule__RuleCombinator__LABELAssignment_2_1 : ( RULE_STRING ) ; 
     14773    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4739:1: rule__RuleCombinator__LABELAssignment_2_1 : ( RULE_STRING ) ; 
    1437714774    public final void rule__RuleCombinator__LABELAssignment_2_1() throws RecognitionException { 
    1437814775        int rule__RuleCombinator__LABELAssignment_2_1_StartIndex = input.index(); 
     
    1438114778             
    1438214779        try { 
    14383             if ( state.backtracking>0 && alreadyParsedRule(input, 280) ) { return ; } 
    14384             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4616:1: ( ( RULE_STRING ) ) 
    14385             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4617:1: ( RULE_STRING ) 
    14386             { 
    14387             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4617:1: ( RULE_STRING ) 
    14388             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4618:1: RULE_STRING 
     14780            if ( state.backtracking>0 && alreadyParsedRule(input, 288) ) { return ; } 
     14781            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4743:1: ( ( RULE_STRING ) ) 
     14782            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4744:1: ( RULE_STRING ) 
     14783            { 
     14784            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4744:1: ( RULE_STRING ) 
     14785            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4745:1: RULE_STRING 
    1438914786            { 
    1439014787            if ( state.backtracking==0 ) { 
    1439114788               before(grammarAccess.getRuleCombinatorAccess().getLABELSTRINGTerminalRuleCall_2_1_0());  
    1439214789            } 
    14393             match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__RuleCombinator__LABELAssignment_2_19363); if (state.failed) return ; 
     14790            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__RuleCombinator__LABELAssignment_2_19625); if (state.failed) return ; 
    1439414791            if ( state.backtracking==0 ) { 
    1439514792               after(grammarAccess.getRuleCombinatorAccess().getLABELSTRINGTerminalRuleCall_2_1_0());  
     
    1440714804        } 
    1440814805        finally { 
    14409             if ( state.backtracking>0 ) { memoize(input, 280, rule__RuleCombinator__LABELAssignment_2_1_StartIndex); } 
     14806            if ( state.backtracking>0 ) { memoize(input, 288, rule__RuleCombinator__LABELAssignment_2_1_StartIndex); } 
    1441014807 
    1441114808                restoreStackSize(stackSize); 
     
    1441814815 
    1441914816    // $ANTLR start "rule__HookCombinator__NameAssignment_2" 
    14420     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4627:1: rule__HookCombinator__NameAssignment_2 : ( RULE_ID ) ; 
     14817    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4754:1: rule__HookCombinator__NameAssignment_2 : ( RULE_ID ) ; 
    1442114818    public final void rule__HookCombinator__NameAssignment_2() throws RecognitionException { 
    1442214819        int rule__HookCombinator__NameAssignment_2_StartIndex = input.index(); 
     
    1442514822             
    1442614823        try { 
    14427             if ( state.backtracking>0 && alreadyParsedRule(input, 281) ) { return ; } 
    14428             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4631:1: ( ( RULE_ID ) ) 
    14429             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4632:1: ( RULE_ID ) 
    14430             { 
    14431             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4632:1: ( RULE_ID ) 
    14432             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4633:1: RULE_ID 
     14824            if ( state.backtracking>0 && alreadyParsedRule(input, 289) ) { return ; } 
     14825            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4758:1: ( ( RULE_ID ) ) 
     14826            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4759:1: ( RULE_ID ) 
     14827            { 
     14828            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4759:1: ( RULE_ID ) 
     14829            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4760:1: RULE_ID 
    1443314830            { 
    1443414831            if ( state.backtracking==0 ) { 
    1443514832               before(grammarAccess.getHookCombinatorAccess().getNameIDTerminalRuleCall_2_0());  
    1443614833            } 
    14437             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__HookCombinator__NameAssignment_29394); if (state.failed) return ; 
     14834            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__HookCombinator__NameAssignment_29656); if (state.failed) return ; 
    1443814835            if ( state.backtracking==0 ) { 
    1443914836               after(grammarAccess.getHookCombinatorAccess().getNameIDTerminalRuleCall_2_0());  
     
    1445114848        } 
    1445214849        finally { 
    14453             if ( state.backtracking>0 ) { memoize(input, 281, rule__HookCombinator__NameAssignment_2_StartIndex); } 
     14850            if ( state.backtracking>0 ) { memoize(input, 289, rule__HookCombinator__NameAssignment_2_StartIndex); } 
    1445414851 
    1445514852                restoreStackSize(stackSize); 
     
    1446214859 
    1446314860    // $ANTLR start "rule__HookCombinator__RuleextAssignment_4" 
    14464     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4642:1: rule__HookCombinator__RuleextAssignment_4 : ( RULE_INT ) ; 
     14861    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4769:1: rule__HookCombinator__RuleextAssignment_4 : ( RULE_INT ) ; 
    1446514862    public final void rule__HookCombinator__RuleextAssignment_4() throws RecognitionException { 
    1446614863        int rule__HookCombinator__RuleextAssignment_4_StartIndex = input.index(); 
     
    1446914866             
    1447014867        try { 
    14471             if ( state.backtracking>0 && alreadyParsedRule(input, 282) ) { return ; } 
    14472             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4646:1: ( ( RULE_INT ) ) 
    14473             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4647:1: ( RULE_INT ) 
    14474             { 
    14475             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4647:1: ( RULE_INT ) 
    14476             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4648:1: RULE_INT 
     14868            if ( state.backtracking>0 && alreadyParsedRule(input, 290) ) { return ; } 
     14869            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4773:1: ( ( RULE_INT ) ) 
     14870            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4774:1: ( RULE_INT ) 
     14871            { 
     14872            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4774:1: ( RULE_INT ) 
     14873            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4775:1: RULE_INT 
    1447714874            { 
    1447814875            if ( state.backtracking==0 ) { 
    1447914876               before(grammarAccess.getHookCombinatorAccess().getRuleextINTTerminalRuleCall_4_0());  
    1448014877            } 
    14481             match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__HookCombinator__RuleextAssignment_49425); if (state.failed) return ; 
     14878            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__HookCombinator__RuleextAssignment_49687); if (state.failed) return ; 
    1448214879            if ( state.backtracking==0 ) { 
    1448314880               after(grammarAccess.getHookCombinatorAccess().getRuleextINTTerminalRuleCall_4_0());  
     
    1449514892        } 
    1449614893        finally { 
    14497             if ( state.backtracking>0 ) { memoize(input, 282, rule__HookCombinator__RuleextAssignment_4_StartIndex); } 
     14894            if ( state.backtracking>0 ) { memoize(input, 290, rule__HookCombinator__RuleextAssignment_4_StartIndex); } 
    1449814895 
    1449914896                restoreStackSize(stackSize); 
     
    1450614903 
    1450714904    // $ANTLR start "rule__HookCombinator__LogicAssignment_6" 
    14508     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4657:1: rule__HookCombinator__LogicAssignment_6 : ( RULE_LOGIC ) ; 
     14905    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4784:1: rule__HookCombinator__LogicAssignment_6 : ( RULE_LOGIC ) ; 
    1450914906    public final void rule__HookCombinator__LogicAssignment_6() throws RecognitionException { 
    1451014907        int rule__HookCombinator__LogicAssignment_6_StartIndex = input.index(); 
     
    1451314910             
    1451414911        try { 
    14515             if ( state.backtracking>0 && alreadyParsedRule(input, 283) ) { return ; } 
    14516             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4661:1: ( ( RULE_LOGIC ) ) 
    14517             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4662:1: ( RULE_LOGIC ) 
    14518             { 
    14519             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4662:1: ( RULE_LOGIC ) 
    14520             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4663:1: RULE_LOGIC 
     14912            if ( state.backtracking>0 && alreadyParsedRule(input, 291) ) { return ; } 
     14913            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4788:1: ( ( RULE_LOGIC ) ) 
     14914            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4789:1: ( RULE_LOGIC ) 
     14915            { 
     14916            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4789:1: ( RULE_LOGIC ) 
     14917            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4790:1: RULE_LOGIC 
    1452114918            { 
    1452214919            if ( state.backtracking==0 ) { 
    1452314920               before(grammarAccess.getHookCombinatorAccess().getLogicLOGICTerminalRuleCall_6_0());  
    1452414921            } 
    14525             match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__HookCombinator__LogicAssignment_69456); if (state.failed) return ; 
     14922            match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__HookCombinator__LogicAssignment_69718); if (state.failed) return ; 
    1452614923            if ( state.backtracking==0 ) { 
    1452714924               after(grammarAccess.getHookCombinatorAccess().getLogicLOGICTerminalRuleCall_6_0());  
     
    1453914936        } 
    1454014937        finally { 
    14541             if ( state.backtracking>0 ) { memoize(input, 283, rule__HookCombinator__LogicAssignment_6_StartIndex); } 
     14938            if ( state.backtracking>0 ) { memoize(input, 291, rule__HookCombinator__LogicAssignment_6_StartIndex); } 
    1454214939 
    1454314940                restoreStackSize(stackSize); 
     
    1455014947 
    1455114948    // $ANTLR start "rule__HookCombinator__LABELAssignment_7_1" 
    14552     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4672:1: rule__HookCombinator__LABELAssignment_7_1 : ( RULE_STRING ) ; 
     14949    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4799:1: rule__HookCombinator__LABELAssignment_7_1 : ( RULE_STRING ) ; 
    1455314950    public final void rule__HookCombinator__LABELAssignment_7_1() throws RecognitionException { 
    1455414951        int rule__HookCombinator__LABELAssignment_7_1_StartIndex = input.index(); 
     
    1455714954             
    1455814955        try { 
    14559             if ( state.backtracking>0 && alreadyParsedRule(input, 284) ) { return ; } 
    14560             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4676:1: ( ( RULE_STRING ) ) 
    14561             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4677:1: ( RULE_STRING ) 
    14562             { 
    14563             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4677:1: ( RULE_STRING ) 
    14564             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4678:1: RULE_STRING 
     14956            if ( state.backtracking>0 && alreadyParsedRule(input, 292) ) { return ; } 
     14957            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4803:1: ( ( RULE_STRING ) ) 
     14958            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4804:1: ( RULE_STRING ) 
     14959            { 
     14960            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4804:1: ( RULE_STRING ) 
     14961            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4805:1: RULE_STRING 
    1456514962            { 
    1456614963            if ( state.backtracking==0 ) { 
    1456714964               before(grammarAccess.getHookCombinatorAccess().getLABELSTRINGTerminalRuleCall_7_1_0());  
    1456814965            } 
    14569             match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__HookCombinator__LABELAssignment_7_19487); if (state.failed) return ; 
     14966            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__HookCombinator__LABELAssignment_7_19749); if (state.failed) return ; 
    1457014967            if ( state.backtracking==0 ) { 
    1457114968               after(grammarAccess.getHookCombinatorAccess().getLABELSTRINGTerminalRuleCall_7_1_0());  
     
    1458314980        } 
    1458414981        finally { 
    14585             if ( state.backtracking>0 ) { memoize(input, 284, rule__HookCombinator__LABELAssignment_7_1_StartIndex); } 
     14982            if ( state.backtracking>0 ) { memoize(input, 292, rule__HookCombinator__LABELAssignment_7_1_StartIndex); } 
    1458614983 
    1458714984                restoreStackSize(stackSize); 
     
    1459414991 
    1459514992    // $ANTLR start "rule__DefinitionList__SingleDefinitionAssignment_0" 
    14596     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4687:1: rule__DefinitionList__SingleDefinitionAssignment_0 : ( ruleSingleDefinition ) ; 
     14993    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4814:1: rule__DefinitionList__SingleDefinitionAssignment_0 : ( ruleSingleDefinition ) ; 
    1459714994    public final void rule__DefinitionList__SingleDefinitionAssignment_0() throws RecognitionException { 
    1459814995        int rule__DefinitionList__SingleDefinitionAssignment_0_StartIndex = input.index(); 
     
    1460114998             
    1460214999        try { 
    14603             if ( state.backtracking>0 && alreadyParsedRule(input, 285) ) { return ; } 
    14604             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4691:1: ( ( ruleSingleDefinition ) ) 
    14605             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4692:1: ( ruleSingleDefinition ) 
    14606             { 
    14607             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4692:1: ( ruleSingleDefinition ) 
    14608             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4693:1: ruleSingleDefinition 
     15000            if ( state.backtracking>0 && alreadyParsedRule(input, 293) ) { return ; } 
     15001            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4818:1: ( ( ruleSingleDefinition ) ) 
     15002            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4819:1: ( ruleSingleDefinition ) 
     15003            { 
     15004            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4819:1: ( ruleSingleDefinition ) 
     15005            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4820:1: ruleSingleDefinition 
    1460915006            { 
    1461015007            if ( state.backtracking==0 ) { 
    1461115008               before(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_0_0());  
    1461215009            } 
    14613             pushFollow(FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_09518); 
     15010            pushFollow(FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_09780); 
    1461415011            ruleSingleDefinition(); 
    1461515012 
     
    1463115028        } 
    1463215029        finally { 
    14633             if ( state.backtracking>0 ) { memoize(input, 285, rule__DefinitionList__SingleDefinitionAssignment_0_StartIndex); } 
     15030            if ( state.backtracking>0 ) { memoize(input, 293, rule__DefinitionList__SingleDefinitionAssignment_0_StartIndex); } 
    1463415031 
    1463515032                restoreStackSize(stackSize); 
     
    1464215039 
    1464315040    // $ANTLR start "rule__DefinitionList__SingleDefinitionAssignment_1_1" 
    14644     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4702:1: rule__DefinitionList__SingleDefinitionAssignment_1_1 : ( ruleSingleDefinition ) ; 
     15041    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4829:1: rule__DefinitionList__SingleDefinitionAssignment_1_1 : ( ruleSingleDefinition ) ; 
    1464515042    public final void rule__DefinitionList__SingleDefinitionAssignment_1_1() throws RecognitionException { 
    1464615043        int rule__DefinitionList__SingleDefinitionAssignment_1_1_StartIndex = input.index(); 
     
    1464915046             
    1465015047        try { 
    14651             if ( state.backtracking>0 && alreadyParsedRule(input, 286) ) { return ; } 
    14652             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4706:1: ( ( ruleSingleDefinition ) ) 
    14653             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4707:1: ( ruleSingleDefinition ) 
    14654             { 
    14655             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4707:1: ( ruleSingleDefinition ) 
    14656             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4708:1: ruleSingleDefinition 
     15048            if ( state.backtracking>0 && alreadyParsedRule(input, 294) ) { return ; } 
     15049            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4833:1: ( ( ruleSingleDefinition ) ) 
     15050            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4834:1: ( ruleSingleDefinition ) 
     15051            { 
     15052            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4834:1: ( ruleSingleDefinition ) 
     15053            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4835:1: ruleSingleDefinition 
    1465715054            { 
    1465815055            if ( state.backtracking==0 ) { 
    1465915056               before(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_1_1_0());  
    1466015057            } 
    14661             pushFollow(FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_1_19549); 
     15058            pushFollow(FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_1_19811); 
    1466215059            ruleSingleDefinition(); 
    1466315060 
     
    1467915076        } 
    1468015077        finally { 
    14681             if ( state.backtracking>0 ) { memoize(input, 286, rule__DefinitionList__SingleDefinitionAssignment_1_1_StartIndex); } 
     15078            if ( state.backtracking>0 ) { memoize(input, 294, rule__DefinitionList__SingleDefinitionAssignment_1_1_StartIndex); } 
    1468215079 
    1468315080                restoreStackSize(stackSize); 
     
    1469015087 
    1469115088    // $ANTLR start "rule__SingleDefinition__TermsAssignment" 
    14692     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4717:1: rule__SingleDefinition__TermsAssignment : ( ruleTerm ) ; 
     15089    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4844:1: rule__SingleDefinition__TermsAssignment : ( ruleTerm ) ; 
    1469315090    public final void rule__SingleDefinition__TermsAssignment() throws RecognitionException { 
    1469415091        int rule__SingleDefinition__TermsAssignment_StartIndex = input.index(); 
     
    1469715094             
    1469815095        try { 
    14699             if ( state.backtracking>0 && alreadyParsedRule(input, 287) ) { return ; } 
    14700             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4721:1: ( ( ruleTerm ) ) 
    14701             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4722:1: ( ruleTerm ) 
    14702             { 
    14703             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4722:1: ( ruleTerm ) 
    14704             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4723:1: ruleTerm 
     15096            if ( state.backtracking>0 && alreadyParsedRule(input, 295) ) { return ; } 
     15097            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4848:1: ( ( ruleTerm ) ) 
     15098            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4849:1: ( ruleTerm ) 
     15099            { 
     15100            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4849:1: ( ruleTerm ) 
     15101            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4850:1: ruleTerm 
    1470515102            { 
    1470615103            if ( state.backtracking==0 ) { 
    1470715104               before(grammarAccess.getSingleDefinitionAccess().getTermsTermParserRuleCall_0());  
    1470815105            } 
    14709             pushFollow(FOLLOW_ruleTerm_in_rule__SingleDefinition__TermsAssignment9580); 
     15106            pushFollow(FOLLOW_ruleTerm_in_rule__SingleDefinition__TermsAssignment9842); 
    1471015107            ruleTerm(); 
    1471115108 
     
    1472715124        } 
    1472815125        finally { 
    14729             if ( state.backtracking>0 ) { memoize(input, 287, rule__SingleDefinition__TermsAssignment_StartIndex); } 
     15126            if ( state.backtracking>0 ) { memoize(input, 295, rule__SingleDefinition__TermsAssignment_StartIndex); } 
    1473015127 
    1473115128                restoreStackSize(stackSize); 
     
    1473815135 
    1473915136    // $ANTLR start "rule__Term__TermAtomAssignment_0" 
    14740     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4732:1: rule__Term__TermAtomAssignment_0 : ( ruleAtom ) ; 
     15137    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4859:1: rule__Term__TermAtomAssignment_0 : ( ruleAtom ) ; 
    1474115138    public final void rule__Term__TermAtomAssignment_0() throws RecognitionException { 
    1474215139        int rule__Term__TermAtomAssignment_0_StartIndex = input.index(); 
     
    1474515142             
    1474615143        try { 
    14747             if ( state.backtracking>0 && alreadyParsedRule(input, 288) ) { return ; } 
    14748             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4736:1: ( ( ruleAtom ) ) 
    14749             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4737:1: ( ruleAtom ) 
    14750             { 
    14751             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4737:1: ( ruleAtom ) 
    14752             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4738:1: ruleAtom 
     15144            if ( state.backtracking>0 && alreadyParsedRule(input, 296) ) { return ; } 
     15145            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4863:1: ( ( ruleAtom ) ) 
     15146            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4864:1: ( ruleAtom ) 
     15147            { 
     15148            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4864:1: ( ruleAtom ) 
     15149            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4865:1: ruleAtom 
    1475315150            { 
    1475415151            if ( state.backtracking==0 ) { 
    1475515152               before(grammarAccess.getTermAccess().getTermAtomAtomParserRuleCall_0_0());  
    1475615153            } 
    14757             pushFollow(FOLLOW_ruleAtom_in_rule__Term__TermAtomAssignment_09611); 
     15154            pushFollow(FOLLOW_ruleAtom_in_rule__Term__TermAtomAssignment_09873); 
    1475815155            ruleAtom(); 
    1475915156 
     
    1477515172        } 
    1477615173        finally { 
    14777             if ( state.backtracking>0 ) { memoize(input, 288, rule__Term__TermAtomAssignment_0_StartIndex); } 
     15174            if ( state.backtracking>0 ) { memoize(input, 296, rule__Term__TermAtomAssignment_0_StartIndex); } 
    1477815175 
    1477915176                restoreStackSize(stackSize); 
     
    1478615183 
    1478715184    // $ANTLR start "rule__Term__TermGroupedSequenceAssignment_1" 
    14788     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4747:1: rule__Term__TermGroupedSequenceAssignment_1 : ( ruleGroupedSequence ) ; 
     15185    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4874:1: rule__Term__TermGroupedSequenceAssignment_1 : ( ruleGroupedSequence ) ; 
    1478915186    public final void rule__Term__TermGroupedSequenceAssignment_1() throws RecognitionException { 
    1479015187        int rule__Term__TermGroupedSequenceAssignment_1_StartIndex = input.index(); 
     
    1479315190             
    1479415191        try { 
    14795             if ( state.backtracking>0 && alreadyParsedRule(input, 289) ) { return ; } 
    14796             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4751:1: ( ( ruleGroupedSequence ) ) 
    14797             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4752:1: ( ruleGroupedSequence ) 
    14798             { 
    14799             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4752:1: ( ruleGroupedSequence ) 
    14800             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4753:1: ruleGroupedSequence 
     15192            if ( state.backtracking>0 && alreadyParsedRule(input, 297) ) { return ; } 
     15193            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4878:1: ( ( ruleGroupedSequence ) ) 
     15194            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4879:1: ( ruleGroupedSequence ) 
     15195            { 
     15196            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4879:1: ( ruleGroupedSequence ) 
     15197            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4880:1: ruleGroupedSequence 
    1480115198            { 
    1480215199            if ( state.backtracking==0 ) { 
    1480315200               before(grammarAccess.getTermAccess().getTermGroupedSequenceGroupedSequenceParserRuleCall_1_0());  
    1480415201            } 
    14805             pushFollow(FOLLOW_ruleGroupedSequence_in_rule__Term__TermGroupedSequenceAssignment_19642); 
     15202            pushFollow(FOLLOW_ruleGroupedSequence_in_rule__Term__TermGroupedSequenceAssignment_19904); 
    1480615203            ruleGroupedSequence(); 
    1480715204 
     
    1482315220        } 
    1482415221        finally { 
    14825             if ( state.backtracking>0 ) { memoize(input, 289, rule__Term__TermGroupedSequenceAssignment_1_StartIndex); } 
     15222            if ( state.backtracking>0 ) { memoize(input, 297, rule__Term__TermGroupedSequenceAssignment_1_StartIndex); } 
    1482615223 
    1482715224                restoreStackSize(stackSize); 
     
    1483415231 
    1483515232    // $ANTLR start "rule__Term__TermOptionalSequenceAssignment_2" 
    14836     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4762:1: rule__Term__TermOptionalSequenceAssignment_2 : ( ruleOptionalSequence ) ; 
     15233    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4889:1: rule__Term__TermOptionalSequenceAssignment_2 : ( ruleOptionalSequence ) ; 
    1483715234    public final void rule__Term__TermOptionalSequenceAssignment_2() throws RecognitionException { 
    1483815235        int rule__Term__TermOptionalSequenceAssignment_2_StartIndex = input.index(); 
     
    1484115238             
    1484215239        try { 
    14843             if ( state.backtracking>0 && alreadyParsedRule(input, 290) ) { return ; } 
    14844             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4766:1: ( ( ruleOptionalSequence ) ) 
    14845             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4767:1: ( ruleOptionalSequence ) 
    14846             { 
    14847             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4767:1: ( ruleOptionalSequence ) 
    14848             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4768:1: ruleOptionalSequence 
     15240            if ( state.backtracking>0 && alreadyParsedRule(input, 298) ) { return ; } 
     15241            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4893:1: ( ( ruleOptionalSequence ) ) 
     15242            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4894:1: ( ruleOptionalSequence ) 
     15243            { 
     15244            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4894:1: ( ruleOptionalSequence ) 
     15245            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4895:1: ruleOptionalSequence 
    1484915246            { 
    1485015247            if ( state.backtracking==0 ) { 
    1485115248               before(grammarAccess.getTermAccess().getTermOptionalSequenceOptionalSequenceParserRuleCall_2_0());  
    1485215249            } 
    14853             pushFollow(FOLLOW_ruleOptionalSequence_in_rule__Term__TermOptionalSequenceAssignment_29673); 
     15250            pushFollow(FOLLOW_ruleOptionalSequence_in_rule__Term__TermOptionalSequenceAssignment_29935); 
    1485415251            ruleOptionalSequence(); 
    1485515252 
     
    1487115268        } 
    1487215269        finally { 
    14873             if ( state.backtracking>0 ) { memoize(input, 290, rule__Term__TermOptionalSequenceAssignment_2_StartIndex); } 
     15270            if ( state.backtracking>0 ) { memoize(input, 298, rule__Term__TermOptionalSequenceAssignment_2_StartIndex); } 
    1487415271 
    1487515272                restoreStackSize(stackSize); 
     
    1488215279 
    1488315280    // $ANTLR start "rule__Term__TermRepeatedSequenceAssignment_3" 
    14884     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4777:1: rule__Term__TermRepeatedSequenceAssignment_3 : ( ruleRepeatedSequence ) ; 
     15281    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4904:1: rule__Term__TermRepeatedSequenceAssignment_3 : ( ruleRepeatedSequence ) ; 
    1488515282    public final void rule__Term__TermRepeatedSequenceAssignment_3() throws RecognitionException { 
    1488615283        int rule__Term__TermRepeatedSequenceAssignment_3_StartIndex = input.index(); 
     
    1488915286             
    1489015287        try { 
    14891             if ( state.backtracking>0 && alreadyParsedRule(input, 291) ) { return ; } 
    14892             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4781:1: ( ( ruleRepeatedSequence ) ) 
    14893             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4782:1: ( ruleRepeatedSequence ) 
    14894             { 
    14895             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4782:1: ( ruleRepeatedSequence ) 
    14896             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4783:1: ruleRepeatedSequence 
     15288            if ( state.backtracking>0 && alreadyParsedRule(input, 299) ) { return ; } 
     15289            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4908:1: ( ( ruleRepeatedSequence ) ) 
     15290            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4909:1: ( ruleRepeatedSequence ) 
     15291            { 
     15292            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4909:1: ( ruleRepeatedSequence ) 
     15293            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4910:1: ruleRepeatedSequence 
    1489715294            { 
    1489815295            if ( state.backtracking==0 ) { 
    1489915296               before(grammarAccess.getTermAccess().getTermRepeatedSequenceRepeatedSequenceParserRuleCall_3_0());  
    1490015297            } 
    14901             pushFollow(FOLLOW_ruleRepeatedSequence_in_rule__Term__TermRepeatedSequenceAssignment_39704); 
     15298            pushFollow(FOLLOW_ruleRepeatedSequence_in_rule__Term__TermRepeatedSequenceAssignment_39966); 
    1490215299            ruleRepeatedSequence(); 
    1490315300 
     
    1491915316        } 
    1492015317        finally { 
    14921             if ( state.backtracking>0 ) { memoize(input, 291, rule__Term__TermRepeatedSequenceAssignment_3_StartIndex); } 
     15318            if ( state.backtracking>0 ) { memoize(input, 299, rule__Term__TermRepeatedSequenceAssignment_3_StartIndex); } 
    1492215319 
    1492315320                restoreStackSize(stackSize); 
     
    1493015327 
    1493115328    // $ANTLR start "rule__Atom__AtomStringRuleAssignment_0" 
    14932     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4792:1: rule__Atom__AtomStringRuleAssignment_0 : ( ruleStringRule ) ; 
     15329    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4919:1: rule__Atom__AtomStringRuleAssignment_0 : ( ruleStringRule ) ; 
    1493315330    public final void rule__Atom__AtomStringRuleAssignment_0() throws RecognitionException { 
    1493415331        int rule__Atom__AtomStringRuleAssignment_0_StartIndex = input.index(); 
     
    1493715334             
    1493815335        try { 
    14939             if ( state.backtracking>0 && alreadyParsedRule(input, 292) ) { return ; } 
    14940             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4796:1: ( ( ruleStringRule ) ) 
    14941             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4797:1: ( ruleStringRule ) 
    14942             { 
    14943             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4797:1: ( ruleStringRule ) 
    14944             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4798:1: ruleStringRule 
     15336            if ( state.backtracking>0 && alreadyParsedRule(input, 300) ) { return ; } 
     15337            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4923:1: ( ( ruleStringRule ) ) 
     15338            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4924:1: ( ruleStringRule ) 
     15339            { 
     15340            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4924:1: ( ruleStringRule ) 
     15341            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4925:1: ruleStringRule 
    1494515342            { 
    1494615343            if ( state.backtracking==0 ) { 
    1494715344               before(grammarAccess.getAtomAccess().getAtomStringRuleStringRuleParserRuleCall_0_0());  
    1494815345            } 
    14949             pushFollow(FOLLOW_ruleStringRule_in_rule__Atom__AtomStringRuleAssignment_09735); 
     15346            pushFollow(FOLLOW_ruleStringRule_in_rule__Atom__AtomStringRuleAssignment_09997); 
    1495015347            ruleStringRule(); 
    1495115348 
     
    1496715364        } 
    1496815365        finally { 
    14969             if ( state.backtracking>0 ) { memoize(input, 292, rule__Atom__AtomStringRuleAssignment_0_StartIndex); } 
     15366            if ( state.backtracking>0 ) { memoize(input, 300, rule__Atom__AtomStringRuleAssignment_0_StartIndex); } 
    1497015367 
    1497115368                restoreStackSize(stackSize); 
     
    1497815375 
    1497915376    // $ANTLR start "rule__Atom__AtomRuleReferenceAssignment_1" 
    14980     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4807:1: rule__Atom__AtomRuleReferenceAssignment_1 : ( ruleRuleReference ) ; 
     15377    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4934:1: rule__Atom__AtomRuleReferenceAssignment_1 : ( ruleRuleReference ) ; 
    1498115378    public final void rule__Atom__AtomRuleReferenceAssignment_1() throws RecognitionException { 
    1498215379        int rule__Atom__AtomRuleReferenceAssignment_1_StartIndex = input.index(); 
     
    1498515382             
    1498615383        try { 
    14987             if ( state.backtracking>0 && alreadyParsedRule(input, 293) ) { return ; } 
    14988             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4811:1: ( ( ruleRuleReference ) ) 
    14989             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4812:1: ( ruleRuleReference ) 
    14990             { 
    14991             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4812:1: ( ruleRuleReference ) 
    14992             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4813:1: ruleRuleReference 
     15384            if ( state.backtracking>0 && alreadyParsedRule(input, 301) ) { return ; } 
     15385            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4938:1: ( ( ruleRuleReference ) ) 
     15386            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4939:1: ( ruleRuleReference ) 
     15387            { 
     15388            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4939:1: ( ruleRuleReference ) 
     15389            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4940:1: ruleRuleReference 
    1499315390            { 
    1499415391            if ( state.backtracking==0 ) { 
    1499515392               before(grammarAccess.getAtomAccess().getAtomRuleReferenceRuleReferenceParserRuleCall_1_0());  
    1499615393            } 
    14997             pushFollow(FOLLOW_ruleRuleReference_in_rule__Atom__AtomRuleReferenceAssignment_19766); 
     15394            pushFollow(FOLLOW_ruleRuleReference_in_rule__Atom__AtomRuleReferenceAssignment_110028); 
    1499815395            ruleRuleReference(); 
    1499915396 
     
    1501515412        } 
    1501615413        finally { 
    15017             if ( state.backtracking>0 ) { memoize(input, 293, rule__Atom__AtomRuleReferenceAssignment_1_StartIndex); } 
     15414            if ( state.backtracking>0 ) { memoize(input, 301, rule__Atom__AtomRuleReferenceAssignment_1_StartIndex); } 
    1501815415 
    1501915416                restoreStackSize(stackSize); 
     
    1502615423 
    1502715424    // $ANTLR start "rule__RuleReference__RulerefAssignment" 
    15028     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4822:1: rule__RuleReference__RulerefAssignment : ( ( RULE_ID ) ) ; 
     15425    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4949:1: rule__RuleReference__RulerefAssignment : ( ( RULE_ID ) ) ; 
    1502915426    public final void rule__RuleReference__RulerefAssignment() throws RecognitionException { 
    1503015427        int rule__RuleReference__RulerefAssignment_StartIndex = input.index(); 
     
    1503315430             
    1503415431        try { 
    15035             if ( state.backtracking>0 && alreadyParsedRule(input, 294) ) { return ; } 
    15036             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4826:1: ( ( ( RULE_ID ) ) ) 
    15037             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4827:1: ( ( RULE_ID ) ) 
    15038             { 
    15039             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4827:1: ( ( RULE_ID ) ) 
    15040             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4828:1: ( RULE_ID ) 
     15432            if ( state.backtracking>0 && alreadyParsedRule(input, 302) ) { return ; } 
     15433            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4953:1: ( ( ( RULE_ID ) ) ) 
     15434            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4954:1: ( ( RULE_ID ) ) 
     15435            { 
     15436            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4954:1: ( ( RULE_ID ) ) 
     15437            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4955:1: ( RULE_ID ) 
    1504115438            { 
    1504215439            if ( state.backtracking==0 ) { 
    1504315440               before(grammarAccess.getRuleReferenceAccess().getRulerefRuleCrossReference_0());  
    1504415441            } 
    15045             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4829:1: ( RULE_ID ) 
    15046             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4830:1: RULE_ID 
     15442            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4956:1: ( RULE_ID ) 
     15443            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4957:1: RULE_ID 
    1504715444            { 
    1504815445            if ( state.backtracking==0 ) { 
    1504915446               before(grammarAccess.getRuleReferenceAccess().getRulerefRuleIDTerminalRuleCall_0_1());  
    1505015447            } 
    15051             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleReference__RulerefAssignment9801); if (state.failed) return ; 
     15448            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleReference__RulerefAssignment10063); if (state.failed) return ; 
    1505215449            if ( state.backtracking==0 ) { 
    1505315450               after(grammarAccess.getRuleReferenceAccess().getRulerefRuleIDTerminalRuleCall_0_1());  
     
    1507115468        } 
    1507215469        finally { 
    15073             if ( state.backtracking>0 ) { memoize(input, 294, rule__RuleReference__RulerefAssignment_StartIndex); } 
     15470            if ( state.backtracking>0 ) { memoize(input, 302, rule__RuleReference__RulerefAssignment_StartIndex); } 
    1507415471 
    1507515472                restoreStackSize(stackSize); 
     
    1508215479 
    1508315480    // $ANTLR start "rule__StringRule__LiteralAssignment_0" 
    15084     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4841:1: rule__StringRule__LiteralAssignment_0 : ( RULE_STRING ) ; 
     15481    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4968:1: rule__StringRule__LiteralAssignment_0 : ( RULE_STRING ) ; 
    1508515482    public final void rule__StringRule__LiteralAssignment_0() throws RecognitionException { 
    1508615483        int rule__StringRule__LiteralAssignment_0_StartIndex = input.index(); 
     
    1508915486             
    1509015487        try { 
    15091             if ( state.backtracking>0 && alreadyParsedRule(input, 295) ) { return ; } 
    15092             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4845:1: ( ( RULE_STRING ) ) 
    15093             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4846:1: ( RULE_STRING ) 
    15094             { 
    15095             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4846:1: ( RULE_STRING ) 
    15096             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4847:1: RULE_STRING 
     15488            if ( state.backtracking>0 && alreadyParsedRule(input, 303) ) { return ; } 
     15489            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4972:1: ( ( RULE_STRING ) ) 
     15490            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4973:1: ( RULE_STRING ) 
     15491            { 
     15492            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4973:1: ( RULE_STRING ) 
     15493            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4974:1: RULE_STRING 
    1509715494            { 
    1509815495            if ( state.backtracking==0 ) { 
    1509915496               before(grammarAccess.getStringRuleAccess().getLiteralSTRINGTerminalRuleCall_0_0());  
    1510015497            } 
    15101             match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringRule__LiteralAssignment_09836); if (state.failed) return ; 
     15498            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringRule__LiteralAssignment_010098); if (state.failed) return ; 
    1510215499            if ( state.backtracking==0 ) { 
    1510315500               after(grammarAccess.getStringRuleAccess().getLiteralSTRINGTerminalRuleCall_0_0());  
     
    1511515512        } 
    1511615513        finally { 
    15117             if ( state.backtracking>0 ) { memoize(input, 295, rule__StringRule__LiteralAssignment_0_StartIndex); } 
     15514            if ( state.backtracking>0 ) { memoize(input, 303, rule__StringRule__LiteralAssignment_0_StartIndex); } 
    1511815515 
    1511915516                restoreStackSize(stackSize); 
     
    1512615523 
    1512715524    // $ANTLR start "rule__StringRule__ColonAssignment_1" 
    15128     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4856:1: rule__StringRule__ColonAssignment_1 : ( RULE_COLON ) ; 
     15525    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4983:1: rule__StringRule__ColonAssignment_1 : ( RULE_COLON ) ; 
    1512915526    public final void rule__StringRule__ColonAssignment_1() throws RecognitionException { 
    1513015527        int rule__StringRule__ColonAssignment_1_StartIndex = input.index(); 
     
    1513315530             
    1513415531        try { 
    15135             if ( state.backtracking>0 && alreadyParsedRule(input, 296) ) { return ; } 
    15136             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4860:1: ( ( RULE_COLON ) ) 
    15137             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4861:1: ( RULE_COLON ) 
    15138             { 
    15139             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4861:1: ( RULE_COLON ) 
    15140             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4862:1: RULE_COLON 
     15532            if ( state.backtracking>0 && alreadyParsedRule(input, 304) ) { return ; } 
     15533            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4987:1: ( ( RULE_COLON ) ) 
     15534            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4988:1: ( RULE_COLON ) 
     15535            { 
     15536            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4988:1: ( RULE_COLON ) 
     15537            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:1: RULE_COLON 
    1514115538            { 
    1514215539            if ( state.backtracking==0 ) { 
    1514315540               before(grammarAccess.getStringRuleAccess().getColonCOLONTerminalRuleCall_1_0());  
    1514415541            } 
    15145             match(input,RULE_COLON,FOLLOW_RULE_COLON_in_rule__StringRule__ColonAssignment_19867); if (state.failed) return ; 
     15542            match(input,RULE_COLON,FOLLOW_RULE_COLON_in_rule__StringRule__ColonAssignment_110129); if (state.failed) return ; 
    1514615543            if ( state.backtracking==0 ) { 
    1514715544               after(grammarAccess.getStringRuleAccess().getColonCOLONTerminalRuleCall_1_0());  
     
    1515915556        } 
    1516015557        finally { 
    15161             if ( state.backtracking>0 ) { memoize(input, 296, rule__StringRule__ColonAssignment_1_StartIndex); } 
     15558            if ( state.backtracking>0 ) { memoize(input, 304, rule__StringRule__ColonAssignment_1_StartIndex); } 
    1516215559 
    1516315560                restoreStackSize(stackSize); 
     
    1517015567 
    1517115568    // $ANTLR start "rule__GroupedSequence__DefinitionListAssignment_1" 
    15172     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4871:1: rule__GroupedSequence__DefinitionListAssignment_1 : ( ruleDefinitionList ) ; 
     15569    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4998:1: rule__GroupedSequence__DefinitionListAssignment_1 : ( ruleDefinitionList ) ; 
    1517315570    public final void rule__GroupedSequence__DefinitionListAssignment_1() throws RecognitionException { 
    1517415571        int rule__GroupedSequence__DefinitionListAssignment_1_StartIndex = input.index(); 
     
    1517715574             
    1517815575        try { 
    15179             if ( state.backtracking>0 && alreadyParsedRule(input, 297) ) { return ; } 
    15180             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4875:1: ( ( ruleDefinitionList ) ) 
    15181             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4876:1: ( ruleDefinitionList ) 
    15182             { 
    15183             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4876:1: ( ruleDefinitionList ) 
    15184             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4877:1: ruleDefinitionList 
     15576            if ( state.backtracking>0 && alreadyParsedRule(input, 305) ) { return ; } 
     15577            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5002:1: ( ( ruleDefinitionList ) ) 
     15578            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5003:1: ( ruleDefinitionList ) 
     15579            { 
     15580            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5003:1: ( ruleDefinitionList ) 
     15581            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5004:1: ruleDefinitionList 
    1518515582            { 
    1518615583            if ( state.backtracking==0 ) { 
    1518715584               before(grammarAccess.getGroupedSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());  
    1518815585            } 
    15189             pushFollow(FOLLOW_ruleDefinitionList_in_rule__GroupedSequence__DefinitionListAssignment_19898); 
     15586            pushFollow(FOLLOW_ruleDefinitionList_in_rule__GroupedSequence__DefinitionListAssignment_110160); 
    1519015587            ruleDefinitionList(); 
    1519115588 
     
    1520715604        } 
    1520815605        finally { 
    15209             if ( state.backtracking>0 ) { memoize(input, 297, rule__GroupedSequence__DefinitionListAssignment_1_StartIndex); } 
     15606            if ( state.backtracking>0 ) { memoize(input, 305, rule__GroupedSequence__DefinitionListAssignment_1_StartIndex); } 
    1521015607 
    1521115608                restoreStackSize(stackSize); 
     
    1521815615 
    1521915616    // $ANTLR start "rule__OptionalSequence__DefinitionListAssignment_1" 
    15220     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4886:1: rule__OptionalSequence__DefinitionListAssignment_1 : ( ruleDefinitionList ) ; 
     15617    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5013:1: rule__OptionalSequence__DefinitionListAssignment_1 : ( ruleDefinitionList ) ; 
    1522115618    public final void rule__OptionalSequence__DefinitionListAssignment_1() throws RecognitionException { 
    1522215619        int rule__OptionalSequence__DefinitionListAssignment_1_StartIndex = input.index(); 
     
    1522515622             
    1522615623        try { 
    15227             if ( state.backtracking>0 && alreadyParsedRule(input, 298) ) { return ; } 
    15228             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4890:1: ( ( ruleDefinitionList ) ) 
    15229             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4891:1: ( ruleDefinitionList ) 
    15230             { 
    15231             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4891:1: ( ruleDefinitionList ) 
    15232             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4892:1: ruleDefinitionList 
     15624            if ( state.backtracking>0 && alreadyParsedRule(input, 306) ) { return ; } 
     15625            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5017:1: ( ( ruleDefinitionList ) ) 
     15626            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5018:1: ( ruleDefinitionList ) 
     15627            { 
     15628            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5018:1: ( ruleDefinitionList ) 
     15629            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5019:1: ruleDefinitionList 
    1523315630            { 
    1523415631            if ( state.backtracking==0 ) { 
    1523515632               before(grammarAccess.getOptionalSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());  
    1523615633            } 
    15237             pushFollow(FOLLOW_ruleDefinitionList_in_rule__OptionalSequence__DefinitionListAssignment_19929); 
     15634            pushFollow(FOLLOW_ruleDefinitionList_in_rule__OptionalSequence__DefinitionListAssignment_110191); 
    1523815635            ruleDefinitionList(); 
    1523915636 
     
    1525515652        } 
    1525615653        finally { 
    15257             if ( state.backtracking>0 ) { memoize(input, 298, rule__OptionalSequence__DefinitionListAssignment_1_StartIndex); } 
     15654            if ( state.backtracking>0 ) { memoize(input, 306, rule__OptionalSequence__DefinitionListAssignment_1_StartIndex); } 
    1525815655 
    1525915656                restoreStackSize(stackSize); 
     
    1526615663 
    1526715664    // $ANTLR start "rule__RepeatedSequence__DefinitionsAssignment_1" 
    15268     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4901:1: rule__RepeatedSequence__DefinitionsAssignment_1 : ( ruleDefinitionList ) ; 
     15665    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5028:1: rule__RepeatedSequence__DefinitionsAssignment_1 : ( ruleDefinitionList ) ; 
    1526915666    public final void rule__RepeatedSequence__DefinitionsAssignment_1() throws RecognitionException { 
    1527015667        int rule__RepeatedSequence__DefinitionsAssignment_1_StartIndex = input.index(); 
     
    1527315670             
    1527415671        try { 
    15275             if ( state.backtracking>0 && alreadyParsedRule(input, 299) ) { return ; } 
    15276             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4905:1: ( ( ruleDefinitionList ) ) 
    15277             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4906:1: ( ruleDefinitionList ) 
    15278             { 
    15279             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4906:1: ( ruleDefinitionList ) 
    15280             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4907:1: ruleDefinitionList 
     15672            if ( state.backtracking>0 && alreadyParsedRule(input, 307) ) { return ; } 
     15673            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5032:1: ( ( ruleDefinitionList ) ) 
     15674            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5033:1: ( ruleDefinitionList ) 
     15675            { 
     15676            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5033:1: ( ruleDefinitionList ) 
     15677            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5034:1: ruleDefinitionList 
    1528115678            { 
    1528215679            if ( state.backtracking==0 ) { 
    1528315680               before(grammarAccess.getRepeatedSequenceAccess().getDefinitionsDefinitionListParserRuleCall_1_0());  
    1528415681            } 
    15285             pushFollow(FOLLOW_ruleDefinitionList_in_rule__RepeatedSequence__DefinitionsAssignment_19960); 
     15682            pushFollow(FOLLOW_ruleDefinitionList_in_rule__RepeatedSequence__DefinitionsAssignment_110222); 
    1528615683            ruleDefinitionList(); 
    1528715684 
     
    1530315700        } 
    1530415701        finally { 
    15305             if ( state.backtracking>0 ) { memoize(input, 299, rule__RepeatedSequence__DefinitionsAssignment_1_StartIndex); } 
     15702            if ( state.backtracking>0 ) { memoize(input, 307, rule__RepeatedSequence__DefinitionsAssignment_1_StartIndex); } 
    1530615703 
    1530715704                restoreStackSize(stackSize); 
     
    1531415711 
    1531515712    // $ANTLR start "rule__RepeatedSequence__MorethanonceAssignment_3_0" 
    15316     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4916:1: rule__RepeatedSequence__MorethanonceAssignment_3_0 : ( ( '+' ) ) ; 
     15713    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5043:1: rule__RepeatedSequence__MorethanonceAssignment_3_0 : ( ( '+' ) ) ; 
    1531715714    public final void rule__RepeatedSequence__MorethanonceAssignment_3_0() throws RecognitionException { 
    1531815715        int rule__RepeatedSequence__MorethanonceAssignment_3_0_StartIndex = input.index(); 
     
    1532115718             
    1532215719        try { 
    15323             if ( state.backtracking>0 && alreadyParsedRule(input, 300) ) { return ; } 
    15324             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4920:1: ( ( ( '+' ) ) ) 
    15325             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4921:1: ( ( '+' ) ) 
    15326             { 
    15327             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4921:1: ( ( '+' ) ) 
    15328             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4922:1: ( '+' ) 
     15720            if ( state.backtracking>0 && alreadyParsedRule(input, 308) ) { return ; } 
     15721            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5047:1: ( ( ( '+' ) ) ) 
     15722            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5048:1: ( ( '+' ) ) 
     15723            { 
     15724            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5048:1: ( ( '+' ) ) 
     15725            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5049:1: ( '+' ) 
    1532915726            { 
    1533015727            if ( state.backtracking==0 ) { 
    1533115728               before(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0());  
    1533215729            } 
    15333             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4923:1: ( '+' ) 
    15334             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4924:1: '+' 
     15730            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5050:1: ( '+' ) 
     15731            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5051:1: '+' 
    1533515732            { 
    1533615733            if ( state.backtracking==0 ) { 
    1533715734               before(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0());  
    1533815735            } 
    15339             match(input,21,FOLLOW_21_in_rule__RepeatedSequence__MorethanonceAssignment_3_09996); if (state.failed) return ; 
     15736            match(input,21,FOLLOW_21_in_rule__RepeatedSequence__MorethanonceAssignment_3_010258); if (state.failed) return ; 
    1534015737            if ( state.backtracking==0 ) { 
    1534115738               after(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0());  
     
    1535915756        } 
    1536015757        finally { 
    15361             if ( state.backtracking>0 ) { memoize(input, 300, rule__RepeatedSequence__MorethanonceAssignment_3_0_StartIndex); } 
     15758            if ( state.backtracking>0 ) { memoize(input, 308, rule__RepeatedSequence__MorethanonceAssignment_3_0_StartIndex); } 
    1536215759 
    1536315760                restoreStackSize(stackSize); 
     
    1537015767 
    1537115768    // $ANTLR start "rule__RepeatedSequence__RangeAssignment_3_1" 
    15372     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4939:1: rule__RepeatedSequence__RangeAssignment_3_1 : ( ruleRepeatRange ) ; 
     15769    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5066:1: rule__RepeatedSequence__RangeAssignment_3_1 : ( ruleRepeatRange ) ; 
    1537315770    public final void rule__RepeatedSequence__RangeAssignment_3_1() throws RecognitionException { 
    1537415771        int rule__RepeatedSequence__RangeAssignment_3_1_StartIndex = input.index(); 
     
    1537715774             
    1537815775        try { 
    15379             if ( state.backtracking>0 && alreadyParsedRule(input, 301) ) { return ; } 
    15380             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4943:1: ( ( ruleRepeatRange ) ) 
    15381             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4944:1: ( ruleRepeatRange ) 
    15382             { 
    15383             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4944:1: ( ruleRepeatRange ) 
    15384             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4945:1: ruleRepeatRange 
     15776            if ( state.backtracking>0 && alreadyParsedRule(input, 309) ) { return ; } 
     15777            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5070:1: ( ( ruleRepeatRange ) ) 
     15778            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5071:1: ( ruleRepeatRange ) 
     15779            { 
     15780            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5071:1: ( ruleRepeatRange ) 
     15781            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5072:1: ruleRepeatRange 
    1538515782            { 
    1538615783            if ( state.backtracking==0 ) { 
    1538715784               before(grammarAccess.getRepeatedSequenceAccess().getRangeRepeatRangeParserRuleCall_3_1_0());  
    1538815785            } 
    15389             pushFollow(FOLLOW_ruleRepeatRange_in_rule__RepeatedSequence__RangeAssignment_3_110035); 
     15786            pushFollow(FOLLOW_ruleRepeatRange_in_rule__RepeatedSequence__RangeAssignment_3_110297); 
    1539015787            ruleRepeatRange(); 
    1539115788 
     
    1540715804        } 
    1540815805        finally { 
    15409             if ( state.backtracking>0 ) { memoize(input, 301, rule__RepeatedSequence__RangeAssignment_3_1_StartIndex); } 
     15806            if ( state.backtracking>0 ) { memoize(input, 309, rule__RepeatedSequence__RangeAssignment_3_1_StartIndex); } 
    1541015807 
    1541115808                restoreStackSize(stackSize); 
     
    1541815815 
    1541915816    // $ANTLR start "rule__RepeatRange__FromAssignment_2" 
    15420     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4954:1: rule__RepeatRange__FromAssignment_2 : ( RULE_INT ) ; 
     15817    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5081:1: rule__RepeatRange__FromAssignment_2 : ( RULE_INT ) ; 
    1542115818    public final void rule__RepeatRange__FromAssignment_2() throws RecognitionException { 
    1542215819        int rule__RepeatRange__FromAssignment_2_StartIndex = input.index(); 
     
    1542515822             
    1542615823        try { 
    15427             if ( state.backtracking>0 && alreadyParsedRule(input, 302) ) { return ; } 
    15428             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4958:1: ( ( RULE_INT ) ) 
    15429             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4959:1: ( RULE_INT ) 
    15430             { 
    15431             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4959:1: ( RULE_INT ) 
    15432             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4960:1: RULE_INT 
     15824            if ( state.backtracking>0 && alreadyParsedRule(input, 310) ) { return ; } 
     15825            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5085:1: ( ( RULE_INT ) ) 
     15826            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5086:1: ( RULE_INT ) 
     15827            { 
     15828            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5086:1: ( RULE_INT ) 
     15829            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5087:1: RULE_INT 
    1543315830            { 
    1543415831            if ( state.backtracking==0 ) { 
    1543515832               before(grammarAccess.getRepeatRangeAccess().getFromINTTerminalRuleCall_2_0());  
    1543615833            } 
    15437             match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__RepeatRange__FromAssignment_210066); if (state.failed) return ; 
     15834            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__RepeatRange__FromAssignment_210328); if (state.failed) return ; 
    1543815835            if ( state.backtracking==0 ) { 
    1543915836               after(grammarAccess.getRepeatRangeAccess().getFromINTTerminalRuleCall_2_0());  
     
    1545115848        } 
    1545215849        finally { 
    15453             if ( state.backtracking>0 ) { memoize(input, 302, rule__RepeatRange__FromAssignment_2_StartIndex); } 
     15850            if ( state.backtracking>0 ) { memoize(input, 310, rule__RepeatRange__FromAssignment_2_StartIndex); } 
    1545415851 
    1545515852                restoreStackSize(stackSize); 
     
    1546215859 
    1546315860    // $ANTLR start "rule__RepeatRange__ToAssignment_4" 
    15464     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4969:1: rule__RepeatRange__ToAssignment_4 : ( RULE_INT ) ; 
     15861    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5096:1: rule__RepeatRange__ToAssignment_4 : ( RULE_INT ) ; 
    1546515862    public final void rule__RepeatRange__ToAssignment_4() throws RecognitionException { 
    1546615863        int rule__RepeatRange__ToAssignment_4_StartIndex = input.index(); 
     
    1546915866             
    1547015867        try { 
    15471             if ( state.backtracking>0 && alreadyParsedRule(input, 303) ) { return ; } 
    15472             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4973:1: ( ( RULE_INT ) ) 
    15473             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4974:1: ( RULE_INT ) 
    15474             { 
    15475             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4974:1: ( RULE_INT ) 
    15476             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4975:1: RULE_INT 
     15868            if ( state.backtracking>0 && alreadyParsedRule(input, 311) ) { return ; } 
     15869            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5100:1: ( ( RULE_INT ) ) 
     15870            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5101:1: ( RULE_INT ) 
     15871            { 
     15872            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5101:1: ( RULE_INT ) 
     15873            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5102:1: RULE_INT 
    1547715874            { 
    1547815875            if ( state.backtracking==0 ) { 
    1547915876               before(grammarAccess.getRepeatRangeAccess().getToINTTerminalRuleCall_4_0());  
    1548015877            } 
    15481             match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__RepeatRange__ToAssignment_410097); if (state.failed) return ; 
     15878            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__RepeatRange__ToAssignment_410359); if (state.failed) return ; 
    1548215879            if ( state.backtracking==0 ) { 
    1548315880               after(grammarAccess.getRepeatRangeAccess().getToINTTerminalRuleCall_4_0());  
     
    1549515892        } 
    1549615893        finally { 
    15497             if ( state.backtracking>0 ) { memoize(input, 303, rule__RepeatRange__ToAssignment_4_StartIndex); } 
     15894            if ( state.backtracking>0 ) { memoize(input, 311, rule__RepeatRange__ToAssignment_4_StartIndex); } 
    1549815895 
    1549915896                restoreStackSize(stackSize); 
     
    1550415901    // $ANTLR end "rule__RepeatRange__ToAssignment_4" 
    1550515902 
    15506     // $ANTLR start synpred28_InternalEbnf 
    15507     public final void synpred28_InternalEbnf_fragment() throws RecognitionException {    
    15508         // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1047:1: ( ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) ) 
    15509         // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1047:1: ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) 
     15903    // $ANTLR start synpred29_InternalEbnf 
     15904    public final void synpred29_InternalEbnf_fragment() throws RecognitionException {    
     15905        // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1081:1: ( ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) ) 
     15906        // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1081:1: ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) 
    1551015907        { 
    15511         // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1047:1: ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) 
    15512         // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1048:1: ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? 
     15908        // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1081:1: ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) 
     15909        // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1082:1: ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? 
    1551315910        { 
    1551415911        if ( state.backtracking==0 ) { 
    1551515912           before(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3_0());  
    1551615913        } 
    15517         // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1049:1: ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? 
     15914        // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1083:1: ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? 
    1551815915        int alt40=2; 
    1551915916        int LA40_0 = input.LA(1); 
     
    1552415921        switch (alt40) { 
    1552515922            case 1 : 
    15526                 // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1049:2: rule__RepeatedSequence__MorethanonceAssignment_3_0 
     15923                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1083:2: rule__RepeatedSequence__MorethanonceAssignment_3_0 
    1552715924                { 
    15528                 pushFollow(FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_0_in_synpred28_InternalEbnf2274); 
     15925                pushFollow(FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_0_in_synpred29_InternalEbnf2352); 
    1552915926                rule__RepeatedSequence__MorethanonceAssignment_3_0(); 
    1553015927 
     
    1554315940        } 
    1554415941    } 
    15545     // $ANTLR end synpred28_InternalEbnf 
     15942    // $ANTLR end synpred29_InternalEbnf 
    1554615943 
    1554715944    // Delegated rules 
    1554815945 
    15549     public final boolean synpred28_InternalEbnf() { 
     15946    public final boolean synpred29_InternalEbnf() { 
    1555015947        state.backtracking++; 
    1555115948        int start = input.mark(); 
    1555215949        try { 
    15553             synpred28_InternalEbnf_fragment(); // can never throw exception 
     15950            synpred29_InternalEbnf_fragment(); // can never throw exception 
    1555415951        } catch (RecognitionException re) { 
    1555515952            System.err.println("impossible: "+re); 
     
    1556515962    protected DFA15 dfa15 = new DFA15(this); 
    1556615963    static final String DFA15_eotS = 
    15567         "\21\uffff"; 
     15964        "\22\uffff"; 
    1556815965    static final String DFA15_eofS = 
    15569         "\1\2\20\uffff"; 
     15966        "\1\2\21\uffff"; 
    1557015967    static final String DFA15_minS = 
    15571         "\1\4\1\uffff\16\0\1\uffff"; 
     15968        "\1\4\1\uffff\17\0\1\uffff"; 
    1557215969    static final String DFA15_maxS = 
    15573         "\1\42\1\uffff\16\0\1\uffff"; 
     15970        "\1\42\1\uffff\17\0\1\uffff"; 
    1557415971    static final String DFA15_acceptS = 
    15575         "\1\uffff\1\1\16\uffff\1\2"; 
     15972        "\1\uffff\1\1\17\uffff\1\2"; 
    1557615973    static final String DFA15_specialS = 
    1557715974        "\2\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14"+ 
    15578         "\1\15\1\uffff}>"; 
     15975        "\1\15\1\16\1\uffff}>"; 
    1557915976    static final String[] DFA15_transitionS = { 
    15580             "\1\5\1\13\1\3\1\14\1\uffff\1\4\3\uffff\1\15\1\16\1\17\1\11\1"+ 
    15581             "\6\1\7\1\10\1\uffff\1\1\1\uffff\1\12\12\uffff\1\20", 
     15977            "\1\5\1\13\1\15\1\3\1\14\1\uffff\1\4\2\uffff\1\16\1\17\1\20\1"+ 
     15978            "\11\1\6\1\7\1\10\1\uffff\1\1\1\uffff\1\12\12\uffff\1\21", 
    1558215979            "", 
     15980            "\1\uffff", 
    1558315981            "\1\uffff", 
    1558415982            "\1\uffff", 
     
    1562816026        } 
    1562916027        public String getDescription() { 
    15630             return "1042:1: rule__RepeatedSequence__Alternatives_3 : ( ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) | ( ( rule__RepeatedSequence__RangeAssignment_3_1 )? ) );"; 
     16028            return "1076:1: rule__RepeatedSequence__Alternatives_3 : ( ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) | ( ( rule__RepeatedSequence__RangeAssignment_3_1 )? ) );"; 
    1563116029        } 
    1563216030        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 
     
    1564116039                        input.rewind(); 
    1564216040                        s = -1; 
    15643                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15644  
    15645                         else if ( (true) ) {s = 16;} 
     16041                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16042 
     16043                        else if ( (true) ) {s = 17;} 
    1564616044 
    1564716045                          
     
    1565616054                        input.rewind(); 
    1565716055                        s = -1; 
    15658                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15659  
    15660                         else if ( (true) ) {s = 16;} 
     16056                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16057 
     16058                        else if ( (true) ) {s = 17;} 
    1566116059 
    1566216060                          
     
    1567116069                        input.rewind(); 
    1567216070                        s = -1; 
    15673                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15674  
    15675                         else if ( (true) ) {s = 16;} 
     16071                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16072 
     16073                        else if ( (true) ) {s = 17;} 
    1567616074 
    1567716075                          
     
    1568616084                        input.rewind(); 
    1568716085                        s = -1; 
    15688                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15689  
    15690                         else if ( (true) ) {s = 16;} 
     16086                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16087 
     16088                        else if ( (true) ) {s = 17;} 
    1569116089 
    1569216090                          
     
    1570116099                        input.rewind(); 
    1570216100                        s = -1; 
    15703                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15704  
    15705                         else if ( (true) ) {s = 16;} 
     16101                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16102 
     16103                        else if ( (true) ) {s = 17;} 
    1570616104 
    1570716105                          
     
    1571616114                        input.rewind(); 
    1571716115                        s = -1; 
    15718                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15719  
    15720                         else if ( (true) ) {s = 16;} 
     16116                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16117 
     16118                        else if ( (true) ) {s = 17;} 
    1572116119 
    1572216120                          
     
    1573116129                        input.rewind(); 
    1573216130                        s = -1; 
    15733                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15734  
    15735                         else if ( (true) ) {s = 16;} 
     16131                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16132 
     16133                        else if ( (true) ) {s = 17;} 
    1573616134 
    1573716135                          
     
    1574616144                        input.rewind(); 
    1574716145                        s = -1; 
    15748                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15749  
    15750                         else if ( (true) ) {s = 16;} 
     16146                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16147 
     16148                        else if ( (true) ) {s = 17;} 
    1575116149 
    1575216150                          
     
    1576116159                        input.rewind(); 
    1576216160                        s = -1; 
    15763                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15764  
    15765                         else if ( (true) ) {s = 16;} 
     16161                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16162 
     16163                        else if ( (true) ) {s = 17;} 
    1576616164 
    1576716165                          
     
    1577616174                        input.rewind(); 
    1577716175                        s = -1; 
    15778                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15779  
    15780                         else if ( (true) ) {s = 16;} 
     16176                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16177 
     16178                        else if ( (true) ) {s = 17;} 
    1578116179 
    1578216180                          
     
    1579116189                        input.rewind(); 
    1579216190                        s = -1; 
    15793                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15794  
    15795                         else if ( (true) ) {s = 16;} 
     16191                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16192 
     16193                        else if ( (true) ) {s = 17;} 
    1579616194 
    1579716195                          
     
    1580616204                        input.rewind(); 
    1580716205                        s = -1; 
    15808                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15809  
    15810                         else if ( (true) ) {s = 16;} 
     16206                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16207 
     16208                        else if ( (true) ) {s = 17;} 
    1581116209 
    1581216210                          
     
    1582116219                        input.rewind(); 
    1582216220                        s = -1; 
    15823                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15824  
    15825                         else if ( (true) ) {s = 16;} 
     16221                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16222 
     16223                        else if ( (true) ) {s = 17;} 
    1582616224 
    1582716225                          
     
    1583616234                        input.rewind(); 
    1583716235                        s = -1; 
    15838                         if ( (synpred28_InternalEbnf()) ) {s = 1;} 
    15839  
    15840                         else if ( (true) ) {s = 16;} 
     16236                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16237 
     16238                        else if ( (true) ) {s = 17;} 
    1584116239 
    1584216240                          
    1584316241                        input.seek(index15_15); 
     16242                        if ( s>=0 ) return s; 
     16243                        break; 
     16244                    case 14 :  
     16245                        int LA15_16 = input.LA(1); 
     16246 
     16247                          
     16248                        int index15_16 = input.index(); 
     16249                        input.rewind(); 
     16250                        s = -1; 
     16251                        if ( (synpred29_InternalEbnf()) ) {s = 1;} 
     16252 
     16253                        else if ( (true) ) {s = 17;} 
     16254 
     16255                          
     16256                        input.seek(index15_16); 
    1584416257                        if ( s>=0 ) return s; 
    1584516258                        break; 
     
    1587316286    public static final BitSet FOLLOW_EOF_in_entryRuleSectionHeading398 = new BitSet(new long[]{0x0000000000000002L}); 
    1587416287    public static final BitSet FOLLOW_rule__SectionHeading__Group__0_in_ruleSectionHeading424 = new BitSet(new long[]{0x0000000000000002L}); 
    15875     public static final BitSet FOLLOW_ruleImport_in_entryRuleImport451 = new BitSet(new long[]{0x0000000000000000L}); 
    15876     public static final BitSet FOLLOW_EOF_in_entryRuleImport458 = new BitSet(new long[]{0x0000000000000002L}); 
    15877     public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport484 = new BitSet(new long[]{0x0000000000000002L}); 
    15878     public static final BitSet FOLLOW_ruleRule_in_entryRuleRule511 = new BitSet(new long[]{0x0000000000000000L}); 
    15879     public static final BitSet FOLLOW_EOF_in_entryRuleRule518 = new BitSet(new long[]{0x0000000000000002L}); 
    15880     public static final BitSet FOLLOW_rule__Rule__Group__0_in_ruleRule544 = new BitSet(new long[]{0x0000000000000002L}); 
    15881     public static final BitSet FOLLOW_ruleExtRule_in_entryRuleExtRule571 = new BitSet(new long[]{0x0000000000000000L}); 
    15882     public static final BitSet FOLLOW_EOF_in_entryRuleExtRule578 = new BitSet(new long[]{0x0000000000000002L}); 
    15883     public static final BitSet FOLLOW_rule__ExtRule__Group__0_in_ruleExtRule604 = new BitSet(new long[]{0x0000000000000002L}); 
    15884     public static final BitSet FOLLOW_ruleMergeRule_in_entryRuleMergeRule631 = new BitSet(new long[]{0x0000000000000000L}); 
    15885     public static final BitSet FOLLOW_EOF_in_entryRuleMergeRule638 = new BitSet(new long[]{0x0000000000000002L}); 
    15886     public static final BitSet FOLLOW_rule__MergeRule__Alternatives_in_ruleMergeRule664 = new BitSet(new long[]{0x0000000000000002L}); 
    15887     public static final BitSet FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator691 = new BitSet(new long[]{0x0000000000000000L}); 
    15888     public static final BitSet FOLLOW_EOF_in_entryRuleGlobalCombinator698 = new BitSet(new long[]{0x0000000000000002L}); 
    15889     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__0_in_ruleGlobalCombinator724 = new BitSet(new long[]{0x0000000000000002L}); 
    15890     public static final BitSet FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator751 = new BitSet(new long[]{0x0000000000000000L}); 
    15891     public static final BitSet FOLLOW_EOF_in_entryRuleRuleCombinator758 = new BitSet(new long[]{0x0000000000000002L}); 
    15892     public static final BitSet FOLLOW_rule__RuleCombinator__Group__0_in_ruleRuleCombinator784 = new BitSet(new long[]{0x0000000000000002L}); 
    15893     public static final BitSet FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator811 = new BitSet(new long[]{0x0000000000000000L}); 
    15894     public static final BitSet FOLLOW_EOF_in_entryRuleHookCombinator818 = new BitSet(new long[]{0x0000000000000002L}); 
    15895     public static final BitSet FOLLOW_rule__HookCombinator__Group__0_in_ruleHookCombinator844 = new BitSet(new long[]{0x0000000000000002L}); 
    15896     public static final BitSet FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList871 = new BitSet(new long[]{0x0000000000000000L}); 
    15897     public static final BitSet FOLLOW_EOF_in_entryRuleDefinitionList878 = new BitSet(new long[]{0x0000000000000002L}); 
    15898     public static final BitSet FOLLOW_rule__DefinitionList__Group__0_in_ruleDefinitionList904 = new BitSet(new long[]{0x0000000000000002L}); 
    15899     public static final BitSet FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition931 = new BitSet(new long[]{0x0000000000000000L}); 
    15900     public static final BitSet FOLLOW_EOF_in_entryRuleSingleDefinition938 = new BitSet(new long[]{0x0000000000000002L}); 
    15901     public static final BitSet FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition966 = new BitSet(new long[]{0x00000000000E0252L}); 
    15902     public static final BitSet FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition978 = new BitSet(new long[]{0x00000000000E0252L}); 
    15903     public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm1008 = new BitSet(new long[]{0x0000000000000000L}); 
    15904     public static final BitSet FOLLOW_EOF_in_entryRuleTerm1015 = new BitSet(new long[]{0x0000000000000002L}); 
    15905     public static final BitSet FOLLOW_rule__Term__Alternatives_in_ruleTerm1041 = new BitSet(new long[]{0x0000000000000002L}); 
    15906     public static final BitSet FOLLOW_ruleAtom_in_entryRuleAtom1068 = new BitSet(new long[]{0x0000000000000000L}); 
    15907     public static final BitSet FOLLOW_EOF_in_entryRuleAtom1075 = new BitSet(new long[]{0x0000000000000002L}); 
    15908     public static final BitSet FOLLOW_rule__Atom__Alternatives_in_ruleAtom1101 = new BitSet(new long[]{0x0000000000000002L}); 
    15909     public static final BitSet FOLLOW_ruleRuleReference_in_entryRuleRuleReference1128 = new BitSet(new long[]{0x0000000000000000L}); 
    15910     public static final BitSet FOLLOW_EOF_in_entryRuleRuleReference1135 = new BitSet(new long[]{0x0000000000000002L}); 
    15911     public static final BitSet FOLLOW_rule__RuleReference__RulerefAssignment_in_ruleRuleReference1161 = new BitSet(new long[]{0x0000000000000002L}); 
    15912     public static final BitSet FOLLOW_ruleStringRule_in_entryRuleStringRule1188 = new BitSet(new long[]{0x0000000000000000L}); 
    15913     public static final BitSet FOLLOW_EOF_in_entryRuleStringRule1195 = new BitSet(new long[]{0x0000000000000002L}); 
    15914     public static final BitSet FOLLOW_rule__StringRule__Alternatives_in_ruleStringRule1221 = new BitSet(new long[]{0x0000000000000002L}); 
    15915     public static final BitSet FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence1248 = new BitSet(new long[]{0x0000000000000000L}); 
    15916     public static final BitSet FOLLOW_EOF_in_entryRuleGroupedSequence1255 = new BitSet(new long[]{0x0000000000000002L}); 
    15917     public static final BitSet FOLLOW_rule__GroupedSequence__Group__0_in_ruleGroupedSequence1281 = new BitSet(new long[]{0x0000000000000002L}); 
    15918     public static final BitSet FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence1308 = new BitSet(new long[]{0x0000000000000000L}); 
    15919     public static final BitSet FOLLOW_EOF_in_entryRuleOptionalSequence1315 = new BitSet(new long[]{0x0000000000000002L}); 
    15920     public static final BitSet FOLLOW_rule__OptionalSequence__Group__0_in_ruleOptionalSequence1341 = new BitSet(new long[]{0x0000000000000002L}); 
    15921     public static final BitSet FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence1368 = new BitSet(new long[]{0x0000000000000000L}); 
    15922     public static final BitSet FOLLOW_EOF_in_entryRuleRepeatedSequence1375 = new BitSet(new long[]{0x0000000000000002L}); 
    15923     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__0_in_ruleRepeatedSequence1401 = new BitSet(new long[]{0x0000000000000002L}); 
    15924     public static final BitSet FOLLOW_ruleRepeatRange_in_entryRuleRepeatRange1428 = new BitSet(new long[]{0x0000000000000000L}); 
    15925     public static final BitSet FOLLOW_EOF_in_entryRuleRepeatRange1435 = new BitSet(new long[]{0x0000000000000002L}); 
    15926     public static final BitSet FOLLOW_rule__RepeatRange__Group__0_in_ruleRepeatRange1461 = new BitSet(new long[]{0x0000000000000002L}); 
    15927     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__0_in_rule__EtsiBnf__Alternatives1497 = new BitSet(new long[]{0x0000000000000002L}); 
    15928     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__0_in_rule__EtsiBnf__Alternatives1515 = new BitSet(new long[]{0x0000000000000002L}); 
    15929     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__0_in_rule__EtsiBnf__Alternatives1533 = new BitSet(new long[]{0x0000000000000002L}); 
    15930     public static final BitSet FOLLOW_rule__BnfEntry__SectionheaderAssignment_0_in_rule__BnfEntry__Alternatives1566 = new BitSet(new long[]{0x0000000000000002L}); 
    15931     public static final BitSet FOLLOW_rule__BnfEntry__RuleAssignment_1_in_rule__BnfEntry__Alternatives1584 = new BitSet(new long[]{0x0000000000000002L}); 
    15932     public static final BitSet FOLLOW_rule__DeltaEntry__RuleAssignment_0_in_rule__DeltaEntry__Alternatives1617 = new BitSet(new long[]{0x0000000000000002L}); 
    15933     public static final BitSet FOLLOW_rule__DeltaEntry__SectionheaderAssignment_1_in_rule__DeltaEntry__Alternatives1635 = new BitSet(new long[]{0x0000000000000002L}); 
    15934     public static final BitSet FOLLOW_rule__DeltaEntry__ExtRuleAssignment_2_in_rule__DeltaEntry__Alternatives1653 = new BitSet(new long[]{0x0000000000000002L}); 
    15935     public static final BitSet FOLLOW_rule__MergeEntry__SectionheaderAssignment_0_in_rule__MergeEntry__Alternatives1686 = new BitSet(new long[]{0x0000000000000002L}); 
    15936     public static final BitSet FOLLOW_rule__MergeEntry__MergeRuleAssignment_1_in_rule__MergeEntry__Alternatives1704 = new BitSet(new long[]{0x0000000000000002L}); 
    15937     public static final BitSet FOLLOW_rule__Import__GrammarTypeAssignment_2_1_0_in_rule__Import__Alternatives_2_11737 = new BitSet(new long[]{0x0000000000000002L}); 
    15938     public static final BitSet FOLLOW_rule__Import__GrammarTypeAssignment_2_1_1_in_rule__Import__Alternatives_2_11755 = new BitSet(new long[]{0x0000000000000002L}); 
    15939     public static final BitSet FOLLOW_rule__Import__GrammarTypeAssignment_2_1_2_in_rule__Import__Alternatives_2_11773 = new BitSet(new long[]{0x0000000000000002L}); 
    15940     public static final BitSet FOLLOW_rule__ExtRule__ElementsAssignment_4_0_in_rule__ExtRule__Alternatives_41806 = new BitSet(new long[]{0x0000000000000002L}); 
    15941     public static final BitSet FOLLOW_13_in_rule__ExtRule__Alternatives_41825 = new BitSet(new long[]{0x0000000000000002L}); 
    15942     public static final BitSet FOLLOW_14_in_rule__ExtRule__Alternatives_41845 = new BitSet(new long[]{0x0000000000000002L}); 
    15943     public static final BitSet FOLLOW_15_in_rule__ExtRule__Alternatives_41865 = new BitSet(new long[]{0x0000000000000002L}); 
    15944     public static final BitSet FOLLOW_16_in_rule__ExtRule__Alternatives_41885 = new BitSet(new long[]{0x0000000000000002L}); 
    15945     public static final BitSet FOLLOW_17_in_rule__ExtRule__Alternatives_41905 = new BitSet(new long[]{0x0000000000000002L}); 
    15946     public static final BitSet FOLLOW_18_in_rule__ExtRule__Alternatives_41925 = new BitSet(new long[]{0x0000000000000002L}); 
    15947     public static final BitSet FOLLOW_19_in_rule__ExtRule__Alternatives_41945 = new BitSet(new long[]{0x0000000000000002L}); 
    15948     public static final BitSet FOLLOW_20_in_rule__ExtRule__Alternatives_41965 = new BitSet(new long[]{0x0000000000000002L}); 
    15949     public static final BitSet FOLLOW_21_in_rule__ExtRule__Alternatives_41985 = new BitSet(new long[]{0x0000000000000002L}); 
    15950     public static final BitSet FOLLOW_ruleGlobalCombinator_in_rule__MergeRule__Alternatives2019 = new BitSet(new long[]{0x0000000000000002L}); 
    15951     public static final BitSet FOLLOW_ruleRuleCombinator_in_rule__MergeRule__Alternatives2036 = new BitSet(new long[]{0x0000000000000002L}); 
    15952     public static final BitSet FOLLOW_ruleHookCombinator_in_rule__MergeRule__Alternatives2053 = new BitSet(new long[]{0x0000000000000002L}); 
    15953     public static final BitSet FOLLOW_rule__Term__TermAtomAssignment_0_in_rule__Term__Alternatives2085 = new BitSet(new long[]{0x0000000000000002L}); 
    15954     public static final BitSet FOLLOW_rule__Term__TermGroupedSequenceAssignment_1_in_rule__Term__Alternatives2103 = new BitSet(new long[]{0x0000000000000002L}); 
    15955     public static final BitSet FOLLOW_rule__Term__TermOptionalSequenceAssignment_2_in_rule__Term__Alternatives2121 = new BitSet(new long[]{0x0000000000000002L}); 
    15956     public static final BitSet FOLLOW_rule__Term__TermRepeatedSequenceAssignment_3_in_rule__Term__Alternatives2139 = new BitSet(new long[]{0x0000000000000002L}); 
    15957     public static final BitSet FOLLOW_rule__Atom__AtomStringRuleAssignment_0_in_rule__Atom__Alternatives2172 = new BitSet(new long[]{0x0000000000000002L}); 
    15958     public static final BitSet FOLLOW_rule__Atom__AtomRuleReferenceAssignment_1_in_rule__Atom__Alternatives2190 = new BitSet(new long[]{0x0000000000000002L}); 
    15959     public static final BitSet FOLLOW_rule__StringRule__LiteralAssignment_0_in_rule__StringRule__Alternatives2223 = new BitSet(new long[]{0x0000000000000002L}); 
    15960     public static final BitSet FOLLOW_rule__StringRule__ColonAssignment_1_in_rule__StringRule__Alternatives2241 = new BitSet(new long[]{0x0000000000000002L}); 
    15961     public static final BitSet FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_0_in_rule__RepeatedSequence__Alternatives_32274 = new BitSet(new long[]{0x0000000000000002L}); 
    15962     public static final BitSet FOLLOW_rule__RepeatedSequence__RangeAssignment_3_1_in_rule__RepeatedSequence__Alternatives_32293 = new BitSet(new long[]{0x0000000000000002L}); 
    15963     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__0__Impl_in_rule__EtsiBnf__Group_0__02325 = new BitSet(new long[]{0x0000000000000010L}); 
    15964     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__1_in_rule__EtsiBnf__Group_0__02328 = new BitSet(new long[]{0x0000000000000002L}); 
    15965     public static final BitSet FOLLOW_22_in_rule__EtsiBnf__Group_0__0__Impl2356 = new BitSet(new long[]{0x0000000000000002L}); 
    15966     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__1__Impl_in_rule__EtsiBnf__Group_0__12387 = new BitSet(new long[]{0x0000001000800000L}); 
    15967     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__2_in_rule__EtsiBnf__Group_0__12390 = new BitSet(new long[]{0x0000000000000002L}); 
    15968     public static final BitSet FOLLOW_rule__EtsiBnf__NameAssignment_0_1_in_rule__EtsiBnf__Group_0__1__Impl2417 = new BitSet(new long[]{0x0000000000000002L}); 
    15969     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__2__Impl_in_rule__EtsiBnf__Group_0__22447 = new BitSet(new long[]{0x0000000000000002L}); 
    15970     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__0_in_rule__EtsiBnf__Group_0__2__Impl2474 = new BitSet(new long[]{0x0000000000000002L}); 
    15971     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__0__Impl_in_rule__EtsiBnf__Group_0_2__02510 = new BitSet(new long[]{0x0000001000800000L}); 
    15972     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__1_in_rule__EtsiBnf__Group_0_2__02513 = new BitSet(new long[]{0x0000000000000002L}); 
    15973     public static final BitSet FOLLOW_rule__EtsiBnf__TypeAssignment_0_2_0_in_rule__EtsiBnf__Group_0_2__0__Impl2540 = new BitSet(new long[]{0x0000000000000002L}); 
    15974     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__1__Impl_in_rule__EtsiBnf__Group_0_2__12571 = new BitSet(new long[]{0x00000000010000B0L}); 
    15975     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__2_in_rule__EtsiBnf__Group_0_2__12574 = new BitSet(new long[]{0x0000000000000002L}); 
    15976     public static final BitSet FOLLOW_23_in_rule__EtsiBnf__Group_0_2__1__Impl2602 = new BitSet(new long[]{0x0000000000000002L}); 
    15977     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__2__Impl_in_rule__EtsiBnf__Group_0_2__22633 = new BitSet(new long[]{0x00000000010000B0L}); 
    15978     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__3_in_rule__EtsiBnf__Group_0_2__22636 = new BitSet(new long[]{0x0000000000000002L}); 
    15979     public static final BitSet FOLLOW_rule__EtsiBnf__ImportSectionAssignment_0_2_2_in_rule__EtsiBnf__Group_0_2__2__Impl2663 = new BitSet(new long[]{0x0000000000000002L}); 
    15980     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__3__Impl_in_rule__EtsiBnf__Group_0_2__32694 = new BitSet(new long[]{0x0000000000000002L}); 
    15981     public static final BitSet FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2723 = new BitSet(new long[]{0x00000000010000B2L}); 
    15982     public static final BitSet FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2735 = new BitSet(new long[]{0x00000000010000B2L}); 
    15983     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__0__Impl_in_rule__EtsiBnf__Group_1__02776 = new BitSet(new long[]{0x0000000000800000L}); 
    15984     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__1_in_rule__EtsiBnf__Group_1__02779 = new BitSet(new long[]{0x0000000000000002L}); 
    15985     public static final BitSet FOLLOW_rule__EtsiBnf__TypeAssignment_1_0_in_rule__EtsiBnf__Group_1__0__Impl2806 = new BitSet(new long[]{0x0000000000000002L}); 
    15986     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__1__Impl_in_rule__EtsiBnf__Group_1__12836 = new BitSet(new long[]{0x00000000010000B0L}); 
    15987     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__2_in_rule__EtsiBnf__Group_1__12839 = new BitSet(new long[]{0x0000000000000002L}); 
    15988     public static final BitSet FOLLOW_23_in_rule__EtsiBnf__Group_1__1__Impl2867 = new BitSet(new long[]{0x0000000000000002L}); 
    15989     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__2__Impl_in_rule__EtsiBnf__Group_1__22898 = new BitSet(new long[]{0x00000000010000B0L}); 
    15990     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__3_in_rule__EtsiBnf__Group_1__22901 = new BitSet(new long[]{0x0000000000000002L}); 
    15991     public static final BitSet FOLLOW_rule__EtsiBnf__ImportSectionAssignment_1_2_in_rule__EtsiBnf__Group_1__2__Impl2928 = new BitSet(new long[]{0x0000000000000002L}); 
    15992     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__3__Impl_in_rule__EtsiBnf__Group_1__32959 = new BitSet(new long[]{0x0000000000000002L}); 
    15993     public static final BitSet FOLLOW_rule__EtsiBnf__DeltaEntryAssignment_1_3_in_rule__EtsiBnf__Group_1__3__Impl2986 = new BitSet(new long[]{0x00000000010000B2L}); 
    15994     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__0__Impl_in_rule__EtsiBnf__Group_2__03025 = new BitSet(new long[]{0x0000000000800000L}); 
    15995     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__1_in_rule__EtsiBnf__Group_2__03028 = new BitSet(new long[]{0x0000000000000002L}); 
    15996     public static final BitSet FOLLOW_rule__EtsiBnf__TypeAssignment_2_0_in_rule__EtsiBnf__Group_2__0__Impl3055 = new BitSet(new long[]{0x0000000000000002L}); 
    15997     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__1__Impl_in_rule__EtsiBnf__Group_2__13085 = new BitSet(new long[]{0x0000000341000020L}); 
    15998     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__2_in_rule__EtsiBnf__Group_2__13088 = new BitSet(new long[]{0x0000000000000002L}); 
    15999     public static final BitSet FOLLOW_23_in_rule__EtsiBnf__Group_2__1__Impl3116 = new BitSet(new long[]{0x0000000000000002L}); 
    16000     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__2__Impl_in_rule__EtsiBnf__Group_2__23147 = new BitSet(new long[]{0x0000000341000020L}); 
    16001     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__3_in_rule__EtsiBnf__Group_2__23150 = new BitSet(new long[]{0x0000000000000002L}); 
    16002     public static final BitSet FOLLOW_rule__EtsiBnf__ImportSectionAssignment_2_2_in_rule__EtsiBnf__Group_2__2__Impl3177 = new BitSet(new long[]{0x0000000000000002L}); 
    16003     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__3__Impl_in_rule__EtsiBnf__Group_2__33208 = new BitSet(new long[]{0x0000000000000002L}); 
    16004     public static final BitSet FOLLOW_rule__EtsiBnf__MergeEntryAssignment_2_3_in_rule__EtsiBnf__Group_2__3__Impl3235 = new BitSet(new long[]{0x0000000340000022L}); 
    16005     public static final BitSet FOLLOW_rule__SectionHeading__Group__0__Impl_in_rule__SectionHeading__Group__03274 = new BitSet(new long[]{0x0000000000000020L}); 
    16006     public static final BitSet FOLLOW_rule__SectionHeading__Group__1_in_rule__SectionHeading__Group__03277 = new BitSet(new long[]{0x0000000000000002L}); 
    16007     public static final BitSet FOLLOW_rule__SectionHeading__Group__1__Impl_in_rule__SectionHeading__Group__13335 = new BitSet(new long[]{0x0000000000000002L}); 
    16008     public static final BitSet FOLLOW_rule__SectionHeading__SectionHeaderAssignment_1_in_rule__SectionHeading__Group__1__Impl3362 = new BitSet(new long[]{0x0000000000000002L}); 
    16009     public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__03396 = new BitSet(new long[]{0x0000000000000040L}); 
    16010     public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__03399 = new BitSet(new long[]{0x0000000000000002L}); 
    16011     public static final BitSet FOLLOW_24_in_rule__Import__Group__0__Impl3427 = new BitSet(new long[]{0x0000000000000002L}); 
    16012     public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__13458 = new BitSet(new long[]{0x0000000006800000L}); 
    16013     public static final BitSet FOLLOW_rule__Import__Group__2_in_rule__Import__Group__13461 = new BitSet(new long[]{0x0000000000000002L}); 
    16014     public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_1_in_rule__Import__Group__1__Impl3488 = new BitSet(new long[]{0x0000000000000002L}); 
    16015     public static final BitSet FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__23518 = new BitSet(new long[]{0x0000000006800000L}); 
    16016     public static final BitSet FOLLOW_rule__Import__Group__3_in_rule__Import__Group__23521 = new BitSet(new long[]{0x0000000000000002L}); 
    16017     public static final BitSet FOLLOW_rule__Import__Group_2__0_in_rule__Import__Group__2__Impl3548 = new BitSet(new long[]{0x0000000000000002L}); 
    16018     public static final BitSet FOLLOW_rule__Import__Group__3__Impl_in_rule__Import__Group__33579 = new BitSet(new long[]{0x0000000006800000L}); 
    16019     public static final BitSet FOLLOW_rule__Import__Group__4_in_rule__Import__Group__33582 = new BitSet(new long[]{0x0000000000000002L}); 
    16020     public static final BitSet FOLLOW_rule__Import__Group_3__0_in_rule__Import__Group__3__Impl3609 = new BitSet(new long[]{0x0000000000000002L}); 
    16021     public static final BitSet FOLLOW_rule__Import__Group__4__Impl_in_rule__Import__Group__43640 = new BitSet(new long[]{0x0000000000000002L}); 
    16022     public static final BitSet FOLLOW_23_in_rule__Import__Group__4__Impl3668 = new BitSet(new long[]{0x0000000000000002L}); 
    16023     public static final BitSet FOLLOW_rule__Import__Group_2__0__Impl_in_rule__Import__Group_2__03709 = new BitSet(new long[]{0x0000038000000000L}); 
    16024     public static final BitSet FOLLOW_rule__Import__Group_2__1_in_rule__Import__Group_2__03712 = new BitSet(new long[]{0x0000000000000002L}); 
    16025     public static final BitSet FOLLOW_25_in_rule__Import__Group_2__0__Impl3740 = new BitSet(new long[]{0x0000000000000002L}); 
    16026     public static final BitSet FOLLOW_rule__Import__Group_2__1__Impl_in_rule__Import__Group_2__13771 = new BitSet(new long[]{0x0000000000000002L}); 
    16027     public static final BitSet FOLLOW_rule__Import__Alternatives_2_1_in_rule__Import__Group_2__1__Impl3798 = new BitSet(new long[]{0x0000000000000002L}); 
    16028     public static final BitSet FOLLOW_rule__Import__Group_3__0__Impl_in_rule__Import__Group_3__03832 = new BitSet(new long[]{0x0000000000000010L}); 
    16029     public static final BitSet FOLLOW_rule__Import__Group_3__1_in_rule__Import__Group_3__03835 = new BitSet(new long[]{0x0000000000000002L}); 
    16030     public static final BitSet FOLLOW_26_in_rule__Import__Group_3__0__Impl3863 = new BitSet(new long[]{0x0000000000000002L}); 
    16031     public static final BitSet FOLLOW_rule__Import__Group_3__1__Impl_in_rule__Import__Group_3__13894 = new BitSet(new long[]{0x0000000000000002L}); 
    16032     public static final BitSet FOLLOW_rule__Import__LabelAssignment_3_1_in_rule__Import__Group_3__1__Impl3921 = new BitSet(new long[]{0x0000000000000002L}); 
    16033     public static final BitSet FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__03955 = new BitSet(new long[]{0x00000000010000B0L}); 
    16034     public static final BitSet FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__03958 = new BitSet(new long[]{0x0000000000000002L}); 
    16035     public static final BitSet FOLLOW_rule__Rule__Group_0__0_in_rule__Rule__Group__0__Impl3985 = new BitSet(new long[]{0x0000000000000002L}); 
    16036     public static final BitSet FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__14016 = new BitSet(new long[]{0x0000000008000000L}); 
    16037     public static final BitSet FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__14019 = new BitSet(new long[]{0x0000000000000002L}); 
    16038     public static final BitSet FOLLOW_rule__Rule__NameAssignment_1_in_rule__Rule__Group__1__Impl4046 = new BitSet(new long[]{0x0000000000000002L}); 
    16039     public static final BitSet FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__24076 = new BitSet(new long[]{0x00000000008E0250L}); 
    16040     public static final BitSet FOLLOW_rule__Rule__Group__3_in_rule__Rule__Group__24079 = new BitSet(new long[]{0x0000000000000002L}); 
    16041     public static final BitSet FOLLOW_27_in_rule__Rule__Group__2__Impl4107 = new BitSet(new long[]{0x0000000000000002L}); 
    16042     public static final BitSet FOLLOW_rule__Rule__Group__3__Impl_in_rule__Rule__Group__34138 = new BitSet(new long[]{0x00000000008E0250L}); 
    16043     public static final BitSet FOLLOW_rule__Rule__Group__4_in_rule__Rule__Group__34141 = new BitSet(new long[]{0x0000000000000002L}); 
    16044     public static final BitSet FOLLOW_rule__Rule__DefinitionListAssignment_3_in_rule__Rule__Group__3__Impl4168 = new BitSet(new long[]{0x0000000000000002L}); 
    16045     public static final BitSet FOLLOW_rule__Rule__Group__4__Impl_in_rule__Rule__Group__44199 = new BitSet(new long[]{0x0000000000000002L}); 
    16046     public static final BitSet FOLLOW_23_in_rule__Rule__Group__4__Impl4228 = new BitSet(new long[]{0x0000000000000002L}); 
    16047     public static final BitSet FOLLOW_rule__Rule__Group_0__0__Impl_in_rule__Rule__Group_0__04271 = new BitSet(new long[]{0x0000000010000010L}); 
    16048     public static final BitSet FOLLOW_rule__Rule__Group_0__1_in_rule__Rule__Group_0__04274 = new BitSet(new long[]{0x0000000000000002L}); 
    16049     public static final BitSet FOLLOW_rule__Rule__RulenumberAssignment_0_0_in_rule__Rule__Group_0__0__Impl4301 = new BitSet(new long[]{0x0000000000000002L}); 
    16050     public static final BitSet FOLLOW_rule__Rule__Group_0__1__Impl_in_rule__Rule__Group_0__14331 = new BitSet(new long[]{0x0000000010000010L}); 
    16051     public static final BitSet FOLLOW_rule__Rule__Group_0__2_in_rule__Rule__Group_0__14334 = new BitSet(new long[]{0x0000000000000002L}); 
    16052     public static final BitSet FOLLOW_rule__Rule__RulevariantAssignment_0_1_in_rule__Rule__Group_0__1__Impl4361 = new BitSet(new long[]{0x0000000000000002L}); 
    16053     public static final BitSet FOLLOW_rule__Rule__Group_0__2__Impl_in_rule__Rule__Group_0__24392 = new BitSet(new long[]{0x0000000000000002L}); 
    16054     public static final BitSet FOLLOW_28_in_rule__Rule__Group_0__2__Impl4420 = new BitSet(new long[]{0x0000000000000002L}); 
    16055     public static final BitSet FOLLOW_rule__ExtRule__Group__0__Impl_in_rule__ExtRule__Group__04457 = new BitSet(new long[]{0x00000000010000B0L}); 
    16056     public static final BitSet FOLLOW_rule__ExtRule__Group__1_in_rule__ExtRule__Group__04460 = new BitSet(new long[]{0x0000000000000002L}); 
    16057     public static final BitSet FOLLOW_rule__ExtRule__Group_0__0_in_rule__ExtRule__Group__0__Impl4487 = new BitSet(new long[]{0x0000000000000002L}); 
    16058     public static final BitSet FOLLOW_rule__ExtRule__Group__1__Impl_in_rule__ExtRule__Group__14518 = new BitSet(new long[]{0x0000000000020000L}); 
    16059     public static final BitSet FOLLOW_rule__ExtRule__Group__2_in_rule__ExtRule__Group__14521 = new BitSet(new long[]{0x0000000000000002L}); 
    16060     public static final BitSet FOLLOW_rule__ExtRule__NameAssignment_1_in_rule__ExtRule__Group__1__Impl4548 = new BitSet(new long[]{0x0000000000000002L}); 
    16061     public static final BitSet FOLLOW_rule__ExtRule__Group__2__Impl_in_rule__ExtRule__Group__24578 = new BitSet(new long[]{0x0000000020000000L}); 
    16062     public static final BitSet FOLLOW_rule__ExtRule__Group__3_in_rule__ExtRule__Group__24581 = new BitSet(new long[]{0x0000000000000002L}); 
    16063     public static final BitSet FOLLOW_rule__ExtRule__Group_2__0_in_rule__ExtRule__Group__2__Impl4608 = new BitSet(new long[]{0x0000000000000002L}); 
    16064     public static final BitSet FOLLOW_rule__ExtRule__Group__3__Impl_in_rule__ExtRule__Group__34638 = new BitSet(new long[]{0x0000000000BFE250L}); 
    16065     public static final BitSet FOLLOW_rule__ExtRule__Group__4_in_rule__ExtRule__Group__34641 = new BitSet(new long[]{0x0000000000000002L}); 
    16066     public static final BitSet FOLLOW_29_in_rule__ExtRule__Group__3__Impl4669 = new BitSet(new long[]{0x0000000000000002L}); 
    16067     public static final BitSet FOLLOW_rule__ExtRule__Group__4__Impl_in_rule__ExtRule__Group__44700 = new BitSet(new long[]{0x0000000000BFE250L}); 
    16068     public static final BitSet FOLLOW_rule__ExtRule__Group__5_in_rule__ExtRule__Group__44703 = new BitSet(new long[]{0x0000000000000002L}); 
    16069     public static final BitSet FOLLOW_rule__ExtRule__Alternatives_4_in_rule__ExtRule__Group__4__Impl4730 = new BitSet(new long[]{0x00000000003FE252L}); 
    16070     public static final BitSet FOLLOW_rule__ExtRule__Group__5__Impl_in_rule__ExtRule__Group__54761 = new BitSet(new long[]{0x0000000000000002L}); 
    16071     public static final BitSet FOLLOW_23_in_rule__ExtRule__Group__5__Impl4790 = new BitSet(new long[]{0x0000000000000002L}); 
    16072     public static final BitSet FOLLOW_rule__ExtRule__Group_0__0__Impl_in_rule__ExtRule__Group_0__04835 = new BitSet(new long[]{0x0000000010000010L}); 
    16073     public static final BitSet FOLLOW_rule__ExtRule__Group_0__1_in_rule__ExtRule__Group_0__04838 = new BitSet(new long[]{0x0000000000000002L}); 
    16074     public static final BitSet FOLLOW_rule__ExtRule__RulenumberAssignment_0_0_in_rule__ExtRule__Group_0__0__Impl4865 = new BitSet(new long[]{0x0000000000000002L}); 
    16075     public static final BitSet FOLLOW_rule__ExtRule__Group_0__1__Impl_in_rule__ExtRule__Group_0__14895 = new BitSet(new long[]{0x0000000010000010L}); 
    16076     public static final BitSet FOLLOW_rule__ExtRule__Group_0__2_in_rule__ExtRule__Group_0__14898 = new BitSet(new long[]{0x0000000000000002L}); 
    16077     public static final BitSet FOLLOW_rule__ExtRule__RulevariantAssignment_0_1_in_rule__ExtRule__Group_0__1__Impl4925 = new BitSet(new long[]{0x0000000000000002L}); 
    16078     public static final BitSet FOLLOW_rule__ExtRule__Group_0__2__Impl_in_rule__ExtRule__Group_0__24956 = new BitSet(new long[]{0x0000000000000002L}); 
    16079     public static final BitSet FOLLOW_28_in_rule__ExtRule__Group_0__2__Impl4984 = new BitSet(new long[]{0x0000000000000002L}); 
    16080     public static final BitSet FOLLOW_rule__ExtRule__Group_2__0__Impl_in_rule__ExtRule__Group_2__05021 = new BitSet(new long[]{0x0000000000000080L}); 
    16081     public static final BitSet FOLLOW_rule__ExtRule__Group_2__1_in_rule__ExtRule__Group_2__05024 = new BitSet(new long[]{0x0000000000000002L}); 
    16082     public static final BitSet FOLLOW_17_in_rule__ExtRule__Group_2__0__Impl5052 = new BitSet(new long[]{0x0000000000000002L}); 
    16083     public static final BitSet FOLLOW_rule__ExtRule__Group_2__1__Impl_in_rule__ExtRule__Group_2__15083 = new BitSet(new long[]{0x0000000000002000L}); 
    16084     public static final BitSet FOLLOW_rule__ExtRule__Group_2__2_in_rule__ExtRule__Group_2__15086 = new BitSet(new long[]{0x0000000000000002L}); 
    16085     public static final BitSet FOLLOW_rule__ExtRule__RuleextAssignment_2_1_in_rule__ExtRule__Group_2__1__Impl5113 = new BitSet(new long[]{0x0000000000000002L}); 
    16086     public static final BitSet FOLLOW_rule__ExtRule__Group_2__2__Impl_in_rule__ExtRule__Group_2__25143 = new BitSet(new long[]{0x0000000000000002L}); 
    16087     public static final BitSet FOLLOW_13_in_rule__ExtRule__Group_2__2__Impl5171 = new BitSet(new long[]{0x0000000000000002L}); 
    16088     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__0__Impl_in_rule__GlobalCombinator__Group__05208 = new BitSet(new long[]{0x0000000000000100L}); 
    16089     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__1_in_rule__GlobalCombinator__Group__05211 = new BitSet(new long[]{0x0000000000000002L}); 
    16090     public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__0_in_rule__GlobalCombinator__Group__0__Impl5238 = new BitSet(new long[]{0x0000000000000002L}); 
    16091     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__1__Impl_in_rule__GlobalCombinator__Group__15268 = new BitSet(new long[]{0x0000000000800000L}); 
    16092     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__2_in_rule__GlobalCombinator__Group__15271 = new BitSet(new long[]{0x0000000000000002L}); 
    16093     public static final BitSet FOLLOW_rule__GlobalCombinator__LogicAssignment_1_in_rule__GlobalCombinator__Group__1__Impl5298 = new BitSet(new long[]{0x0000000000000002L}); 
    16094     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__2__Impl_in_rule__GlobalCombinator__Group__25328 = new BitSet(new long[]{0x0000000000000002L}); 
    16095     public static final BitSet FOLLOW_23_in_rule__GlobalCombinator__Group__2__Impl5357 = new BitSet(new long[]{0x0000000000000002L}); 
    16096     public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__0__Impl_in_rule__GlobalCombinator__Group_0__05396 = new BitSet(new long[]{0x0000000080000000L}); 
    16097     public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__1_in_rule__GlobalCombinator__Group_0__05399 = new BitSet(new long[]{0x0000000000000002L}); 
    16098     public static final BitSet FOLLOW_30_in_rule__GlobalCombinator__Group_0__0__Impl5427 = new BitSet(new long[]{0x0000000000000002L}); 
    16099     public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__1__Impl_in_rule__GlobalCombinator__Group_0__15458 = new BitSet(new long[]{0x0000000000000002L}); 
    16100     public static final BitSet FOLLOW_31_in_rule__GlobalCombinator__Group_0__1__Impl5486 = new BitSet(new long[]{0x0000000000000002L}); 
    16101     public static final BitSet FOLLOW_rule__RuleCombinator__Group__0__Impl_in_rule__RuleCombinator__Group__05521 = new BitSet(new long[]{0x0000000000000100L}); 
    16102     public static final BitSet FOLLOW_rule__RuleCombinator__Group__1_in_rule__RuleCombinator__Group__05524 = new BitSet(new long[]{0x0000000000000002L}); 
    16103     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__0_in_rule__RuleCombinator__Group__0__Impl5551 = new BitSet(new long[]{0x0000000000000002L}); 
    16104     public static final BitSet FOLLOW_rule__RuleCombinator__Group__1__Impl_in_rule__RuleCombinator__Group__15581 = new BitSet(new long[]{0x0000000000820000L}); 
    16105     public static final BitSet FOLLOW_rule__RuleCombinator__Group__2_in_rule__RuleCombinator__Group__15584 = new BitSet(new long[]{0x0000000000000002L}); 
    16106     public static final BitSet FOLLOW_rule__RuleCombinator__LogicAssignment_1_in_rule__RuleCombinator__Group__1__Impl5611 = new BitSet(new long[]{0x0000000000000002L}); 
    16107     public static final BitSet FOLLOW_rule__RuleCombinator__Group__2__Impl_in_rule__RuleCombinator__Group__25641 = new BitSet(new long[]{0x0000000000820000L}); 
    16108     public static final BitSet FOLLOW_rule__RuleCombinator__Group__3_in_rule__RuleCombinator__Group__25644 = new BitSet(new long[]{0x0000000000000002L}); 
    16109     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__0_in_rule__RuleCombinator__Group__2__Impl5671 = new BitSet(new long[]{0x0000000000020002L}); 
    16110     public static final BitSet FOLLOW_rule__RuleCombinator__Group__3__Impl_in_rule__RuleCombinator__Group__35702 = new BitSet(new long[]{0x0000000000000002L}); 
    16111     public static final BitSet FOLLOW_23_in_rule__RuleCombinator__Group__3__Impl5731 = new BitSet(new long[]{0x0000000000000002L}); 
    16112     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__0__Impl_in_rule__RuleCombinator__Group_0__05772 = new BitSet(new long[]{0x0000000080000000L}); 
    16113     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__1_in_rule__RuleCombinator__Group_0__05775 = new BitSet(new long[]{0x0000000000000002L}); 
    16114     public static final BitSet FOLLOW_32_in_rule__RuleCombinator__Group_0__0__Impl5803 = new BitSet(new long[]{0x0000000000000002L}); 
    16115     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__1__Impl_in_rule__RuleCombinator__Group_0__15834 = new BitSet(new long[]{0x0000000000000010L}); 
    16116     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__2_in_rule__RuleCombinator__Group_0__15837 = new BitSet(new long[]{0x0000000000000002L}); 
    16117     public static final BitSet FOLLOW_31_in_rule__RuleCombinator__Group_0__1__Impl5865 = new BitSet(new long[]{0x0000000000000002L}); 
    16118     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__2__Impl_in_rule__RuleCombinator__Group_0__25896 = new BitSet(new long[]{0x0000000000000002L}); 
    16119     public static final BitSet FOLLOW_rule__RuleCombinator__NameAssignment_0_2_in_rule__RuleCombinator__Group_0__2__Impl5923 = new BitSet(new long[]{0x0000000000000002L}); 
    16120     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__0__Impl_in_rule__RuleCombinator__Group_2__05959 = new BitSet(new long[]{0x0000000000000040L}); 
    16121     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__1_in_rule__RuleCombinator__Group_2__05962 = new BitSet(new long[]{0x0000000000000002L}); 
    16122     public static final BitSet FOLLOW_17_in_rule__RuleCombinator__Group_2__0__Impl5990 = new BitSet(new long[]{0x0000000000000002L}); 
    16123     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__1__Impl_in_rule__RuleCombinator__Group_2__16021 = new BitSet(new long[]{0x0000000000002000L}); 
    16124     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__2_in_rule__RuleCombinator__Group_2__16024 = new BitSet(new long[]{0x0000000000000002L}); 
    16125     public static final BitSet FOLLOW_rule__RuleCombinator__LABELAssignment_2_1_in_rule__RuleCombinator__Group_2__1__Impl6051 = new BitSet(new long[]{0x0000000000000002L}); 
    16126     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__2__Impl_in_rule__RuleCombinator__Group_2__26081 = new BitSet(new long[]{0x0000000000000002L}); 
    16127     public static final BitSet FOLLOW_13_in_rule__RuleCombinator__Group_2__2__Impl6109 = new BitSet(new long[]{0x0000000000000002L}); 
    16128     public static final BitSet FOLLOW_rule__HookCombinator__Group__0__Impl_in_rule__HookCombinator__Group__06146 = new BitSet(new long[]{0x0000000080000000L}); 
    16129     public static final BitSet FOLLOW_rule__HookCombinator__Group__1_in_rule__HookCombinator__Group__06149 = new BitSet(new long[]{0x0000000000000002L}); 
    16130     public static final BitSet FOLLOW_33_in_rule__HookCombinator__Group__0__Impl6177 = new BitSet(new long[]{0x0000000000000002L}); 
    16131     public static final BitSet FOLLOW_rule__HookCombinator__Group__1__Impl_in_rule__HookCombinator__Group__16208 = new BitSet(new long[]{0x0000000000000010L}); 
    16132     public static final BitSet FOLLOW_rule__HookCombinator__Group__2_in_rule__HookCombinator__Group__16211 = new BitSet(new long[]{0x0000000000000002L}); 
    16133     public static final BitSet FOLLOW_31_in_rule__HookCombinator__Group__1__Impl6239 = new BitSet(new long[]{0x0000000000000002L}); 
    16134     public static final BitSet FOLLOW_rule__HookCombinator__Group__2__Impl_in_rule__HookCombinator__Group__26270 = new BitSet(new long[]{0x0000000000020000L}); 
    16135     public static final BitSet FOLLOW_rule__HookCombinator__Group__3_in_rule__HookCombinator__Group__26273 = new BitSet(new long[]{0x0000000000000002L}); 
    16136     public static final BitSet FOLLOW_rule__HookCombinator__NameAssignment_2_in_rule__HookCombinator__Group__2__Impl6300 = new BitSet(new long[]{0x0000000000000002L}); 
    16137     public static final BitSet FOLLOW_rule__HookCombinator__Group__3__Impl_in_rule__HookCombinator__Group__36330 = new BitSet(new long[]{0x0000000000000080L}); 
    16138     public static final BitSet FOLLOW_rule__HookCombinator__Group__4_in_rule__HookCombinator__Group__36333 = new BitSet(new long[]{0x0000000000000002L}); 
    16139     public static final BitSet FOLLOW_17_in_rule__HookCombinator__Group__3__Impl6361 = new BitSet(new long[]{0x0000000000000002L}); 
    16140     public static final BitSet FOLLOW_rule__HookCombinator__Group__4__Impl_in_rule__HookCombinator__Group__46392 = new BitSet(new long[]{0x0000000000002000L}); 
    16141     public static final BitSet FOLLOW_rule__HookCombinator__Group__5_in_rule__HookCombinator__Group__46395 = new BitSet(new long[]{0x0000000000000002L}); 
    16142     public static final BitSet FOLLOW_rule__HookCombinator__RuleextAssignment_4_in_rule__HookCombinator__Group__4__Impl6422 = new BitSet(new long[]{0x0000000000000002L}); 
    16143     public static final BitSet FOLLOW_rule__HookCombinator__Group__5__Impl_in_rule__HookCombinator__Group__56452 = new BitSet(new long[]{0x0000000000020100L}); 
    16144     public static final BitSet FOLLOW_rule__HookCombinator__Group__6_in_rule__HookCombinator__Group__56455 = new BitSet(new long[]{0x0000000000000002L}); 
    16145     public static final BitSet FOLLOW_13_in_rule__HookCombinator__Group__5__Impl6483 = new BitSet(new long[]{0x0000000000000002L}); 
    16146     public static final BitSet FOLLOW_rule__HookCombinator__Group__6__Impl_in_rule__HookCombinator__Group__66514 = new BitSet(new long[]{0x0000000000020100L}); 
    16147     public static final BitSet FOLLOW_rule__HookCombinator__Group__7_in_rule__HookCombinator__Group__66517 = new BitSet(new long[]{0x0000000000000002L}); 
    16148     public static final BitSet FOLLOW_rule__HookCombinator__LogicAssignment_6_in_rule__HookCombinator__Group__6__Impl6544 = new BitSet(new long[]{0x0000000000000002L}); 
    16149     public static final BitSet FOLLOW_rule__HookCombinator__Group__7__Impl_in_rule__HookCombinator__Group__76575 = new BitSet(new long[]{0x0000000000800000L}); 
    16150     public static final BitSet FOLLOW_rule__HookCombinator__Group__8_in_rule__HookCombinator__Group__76578 = new BitSet(new long[]{0x0000000000000002L}); 
    16151     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6607 = new BitSet(new long[]{0x0000000000020102L}); 
    16152     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6619 = new BitSet(new long[]{0x0000000000020102L}); 
    16153     public static final BitSet FOLLOW_rule__HookCombinator__Group__8__Impl_in_rule__HookCombinator__Group__86652 = new BitSet(new long[]{0x0000000000000002L}); 
    16154     public static final BitSet FOLLOW_23_in_rule__HookCombinator__Group__8__Impl6681 = new BitSet(new long[]{0x0000000000000002L}); 
    16155     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__0__Impl_in_rule__HookCombinator__Group_7__06732 = new BitSet(new long[]{0x0000000000000040L}); 
    16156     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__1_in_rule__HookCombinator__Group_7__06735 = new BitSet(new long[]{0x0000000000000002L}); 
    16157     public static final BitSet FOLLOW_17_in_rule__HookCombinator__Group_7__0__Impl6763 = new BitSet(new long[]{0x0000000000000002L}); 
    16158     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__1__Impl_in_rule__HookCombinator__Group_7__16794 = new BitSet(new long[]{0x0000000000002000L}); 
    16159     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__2_in_rule__HookCombinator__Group_7__16797 = new BitSet(new long[]{0x0000000000000002L}); 
    16160     public static final BitSet FOLLOW_rule__HookCombinator__LABELAssignment_7_1_in_rule__HookCombinator__Group_7__1__Impl6824 = new BitSet(new long[]{0x0000000000000002L}); 
    16161     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__2__Impl_in_rule__HookCombinator__Group_7__26854 = new BitSet(new long[]{0x0000000000000002L}); 
    16162     public static final BitSet FOLLOW_13_in_rule__HookCombinator__Group_7__2__Impl6882 = new BitSet(new long[]{0x0000000000000002L}); 
    16163     public static final BitSet FOLLOW_rule__DefinitionList__Group__0__Impl_in_rule__DefinitionList__Group__06919 = new BitSet(new long[]{0x0000000000010000L}); 
    16164     public static final BitSet FOLLOW_rule__DefinitionList__Group__1_in_rule__DefinitionList__Group__06922 = new BitSet(new long[]{0x0000000000000002L}); 
    16165     public static final BitSet FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_0_in_rule__DefinitionList__Group__0__Impl6949 = new BitSet(new long[]{0x0000000000000002L}); 
    16166     public static final BitSet FOLLOW_rule__DefinitionList__Group__1__Impl_in_rule__DefinitionList__Group__16979 = new BitSet(new long[]{0x0000000000000002L}); 
    16167     public static final BitSet FOLLOW_rule__DefinitionList__Group_1__0_in_rule__DefinitionList__Group__1__Impl7006 = new BitSet(new long[]{0x0000000000010002L}); 
    16168     public static final BitSet FOLLOW_rule__DefinitionList__Group_1__0__Impl_in_rule__DefinitionList__Group_1__07041 = new BitSet(new long[]{0x00000000000E0250L}); 
    16169     public static final BitSet FOLLOW_rule__DefinitionList__Group_1__1_in_rule__DefinitionList__Group_1__07044 = new BitSet(new long[]{0x0000000000000002L}); 
    16170     public static final BitSet FOLLOW_16_in_rule__DefinitionList__Group_1__0__Impl7072 = new BitSet(new long[]{0x0000000000000002L}); 
    16171     public static final BitSet FOLLOW_rule__DefinitionList__Group_1__1__Impl_in_rule__DefinitionList__Group_1__17103 = new BitSet(new long[]{0x0000000000000002L}); 
    16172     public static final BitSet FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_1_1_in_rule__DefinitionList__Group_1__1__Impl7130 = new BitSet(new long[]{0x0000000000000002L}); 
    16173     public static final BitSet FOLLOW_rule__GroupedSequence__Group__0__Impl_in_rule__GroupedSequence__Group__07164 = new BitSet(new long[]{0x00000000000E0250L}); 
    16174     public static final BitSet FOLLOW_rule__GroupedSequence__Group__1_in_rule__GroupedSequence__Group__07167 = new BitSet(new long[]{0x0000000000000002L}); 
    16175     public static final BitSet FOLLOW_17_in_rule__GroupedSequence__Group__0__Impl7195 = new BitSet(new long[]{0x0000000000000002L}); 
    16176     public static final BitSet FOLLOW_rule__GroupedSequence__Group__1__Impl_in_rule__GroupedSequence__Group__17226 = new BitSet(new long[]{0x0000000000002000L}); 
    16177     public static final BitSet FOLLOW_rule__GroupedSequence__Group__2_in_rule__GroupedSequence__Group__17229 = new BitSet(new long[]{0x0000000000000002L}); 
    16178     public static final BitSet FOLLOW_rule__GroupedSequence__DefinitionListAssignment_1_in_rule__GroupedSequence__Group__1__Impl7256 = new BitSet(new long[]{0x0000000000000002L}); 
    16179     public static final BitSet FOLLOW_rule__GroupedSequence__Group__2__Impl_in_rule__GroupedSequence__Group__27286 = new BitSet(new long[]{0x0000000000000002L}); 
    16180     public static final BitSet FOLLOW_13_in_rule__GroupedSequence__Group__2__Impl7314 = new BitSet(new long[]{0x0000000000000002L}); 
    16181     public static final BitSet FOLLOW_rule__OptionalSequence__Group__0__Impl_in_rule__OptionalSequence__Group__07351 = new BitSet(new long[]{0x00000000000E0250L}); 
    16182     public static final BitSet FOLLOW_rule__OptionalSequence__Group__1_in_rule__OptionalSequence__Group__07354 = new BitSet(new long[]{0x0000000000000002L}); 
    16183     public static final BitSet FOLLOW_18_in_rule__OptionalSequence__Group__0__Impl7382 = new BitSet(new long[]{0x0000000000000002L}); 
    16184     public static final BitSet FOLLOW_rule__OptionalSequence__Group__1__Impl_in_rule__OptionalSequence__Group__17413 = new BitSet(new long[]{0x0000000000004000L}); 
    16185     public static final BitSet FOLLOW_rule__OptionalSequence__Group__2_in_rule__OptionalSequence__Group__17416 = new BitSet(new long[]{0x0000000000000002L}); 
    16186     public static final BitSet FOLLOW_rule__OptionalSequence__DefinitionListAssignment_1_in_rule__OptionalSequence__Group__1__Impl7443 = new BitSet(new long[]{0x0000000000000002L}); 
    16187     public static final BitSet FOLLOW_rule__OptionalSequence__Group__2__Impl_in_rule__OptionalSequence__Group__27473 = new BitSet(new long[]{0x0000000000000002L}); 
    16188     public static final BitSet FOLLOW_14_in_rule__OptionalSequence__Group__2__Impl7501 = new BitSet(new long[]{0x0000000000000002L}); 
    16189     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__0__Impl_in_rule__RepeatedSequence__Group__07538 = new BitSet(new long[]{0x00000000000E0250L}); 
    16190     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__1_in_rule__RepeatedSequence__Group__07541 = new BitSet(new long[]{0x0000000000000002L}); 
    16191     public static final BitSet FOLLOW_19_in_rule__RepeatedSequence__Group__0__Impl7569 = new BitSet(new long[]{0x0000000000000002L}); 
    16192     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__1__Impl_in_rule__RepeatedSequence__Group__17600 = new BitSet(new long[]{0x0000000000008000L}); 
    16193     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__2_in_rule__RepeatedSequence__Group__17603 = new BitSet(new long[]{0x0000000000000002L}); 
    16194     public static final BitSet FOLLOW_rule__RepeatedSequence__DefinitionsAssignment_1_in_rule__RepeatedSequence__Group__1__Impl7630 = new BitSet(new long[]{0x0000000000000002L}); 
    16195     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__2__Impl_in_rule__RepeatedSequence__Group__27660 = new BitSet(new long[]{0x0000000400200000L}); 
    16196     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__3_in_rule__RepeatedSequence__Group__27663 = new BitSet(new long[]{0x0000000000000002L}); 
    16197     public static final BitSet FOLLOW_15_in_rule__RepeatedSequence__Group__2__Impl7691 = new BitSet(new long[]{0x0000000000000002L}); 
    16198     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__3__Impl_in_rule__RepeatedSequence__Group__37722 = new BitSet(new long[]{0x0000000000000002L}); 
    16199     public static final BitSet FOLLOW_rule__RepeatedSequence__Alternatives_3_in_rule__RepeatedSequence__Group__3__Impl7749 = new BitSet(new long[]{0x0000000000000002L}); 
    16200     public static final BitSet FOLLOW_rule__RepeatRange__Group__0__Impl_in_rule__RepeatRange__Group__07787 = new BitSet(new long[]{0x0000000000020000L}); 
    16201     public static final BitSet FOLLOW_rule__RepeatRange__Group__1_in_rule__RepeatRange__Group__07790 = new BitSet(new long[]{0x0000000000000002L}); 
    16202     public static final BitSet FOLLOW_34_in_rule__RepeatRange__Group__0__Impl7818 = new BitSet(new long[]{0x0000000000000002L}); 
    16203     public static final BitSet FOLLOW_rule__RepeatRange__Group__1__Impl_in_rule__RepeatRange__Group__17849 = new BitSet(new long[]{0x0000000000000080L}); 
    16204     public static final BitSet FOLLOW_rule__RepeatRange__Group__2_in_rule__RepeatRange__Group__17852 = new BitSet(new long[]{0x0000000000000002L}); 
    16205     public static final BitSet FOLLOW_17_in_rule__RepeatRange__Group__1__Impl7880 = new BitSet(new long[]{0x0000000000000002L}); 
    16206     public static final BitSet FOLLOW_rule__RepeatRange__Group__2__Impl_in_rule__RepeatRange__Group__27911 = new BitSet(new long[]{0x0000000800000000L}); 
    16207     public static final BitSet FOLLOW_rule__RepeatRange__Group__3_in_rule__RepeatRange__Group__27914 = new BitSet(new long[]{0x0000000000000002L}); 
    16208     public static final BitSet FOLLOW_rule__RepeatRange__FromAssignment_2_in_rule__RepeatRange__Group__2__Impl7941 = new BitSet(new long[]{0x0000000000000002L}); 
    16209     public static final BitSet FOLLOW_rule__RepeatRange__Group__3__Impl_in_rule__RepeatRange__Group__37971 = new BitSet(new long[]{0x0000000000000080L}); 
    16210     public static final BitSet FOLLOW_rule__RepeatRange__Group__4_in_rule__RepeatRange__Group__37974 = new BitSet(new long[]{0x0000000000000002L}); 
    16211     public static final BitSet FOLLOW_35_in_rule__RepeatRange__Group__3__Impl8002 = new BitSet(new long[]{0x0000000000000002L}); 
    16212     public static final BitSet FOLLOW_rule__RepeatRange__Group__4__Impl_in_rule__RepeatRange__Group__48033 = new BitSet(new long[]{0x0000000000002000L}); 
    16213     public static final BitSet FOLLOW_rule__RepeatRange__Group__5_in_rule__RepeatRange__Group__48036 = new BitSet(new long[]{0x0000000000000002L}); 
    16214     public static final BitSet FOLLOW_rule__RepeatRange__ToAssignment_4_in_rule__RepeatRange__Group__4__Impl8063 = new BitSet(new long[]{0x0000000000000002L}); 
    16215     public static final BitSet FOLLOW_rule__RepeatRange__Group__5__Impl_in_rule__RepeatRange__Group__58093 = new BitSet(new long[]{0x0000000000000002L}); 
    16216     public static final BitSet FOLLOW_13_in_rule__RepeatRange__Group__5__Impl8121 = new BitSet(new long[]{0x0000000000000002L}); 
    16217     public static final BitSet FOLLOW_RULE_ID_in_rule__EtsiBnf__NameAssignment_0_18169 = new BitSet(new long[]{0x0000000000000002L}); 
    16218     public static final BitSet FOLLOW_36_in_rule__EtsiBnf__TypeAssignment_0_2_08205 = new BitSet(new long[]{0x0000000000000002L}); 
    16219     public static final BitSet FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_0_2_28244 = new BitSet(new long[]{0x0000000000000002L}); 
    16220     public static final BitSet FOLLOW_ruleBnfEntry_in_rule__EtsiBnf__BnfEntryAssignment_0_2_38275 = new BitSet(new long[]{0x0000000000000002L}); 
    16221     public static final BitSet FOLLOW_37_in_rule__EtsiBnf__TypeAssignment_1_08311 = new BitSet(new long[]{0x0000000000000002L}); 
    16222     public static final BitSet FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_1_28350 = new BitSet(new long[]{0x0000000000000002L}); 
    16223     public static final BitSet FOLLOW_ruleDeltaEntry_in_rule__EtsiBnf__DeltaEntryAssignment_1_38381 = new BitSet(new long[]{0x0000000000000002L}); 
    16224     public static final BitSet FOLLOW_38_in_rule__EtsiBnf__TypeAssignment_2_08417 = new BitSet(new long[]{0x0000000000000002L}); 
    16225     public static final BitSet FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_2_28456 = new BitSet(new long[]{0x0000000000000002L}); 
    16226     public static final BitSet FOLLOW_ruleMergeEntry_in_rule__EtsiBnf__MergeEntryAssignment_2_38487 = new BitSet(new long[]{0x0000000000000002L}); 
    16227     public static final BitSet FOLLOW_ruleImport_in_rule__ImportSection__ImportsAssignment8518 = new BitSet(new long[]{0x0000000000000002L}); 
    16228     public static final BitSet FOLLOW_ruleSectionHeading_in_rule__BnfEntry__SectionheaderAssignment_08549 = new BitSet(new long[]{0x0000000000000002L}); 
    16229     public static final BitSet FOLLOW_ruleRule_in_rule__BnfEntry__RuleAssignment_18580 = new BitSet(new long[]{0x0000000000000002L}); 
    16230     public static final BitSet FOLLOW_ruleRule_in_rule__DeltaEntry__RuleAssignment_08611 = new BitSet(new long[]{0x0000000000000002L}); 
    16231     public static final BitSet FOLLOW_ruleSectionHeading_in_rule__DeltaEntry__SectionheaderAssignment_18642 = new BitSet(new long[]{0x0000000000000002L}); 
    16232     public static final BitSet FOLLOW_ruleExtRule_in_rule__DeltaEntry__ExtRuleAssignment_28673 = new BitSet(new long[]{0x0000000000000002L}); 
    16233     public static final BitSet FOLLOW_ruleSectionHeading_in_rule__MergeEntry__SectionheaderAssignment_08704 = new BitSet(new long[]{0x0000000000000002L}); 
    16234     public static final BitSet FOLLOW_ruleMergeRule_in_rule__MergeEntry__MergeRuleAssignment_18735 = new BitSet(new long[]{0x0000000000000002L}); 
    16235     public static final BitSet FOLLOW_RULE_SECTIONHEADER_in_rule__SectionHeading__SectionHeaderAssignment_18766 = new BitSet(new long[]{0x0000000000000002L}); 
    16236     public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_18797 = new BitSet(new long[]{0x0000000000000002L}); 
    16237     public static final BitSet FOLLOW_39_in_rule__Import__GrammarTypeAssignment_2_1_08833 = new BitSet(new long[]{0x0000000000000002L}); 
    16238     public static final BitSet FOLLOW_40_in_rule__Import__GrammarTypeAssignment_2_1_18877 = new BitSet(new long[]{0x0000000000000002L}); 
    16239     public static final BitSet FOLLOW_41_in_rule__Import__GrammarTypeAssignment_2_1_28921 = new BitSet(new long[]{0x0000000000000002L}); 
    16240     public static final BitSet FOLLOW_RULE_ID_in_rule__Import__LabelAssignment_3_18960 = new BitSet(new long[]{0x0000000000000002L}); 
    16241     public static final BitSet FOLLOW_RULE_INT_in_rule__Rule__RulenumberAssignment_0_08991 = new BitSet(new long[]{0x0000000000000002L}); 
    16242     public static final BitSet FOLLOW_RULE_ID_in_rule__Rule__RulevariantAssignment_0_19022 = new BitSet(new long[]{0x0000000000000002L}); 
    16243     public static final BitSet FOLLOW_RULE_ID_in_rule__Rule__NameAssignment_19053 = new BitSet(new long[]{0x0000000000000002L}); 
    16244     public static final BitSet FOLLOW_ruleDefinitionList_in_rule__Rule__DefinitionListAssignment_39084 = new BitSet(new long[]{0x0000000000000002L}); 
    16245     public static final BitSet FOLLOW_RULE_INT_in_rule__ExtRule__RulenumberAssignment_0_09115 = new BitSet(new long[]{0x0000000000000002L}); 
    16246     public static final BitSet FOLLOW_RULE_ID_in_rule__ExtRule__RulevariantAssignment_0_19146 = new BitSet(new long[]{0x0000000000000002L}); 
    16247     public static final BitSet FOLLOW_RULE_ID_in_rule__ExtRule__NameAssignment_19177 = new BitSet(new long[]{0x0000000000000002L}); 
    16248     public static final BitSet FOLLOW_RULE_INT_in_rule__ExtRule__RuleextAssignment_2_19208 = new BitSet(new long[]{0x0000000000000002L}); 
    16249     public static final BitSet FOLLOW_ruleAtom_in_rule__ExtRule__ElementsAssignment_4_09239 = new BitSet(new long[]{0x0000000000000002L}); 
    16250     public static final BitSet FOLLOW_RULE_LOGIC_in_rule__GlobalCombinator__LogicAssignment_19270 = new BitSet(new long[]{0x0000000000000002L}); 
    16251     public static final BitSet FOLLOW_RULE_ID_in_rule__RuleCombinator__NameAssignment_0_29301 = new BitSet(new long[]{0x0000000000000002L}); 
    16252     public static final BitSet FOLLOW_RULE_LOGIC_in_rule__RuleCombinator__LogicAssignment_19332 = new BitSet(new long[]{0x0000000000000002L}); 
    16253     public static final BitSet FOLLOW_RULE_STRING_in_rule__RuleCombinator__LABELAssignment_2_19363 = new BitSet(new long[]{0x0000000000000002L}); 
    16254     public static final BitSet FOLLOW_RULE_ID_in_rule__HookCombinator__NameAssignment_29394 = new BitSet(new long[]{0x0000000000000002L}); 
    16255     public static final BitSet FOLLOW_RULE_INT_in_rule__HookCombinator__RuleextAssignment_49425 = new BitSet(new long[]{0x0000000000000002L}); 
    16256     public static final BitSet FOLLOW_RULE_LOGIC_in_rule__HookCombinator__LogicAssignment_69456 = new BitSet(new long[]{0x0000000000000002L}); 
    16257     public static final BitSet FOLLOW_RULE_STRING_in_rule__HookCombinator__LABELAssignment_7_19487 = new BitSet(new long[]{0x0000000000000002L}); 
    16258     public static final BitSet FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_09518 = new BitSet(new long[]{0x0000000000000002L}); 
    16259     public static final BitSet FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_1_19549 = new BitSet(new long[]{0x0000000000000002L}); 
    16260     public static final BitSet FOLLOW_ruleTerm_in_rule__SingleDefinition__TermsAssignment9580 = new BitSet(new long[]{0x0000000000000002L}); 
    16261     public static final BitSet FOLLOW_ruleAtom_in_rule__Term__TermAtomAssignment_09611 = new BitSet(new long[]{0x0000000000000002L}); 
    16262     public static final BitSet FOLLOW_ruleGroupedSequence_in_rule__Term__TermGroupedSequenceAssignment_19642 = new BitSet(new long[]{0x0000000000000002L}); 
    16263     public static final BitSet FOLLOW_ruleOptionalSequence_in_rule__Term__TermOptionalSequenceAssignment_29673 = new BitSet(new long[]{0x0000000000000002L}); 
    16264     public static final BitSet FOLLOW_ruleRepeatedSequence_in_rule__Term__TermRepeatedSequenceAssignment_39704 = new BitSet(new long[]{0x0000000000000002L}); 
    16265     public static final BitSet FOLLOW_ruleStringRule_in_rule__Atom__AtomStringRuleAssignment_09735 = new BitSet(new long[]{0x0000000000000002L}); 
    16266     public static final BitSet FOLLOW_ruleRuleReference_in_rule__Atom__AtomRuleReferenceAssignment_19766 = new BitSet(new long[]{0x0000000000000002L}); 
    16267     public static final BitSet FOLLOW_RULE_ID_in_rule__RuleReference__RulerefAssignment9801 = new BitSet(new long[]{0x0000000000000002L}); 
    16268     public static final BitSet FOLLOW_RULE_STRING_in_rule__StringRule__LiteralAssignment_09836 = new BitSet(new long[]{0x0000000000000002L}); 
    16269     public static final BitSet FOLLOW_RULE_COLON_in_rule__StringRule__ColonAssignment_19867 = new BitSet(new long[]{0x0000000000000002L}); 
    16270     public static final BitSet FOLLOW_ruleDefinitionList_in_rule__GroupedSequence__DefinitionListAssignment_19898 = new BitSet(new long[]{0x0000000000000002L}); 
    16271     public static final BitSet FOLLOW_ruleDefinitionList_in_rule__OptionalSequence__DefinitionListAssignment_19929 = new BitSet(new long[]{0x0000000000000002L}); 
    16272     public static final BitSet FOLLOW_ruleDefinitionList_in_rule__RepeatedSequence__DefinitionsAssignment_19960 = new BitSet(new long[]{0x0000000000000002L}); 
    16273     public static final BitSet FOLLOW_21_in_rule__RepeatedSequence__MorethanonceAssignment_3_09996 = new BitSet(new long[]{0x0000000000000002L}); 
    16274     public static final BitSet FOLLOW_ruleRepeatRange_in_rule__RepeatedSequence__RangeAssignment_3_110035 = new BitSet(new long[]{0x0000000000000002L}); 
    16275     public static final BitSet FOLLOW_RULE_INT_in_rule__RepeatRange__FromAssignment_210066 = new BitSet(new long[]{0x0000000000000002L}); 
    16276     public static final BitSet FOLLOW_RULE_INT_in_rule__RepeatRange__ToAssignment_410097 = new BitSet(new long[]{0x0000000000000002L}); 
    16277     public static final BitSet FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_0_in_synpred28_InternalEbnf2274 = new BitSet(new long[]{0x0000000000000002L}); 
     16288    public static final BitSet FOLLOW_ruleComment_in_entryRuleComment451 = new BitSet(new long[]{0x0000000000000000L}); 
     16289    public static final BitSet FOLLOW_EOF_in_entryRuleComment458 = new BitSet(new long[]{0x0000000000000002L}); 
     16290    public static final BitSet FOLLOW_rule__Comment__Group__0_in_ruleComment484 = new BitSet(new long[]{0x0000000000000002L}); 
     16291    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport511 = new BitSet(new long[]{0x0000000000000000L}); 
     16292    public static final BitSet FOLLOW_EOF_in_entryRuleImport518 = new BitSet(new long[]{0x0000000000000002L}); 
     16293    public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport544 = new BitSet(new long[]{0x0000000000000002L}); 
     16294    public static final BitSet FOLLOW_ruleRule_in_entryRuleRule571 = new BitSet(new long[]{0x0000000000000000L}); 
     16295    public static final BitSet FOLLOW_EOF_in_entryRuleRule578 = new BitSet(new long[]{0x0000000000000002L}); 
     16296    public static final BitSet FOLLOW_rule__Rule__Group__0_in_ruleRule604 = new BitSet(new long[]{0x0000000000000002L}); 
     16297    public static final BitSet FOLLOW_ruleExtRule_in_entryRuleExtRule631 = new BitSet(new long[]{0x0000000000000000L}); 
     16298    public static final BitSet FOLLOW_EOF_in_entryRuleExtRule638 = new BitSet(new long[]{0x0000000000000002L}); 
     16299    public static final BitSet FOLLOW_rule__ExtRule__Group__0_in_ruleExtRule664 = new BitSet(new long[]{0x0000000000000002L}); 
     16300    public static final BitSet FOLLOW_ruleMergeRule_in_entryRuleMergeRule691 = new BitSet(new long[]{0x0000000000000000L}); 
     16301    public static final BitSet FOLLOW_EOF_in_entryRuleMergeRule698 = new BitSet(new long[]{0x0000000000000002L}); 
     16302    public static final BitSet FOLLOW_rule__MergeRule__Alternatives_in_ruleMergeRule724 = new BitSet(new long[]{0x0000000000000002L}); 
     16303    public static final BitSet FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator751 = new BitSet(new long[]{0x0000000000000000L}); 
     16304    public static final BitSet FOLLOW_EOF_in_entryRuleGlobalCombinator758 = new BitSet(new long[]{0x0000000000000002L}); 
     16305    public static final BitSet FOLLOW_rule__GlobalCombinator__Group__0_in_ruleGlobalCombinator784 = new BitSet(new long[]{0x0000000000000002L}); 
     16306    public static final BitSet FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator811 = new BitSet(new long[]{0x0000000000000000L}); 
     16307    public static final BitSet FOLLOW_EOF_in_entryRuleRuleCombinator818 = new BitSet(new long[]{0x0000000000000002L}); 
     16308    public static final BitSet FOLLOW_rule__RuleCombinator__Group__0_in_ruleRuleCombinator844 = new BitSet(new long[]{0x0000000000000002L}); 
     16309    public static final BitSet FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator871 = new BitSet(new long[]{0x0000000000000000L}); 
     16310    public static final BitSet FOLLOW_EOF_in_entryRuleHookCombinator878 = new BitSet(new long[]{0x0000000000000002L}); 
     16311    public static final BitSet FOLLOW_rule__HookCombinator__Group__0_in_ruleHookCombinator904 = new BitSet(new long[]{0x0000000000000002L}); 
     16312    public static final BitSet FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList931 = new BitSet(new long[]{0x0000000000000000L}); 
     16313    public static final BitSet FOLLOW_EOF_in_entryRuleDefinitionList938 = new BitSet(new long[]{0x0000000000000002L}); 
     16314    public static final BitSet FOLLOW_rule__DefinitionList__Group__0_in_ruleDefinitionList964 = new BitSet(new long[]{0x0000000000000002L}); 
     16315    public static final BitSet FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition991 = new BitSet(new long[]{0x0000000000000000L}); 
     16316    public static final BitSet FOLLOW_EOF_in_entryRuleSingleDefinition998 = new BitSet(new long[]{0x0000000000000002L}); 
     16317    public static final BitSet FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition1026 = new BitSet(new long[]{0x00000000000E0492L}); 
     16318    public static final BitSet FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition1038 = new BitSet(new long[]{0x00000000000E0492L}); 
     16319    public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm1068 = new BitSet(new long[]{0x0000000000000000L}); 
     16320    public static final BitSet FOLLOW_EOF_in_entryRuleTerm1075 = new BitSet(new long[]{0x0000000000000002L}); 
     16321    public static final BitSet FOLLOW_rule__Term__Alternatives_in_ruleTerm1101 = new BitSet(new long[]{0x0000000000000002L}); 
     16322    public static final BitSet FOLLOW_ruleAtom_in_entryRuleAtom1128 = new BitSet(new long[]{0x0000000000000000L}); 
     16323    public static final BitSet FOLLOW_EOF_in_entryRuleAtom1135 = new BitSet(new long[]{0x0000000000000002L}); 
     16324    public static final BitSet FOLLOW_rule__Atom__Alternatives_in_ruleAtom1161 = new BitSet(new long[]{0x0000000000000002L}); 
     16325    public static final BitSet FOLLOW_ruleRuleReference_in_entryRuleRuleReference1188 = new BitSet(new long[]{0x0000000000000000L}); 
     16326    public static final BitSet FOLLOW_EOF_in_entryRuleRuleReference1195 = new BitSet(new long[]{0x0000000000000002L}); 
     16327    public static final BitSet FOLLOW_rule__RuleReference__RulerefAssignment_in_ruleRuleReference1221 = new BitSet(new long[]{0x0000000000000002L}); 
     16328    public static final BitSet FOLLOW_ruleStringRule_in_entryRuleStringRule1248 = new BitSet(new long[]{0x0000000000000000L}); 
     16329    public static final BitSet FOLLOW_EOF_in_entryRuleStringRule1255 = new BitSet(new long[]{0x0000000000000002L}); 
     16330    public static final BitSet FOLLOW_rule__StringRule__Alternatives_in_ruleStringRule1281 = new BitSet(new long[]{0x0000000000000002L}); 
     16331    public static final BitSet FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence1308 = new BitSet(new long[]{0x0000000000000000L}); 
     16332    public static final BitSet FOLLOW_EOF_in_entryRuleGroupedSequence1315 = new BitSet(new long[]{0x0000000000000002L}); 
     16333    public static final BitSet FOLLOW_rule__GroupedSequence__Group__0_in_ruleGroupedSequence1341 = new BitSet(new long[]{0x0000000000000002L}); 
     16334    public static final BitSet FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence1368 = new BitSet(new long[]{0x0000000000000000L}); 
     16335    public static final BitSet FOLLOW_EOF_in_entryRuleOptionalSequence1375 = new BitSet(new long[]{0x0000000000000002L}); 
     16336    public static final BitSet FOLLOW_rule__OptionalSequence__Group__0_in_ruleOptionalSequence1401 = new BitSet(new long[]{0x0000000000000002L}); 
     16337    public static final BitSet FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence1428 = new BitSet(new long[]{0x0000000000000000L}); 
     16338    public static final BitSet FOLLOW_EOF_in_entryRuleRepeatedSequence1435 = new BitSet(new long[]{0x0000000000000002L}); 
     16339    public static final BitSet FOLLOW_rule__RepeatedSequence__Group__0_in_ruleRepeatedSequence1461 = new BitSet(new long[]{0x0000000000000002L}); 
     16340    public static final BitSet FOLLOW_ruleRepeatRange_in_entryRuleRepeatRange1488 = new BitSet(new long[]{0x0000000000000000L}); 
     16341    public static final BitSet FOLLOW_EOF_in_entryRuleRepeatRange1495 = new BitSet(new long[]{0x0000000000000002L}); 
     16342    public static final BitSet FOLLOW_rule__RepeatRange__Group__0_in_ruleRepeatRange1521 = new BitSet(new long[]{0x0000000000000002L}); 
     16343    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__0_in_rule__EtsiBnf__Alternatives1557 = new BitSet(new long[]{0x0000000000000002L}); 
     16344    public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__0_in_rule__EtsiBnf__Alternatives1575 = new BitSet(new long[]{0x0000000000000002L}); 
     16345    public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__0_in_rule__EtsiBnf__Alternatives1593 = new BitSet(new long[]{0x0000000000000002L}); 
     16346    public static final BitSet FOLLOW_rule__BnfEntry__SectionheaderAssignment_0_in_rule__BnfEntry__Alternatives1626 = new BitSet(new long[]{0x0000000000000002L}); 
     16347    public static final BitSet FOLLOW_rule__BnfEntry__RuleAssignment_1_in_rule__BnfEntry__Alternatives1644 = new BitSet(new long[]{0x0000000000000002L}); 
     16348    public static final BitSet FOLLOW_rule__BnfEntry__CommentAssignment_2_in_rule__BnfEntry__Alternatives1662 = new BitSet(new long[]{0x0000000000000002L}); 
     16349    public static final BitSet FOLLOW_rule__DeltaEntry__RuleAssignment_0_in_rule__DeltaEntry__Alternatives1695 = new BitSet(new long[]{0x0000000000000002L}); 
     16350    public static final BitSet FOLLOW_rule__DeltaEntry__SectionheaderAssignment_1_in_rule__DeltaEntry__Alternatives1713 = new BitSet(new long[]{0x0000000000000002L}); 
     16351    public static final BitSet FOLLOW_rule__DeltaEntry__ExtRuleAssignment_2_in_rule__DeltaEntry__Alternatives1731 = new BitSet(new long[]{0x0000000000000002L}); 
     16352    public static final BitSet FOLLOW_rule__MergeEntry__SectionheaderAssignment_0_in_rule__MergeEntry__Alternatives1764 = new BitSet(new long[]{0x0000000000000002L}); 
     16353    public static final BitSet FOLLOW_rule__MergeEntry__MergeRuleAssignment_1_in_rule__MergeEntry__Alternatives1782 = new BitSet(new long[]{0x0000000000000002L}); 
     16354    public static final BitSet FOLLOW_rule__Import__GrammarTypeAssignment_2_1_0_in_rule__Import__Alternatives_2_11815 = new BitSet(new long[]{0x0000000000000002L}); 
     16355    public static final BitSet FOLLOW_rule__Import__GrammarTypeAssignment_2_1_1_in_rule__Import__Alternatives_2_11833 = new BitSet(new long[]{0x0000000000000002L}); 
     16356    public static final BitSet FOLLOW_rule__Import__GrammarTypeAssignment_2_1_2_in_rule__Import__Alternatives_2_11851 = new BitSet(new long[]{0x0000000000000002L}); 
     16357    public static final BitSet FOLLOW_rule__ExtRule__ElementsAssignment_4_0_in_rule__ExtRule__Alternatives_41884 = new BitSet(new long[]{0x0000000000000002L}); 
     16358    public static final BitSet FOLLOW_13_in_rule__ExtRule__Alternatives_41903 = new BitSet(new long[]{0x0000000000000002L}); 
     16359    public static final BitSet FOLLOW_14_in_rule__ExtRule__Alternatives_41923 = new BitSet(new long[]{0x0000000000000002L}); 
     16360    public static final BitSet FOLLOW_15_in_rule__ExtRule__Alternatives_41943 = new BitSet(new long[]{0x0000000000000002L}); 
     16361    public static final BitSet FOLLOW_16_in_rule__ExtRule__Alternatives_41963 = new BitSet(new long[]{0x0000000000000002L}); 
     16362    public static final BitSet FOLLOW_17_in_rule__ExtRule__Alternatives_41983 = new BitSet(new long[]{0x0000000000000002L}); 
     16363    public static final BitSet FOLLOW_18_in_rule__ExtRule__Alternatives_42003 = new BitSet(new long[]{0x0000000000000002L}); 
     16364    public static final BitSet FOLLOW_19_in_rule__ExtRule__Alternatives_42023 = new BitSet(new long[]{0x0000000000000002L}); 
     16365    public static final BitSet FOLLOW_20_in_rule__ExtRule__Alternatives_42043 = new BitSet(new long[]{0x0000000000000002L}); 
     16366    public static final BitSet FOLLOW_21_in_rule__ExtRule__Alternatives_42063 = new BitSet(new long[]{0x0000000000000002L}); 
     16367    public static final BitSet FOLLOW_ruleGlobalCombinator_in_rule__MergeRule__Alternatives2097 = new BitSet(new long[]{0x0000000000000002L}); 
     16368    public static final BitSet FOLLOW_ruleRuleCombinator_in_rule__MergeRule__Alternatives2114 = new BitSet(new long[]{0x0000000000000002L}); 
     16369    public static final BitSet FOLLOW_ruleHookCombinator_in_rule__MergeRule__Alternatives2131 = new BitSet(new long[]{0x0000000000000002L}); 
     16370    public static final BitSet FOLLOW_rule__Term__TermAtomAssignment_0_in_rule__Term__Alternatives2163 = new BitSet(new long[]{0x0000000000000002L}); 
     16371    public static final BitSet FOLLOW_rule__Term__TermGroupedSequenceAssignment_1_in_rule__Term__Alternatives2181 = new BitSet(new long[]{0x0000000000000002L}); 
     16372    public static final BitSet FOLLOW_rule__Term__TermOptionalSequenceAssignment_2_in_rule__Term__Alternatives2199 = new BitSet(new long[]{0x0000000000000002L}); 
     16373    public static final BitSet FOLLOW_rule__Term__TermRepeatedSequenceAssignment_3_in_rule__Term__Alternatives2217 = new BitSet(new long[]{0x0000000000000002L}); 
     16374    public static final BitSet FOLLOW_rule__Atom__AtomStringRuleAssignment_0_in_rule__Atom__Alternatives2250 = new BitSet(new long[]{0x0000000000000002L}); 
     16375    public static final BitSet FOLLOW_rule__Atom__AtomRuleReferenceAssignment_1_in_rule__Atom__Alternatives2268 = new BitSet(new long[]{0x0000000000000002L}); 
     16376    public static final BitSet FOLLOW_rule__StringRule__LiteralAssignment_0_in_rule__StringRule__Alternatives2301 = new BitSet(new long[]{0x0000000000000002L}); 
     16377    public static final BitSet FOLLOW_rule__StringRule__ColonAssignment_1_in_rule__StringRule__Alternatives2319 = new BitSet(new long[]{0x0000000000000002L}); 
     16378    public static final BitSet FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_0_in_rule__RepeatedSequence__Alternatives_32352 = new BitSet(new long[]{0x0000000000000002L}); 
     16379    public static final BitSet FOLLOW_rule__RepeatedSequence__RangeAssignment_3_1_in_rule__RepeatedSequence__Alternatives_32371 = new BitSet(new long[]{0x0000000000000002L}); 
     16380    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__0__Impl_in_rule__EtsiBnf__Group_0__02403 = new BitSet(new long[]{0x0000000000000010L}); 
     16381    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__1_in_rule__EtsiBnf__Group_0__02406 = new BitSet(new long[]{0x0000000000000002L}); 
     16382    public static final BitSet FOLLOW_22_in_rule__EtsiBnf__Group_0__0__Impl2434 = new BitSet(new long[]{0x0000000000000002L}); 
     16383    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__1__Impl_in_rule__EtsiBnf__Group_0__12465 = new BitSet(new long[]{0x0000001000800000L}); 
     16384    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__2_in_rule__EtsiBnf__Group_0__12468 = new BitSet(new long[]{0x0000000000000002L}); 
     16385    public static final BitSet FOLLOW_rule__EtsiBnf__NameAssignment_0_1_in_rule__EtsiBnf__Group_0__1__Impl2495 = new BitSet(new long[]{0x0000000000000002L}); 
     16386    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__2__Impl_in_rule__EtsiBnf__Group_0__22525 = new BitSet(new long[]{0x0000000000000002L}); 
     16387    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__0_in_rule__EtsiBnf__Group_0__2__Impl2552 = new BitSet(new long[]{0x0000000000000002L}); 
     16388    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__0__Impl_in_rule__EtsiBnf__Group_0_2__02588 = new BitSet(new long[]{0x0000001000800000L}); 
     16389    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__1_in_rule__EtsiBnf__Group_0_2__02591 = new BitSet(new long[]{0x0000000000000002L}); 
     16390    public static final BitSet FOLLOW_rule__EtsiBnf__TypeAssignment_0_2_0_in_rule__EtsiBnf__Group_0_2__0__Impl2618 = new BitSet(new long[]{0x0000000000000002L}); 
     16391    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__1__Impl_in_rule__EtsiBnf__Group_0_2__12649 = new BitSet(new long[]{0x0000000001000170L}); 
     16392    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__2_in_rule__EtsiBnf__Group_0_2__12652 = new BitSet(new long[]{0x0000000000000002L}); 
     16393    public static final BitSet FOLLOW_23_in_rule__EtsiBnf__Group_0_2__1__Impl2680 = new BitSet(new long[]{0x0000000000000002L}); 
     16394    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__2__Impl_in_rule__EtsiBnf__Group_0_2__22711 = new BitSet(new long[]{0x0000000001000170L}); 
     16395    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__3_in_rule__EtsiBnf__Group_0_2__22714 = new BitSet(new long[]{0x0000000000000002L}); 
     16396    public static final BitSet FOLLOW_rule__EtsiBnf__ImportSectionAssignment_0_2_2_in_rule__EtsiBnf__Group_0_2__2__Impl2741 = new BitSet(new long[]{0x0000000000000002L}); 
     16397    public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__3__Impl_in_rule__EtsiBnf__Group_0_2__32772 = new BitSet(new long[]{0x0000000000000002L}); 
     16398    public static final BitSet FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2801 = new BitSet(new long[]{0x0000000001000172L}); 
     16399    public static final BitSet FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2813 = new BitSet(new long[]{0x0000000001000172L}); 
     16400    public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__0__Impl_in_rule__EtsiBnf__Group_1__02854 = new BitSet(new long[]{0x0000000000800000L}); 
     16401    public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__1_in_rule__EtsiBnf__Group_1__02857 = new BitSet(new long[]{0x0000000000000002L}); 
     16402    public static final BitSet FOLLOW_rule__EtsiBnf__TypeAssignment_1_0_in_rule__EtsiBnf__Group_1__0__Impl2884 = new BitSet(new long[]{0x0000000000000002L}); 
     16403    public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__1__Impl_in_rule__EtsiBnf__Group_1__12914 = new BitSet(new long[]{0x0000000001000130L}); 
     16404    public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__2_in_rule__EtsiBnf__Group_1__12917 = new BitSet(new long[]{0x0000000000000002L}); 
     16405    public static final BitSet FOLLOW_23_in_rule__EtsiBnf__Group_1__1__Impl2945 = new BitSet(new long[]{0x0000000000000002L}); 
     16406    public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__2__Impl_in_rule__EtsiBnf__Group_1__22976 = new BitSet(new long[]{0x0000000001000130L}); 
     16407    public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__3_in_rule__EtsiBnf__Group_1__22979 = new BitSet(new long[]{0x0000000000000002L}); 
     16408    public static final BitSet FOLLOW_rule__EtsiBnf__ImportSectionAssignment_1_2_in_rule__EtsiBnf__Group_1__2__Impl3006 = new BitSet(new long[]{0x0000000000000002L}); 
     16409    public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__3__Impl_in_rule__EtsiBnf__Group_1__33037 = new BitSet(new long[]{0x0000000000000002L}); 
     16410    public static final BitSet FOLLOW_rule__EtsiBnf__DeltaEntryAssignment_1_3_in_rule__EtsiBnf__Group_1__3__Impl3064 = new BitSet(new long[]{0x0000000000000132L}); 
     16411    public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__0__Impl_in_rule__EtsiBnf__Group_2__03103 = new BitSet(new long[]{0x0000000000800000L}); 
     16412    public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__1_in_rule__EtsiBnf__Group_2__03106 = new BitSet(new long[]{0x0000000000000002L}); 
     16413    public static final BitSet FOLLOW_rule__EtsiBnf__TypeAssignment_2_0_in_rule__EtsiBnf__Group_2__0__Impl3133 = new BitSet(new long[]{0x0000000000000002L}); 
     16414    public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__1__Impl_in_rule__EtsiBnf__Group_2__13163 = new BitSet(new long[]{0x0000000341000020L}); 
     16415    public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__2_in_rule__EtsiBnf__Group_2__13166 = new BitSet(new long[]{0x0000000000000002L}); 
     16416    public static final BitSet FOLLOW_23_in_rule__EtsiBnf__Group_2__1__Impl3194 = new BitSet(new long[]{0x0000000000000002L}); 
     16417    public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__2__Impl_in_rule__EtsiBnf__Group_2__23225 = new BitSet(new long[]{0x0000000341000020L}); 
     16418    public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__3_in_rule__EtsiBnf__Group_2__23228 = new BitSet(new long[]{0x0000000000000002L}); 
     16419    public static final BitSet FOLLOW_rule__EtsiBnf__ImportSectionAssignment_2_2_in_rule__EtsiBnf__Group_2__2__Impl3255 = new BitSet(new long[]{0x0000000000000002L}); 
     16420    public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__3__Impl_in_rule__EtsiBnf__Group_2__33286 = new BitSet(new long[]{0x0000000000000002L}); 
     16421    public static final BitSet FOLLOW_rule__EtsiBnf__MergeEntryAssignment_2_3_in_rule__EtsiBnf__Group_2__3__Impl3313 = new BitSet(new long[]{0x0000000340000022L}); 
     16422    public static final BitSet FOLLOW_rule__SectionHeading__Group__0__Impl_in_rule__SectionHeading__Group__03352 = new BitSet(new long[]{0x0000000000000020L}); 
     16423    public static final BitSet FOLLOW_rule__SectionHeading__Group__1_in_rule__SectionHeading__Group__03355 = new BitSet(new long[]{0x0000000000000002L}); 
     16424    public static final BitSet FOLLOW_rule__SectionHeading__Group__1__Impl_in_rule__SectionHeading__Group__13413 = new BitSet(new long[]{0x0000000000000002L}); 
     16425    public static final BitSet FOLLOW_rule__SectionHeading__SectionHeaderAssignment_1_in_rule__SectionHeading__Group__1__Impl3440 = new BitSet(new long[]{0x0000000000000002L}); 
     16426    public static final BitSet FOLLOW_rule__Comment__Group__0__Impl_in_rule__Comment__Group__03474 = new BitSet(new long[]{0x0000000001000170L}); 
     16427    public static final BitSet FOLLOW_rule__Comment__Group__1_in_rule__Comment__Group__03477 = new BitSet(new long[]{0x0000000000000002L}); 
     16428    public static final BitSet FOLLOW_rule__Comment__Group__1__Impl_in_rule__Comment__Group__13535 = new BitSet(new long[]{0x0000000000000002L}); 
     16429    public static final BitSet FOLLOW_rule__Comment__ContentAssignment_1_in_rule__Comment__Group__1__Impl3562 = new BitSet(new long[]{0x0000000000000002L}); 
     16430    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__03596 = new BitSet(new long[]{0x0000000000000080L}); 
     16431    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__03599 = new BitSet(new long[]{0x0000000000000002L}); 
     16432    public static final BitSet FOLLOW_24_in_rule__Import__Group__0__Impl3627 = new BitSet(new long[]{0x0000000000000002L}); 
     16433    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__13658 = new BitSet(new long[]{0x0000000006800000L}); 
     16434    public static final BitSet FOLLOW_rule__Import__Group__2_in_rule__Import__Group__13661 = new BitSet(new long[]{0x0000000000000002L}); 
     16435    public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_1_in_rule__Import__Group__1__Impl3688 = new BitSet(new long[]{0x0000000000000002L}); 
     16436    public static final BitSet FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__23718 = new BitSet(new long[]{0x0000000006800000L}); 
     16437    public static final BitSet FOLLOW_rule__Import__Group__3_in_rule__Import__Group__23721 = new BitSet(new long[]{0x0000000000000002L}); 
     16438    public static final BitSet FOLLOW_rule__Import__Group_2__0_in_rule__Import__Group__2__Impl3748 = new BitSet(new long[]{0x0000000000000002L}); 
     16439    public static final BitSet FOLLOW_rule__Import__Group__3__Impl_in_rule__Import__Group__33779 = new BitSet(new long[]{0x0000000006800000L}); 
     16440    public static final BitSet FOLLOW_rule__Import__Group__4_in_rule__Import__Group__33782 = new BitSet(new long[]{0x0000000000000002L}); 
     16441    public static final BitSet FOLLOW_rule__Import__Group_3__0_in_rule__Import__Group__3__Impl3809 = new BitSet(new long[]{0x0000000000000002L}); 
     16442    public static final BitSet FOLLOW_rule__Import__Group__4__Impl_in_rule__Import__Group__43840 = new BitSet(new long[]{0x0000000000000002L}); 
     16443    public static final BitSet FOLLOW_23_in_rule__Import__Group__4__Impl3868 = new BitSet(new long[]{0x0000000000000002L}); 
     16444    public static final BitSet FOLLOW_rule__Import__Group_2__0__Impl_in_rule__Import__Group_2__03909 = new BitSet(new long[]{0x0000038000000000L}); 
     16445    public static final BitSet FOLLOW_rule__Import__Group_2__1_in_rule__Import__Group_2__03912 = new BitSet(new long[]{0x0000000000000002L}); 
     16446    public static final BitSet FOLLOW_25_in_rule__Import__Group_2__0__Impl3940 = new BitSet(new long[]{0x0000000000000002L}); 
     16447    public static final BitSet FOLLOW_rule__Import__Group_2__1__Impl_in_rule__Import__Group_2__13971 = new BitSet(new long[]{0x0000000000000002L}); 
     16448    public static final BitSet FOLLOW_rule__Import__Alternatives_2_1_in_rule__Import__Group_2__1__Impl3998 = new BitSet(new long[]{0x0000000000000002L}); 
     16449    public static final BitSet FOLLOW_rule__Import__Group_3__0__Impl_in_rule__Import__Group_3__04032 = new BitSet(new long[]{0x0000000000000010L}); 
     16450    public static final BitSet FOLLOW_rule__Import__Group_3__1_in_rule__Import__Group_3__04035 = new BitSet(new long[]{0x0000000000000002L}); 
     16451    public static final BitSet FOLLOW_26_in_rule__Import__Group_3__0__Impl4063 = new BitSet(new long[]{0x0000000000000002L}); 
     16452    public static final BitSet FOLLOW_rule__Import__Group_3__1__Impl_in_rule__Import__Group_3__14094 = new BitSet(new long[]{0x0000000000000002L}); 
     16453    public static final BitSet FOLLOW_rule__Import__LabelAssignment_3_1_in_rule__Import__Group_3__1__Impl4121 = new BitSet(new long[]{0x0000000000000002L}); 
     16454    public static final BitSet FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__04155 = new BitSet(new long[]{0x0000000000000110L}); 
     16455    public static final BitSet FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__04158 = new BitSet(new long[]{0x0000000000000002L}); 
     16456    public static final BitSet FOLLOW_rule__Rule__Group_0__0_in_rule__Rule__Group__0__Impl4185 = new BitSet(new long[]{0x0000000000000002L}); 
     16457    public static final BitSet FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__14216 = new BitSet(new long[]{0x0000000008000000L}); 
     16458    public static final BitSet FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__14219 = new BitSet(new long[]{0x0000000000000002L}); 
     16459    public static final BitSet FOLLOW_rule__Rule__NameAssignment_1_in_rule__Rule__Group__1__Impl4246 = new BitSet(new long[]{0x0000000000000002L}); 
     16460    public static final BitSet FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__24276 = new BitSet(new long[]{0x00000000008E0490L}); 
     16461    public static final BitSet FOLLOW_rule__Rule__Group__3_in_rule__Rule__Group__24279 = new BitSet(new long[]{0x0000000000000002L}); 
     16462    public static final BitSet FOLLOW_27_in_rule__Rule__Group__2__Impl4307 = new BitSet(new long[]{0x0000000000000002L}); 
     16463    public static final BitSet FOLLOW_rule__Rule__Group__3__Impl_in_rule__Rule__Group__34338 = new BitSet(new long[]{0x00000000008E0490L}); 
     16464    public static final BitSet FOLLOW_rule__Rule__Group__4_in_rule__Rule__Group__34341 = new BitSet(new long[]{0x0000000000000002L}); 
     16465    public static final BitSet FOLLOW_rule__Rule__DefinitionListAssignment_3_in_rule__Rule__Group__3__Impl4368 = new BitSet(new long[]{0x0000000000000002L}); 
     16466    public static final BitSet FOLLOW_rule__Rule__Group__4__Impl_in_rule__Rule__Group__44399 = new BitSet(new long[]{0x0000000000000002L}); 
     16467    public static final BitSet FOLLOW_23_in_rule__Rule__Group__4__Impl4428 = new BitSet(new long[]{0x0000000000000002L}); 
     16468    public static final BitSet FOLLOW_rule__Rule__Group_0__0__Impl_in_rule__Rule__Group_0__04471 = new BitSet(new long[]{0x0000000010000010L}); 
     16469    public static final BitSet FOLLOW_rule__Rule__Group_0__1_in_rule__Rule__Group_0__04474 = new BitSet(new long[]{0x0000000000000002L}); 
     16470    public static final BitSet FOLLOW_rule__Rule__RulenumberAssignment_0_0_in_rule__Rule__Group_0__0__Impl4501 = new BitSet(new long[]{0x0000000000000002L}); 
     16471    public static final BitSet FOLLOW_rule__Rule__Group_0__1__Impl_in_rule__Rule__Group_0__14531 = new BitSet(new long[]{0x0000000010000010L}); 
     16472    public static final BitSet FOLLOW_rule__Rule__Group_0__2_in_rule__Rule__Group_0__14534 = new BitSet(new long[]{0x0000000000000002L}); 
     16473    public static final BitSet FOLLOW_rule__Rule__RulevariantAssignment_0_1_in_rule__Rule__Group_0__1__Impl4561 = new BitSet(new long[]{0x0000000000000002L}); 
     16474    public static final BitSet FOLLOW_rule__Rule__Group_0__2__Impl_in_rule__Rule__Group_0__24592 = new BitSet(new long[]{0x0000000000000002L}); 
     16475    public static final BitSet FOLLOW_28_in_rule__Rule__Group_0__2__Impl4620 = new BitSet(new long[]{0x0000000000000002L}); 
     16476    public static final BitSet FOLLOW_rule__ExtRule__Group__0__Impl_in_rule__ExtRule__Group__04657 = new BitSet(new long[]{0x0000000000000130L}); 
     16477    public static final BitSet FOLLOW_rule__ExtRule__Group__1_in_rule__ExtRule__Group__04660 = new BitSet(new long[]{0x0000000000000002L}); 
     16478    public static final BitSet FOLLOW_rule__ExtRule__Group_0__0_in_rule__ExtRule__Group__0__Impl4687 = new BitSet(new long[]{0x0000000000000002L}); 
     16479    public static final BitSet FOLLOW_rule__ExtRule__Group__1__Impl_in_rule__ExtRule__Group__14718 = new BitSet(new long[]{0x0000000000020000L}); 
     16480    public static final BitSet FOLLOW_rule__ExtRule__Group__2_in_rule__ExtRule__Group__14721 = new BitSet(new long[]{0x0000000000000002L}); 
     16481    public static final BitSet FOLLOW_rule__ExtRule__NameAssignment_1_in_rule__ExtRule__Group__1__Impl4748 = new BitSet(new long[]{0x0000000000000002L}); 
     16482    public static final BitSet FOLLOW_rule__ExtRule__Group__2__Impl_in_rule__ExtRule__Group__24778 = new BitSet(new long[]{0x0000000020000000L}); 
     16483    public static final BitSet FOLLOW_rule__ExtRule__Group__3_in_rule__ExtRule__Group__24781 = new BitSet(new long[]{0x0000000000000002L}); 
     16484    public static final BitSet FOLLOW_rule__ExtRule__Group_2__0_in_rule__ExtRule__Group__2__Impl4808 = new BitSet(new long[]{0x0000000000000002L}); 
     16485    public static final BitSet FOLLOW_rule__ExtRule__Group__3__Impl_in_rule__ExtRule__Group__34838 = new BitSet(new long[]{0x0000000000BFE490L}); 
     16486    public static final BitSet FOLLOW_rule__ExtRule__Group__4_in_rule__ExtRule__Group__34841 = new BitSet(new long[]{0x0000000000000002L}); 
     16487    public static final BitSet FOLLOW_29_in_rule__ExtRule__Group__3__Impl4869 = new BitSet(new long[]{0x0000000000000002L}); 
     16488    public static final BitSet FOLLOW_rule__ExtRule__Group__4__Impl_in_rule__ExtRule__Group__44900 = new BitSet(new long[]{0x0000000000BFE490L}); 
     16489    public static final BitSet FOLLOW_rule__ExtRule__Group__5_in_rule__ExtRule__Group__44903 = new BitSet(new long[]{0x0000000000000002L}); 
     16490    public static final BitSet FOLLOW_rule__ExtRule__Alternatives_4_in_rule__ExtRule__Group__4__Impl4930 = new BitSet(new long[]{0x00000000003FE492L}); 
     16491    public static final BitSet FOLLOW_rule__ExtRule__Group__5__Impl_in_rule__ExtRule__Group__54961 = new BitSet(new long[]{0x0000000000000002L}); 
     16492    public static final BitSet FOLLOW_23_in_rule__ExtRule__Group__5__Impl4990 = new BitSet(new long[]{0x0000000000000002L}); 
     16493    public static final BitSet FOLLOW_rule__ExtRule__Group_0__0__Impl_in_rule__ExtRule__Group_0__05035 = new BitSet(new long[]{0x0000000010000010L}); 
     16494    public static final BitSet FOLLOW_rule__ExtRule__Group_0__1_in_rule__ExtRule__Group_0__05038 = new BitSet(new long[]{0x0000000000000002L}); 
     16495    public static final BitSet FOLLOW_rule__ExtRule__RulenumberAssignment_0_0_in_rule__ExtRule__Group_0__0__Impl5065 = new BitSet(new long[]{0x0000000000000002L}); 
     16496    public static final BitSet FOLLOW_rule__ExtRule__Group_0__1__Impl_in_rule__ExtRule__Group_0__15095 = new BitSet(new long[]{0x0000000010000010L}); 
     16497    public static final BitSet FOLLOW_rule__ExtRule__Group_0__2_in_rule__ExtRule__Group_0__15098 = new BitSet(new long[]{0x0000000000000002L}); 
     16498    public static final BitSet FOLLOW_rule__ExtRule__RulevariantAssignment_0_1_in_rule__ExtRule__Group_0__1__Impl5125 = new BitSet(new long[]{0x0000000000000002L}); 
     16499    public static final BitSet FOLLOW_rule__ExtRule__Group_0__2__Impl_in_rule__ExtRule__Group_0__25156 = new BitSet(new long[]{0x0000000000000002L}); 
     16500    public static final BitSet FOLLOW_28_in_rule__ExtRule__Group_0__2__Impl5184 = new BitSet(new long[]{0x0000000000000002L}); 
     16501    public static final BitSet FOLLOW_rule__ExtRule__Group_2__0__Impl_in_rule__ExtRule__Group_2__05221 = new BitSet(new long[]{0x0000000000000100L}); 
     16502    public static final BitSet FOLLOW_rule__ExtRule__Group_2__1_in_rule__ExtRule__Group_2__05224 = new BitSet(new long[]{0x0000000000000002L}); 
     16503    public static final BitSet FOLLOW_17_in_rule__ExtRule__Group_2__0__Impl5252 = new BitSet(new long[]{0x0000000000000002L}); 
     16504    public static final BitSet FOLLOW_rule__ExtRule__Group_2__1__Impl_in_rule__ExtRule__Group_2__15283 = new BitSet(new long[]{0x0000000000002000L}); 
     16505    public static final BitSet FOLLOW_rule__ExtRule__Group_2__2_in_rule__ExtRule__Group_2__15286 = new BitSet(new long[]{0x0000000000000002L}); 
     16506    public static final BitSet FOLLOW_rule__ExtRule__RuleextAssignment_2_1_in_rule__ExtRule__Group_2__1__Impl5313 = new BitSet(new long[]{0x0000000000000002L}); 
     16507    public static final BitSet FOLLOW_rule__ExtRule__Group_2__2__Impl_in_rule__ExtRule__Group_2__25343 = new BitSet(new long[]{0x0000000000000002L}); 
     16508    public static final BitSet FOLLOW_13_in_rule__ExtRule__Group_2__2__Impl5371 = new BitSet(new long[]{0x0000000000000002L}); 
     16509    public static final BitSet FOLLOW_rule__GlobalCombinator__Group__0__Impl_in_rule__GlobalCombinator__Group__05408 = new BitSet(new long[]{0x0000000000000200L}); 
     16510    public static final BitSet FOLLOW_rule__GlobalCombinator__Group__1_in_rule__GlobalCombinator__Group__05411 = new BitSet(new long[]{0x0000000000000002L}); 
     16511    public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__0_in_rule__GlobalCombinator__Group__0__Impl5438 = new BitSet(new long[]{0x0000000000000002L}); 
     16512    public static final BitSet FOLLOW_rule__GlobalCombinator__Group__1__Impl_in_rule__GlobalCombinator__Group__15468 = new BitSet(new long[]{0x0000000000800000L}); 
     16513    public static final BitSet FOLLOW_rule__GlobalCombinator__Group__2_in_rule__GlobalCombinator__Group__15471 = new BitSet(new long[]{0x0000000000000002L}); 
     16514    public static final BitSet FOLLOW_rule__GlobalCombinator__LogicAssignment_1_in_rule__GlobalCombinator__Group__1__Impl5498 = new BitSet(new long[]{0x0000000000000002L}); 
     16515    public static final BitSet FOLLOW_rule__GlobalCombinator__Group__2__Impl_in_rule__GlobalCombinator__Group__25528 = new BitSet(new long[]{0x0000000000000002L}); 
     16516    public static final BitSet FOLLOW_23_in_rule__GlobalCombinator__Group__2__Impl5557 = new BitSet(new long[]{0x0000000000000002L}); 
     16517    public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__0__Impl_in_rule__GlobalCombinator__Group_0__05596 = new BitSet(new long[]{0x0000000080000000L}); 
     16518    public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__1_in_rule__GlobalCombinator__Group_0__05599 = new BitSet(new long[]{0x0000000000000002L}); 
     16519    public static final BitSet FOLLOW_30_in_rule__GlobalCombinator__Group_0__0__Impl5627 = new BitSet(new long[]{0x0000000000000002L}); 
     16520    public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__1__Impl_in_rule__GlobalCombinator__Group_0__15658 = new BitSet(new long[]{0x0000000000000002L}); 
     16521    public static final BitSet FOLLOW_31_in_rule__GlobalCombinator__Group_0__1__Impl5686 = new BitSet(new long[]{0x0000000000000002L}); 
     16522    public static final BitSet FOLLOW_rule__RuleCombinator__Group__0__Impl_in_rule__RuleCombinator__Group__05721 = new BitSet(new long[]{0x0000000000000200L}); 
     16523    public static final BitSet FOLLOW_rule__RuleCombinator__Group__1_in_rule__RuleCombinator__Group__05724 = new BitSet(new long[]{0x0000000000000002L}); 
     16524    public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__0_in_rule__RuleCombinator__Group__0__Impl5751 = new BitSet(new long[]{0x0000000000000002L}); 
     16525    public static final BitSet FOLLOW_rule__RuleCombinator__Group__1__Impl_in_rule__RuleCombinator__Group__15781 = new BitSet(new long[]{0x0000000000820000L}); 
     16526    public static final BitSet FOLLOW_rule__RuleCombinator__Group__2_in_rule__RuleCombinator__Group__15784 = new BitSet(new long[]{0x0000000000000002L}); 
     16527    public static final BitSet FOLLOW_rule__RuleCombinator__LogicAssignment_1_in_rule__RuleCombinator__Group__1__Impl5811 = new BitSet(new long[]{0x0000000000000002L}); 
     16528    public static final BitSet FOLLOW_rule__RuleCombinator__Group__2__Impl_in_rule__RuleCombinator__Group__25841 = new BitSet(new long[]{0x0000000000820000L}); 
     16529    public static final BitSet FOLLOW_rule__RuleCombinator__Group__3_in_rule__RuleCombinator__Group__25844 = new BitSet(new long[]{0x0000000000000002L}); 
     16530    public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__0_in_rule__RuleCombinator__Group__2__Impl5871 = new BitSet(new long[]{0x0000000000020002L}); 
     16531    public static final BitSet FOLLOW_rule__RuleCombinator__Group__3__Impl_in_rule__RuleCombinator__Group__35902 = new BitSet(new long[]{0x0000000000000002L}); 
     16532    public static final BitSet FOLLOW_23_in_rule__RuleCombinator__Group__3__Impl5931 = new BitSet(new long[]{0x0000000000000002L}); 
     16533    public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__0__Impl_in_rule__RuleCombinator__Group_0__05972 = new BitSet(new long[]{0x0000000080000000L}); 
     16534    public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__1_in_rule__RuleCombinator__Group_0__05975 = new BitSet(new long[]{0x0000000000000002L}); 
     16535    public static final BitSet FOLLOW_32_in_rule__RuleCombinator__Group_0__0__Impl6003 = new BitSet(new long[]{0x0000000000000002L}); 
     16536    public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__1__Impl_in_rule__RuleCombinator__Group_0__16034 = new BitSet(new long[]{0x0000000000000010L}); 
     16537    public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__2_in_rule__RuleCombinator__Group_0__16037 = new BitSet(new long[]{0x0000000000000002L}); 
     16538    public static final BitSet FOLLOW_31_in_rule__RuleCombinator__Group_0__1__Impl6065 = new BitSet(new long[]{0x0000000000000002L}); 
     16539    public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__2__Impl_in_rule__RuleCombinator__Group_0__26096 = new BitSet(new long[]{0x0000000000000002L}); 
     16540    public static final BitSet FOLLOW_rule__RuleCombinator__NameAssignment_0_2_in_rule__RuleCombinator__Group_0__2__Impl6123 = new BitSet(new long[]{0x0000000000000002L}); 
     16541    public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__0__Impl_in_rule__RuleCombinator__Group_2__06159 = new BitSet(new long[]{0x0000000000000080L}); 
     16542    public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__1_in_rule__RuleCombinator__Group_2__06162 = new BitSet(new long[]{0x0000000000000002L}); 
     16543    public static final BitSet FOLLOW_17_in_rule__RuleCombinator__Group_2__0__Impl6190 = new BitSet(new long[]{0x0000000000000002L}); 
     16544    public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__1__Impl_in_rule__RuleCombinator__Group_2__16221 = new BitSet(new long[]{0x0000000000002000L}); 
     16545    public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__2_in_rule__RuleCombinator__Group_2__16224 = new BitSet(new long[]{0x0000000000000002L}); 
     16546    public static final BitSet FOLLOW_rule__RuleCombinator__LABELAssignment_2_1_in_rule__RuleCombinator__Group_2__1__Impl6251 = new BitSet(new long[]{0x0000000000000002L}); 
     16547    public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__2__Impl_in_rule__RuleCombinator__Group_2__26281 = new BitSet(new long[]{0x0000000000000002L}); 
     16548    public static final BitSet FOLLOW_13_in_rule__RuleCombinator__Group_2__2__Impl6309 = new BitSet(new long[]{0x0000000000000002L}); 
     16549    public static final BitSet FOLLOW_rule__HookCombinator__Group__0__Impl_in_rule__HookCombinator__Group__06346 = new BitSet(new long[]{0x0000000080000000L}); 
     16550    public static final BitSet FOLLOW_rule__HookCombinator__Group__1_in_rule__HookCombinator__Group__06349 = new BitSet(new long[]{0x0000000000000002L}); 
     16551    public static final BitSet FOLLOW_33_in_rule__HookCombinator__Group__0__Impl6377 = new BitSet(new long[]{0x0000000000000002L}); 
     16552    public static final BitSet FOLLOW_rule__HookCombinator__Group__1__Impl_in_rule__HookCombinator__Group__16408 = new BitSet(new long[]{0x0000000000000010L}); 
     16553    public static final BitSet FOLLOW_rule__HookCombinator__Group__2_in_rule__HookCombinator__Group__16411 = new BitSet(new long[]{0x0000000000000002L}); 
     16554    public static final BitSet FOLLOW_31_in_rule__HookCombinator__Group__1__Impl6439 = new BitSet(new long[]{0x0000000000000002L}); 
     16555    public static final BitSet FOLLOW_rule__HookCombinator__Group__2__Impl_in_rule__HookCombinator__Group__26470 = new BitSet(new long[]{0x0000000000020000L}); 
     16556    public static final BitSet FOLLOW_rule__HookCombinator__Group__3_in_rule__HookCombinator__Group__26473 = new BitSet(new long[]{0x0000000000000002L}); 
     16557    public static final BitSet FOLLOW_rule__HookCombinator__NameAssignment_2_in_rule__HookCombinator__Group__2__Impl6500 = new BitSet(new long[]{0x0000000000000002L}); 
     16558    public static final BitSet FOLLOW_rule__HookCombinator__Group__3__Impl_in_rule__HookCombinator__Group__36530 = new BitSet(new long[]{0x0000000000000100L}); 
     16559    public static final BitSet FOLLOW_rule__HookCombinator__Group__4_in_rule__HookCombinator__Group__36533 = new BitSet(new long[]{0x0000000000000002L}); 
     16560    public static final BitSet FOLLOW_17_in_rule__HookCombinator__Group__3__Impl6561 = new BitSet(new long[]{0x0000000000000002L}); 
     16561    public static final BitSet FOLLOW_rule__HookCombinator__Group__4__Impl_in_rule__HookCombinator__Group__46592 = new BitSet(new long[]{0x0000000000002000L}); 
     16562    public static final BitSet FOLLOW_rule__HookCombinator__Group__5_in_rule__HookCombinator__Group__46595 = new BitSet(new long[]{0x0000000000000002L}); 
     16563    public static final BitSet FOLLOW_rule__HookCombinator__RuleextAssignment_4_in_rule__HookCombinator__Group__4__Impl6622 = new BitSet(new long[]{0x0000000000000002L}); 
     16564    public static final BitSet FOLLOW_rule__HookCombinator__Group__5__Impl_in_rule__HookCombinator__Group__56652 = new BitSet(new long[]{0x0000000000020200L}); 
     16565    public static final BitSet FOLLOW_rule__HookCombinator__Group__6_in_rule__HookCombinator__Group__56655 = new BitSet(new long[]{0x0000000000000002L}); 
     16566    public static final BitSet FOLLOW_13_in_rule__HookCombinator__Group__5__Impl6683 = new BitSet(new long[]{0x0000000000000002L}); 
     16567    public static final BitSet FOLLOW_rule__HookCombinator__Group__6__Impl_in_rule__HookCombinator__Group__66714 = new BitSet(new long[]{0x0000000000020200L}); 
     16568    public static final BitSet FOLLOW_rule__HookCombinator__Group__7_in_rule__HookCombinator__Group__66717 = new BitSet(new long[]{0x0000000000000002L}); 
     16569    public static final BitSet FOLLOW_rule__HookCombinator__LogicAssignment_6_in_rule__HookCombinator__Group__6__Impl6744 = new BitSet(new long[]{0x0000000000000002L}); 
     16570    public static final BitSet FOLLOW_rule__HookCombinator__Group__7__Impl_in_rule__HookCombinator__Group__76775 = new BitSet(new long[]{0x0000000000800000L}); 
     16571    public static final BitSet FOLLOW_rule__HookCombinator__Group__8_in_rule__HookCombinator__Group__76778 = new BitSet(new long[]{0x0000000000000002L}); 
     16572    public static final BitSet FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6807 = new BitSet(new long[]{0x0000000000020202L}); 
     16573    public static final BitSet FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6819 = new BitSet(new long[]{0x0000000000020202L}); 
     16574    public static final BitSet FOLLOW_rule__HookCombinator__Group__8__Impl_in_rule__HookCombinator__Group__86852 = new BitSet(new long[]{0x0000000000000002L}); 
     16575    public static final BitSet FOLLOW_23_in_rule__HookCombinator__Group__8__Impl6881 = new BitSet(new long[]{0x0000000000000002L}); 
     16576    public static final BitSet FOLLOW_rule__HookCombinator__Group_7__0__Impl_in_rule__HookCombinator__Group_7__06932 = new BitSet(new long[]{0x0000000000000080L}); 
     16577    public static final BitSet FOLLOW_rule__HookCombinator__Group_7__1_in_rule__HookCombinator__Group_7__06935 = new BitSet(new long[]{0x0000000000000002L}); 
     16578    public static final BitSet FOLLOW_17_in_rule__HookCombinator__Group_7__0__Impl6963 = new BitSet(new long[]{0x0000000000000002L}); 
     16579    public static final BitSet FOLLOW_rule__HookCombinator__Group_7__1__Impl_in_rule__HookCombinator__Group_7__16994 = new BitSet(new long[]{0x0000000000002000L}); 
     16580    public static final BitSet FOLLOW_rule__HookCombinator__Group_7__2_in_rule__HookCombinator__Group_7__16997 = new BitSet(new long[]{0x0000000000000002L}); 
     16581    public static final BitSet FOLLOW_rule__HookCombinator__LABELAssignment_7_1_in_rule__HookCombinator__Group_7__1__Impl7024 = new BitSet(new long[]{0x0000000000000002L}); 
     16582    public static final BitSet FOLLOW_rule__HookCombinator__Group_7__2__Impl_in_rule__HookCombinator__Group_7__27054 = new BitSet(new long[]{0x0000000000000002L}); 
     16583    public static final BitSet FOLLOW_13_in_rule__HookCombinator__Group_7__2__Impl7082 = new BitSet(new long[]{0x0000000000000002L}); 
     16584    public static final BitSet FOLLOW_rule__DefinitionList__Group__0__Impl_in_rule__DefinitionList__Group__07119 = new BitSet(new long[]{0x0000000000010000L}); 
     16585    public static final BitSet FOLLOW_rule__DefinitionList__Group__1_in_rule__DefinitionList__Group__07122 = new BitSet(new long[]{0x0000000000000002L}); 
     16586    public static final BitSet FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_0_in_rule__DefinitionList__Group__0__Impl7149 = new BitSet(new long[]{0x0000000000000002L}); 
     16587    public static final BitSet FOLLOW_rule__DefinitionList__Group__1__Impl_in_rule__DefinitionList__Group__17179 = new BitSet(new long[]{0x0000000000000002L}); 
     16588    public static final BitSet FOLLOW_rule__DefinitionList__Group_1__0_in_rule__DefinitionList__Group__1__Impl7206 = new BitSet(new long[]{0x0000000000010002L}); 
     16589    public static final BitSet FOLLOW_rule__DefinitionList__Group_1__0__Impl_in_rule__DefinitionList__Group_1__07241 = new BitSet(new long[]{0x00000000000E0490L}); 
     16590    public static final BitSet FOLLOW_rule__DefinitionList__Group_1__1_in_rule__DefinitionList__Group_1__07244 = new BitSet(new long[]{0x0000000000000002L}); 
     16591    public static final BitSet FOLLOW_16_in_rule__DefinitionList__Group_1__0__Impl7272 = new BitSet(new long[]{0x0000000000000002L}); 
     16592    public static final BitSet FOLLOW_rule__DefinitionList__Group_1__1__Impl_in_rule__DefinitionList__Group_1__17303 = new BitSet(new long[]{0x0000000000000002L}); 
     16593    public static final BitSet FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_1_1_in_rule__DefinitionList__Group_1__1__Impl7330 = new BitSet(new long[]{0x0000000000000002L}); 
     16594    public static final BitSet FOLLOW_rule__GroupedSequence__Group__0__Impl_in_rule__GroupedSequence__Group__07364 = new BitSet(new long[]{0x00000000000E0490L}); 
     16595    public static final BitSet FOLLOW_rule__GroupedSequence__Group__1_in_rule__GroupedSequence__Group__07367 = new BitSet(new long[]{0x0000000000000002L}); 
     16596    public static final BitSet FOLLOW_17_in_rule__GroupedSequence__Group__0__Impl7395 = new BitSet(new long[]{0x0000000000000002L}); 
     16597    public static final BitSet FOLLOW_rule__GroupedSequence__Group__1__Impl_in_rule__GroupedSequence__Group__17426 = new BitSet(new long[]{0x0000000000002000L}); 
     16598    public static final BitSet FOLLOW_rule__GroupedSequence__Group__2_in_rule__GroupedSequence__Group__17429 = new BitSet(new long[]{0x0000000000000002L}); 
     16599    public static final BitSet FOLLOW_rule__GroupedSequence__DefinitionListAssignment_1_in_rule__GroupedSequence__Group__1__Impl7456 = new BitSet(new long[]{0x0000000000000002L}); 
     16600    public static final BitSet FOLLOW_rule__GroupedSequence__Group__2__Impl_in_rule__GroupedSequence__Group__27486 = new BitSet(new long[]{0x0000000000000002L}); 
     16601    public static final BitSet FOLLOW_13_in_rule__GroupedSequence__Group__2__Impl7514 = new BitSet(new long[]{0x0000000000000002L}); 
     16602    public static final BitSet FOLLOW_rule__OptionalSequence__Group__0__Impl_in_rule__OptionalSequence__Group__07551 = new BitSet(new long[]{0x00000000000E0490L}); 
     16603    public static final BitSet FOLLOW_rule__OptionalSequence__Group__1_in_rule__OptionalSequence__Group__07554 = new BitSet(new long[]{0x0000000000000002L}); 
     16604    public static final BitSet FOLLOW_18_in_rule__OptionalSequence__Group__0__Impl7582 = new BitSet(new long[]{0x0000000000000002L}); 
     16605    public static final BitSet FOLLOW_rule__OptionalSequence__Group__1__Impl_in_rule__OptionalSequence__Group__17613 = new BitSet(new long[]{0x0000000000004000L}); 
     16606    public static final BitSet FOLLOW_rule__OptionalSequence__Group__2_in_rule__OptionalSequence__Group__17616 = new BitSet(new long[]{0x0000000000000002L}); 
     16607    public static final BitSet FOLLOW_rule__OptionalSequence__DefinitionListAssignment_1_in_rule__OptionalSequence__Group__1__Impl7643 = new BitSet(new long[]{0x0000000000000002L}); 
     16608    public static final BitSet FOLLOW_rule__OptionalSequence__Group__2__Impl_in_rule__OptionalSequence__Group__27673 = new BitSet(new long[]{0x0000000000000002L}); 
     16609    public static final BitSet FOLLOW_14_in_rule__OptionalSequence__Group__2__Impl7701 = new BitSet(new long[]{0x0000000000000002L}); 
     16610    public static final BitSet FOLLOW_rule__RepeatedSequence__Group__0__Impl_in_rule__RepeatedSequence__Group__07738 = new BitSet(new long[]{0x00000000000E0490L}); 
     16611    public static final BitSet FOLLOW_rule__RepeatedSequence__Group__1_in_rule__RepeatedSequence__Group__07741 = new BitSet(new long[]{0x0000000000000002L}); 
     16612    public static final BitSet FOLLOW_19_in_rule__RepeatedSequence__Group__0__Impl7769 = new BitSet(new long[]{0x0000000000000002L}); 
     16613    public static final BitSet FOLLOW_rule__RepeatedSequence__Group__1__Impl_in_rule__RepeatedSequence__Group__17800 = new BitSet(new long[]{0x0000000000008000L}); 
     16614    public static final BitSet FOLLOW_rule__RepeatedSequence__Group__2_in_rule__RepeatedSequence__Group__17803 = new BitSet(new long[]{0x0000000000000002L}); 
     16615    public static final BitSet FOLLOW_rule__RepeatedSequence__DefinitionsAssignment_1_in_rule__RepeatedSequence__Group__1__Impl7830 = new BitSet(new long[]{0x0000000000000002L}); 
     16616    public static final BitSet FOLLOW_rule__RepeatedSequence__Group__2__Impl_in_rule__RepeatedSequence__Group__27860 = new BitSet(new long[]{0x0000000400200000L}); 
     16617    public static final BitSet FOLLOW_rule__RepeatedSequence__Group__3_in_rule__RepeatedSequence__Group__27863 = new BitSet(new long[]{0x0000000000000002L}); 
     16618    public static final BitSet FOLLOW_15_in_rule__RepeatedSequence__Group__2__Impl7891 = new BitSet(new long[]{0x0000000000000002L}); 
     16619    public static final BitSet FOLLOW_rule__RepeatedSequence__Group__3__Impl_in_rule__RepeatedSequence__Group__37922 = new BitSet(new long[]{0x0000000000000002L}); 
     16620    public static final BitSet FOLLOW_rule__RepeatedSequence__Alternatives_3_in_rule__RepeatedSequence__Group__3__Impl7949 = new BitSet(new long[]{0x0000000000000002L}); 
     16621    public static final BitSet FOLLOW_rule__RepeatRange__Group__0__Impl_in_rule__RepeatRange__Group__07987 = new BitSet(new long[]{0x0000000000020000L}); 
     16622    public static final BitSet FOLLOW_rule__RepeatRange__Group__1_in_rule__RepeatRange__Group__07990 = new BitSet(new long[]{0x0000000000000002L}); 
     16623    public static final BitSet FOLLOW_34_in_rule__RepeatRange__Group__0__Impl8018 = new BitSet(new long[]{0x0000000000000002L}); 
     16624    public static final BitSet FOLLOW_rule__RepeatRange__Group__1__Impl_in_rule__RepeatRange__Group__18049 = new BitSet(new long[]{0x0000000000000100L}); 
     16625    public static final BitSet FOLLOW_rule__RepeatRange__Group__2_in_rule__RepeatRange__Group__18052 = new BitSet(new long[]{0x0000000000000002L}); 
     16626    public static final BitSet FOLLOW_17_in_rule__RepeatRange__Group__1__Impl8080 = new BitSet(new long[]{0x0000000000000002L}); 
     16627    public static final BitSet FOLLOW_rule__RepeatRange__Group__2__Impl_in_rule__RepeatRange__Group__28111 = new BitSet(new long[]{0x0000000800000000L}); 
     16628    public static final BitSet FOLLOW_rule__RepeatRange__Group__3_in_rule__RepeatRange__Group__28114 = new BitSet(new long[]{0x0000000000000002L}); 
     16629    public static final BitSet FOLLOW_rule__RepeatRange__FromAssignment_2_in_rule__RepeatRange__Group__2__Impl8141 = new BitSet(new long[]{0x0000000000000002L}); 
     16630    public static final BitSet FOLLOW_rule__RepeatRange__Group__3__Impl_in_rule__RepeatRange__Group__38171 = new BitSet(new long[]{0x0000000000000100L}); 
     16631    public static final BitSet FOLLOW_rule__RepeatRange__Group__4_in_rule__RepeatRange__Group__38174 = new BitSet(new long[]{0x0000000000000002L}); 
     16632    public static final BitSet FOLLOW_35_in_rule__RepeatRange__Group__3__Impl8202 = new BitSet(new long[]{0x0000000000000002L}); 
     16633    public static final BitSet FOLLOW_rule__RepeatRange__Group__4__Impl_in_rule__RepeatRange__Group__48233 = new BitSet(new long[]{0x0000000000002000L}); 
     16634    public static final BitSet FOLLOW_rule__RepeatRange__Group__5_in_rule__RepeatRange__Group__48236 = new BitSet(new long[]{0x0000000000000002L}); 
     16635    public static final BitSet FOLLOW_rule__RepeatRange__ToAssignment_4_in_rule__RepeatRange__Group__4__Impl8263 = new BitSet(new long[]{0x0000000000000002L}); 
     16636    public static final BitSet FOLLOW_rule__RepeatRange__Group__5__Impl_in_rule__RepeatRange__Group__58293 = new BitSet(new long[]{0x0000000000000002L}); 
     16637    public static final BitSet FOLLOW_13_in_rule__RepeatRange__Group__5__Impl8321 = new BitSet(new long[]{0x0000000000000002L}); 
     16638    public static final BitSet FOLLOW_RULE_ID_in_rule__EtsiBnf__NameAssignment_0_18369 = new BitSet(new long[]{0x0000000000000002L}); 
     16639    public static final BitSet FOLLOW_36_in_rule__EtsiBnf__TypeAssignment_0_2_08405 = new BitSet(new long[]{0x0000000000000002L}); 
     16640    public static final BitSet FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_0_2_28444 = new BitSet(new long[]{0x0000000000000002L}); 
     16641    public static final BitSet FOLLOW_ruleBnfEntry_in_rule__EtsiBnf__BnfEntryAssignment_0_2_38475 = new BitSet(new long[]{0x0000000000000002L}); 
     16642    public static final BitSet FOLLOW_37_in_rule__EtsiBnf__TypeAssignment_1_08511 = new BitSet(new long[]{0x0000000000000002L}); 
     16643    public static final BitSet FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_1_28550 = new BitSet(new long[]{0x0000000000000002L}); 
     16644    public static final BitSet FOLLOW_ruleDeltaEntry_in_rule__EtsiBnf__DeltaEntryAssignment_1_38581 = new BitSet(new long[]{0x0000000000000002L}); 
     16645    public static final BitSet FOLLOW_38_in_rule__EtsiBnf__TypeAssignment_2_08617 = new BitSet(new long[]{0x0000000000000002L}); 
     16646    public static final BitSet FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_2_28656 = new BitSet(new long[]{0x0000000000000002L}); 
     16647    public static final BitSet FOLLOW_ruleMergeEntry_in_rule__EtsiBnf__MergeEntryAssignment_2_38687 = new BitSet(new long[]{0x0000000000000002L}); 
     16648    public static final BitSet FOLLOW_ruleImport_in_rule__ImportSection__ImportsAssignment8718 = new BitSet(new long[]{0x0000000000000002L}); 
     16649    public static final BitSet FOLLOW_ruleSectionHeading_in_rule__BnfEntry__SectionheaderAssignment_08749 = new BitSet(new long[]{0x0000000000000002L}); 
     16650    public static final BitSet FOLLOW_ruleRule_in_rule__BnfEntry__RuleAssignment_18780 = new BitSet(new long[]{0x0000000000000002L}); 
     16651    public static final BitSet FOLLOW_ruleComment_in_rule__BnfEntry__CommentAssignment_28811 = new BitSet(new long[]{0x0000000000000002L}); 
     16652    public static final BitSet FOLLOW_ruleRule_in_rule__DeltaEntry__RuleAssignment_08842 = new BitSet(new long[]{0x0000000000000002L}); 
     16653    public static final BitSet FOLLOW_ruleSectionHeading_in_rule__DeltaEntry__SectionheaderAssignment_18873 = new BitSet(new long[]{0x0000000000000002L}); 
     16654    public static final BitSet FOLLOW_ruleExtRule_in_rule__DeltaEntry__ExtRuleAssignment_28904 = new BitSet(new long[]{0x0000000000000002L}); 
     16655    public static final BitSet FOLLOW_ruleSectionHeading_in_rule__MergeEntry__SectionheaderAssignment_08935 = new BitSet(new long[]{0x0000000000000002L}); 
     16656    public static final BitSet FOLLOW_ruleMergeRule_in_rule__MergeEntry__MergeRuleAssignment_18966 = new BitSet(new long[]{0x0000000000000002L}); 
     16657    public static final BitSet FOLLOW_RULE_SECTIONHEADER_in_rule__SectionHeading__SectionHeaderAssignment_18997 = new BitSet(new long[]{0x0000000000000002L}); 
     16658    public static final BitSet FOLLOW_RULE_ML_COMMENT_in_rule__Comment__ContentAssignment_19028 = new BitSet(new long[]{0x0000000000000002L}); 
     16659    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_19059 = new BitSet(new long[]{0x0000000000000002L}); 
     16660    public static final BitSet FOLLOW_39_in_rule__Import__GrammarTypeAssignment_2_1_09095 = new BitSet(new long[]{0x0000000000000002L}); 
     16661    public static final BitSet FOLLOW_40_in_rule__Import__GrammarTypeAssignment_2_1_19139 = new BitSet(new long[]{0x0000000000000002L}); 
     16662    public static final BitSet FOLLOW_41_in_rule__Import__GrammarTypeAssignment_2_1_29183 = new BitSet(new long[]{0x0000000000000002L}); 
     16663    public static final BitSet FOLLOW_RULE_ID_in_rule__Import__LabelAssignment_3_19222 = new BitSet(new long[]{0x0000000000000002L}); 
     16664    public static final BitSet FOLLOW_RULE_INT_in_rule__Rule__RulenumberAssignment_0_09253 = new BitSet(new long[]{0x0000000000000002L}); 
     16665    public static final BitSet FOLLOW_RULE_ID_in_rule__Rule__RulevariantAssignment_0_19284 = new BitSet(new long[]{0x0000000000000002L}); 
     16666    public static final BitSet FOLLOW_RULE_ID_in_rule__Rule__NameAssignment_19315 = new BitSet(new long[]{0x0000000000000002L}); 
     16667    public static final BitSet FOLLOW_ruleDefinitionList_in_rule__Rule__DefinitionListAssignment_39346 = new BitSet(new long[]{0x0000000000000002L}); 
     16668    public static final BitSet FOLLOW_RULE_INT_in_rule__ExtRule__RulenumberAssignment_0_09377 = new BitSet(new long[]{0x0000000000000002L}); 
     16669    public static final BitSet FOLLOW_RULE_ID_in_rule__ExtRule__RulevariantAssignment_0_19408 = new BitSet(new long[]{0x0000000000000002L}); 
     16670    public static final BitSet FOLLOW_RULE_ID_in_rule__ExtRule__NameAssignment_19439 = new BitSet(new long[]{0x0000000000000002L}); 
     16671    public static final BitSet FOLLOW_RULE_INT_in_rule__ExtRule__RuleextAssignment_2_19470 = new BitSet(new long[]{0x0000000000000002L}); 
     16672    public static final BitSet FOLLOW_ruleAtom_in_rule__ExtRule__ElementsAssignment_4_09501 = new BitSet(new long[]{0x0000000000000002L}); 
     16673    public static final BitSet FOLLOW_RULE_LOGIC_in_rule__GlobalCombinator__LogicAssignment_19532 = new BitSet(new long[]{0x0000000000000002L}); 
     16674    public static final BitSet FOLLOW_RULE_ID_in_rule__RuleCombinator__NameAssignment_0_29563 = new BitSet(new long[]{0x0000000000000002L}); 
     16675    public static final BitSet FOLLOW_RULE_LOGIC_in_rule__RuleCombinator__LogicAssignment_19594 = new BitSet(new long[]{0x0000000000000002L}); 
     16676    public static final BitSet FOLLOW_RULE_STRING_in_rule__RuleCombinator__LABELAssignment_2_19625 = new BitSet(new long[]{0x0000000000000002L}); 
     16677    public static final BitSet FOLLOW_RULE_ID_in_rule__HookCombinator__NameAssignment_29656 = new BitSet(new long[]{0x0000000000000002L}); 
     16678    public static final BitSet FOLLOW_RULE_INT_in_rule__HookCombinator__RuleextAssignment_49687 = new BitSet(new long[]{0x0000000000000002L}); 
     16679    public static final BitSet FOLLOW_RULE_LOGIC_in_rule__HookCombinator__LogicAssignment_69718 = new BitSet(new long[]{0x0000000000000002L}); 
     16680    public static final BitSet FOLLOW_RULE_STRING_in_rule__HookCombinator__LABELAssignment_7_19749 = new BitSet(new long[]{0x0000000000000002L}); 
     16681    public static final BitSet FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_09780 = new BitSet(new long[]{0x0000000000000002L}); 
     16682    public static final BitSet FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_1_19811 = new BitSet(new long[]{0x0000000000000002L}); 
     16683    public static final BitSet FOLLOW_ruleTerm_in_rule__SingleDefinition__TermsAssignment9842 = new BitSet(new long[]{0x0000000000000002L}); 
     16684    public static final BitSet FOLLOW_ruleAtom_in_rule__Term__TermAtomAssignment_09873 = new BitSet(new long[]{0x0000000000000002L}); 
     16685    public static final BitSet FOLLOW_ruleGroupedSequence_in_rule__Term__TermGroupedSequenceAssignment_19904 = new BitSet(new long[]{0x0000000000000002L}); 
     16686    public static final BitSet FOLLOW_ruleOptionalSequence_in_rule__Term__TermOptionalSequenceAssignment_29935 = new BitSet(new long[]{0x0000000000000002L}); 
     16687    public static final BitSet FOLLOW_ruleRepeatedSequence_in_rule__Term__TermRepeatedSequenceAssignment_39966 = new BitSet(new long[]{0x0000000000000002L}); 
     16688    public static final BitSet FOLLOW_ruleStringRule_in_rule__Atom__AtomStringRuleAssignment_09997 = new BitSet(new long[]{0x0000000000000002L}); 
     16689    public static final BitSet FOLLOW_ruleRuleReference_in_rule__Atom__AtomRuleReferenceAssignment_110028 = new BitSet(new long[]{0x0000000000000002L}); 
     16690    public static final BitSet FOLLOW_RULE_ID_in_rule__RuleReference__RulerefAssignment10063 = new BitSet(new long[]{0x0000000000000002L}); 
     16691    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringRule__LiteralAssignment_010098 = new BitSet(new long[]{0x0000000000000002L}); 
     16692    public static final BitSet FOLLOW_RULE_COLON_in_rule__StringRule__ColonAssignment_110129 = new BitSet(new long[]{0x0000000000000002L}); 
     16693    public static final BitSet FOLLOW_ruleDefinitionList_in_rule__GroupedSequence__DefinitionListAssignment_110160 = new BitSet(new long[]{0x0000000000000002L}); 
     16694    public static final BitSet FOLLOW_ruleDefinitionList_in_rule__OptionalSequence__DefinitionListAssignment_110191 = new BitSet(new long[]{0x0000000000000002L}); 
     16695    public static final BitSet FOLLOW_ruleDefinitionList_in_rule__RepeatedSequence__DefinitionsAssignment_110222 = new BitSet(new long[]{0x0000000000000002L}); 
     16696    public static final BitSet FOLLOW_21_in_rule__RepeatedSequence__MorethanonceAssignment_3_010258 = new BitSet(new long[]{0x0000000000000002L}); 
     16697    public static final BitSet FOLLOW_ruleRepeatRange_in_rule__RepeatedSequence__RangeAssignment_3_110297 = new BitSet(new long[]{0x0000000000000002L}); 
     16698    public static final BitSet FOLLOW_RULE_INT_in_rule__RepeatRange__FromAssignment_210328 = new BitSet(new long[]{0x0000000000000002L}); 
     16699    public static final BitSet FOLLOW_RULE_INT_in_rule__RepeatRange__ToAssignment_410359 = new BitSet(new long[]{0x0000000000000002L}); 
     16700    public static final BitSet FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_0_in_synpred29_InternalEbnf2352 = new BitSet(new long[]{0x0000000000000002L}); 
    1627816701 
    1627916702} 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/model/generated/Ebnf.ecore

    r95 r100  
    2222        containment="true"/> 
    2323    <eStructuralFeatures xsi:type="ecore:EReference" name="rule" eType="#//Rule" containment="true"/> 
     24    <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment" 
     25        containment="true"/> 
    2426  </eClassifiers> 
    2527  <eClassifiers xsi:type="ecore:EClass" name="DeltaEntry"> 
     
    3840  <eClassifiers xsi:type="ecore:EClass" name="SectionHeading"> 
    3941    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sectionHeader" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 
     42  </eClassifiers> 
     43  <eClassifiers xsi:type="ecore:EClass" name="Comment"> 
     44    <eStructuralFeatures xsi:type="ecore:EAttribute" name="content" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 
    4045  </eClassifiers> 
    4146  <eClassifiers xsi:type="ecore:EClass" name="Import"> 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/model/generated/Ebnf.genmodel

    r95 r100  
    2222      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Ebnf.ecore#//BnfEntry/sectionheader"/> 
    2323      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Ebnf.ecore#//BnfEntry/rule"/> 
     24      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Ebnf.ecore#//BnfEntry/comment"/> 
    2425    </genClasses> 
    2526    <genClasses ecoreClass="Ebnf.ecore#//DeltaEntry"> 
     
    3435    <genClasses ecoreClass="Ebnf.ecore#//SectionHeading"> 
    3536      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Ebnf.ecore#//SectionHeading/sectionHeader"/> 
     37    </genClasses> 
     38    <genClasses ecoreClass="Ebnf.ecore#//Comment"> 
     39      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Ebnf.ecore#//Comment/content"/> 
    3640    </genClasses> 
    3741    <genClasses ecoreClass="Ebnf.ecore#//Import"> 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/ebnf/BnfEntry.java

    r88 r100  
    1515 *   <li>{@link de.ugoe.cs.swe.bnftools.ebnf.BnfEntry#getSectionheader <em>Sectionheader</em>}</li> 
    1616 *   <li>{@link de.ugoe.cs.swe.bnftools.ebnf.BnfEntry#getRule <em>Rule</em>}</li> 
     17 *   <li>{@link de.ugoe.cs.swe.bnftools.ebnf.BnfEntry#getComment <em>Comment</em>}</li> 
    1718 * </ul> 
    1819 * </p> 
     
    7677  void setRule(Rule value); 
    7778 
     79  /** 
     80   * Returns the value of the '<em><b>Comment</b></em>' containment reference. 
     81   * <!-- begin-user-doc --> 
     82   * <p> 
     83   * If the meaning of the '<em>Comment</em>' containment reference isn't clear, 
     84   * there really should be more of a description here... 
     85   * </p> 
     86   * <!-- end-user-doc --> 
     87   * @return the value of the '<em>Comment</em>' containment reference. 
     88   * @see #setComment(Comment) 
     89   * @see de.ugoe.cs.swe.bnftools.ebnf.EbnfPackage#getBnfEntry_Comment() 
     90   * @model containment="true" 
     91   * @generated 
     92   */ 
     93  Comment getComment(); 
     94 
     95  /** 
     96   * Sets the value of the '{@link de.ugoe.cs.swe.bnftools.ebnf.BnfEntry#getComment <em>Comment</em>}' containment reference. 
     97   * <!-- begin-user-doc --> 
     98   * <!-- end-user-doc --> 
     99   * @param value the new value of the '<em>Comment</em>' containment reference. 
     100   * @see #getComment() 
     101   * @generated 
     102   */ 
     103  void setComment(Comment value); 
     104 
    78105} // BnfEntry 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/ebnf/EbnfFactory.java

    r95 r100  
    7878 
    7979  /** 
     80   * Returns a new object of class '<em>Comment</em>'. 
     81   * <!-- begin-user-doc --> 
     82   * <!-- end-user-doc --> 
     83   * @return a new object of class '<em>Comment</em>'. 
     84   * @generated 
     85   */ 
     86  Comment createComment(); 
     87 
     88  /** 
    8089   * Returns a new object of class '<em>Import</em>'. 
    8190   * <!-- begin-user-doc --> 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/ebnf/EbnfPackage.java

    r95 r100  
    187187 
    188188  /** 
     189   * The feature id for the '<em><b>Comment</b></em>' containment reference. 
     190   * <!-- begin-user-doc --> 
     191   * <!-- end-user-doc --> 
     192   * @generated 
     193   * @ordered 
     194   */ 
     195  int BNF_ENTRY__COMMENT = 2; 
     196 
     197  /** 
    189198   * The number of structural features of the '<em>Bnf Entry</em>' class. 
    190199   * <!-- begin-user-doc --> 
     
    193202   * @ordered 
    194203   */ 
    195   int BNF_ENTRY_FEATURE_COUNT = 2; 
     204  int BNF_ENTRY_FEATURE_COUNT = 3; 
    196205 
    197206  /** 
     
    307316 
    308317  /** 
     318   * The meta object id for the '{@link de.ugoe.cs.swe.bnftools.ebnf.impl.CommentImpl <em>Comment</em>}' class. 
     319   * <!-- begin-user-doc --> 
     320   * <!-- end-user-doc --> 
     321   * @see de.ugoe.cs.swe.bnftools.ebnf.impl.CommentImpl 
     322   * @see de.ugoe.cs.swe.bnftools.ebnf.impl.EbnfPackageImpl#getComment() 
     323   * @generated 
     324   */ 
     325  int COMMENT = 6; 
     326 
     327  /** 
     328   * The feature id for the '<em><b>Content</b></em>' attribute. 
     329   * <!-- begin-user-doc --> 
     330   * <!-- end-user-doc --> 
     331   * @generated 
     332   * @ordered 
     333   */ 
     334  int COMMENT__CONTENT = 0; 
     335 
     336  /** 
     337   * The number of structural features of the '<em>Comment</em>' class. 
     338   * <!-- begin-user-doc --> 
     339   * <!-- end-user-doc --> 
     340   * @generated 
     341   * @ordered 
     342   */ 
     343  int COMMENT_FEATURE_COUNT = 1; 
     344 
     345  /** 
    309346   * The meta object id for the '{@link de.ugoe.cs.swe.bnftools.ebnf.impl.ImportImpl <em>Import</em>}' class. 
    310347   * <!-- begin-user-doc --> 
     
    314351   * @generated 
    315352   */ 
    316   int IMPORT = 6; 
     353  int IMPORT = 7; 
    317354 
    318355  /** 
     
    360397   * @generated 
    361398   */ 
    362   int RULE = 7; 
     399  int RULE = 8; 
    363400 
    364401  /** 
     
    415452   * @generated 
    416453   */ 
    417   int EXT_RULE = 8; 
     454  int EXT_RULE = 9; 
    418455 
    419456  /** 
     
    479516   * @generated 
    480517   */ 
    481   int MERGE_RULE = 9; 
     518  int MERGE_RULE = 10; 
    482519 
    483520  /** 
     
    507544   * @generated 
    508545   */ 
    509   int GLOBAL_COMBINATOR = 10; 
     546  int GLOBAL_COMBINATOR = 11; 
    510547 
    511548  /** 
     
    535572   * @generated 
    536573   */ 
    537   int RULE_COMBINATOR = 11; 
     574  int RULE_COMBINATOR = 12; 
    538575 
    539576  /** 
     
    581618   * @generated 
    582619   */ 
    583   int HOOK_COMBINATOR = 12; 
     620  int HOOK_COMBINATOR = 13; 
    584621 
    585622  /** 
     
    636673   * @generated 
    637674   */ 
    638   int DEFINITION_LIST = 13; 
     675  int DEFINITION_LIST = 14; 
    639676 
    640677  /** 
     
    664701   * @generated 
    665702   */ 
    666   int SINGLE_DEFINITION = 14; 
     703  int SINGLE_DEFINITION = 15; 
    667704 
    668705  /** 
     
    692729   * @generated 
    693730   */ 
    694   int TERM = 15; 
     731  int TERM = 16; 
    695732 
    696733  /** 
     
    747784   * @generated 
    748785   */ 
    749   int ATOM = 16; 
     786  int ATOM = 17; 
    750787 
    751788  /** 
     
    784821   * @generated 
    785822   */ 
    786   int RULE_REFERENCE = 17; 
     823  int RULE_REFERENCE = 18; 
    787824 
    788825  /** 
     
    812849   * @generated 
    813850   */ 
    814   int STRING_RULE = 18; 
     851  int STRING_RULE = 19; 
    815852 
    816853  /** 
     
    849886   * @generated 
    850887   */ 
    851   int GROUPED_SEQUENCE = 19; 
     888  int GROUPED_SEQUENCE = 20; 
    852889 
    853890  /** 
     
    877914   * @generated 
    878915   */ 
    879   int OPTIONAL_SEQUENCE = 20; 
     916  int OPTIONAL_SEQUENCE = 21; 
    880917 
    881918  /** 
     
    905942   * @generated 
    906943   */ 
    907   int REPEATED_SEQUENCE = 21; 
     944  int REPEATED_SEQUENCE = 22; 
    908945 
    909946  /** 
     
    951988   * @generated 
    952989   */ 
    953   int REPEAT_RANGE = 22; 
     990  int REPEAT_RANGE = 23; 
    954991 
    955992  /** 
     
    11111148 
    11121149  /** 
     1150   * Returns the meta object for the containment reference '{@link de.ugoe.cs.swe.bnftools.ebnf.BnfEntry#getComment <em>Comment</em>}'. 
     1151   * <!-- begin-user-doc --> 
     1152   * <!-- end-user-doc --> 
     1153   * @return the meta object for the containment reference '<em>Comment</em>'. 
     1154   * @see de.ugoe.cs.swe.bnftools.ebnf.BnfEntry#getComment() 
     1155   * @see #getBnfEntry() 
     1156   * @generated 
     1157   */ 
     1158  EReference getBnfEntry_Comment(); 
     1159 
     1160  /** 
    11131161   * Returns the meta object for class '{@link de.ugoe.cs.swe.bnftools.ebnf.DeltaEntry <em>Delta Entry</em>}'. 
    11141162   * <!-- begin-user-doc --> 
     
    12051253   */ 
    12061254  EAttribute getSectionHeading_SectionHeader(); 
     1255 
     1256  /** 
     1257   * Returns the meta object for class '{@link de.ugoe.cs.swe.bnftools.ebnf.Comment <em>Comment</em>}'. 
     1258   * <!-- begin-user-doc --> 
     1259   * <!-- end-user-doc --> 
     1260   * @return the meta object for class '<em>Comment</em>'. 
     1261   * @see de.ugoe.cs.swe.bnftools.ebnf.Comment 
     1262   * @generated 
     1263   */ 
     1264  EClass getComment(); 
     1265 
     1266  /** 
     1267   * Returns the meta object for the attribute '{@link de.ugoe.cs.swe.bnftools.ebnf.Comment#getContent <em>Content</em>}'. 
     1268   * <!-- begin-user-doc --> 
     1269   * <!-- end-user-doc --> 
     1270   * @return the meta object for the attribute '<em>Content</em>'. 
     1271   * @see de.ugoe.cs.swe.bnftools.ebnf.Comment#getContent() 
     1272   * @see #getComment() 
     1273   * @generated 
     1274   */ 
     1275  EAttribute getComment_Content(); 
    12071276 
    12081277  /** 
     
    18981967 
    18991968    /** 
     1969     * The meta object literal for the '<em><b>Comment</b></em>' containment reference feature. 
     1970     * <!-- begin-user-doc --> 
     1971     * <!-- end-user-doc --> 
     1972     * @generated 
     1973     */ 
     1974    EReference BNF_ENTRY__COMMENT = eINSTANCE.getBnfEntry_Comment(); 
     1975 
     1976    /** 
    19001977     * The meta object literal for the '{@link de.ugoe.cs.swe.bnftools.ebnf.impl.DeltaEntryImpl <em>Delta Entry</em>}' class. 
    19011978     * <!-- begin-user-doc --> 
     
    19762053 
    19772054    /** 
     2055     * The meta object literal for the '{@link de.ugoe.cs.swe.bnftools.ebnf.impl.CommentImpl <em>Comment</em>}' class. 
     2056     * <!-- begin-user-doc --> 
     2057     * <!-- end-user-doc --> 
     2058     * @see de.ugoe.cs.swe.bnftools.ebnf.impl.CommentImpl 
     2059     * @see de.ugoe.cs.swe.bnftools.ebnf.impl.EbnfPackageImpl#getComment() 
     2060     * @generated 
     2061     */ 
     2062    EClass COMMENT = eINSTANCE.getComment(); 
     2063 
     2064    /** 
     2065     * The meta object literal for the '<em><b>Content</b></em>' attribute feature. 
     2066     * <!-- begin-user-doc --> 
     2067     * <!-- end-user-doc --> 
     2068     * @generated 
     2069     */ 
     2070    EAttribute COMMENT__CONTENT = eINSTANCE.getComment_Content(); 
     2071 
     2072    /** 
    19782073     * The meta object literal for the '{@link de.ugoe.cs.swe.bnftools.ebnf.impl.ImportImpl <em>Import</em>}' class. 
    19792074     * <!-- begin-user-doc --> 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/ebnf/impl/BnfEntryImpl.java

    r88 r100  
    44 
    55import de.ugoe.cs.swe.bnftools.ebnf.BnfEntry; 
     6import de.ugoe.cs.swe.bnftools.ebnf.Comment; 
    67import de.ugoe.cs.swe.bnftools.ebnf.EbnfPackage; 
    78import de.ugoe.cs.swe.bnftools.ebnf.Rule; 
     
    2627 *   <li>{@link de.ugoe.cs.swe.bnftools.ebnf.impl.BnfEntryImpl#getSectionheader <em>Sectionheader</em>}</li> 
    2728 *   <li>{@link de.ugoe.cs.swe.bnftools.ebnf.impl.BnfEntryImpl#getRule <em>Rule</em>}</li> 
     29 *   <li>{@link de.ugoe.cs.swe.bnftools.ebnf.impl.BnfEntryImpl#getComment <em>Comment</em>}</li> 
    2830 * </ul> 
    2931 * </p> 
     
    5456 
    5557  /** 
     58   * The cached value of the '{@link #getComment() <em>Comment</em>}' containment reference. 
     59   * <!-- begin-user-doc --> 
     60   * <!-- end-user-doc --> 
     61   * @see #getComment() 
     62   * @generated 
     63   * @ordered 
     64   */ 
     65  protected Comment comment; 
     66 
     67  /** 
    5668   * <!-- begin-user-doc --> 
    5769   * <!-- end-user-doc --> 
     
    175187   * @generated 
    176188   */ 
     189  public Comment getComment() 
     190  { 
     191    return comment; 
     192  } 
     193 
     194  /** 
     195   * <!-- begin-user-doc --> 
     196   * <!-- end-user-doc --> 
     197   * @generated 
     198   */ 
     199  public NotificationChain basicSetComment(Comment newComment, NotificationChain msgs) 
     200  { 
     201    Comment oldComment = comment; 
     202    comment = newComment; 
     203    if (eNotificationRequired()) 
     204    { 
     205      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EbnfPackage.BNF_ENTRY__COMMENT, oldComment, newComment); 
     206      if (msgs == null) msgs = notification; else msgs.add(notification); 
     207    } 
     208    return msgs; 
     209  } 
     210 
     211  /** 
     212   * <!-- begin-user-doc --> 
     213   * <!-- end-user-doc --> 
     214   * @generated 
     215   */ 
     216  public void setComment(Comment newComment) 
     217  { 
     218    if (newComment != comment) 
     219    { 
     220      NotificationChain msgs = null; 
     221      if (comment != null) 
     222        msgs = ((InternalEObject)comment).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EbnfPackage.BNF_ENTRY__COMMENT, null, msgs); 
     223      if (newComment != null) 
     224        msgs = ((InternalEObject)newComment).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EbnfPackage.BNF_ENTRY__COMMENT, null, msgs); 
     225      msgs = basicSetComment(newComment, msgs); 
     226      if (msgs != null) msgs.dispatch(); 
     227    } 
     228    else if (eNotificationRequired()) 
     229      eNotify(new ENotificationImpl(this, Notification.SET, EbnfPackage.BNF_ENTRY__COMMENT, newComment, newComment)); 
     230  } 
     231 
     232  /** 
     233   * <!-- begin-user-doc --> 
     234   * <!-- end-user-doc --> 
     235   * @generated 
     236   */ 
    177237  @Override 
    178238  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) 
     
    184244      case EbnfPackage.BNF_ENTRY__RULE: 
    185245        return basicSetRule(null, msgs); 
     246      case EbnfPackage.BNF_ENTRY__COMMENT: 
     247        return basicSetComment(null, msgs); 
    186248    } 
    187249    return super.eInverseRemove(otherEnd, featureID, msgs); 
     
    202264      case EbnfPackage.BNF_ENTRY__RULE: 
    203265        return getRule(); 
     266      case EbnfPackage.BNF_ENTRY__COMMENT: 
     267        return getComment(); 
    204268    } 
    205269    return super.eGet(featureID, resolve, coreType); 
     
    222286        setRule((Rule)newValue); 
    223287        return; 
     288      case EbnfPackage.BNF_ENTRY__COMMENT: 
     289        setComment((Comment)newValue); 
     290        return; 
    224291    } 
    225292    super.eSet(featureID, newValue); 
     
    242309        setRule((Rule)null); 
    243310        return; 
     311      case EbnfPackage.BNF_ENTRY__COMMENT: 
     312        setComment((Comment)null); 
     313        return; 
    244314    } 
    245315    super.eUnset(featureID); 
     
    260330      case EbnfPackage.BNF_ENTRY__RULE: 
    261331        return rule != null; 
     332      case EbnfPackage.BNF_ENTRY__COMMENT: 
     333        return comment != null; 
    262334    } 
    263335    return super.eIsSet(featureID); 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/ebnf/impl/EbnfFactoryImpl.java

    r95 r100  
    7171      case EbnfPackage.MERGE_ENTRY: return createMergeEntry(); 
    7272      case EbnfPackage.SECTION_HEADING: return createSectionHeading(); 
     73      case EbnfPackage.COMMENT: return createComment(); 
    7374      case EbnfPackage.IMPORT: return createImport(); 
    7475      case EbnfPackage.RULE: return createRule(); 
     
    164165   * @generated 
    165166   */ 
     167  public Comment createComment() 
     168  { 
     169    CommentImpl comment = new CommentImpl(); 
     170    return comment; 
     171  } 
     172 
     173  /** 
     174   * <!-- begin-user-doc --> 
     175   * <!-- end-user-doc --> 
     176   * @generated 
     177   */ 
    166178  public Import createImport() 
    167179  { 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/ebnf/impl/EbnfPackageImpl.java

    r95 r100  
    55import de.ugoe.cs.swe.bnftools.ebnf.Atom; 
    66import de.ugoe.cs.swe.bnftools.ebnf.BnfEntry; 
     7import de.ugoe.cs.swe.bnftools.ebnf.Comment; 
    78import de.ugoe.cs.swe.bnftools.ebnf.DefinitionList; 
    89import de.ugoe.cs.swe.bnftools.ebnf.DeltaEntry; 
     
    9192   * @generated 
    9293   */ 
     94  private EClass commentEClass = null; 
     95 
     96  /** 
     97   * <!-- begin-user-doc --> 
     98   * <!-- end-user-doc --> 
     99   * @generated 
     100   */ 
    93101  private EClass importEClass = null; 
    94102 
     
    393401   * @generated 
    394402   */ 
     403  public EReference getBnfEntry_Comment() 
     404  { 
     405    return (EReference)bnfEntryEClass.getEStructuralFeatures().get(2); 
     406  } 
     407 
     408  /** 
     409   * <!-- begin-user-doc --> 
     410   * <!-- end-user-doc --> 
     411   * @generated 
     412   */ 
    395413  public EClass getDeltaEntry() 
    396414  { 
     
    476494  { 
    477495    return (EAttribute)sectionHeadingEClass.getEStructuralFeatures().get(0); 
     496  } 
     497 
     498  /** 
     499   * <!-- begin-user-doc --> 
     500   * <!-- end-user-doc --> 
     501   * @generated 
     502   */ 
     503  public EClass getComment() 
     504  { 
     505    return commentEClass; 
     506  } 
     507 
     508  /** 
     509   * <!-- begin-user-doc --> 
     510   * <!-- end-user-doc --> 
     511   * @generated 
     512   */ 
     513  public EAttribute getComment_Content() 
     514  { 
     515    return (EAttribute)commentEClass.getEStructuralFeatures().get(0); 
    478516  } 
    479517 
     
    10521090    createEReference(bnfEntryEClass, BNF_ENTRY__SECTIONHEADER); 
    10531091    createEReference(bnfEntryEClass, BNF_ENTRY__RULE); 
     1092    createEReference(bnfEntryEClass, BNF_ENTRY__COMMENT); 
    10541093 
    10551094    deltaEntryEClass = createEClass(DELTA_ENTRY); 
     
    10641103    sectionHeadingEClass = createEClass(SECTION_HEADING); 
    10651104    createEAttribute(sectionHeadingEClass, SECTION_HEADING__SECTION_HEADER); 
     1105 
     1106    commentEClass = createEClass(COMMENT); 
     1107    createEAttribute(commentEClass, COMMENT__CONTENT); 
    10661108 
    10671109    importEClass = createEClass(IMPORT); 
     
    11841226    initEReference(getBnfEntry_Sectionheader(), this.getSectionHeading(), null, "sectionheader", null, 0, 1, BnfEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 
    11851227    initEReference(getBnfEntry_Rule(), this.getRule(), null, "rule", null, 0, 1, BnfEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 
     1228    initEReference(getBnfEntry_Comment(), this.getComment(), null, "comment", null, 0, 1, BnfEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 
    11861229 
    11871230    initEClass(deltaEntryEClass, DeltaEntry.class, "DeltaEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 
     
    11961239    initEClass(sectionHeadingEClass, SectionHeading.class, "SectionHeading", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 
    11971240    initEAttribute(getSectionHeading_SectionHeader(), ecorePackage.getEString(), "sectionHeader", null, 0, 1, SectionHeading.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 
     1241 
     1242    initEClass(commentEClass, Comment.class, "Comment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 
     1243    initEAttribute(getComment_Content(), ecorePackage.getEString(), "content", null, 0, 1, Comment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 
    11981244 
    11991245    initEClass(importEClass, Import.class, "Import", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/ebnf/util/EbnfAdapterFactory.java

    r95 r100  
    106106      } 
    107107      @Override 
     108      public Adapter caseComment(Comment object) 
     109      { 
     110        return createCommentAdapter(); 
     111      } 
     112      @Override 
    108113      public Adapter caseImport(Import object) 
    109114      { 
     
    303308 
    304309  /** 
     310   * Creates a new adapter for an object of class '{@link de.ugoe.cs.swe.bnftools.ebnf.Comment <em>Comment</em>}'. 
     311   * <!-- begin-user-doc --> 
     312   * This default implementation returns null so that we can easily ignore cases; 
     313   * it's useful to ignore a case when inheritance will catch all the cases anyway. 
     314   * <!-- end-user-doc --> 
     315   * @return the new adapter. 
     316   * @see de.ugoe.cs.swe.bnftools.ebnf.Comment 
     317   * @generated 
     318   */ 
     319  public Adapter createCommentAdapter() 
     320  { 
     321    return null; 
     322  } 
     323 
     324  /** 
    305325   * Creates a new adapter for an object of class '{@link de.ugoe.cs.swe.bnftools.ebnf.Import <em>Import</em>}'. 
    306326   * <!-- begin-user-doc --> 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/ebnf/util/EbnfSwitch.java

    r95 r100  
    115115        return result; 
    116116      } 
     117      case EbnfPackage.COMMENT: 
     118      { 
     119        Comment comment = (Comment)theEObject; 
     120        T result = caseComment(comment); 
     121        if (result == null) result = defaultCase(theEObject); 
     122        return result; 
     123      } 
    117124      case EbnfPackage.IMPORT: 
    118125      { 
     
    338345 
    339346  /** 
     347   * Returns the result of interpreting the object as an instance of '<em>Comment</em>'. 
     348   * <!-- begin-user-doc --> 
     349   * This implementation returns null; 
     350   * returning a non-null result will terminate the switch. 
     351   * <!-- end-user-doc --> 
     352   * @param object the target of the switch. 
     353   * @return the result of interpreting the object as an instance of '<em>Comment</em>'. 
     354   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 
     355   * @generated 
     356   */ 
     357  public T caseComment(Comment object) 
     358  { 
     359    return null; 
     360  } 
     361 
     362  /** 
    340363   * Returns the result of interpreting the object as an instance of '<em>Import</em>'. 
    341364   * <!-- begin-user-doc --> 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/EbnfParser.java

    r61 r100  
    1616        @Override 
    1717        protected void setInitialHiddenTokens(XtextTokenStream tokenStream) { 
    18                 tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT"); 
     18                tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_SL_COMMENT"); 
    1919        } 
    2020         
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g

    r95 r100  
    371371 
    372372) 
     373) 
     374    |( 
     375( 
     376                {  
     377                newCompositeNode(grammarAccess.getBnfEntryAccess().getCommentCommentParserRuleCall_2_0());  
     378            } 
     379                lv_comment_2_0=ruleComment              { 
     380                if ($current==null) { 
     381                    $current = createModelElementForParent(grammarAccess.getBnfEntryRule()); 
     382                } 
     383                set( 
     384                        $current,  
     385                        "comment", 
     386                        lv_comment_2_0,  
     387                        "Comment"); 
     388                afterParserOrEnumRuleCall(); 
     389            } 
     390 
     391) 
    373392)) 
    374393; 
     
    551570                        lv_sectionHeader_1_0,  
    552571                        "SECTIONHEADER"); 
     572            } 
     573 
     574) 
     575)) 
     576; 
     577 
     578 
     579 
     580 
     581 
     582// Entry rule entryRuleComment 
     583entryRuleComment returns [EObject current=null]  
     584        : 
     585        { newCompositeNode(grammarAccess.getCommentRule()); } 
     586         iv_ruleComment=ruleComment  
     587         { $current=$iv_ruleComment.current; }  
     588         EOF  
     589; 
     590 
     591// Rule Comment 
     592ruleComment returns [EObject current=null]  
     593    @init { enterRule();  
     594    } 
     595    @after { leaveRule(); }: 
     596(( 
     597        {  
     598          /* */  
     599        } 
     600    { 
     601        $current = forceCreateModelElement( 
     602            grammarAccess.getCommentAccess().getCommentAction_0(), 
     603            $current); 
     604    } 
     605)( 
     606( 
     607                lv_content_1_0=RULE_ML_COMMENT 
     608                { 
     609                        newLeafNode(lv_content_1_0, grammarAccess.getCommentAccess().getContentML_COMMENTTerminalRuleCall_1_0());  
     610                } 
     611                { 
     612                if ($current==null) { 
     613                    $current = createModelElement(grammarAccess.getCommentRule()); 
     614                } 
     615                setWithLastConsumed( 
     616                        $current,  
     617                        "content", 
     618                        lv_content_1_0,  
     619                        "ML_COMMENT"); 
    553620            } 
    554621 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.tokens

    r95 r100  
    1313T__21=21 
    1414T__20=20 
    15 RULE_SL_COMMENT=11 
    16 RULE_ML_COMMENT=12 
     15RULE_SL_COMMENT=12 
     16RULE_ML_COMMENT=6 
    1717T__30=30 
    1818T__19=19 
    19 RULE_COLON=9 
     19RULE_COLON=10 
    2020T__31=31 
    21 RULE_STRING=6 
     21RULE_STRING=7 
    2222T__32=32 
    2323T__33=33 
     
    2929T__36=36 
    3030T__17=17 
    31 RULE_LOGIC=8 
     31RULE_LOGIC=9 
    3232T__37=37 
    3333T__38=38 
     
    3535T__14=14 
    3636T__13=13 
    37 RULE_INT=7 
    38 RULE_WS=10 
     37RULE_INT=8 
     38RULE_WS=11 
    3939'update'=22 
    4040'|'=31 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnfLexer.java

    r95 r100  
    2828    public static final int T__20=20; 
    2929    public static final int EOF=-1; 
    30     public static final int RULE_SL_COMMENT=11; 
    31     public static final int RULE_ML_COMMENT=12; 
     30    public static final int RULE_SL_COMMENT=12; 
     31    public static final int RULE_ML_COMMENT=6; 
    3232    public static final int T__19=19; 
    3333    public static final int T__30=30; 
    3434    public static final int T__31=31; 
    35     public static final int RULE_COLON=9; 
     35    public static final int RULE_COLON=10; 
    3636    public static final int T__32=32; 
    37     public static final int RULE_STRING=6; 
     37    public static final int RULE_STRING=7; 
    3838    public static final int T__16=16; 
    3939    public static final int T__33=33; 
     
    4545    public static final int T__36=36; 
    4646    public static final int T__37=37; 
    47     public static final int RULE_LOGIC=8; 
     47    public static final int RULE_LOGIC=9; 
    4848    public static final int T__38=38; 
    4949    public static final int T__14=14; 
    5050    public static final int T__39=39; 
    5151    public static final int T__13=13; 
    52     public static final int RULE_INT=7; 
    53     public static final int RULE_WS=10; 
     52    public static final int RULE_INT=8; 
     53    public static final int RULE_WS=11; 
    5454 
    5555    // delegates 
     
    666666            int _type = RULE_ID; 
    667667            int _channel = DEFAULT_TOKEN_CHANNEL; 
    668             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1887:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) 
    669             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1887:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* 
     668            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1954:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) 
     669            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1954:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* 
    670670            { 
    671671            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { 
     
    678678                throw mse;} 
    679679 
    680             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1887:35: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* 
     680            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1954:35: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* 
    681681            loop1: 
    682682            do { 
     
    727727            int _type = RULE_INT; 
    728728            int _channel = DEFAULT_TOKEN_CHANNEL; 
    729             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1889:10: ( ( '0' .. '9' )+ ) 
    730             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1889:12: ( '0' .. '9' )+ 
    731             { 
    732             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1889:12: ( '0' .. '9' )+ 
     729            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1956:10: ( ( '0' .. '9' )+ ) 
     730            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1956:12: ( '0' .. '9' )+ 
     731            { 
     732            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1956:12: ( '0' .. '9' )+ 
    733733            int cnt2=0; 
    734734            loop2: 
     
    744744                switch (alt2) { 
    745745                case 1 : 
    746                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1889:13: '0' .. '9' 
     746                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1956:13: '0' .. '9' 
    747747                    { 
    748748                    matchRange('0','9');  
     
    776776            int _type = RULE_WS; 
    777777            int _channel = DEFAULT_TOKEN_CHANNEL; 
    778             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1891:9: ( ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ ) 
    779             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1891:11: ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ 
    780             { 
    781             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1891:11: ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ 
     778            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1958:9: ( ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ ) 
     779            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1958:11: ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ 
     780            { 
     781            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1958:11: ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ 
    782782            int cnt4=0; 
    783783            loop4: 
     
    806806                switch (alt4) { 
    807807                case 1 : 
    808                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1891:12: ' ' 
     808                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1958:12: ' ' 
    809809                    { 
    810810                    match(' ');  
     
    813813                    break; 
    814814                case 2 : 
    815                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1891:16: '\\t' 
     815                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1958:16: '\\t' 
    816816                    { 
    817817                    match('\t');  
     
    820820                    break; 
    821821                case 3 : 
    822                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1891:21: ( '\\r' )? '\\n' 
     822                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1958:21: ( '\\r' )? '\\n' 
    823823                    { 
    824                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1891:21: ( '\\r' )? 
     824                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1958:21: ( '\\r' )? 
    825825                    int alt3=2; 
    826826                    int LA3_0 = input.LA(1); 
     
    831831                    switch (alt3) { 
    832832                        case 1 : 
    833                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1891:21: '\\r' 
     833                            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1958:21: '\\r' 
    834834                            { 
    835835                            match('\r');  
     
    870870            int _type = RULE_COLON; 
    871871            int _channel = DEFAULT_TOKEN_CHANNEL; 
    872             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1893:12: ( '\"' '\"' '\"' ) 
    873             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1893:14: '\"' '\"' '\"' 
     872            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1960:12: ( '\"' '\"' '\"' ) 
     873            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1960:14: '\"' '\"' '\"' 
    874874            { 
    875875            match('\"');  
     
    892892            int _type = RULE_STRING; 
    893893            int _channel = DEFAULT_TOKEN_CHANNEL; 
    894             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:13: ( ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) ) 
    895             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:15: ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) 
    896             { 
    897             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:15: ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) 
     894            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1962:13: ( ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) ) 
     895            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1962:15: ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) 
     896            { 
     897            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1962:15: ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) 
    898898            int alt7=2; 
    899899            int LA7_0 = input.LA(1); 
     
    913913            switch (alt7) { 
    914914                case 1 : 
    915                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:16: '\"' (~ ( '\"' ) )* '\"' 
     915                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1962:16: '\"' (~ ( '\"' ) )* '\"' 
    916916                    { 
    917917                    match('\"');  
    918                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:20: (~ ( '\"' ) )* 
     918                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1962:20: (~ ( '\"' ) )* 
    919919                    loop5: 
    920920                    do { 
     
    929929                        switch (alt5) { 
    930930                        case 1 : 
    931                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:20: ~ ( '\"' ) 
     931                            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1962:20: ~ ( '\"' ) 
    932932                            { 
    933933                            if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='\uFFFF') ) { 
     
    954954                    break; 
    955955                case 2 : 
    956                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:32: '\\'' (~ ( '\\'' ) )* '\\'' 
     956                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1962:32: '\\'' (~ ( '\\'' ) )* '\\'' 
    957957                    { 
    958958                    match('\'');  
    959                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:37: (~ ( '\\'' ) )* 
     959                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1962:37: (~ ( '\\'' ) )* 
    960960                    loop6: 
    961961                    do { 
     
    970970                        switch (alt6) { 
    971971                        case 1 : 
    972                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1895:37: ~ ( '\\'' ) 
     972                            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1962:37: ~ ( '\\'' ) 
    973973                            { 
    974974                            if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\uFFFF') ) { 
     
    10131013            int _type = RULE_SECTIONHEADER; 
    10141014            int _channel = DEFAULT_TOKEN_CHANNEL; 
    1015             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1897:20: ( ( 'a' .. 'z' | 'A' .. 'Z' ) ( '.' | '0' .. '9' )+ ( ' ' | '\\t' ) (~ ( ( '\\n' | '\\r' ) ) )* ( '\\r' )? '\\n' ) 
    1016             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1897:22: ( 'a' .. 'z' | 'A' .. 'Z' ) ( '.' | '0' .. '9' )+ ( ' ' | '\\t' ) (~ ( ( '\\n' | '\\r' ) ) )* ( '\\r' )? '\\n' 
     1015            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1964:20: ( ( 'a' .. 'z' | 'A' .. 'Z' ) ( '.' | '0' .. '9' )+ ( ' ' | '\\t' ) (~ ( ( '\\n' | '\\r' ) ) )* ( '\\r' )? '\\n' ) 
     1016            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1964:22: ( 'a' .. 'z' | 'A' .. 'Z' ) ( '.' | '0' .. '9' )+ ( ' ' | '\\t' ) (~ ( ( '\\n' | '\\r' ) ) )* ( '\\r' )? '\\n' 
    10171017            { 
    10181018            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) { 
     
    10251025                throw mse;} 
    10261026 
    1027             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1897:42: ( '.' | '0' .. '9' )+ 
     1027            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1964:42: ( '.' | '0' .. '9' )+ 
    10281028            int cnt8=0; 
    10291029            loop8: 
     
    10721072                throw mse;} 
    10731073 
    1074             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1897:69: (~ ( ( '\\n' | '\\r' ) ) )* 
     1074            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1964:69: (~ ( ( '\\n' | '\\r' ) ) )* 
    10751075            loop9: 
    10761076            do { 
     
    10851085                switch (alt9) { 
    10861086                case 1 : 
    1087                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1897:69: ~ ( ( '\\n' | '\\r' ) ) 
     1087                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1964:69: ~ ( ( '\\n' | '\\r' ) ) 
    10881088                    { 
    10891089                    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { 
     
    11051105            } while (true); 
    11061106 
    1107             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1897:85: ( '\\r' )? 
     1107            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1964:85: ( '\\r' )? 
    11081108            int alt10=2; 
    11091109            int LA10_0 = input.LA(1); 
     
    11141114            switch (alt10) { 
    11151115                case 1 : 
    1116                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1897:85: '\\r' 
     1116                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1964:85: '\\r' 
    11171117                    { 
    11181118                    match('\r');  
     
    11401140            int _type = RULE_SL_COMMENT; 
    11411141            int _channel = DEFAULT_TOKEN_CHANNEL; 
    1142             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1899:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 
    1143             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1899:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 
     1142            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1966:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 
     1143            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1966:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 
    11441144            { 
    11451145            match("//");  
    11461146 
    1147             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1899:24: (~ ( ( '\\n' | '\\r' ) ) )* 
     1147            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1966:24: (~ ( ( '\\n' | '\\r' ) ) )* 
    11481148            loop11: 
    11491149            do { 
     
    11581158                switch (alt11) { 
    11591159                case 1 : 
    1160                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1899:24: ~ ( ( '\\n' | '\\r' ) ) 
     1160                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1966:24: ~ ( ( '\\n' | '\\r' ) ) 
    11611161                    { 
    11621162                    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { 
     
    11781178            } while (true); 
    11791179 
    1180             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1899:40: ( ( '\\r' )? '\\n' )? 
     1180            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1966:40: ( ( '\\r' )? '\\n' )? 
    11811181            int alt13=2; 
    11821182            int LA13_0 = input.LA(1); 
     
    11871187            switch (alt13) { 
    11881188                case 1 : 
    1189                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1899:41: ( '\\r' )? '\\n' 
     1189                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1966:41: ( '\\r' )? '\\n' 
    11901190                    { 
    1191                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1899:41: ( '\\r' )? 
     1191                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1966:41: ( '\\r' )? 
    11921192                    int alt12=2; 
    11931193                    int LA12_0 = input.LA(1); 
     
    11981198                    switch (alt12) { 
    11991199                        case 1 : 
    1200                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1899:41: '\\r' 
     1200                            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1966:41: '\\r' 
    12011201                            { 
    12021202                            match('\r');  
     
    12301230            int _type = RULE_ML_COMMENT; 
    12311231            int _channel = DEFAULT_TOKEN_CHANNEL; 
    1232             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1901:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 
    1233             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1901:19: '/*' ( options {greedy=false; } : . )* '*/' 
     1232            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1968:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 
     1233            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1968:19: '/*' ( options {greedy=false; } : . )* '*/' 
    12341234            { 
    12351235            match("/*");  
    12361236 
    1237             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1901:24: ( options {greedy=false; } : . )* 
     1237            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1968:24: ( options {greedy=false; } : . )* 
    12381238            loop14: 
    12391239            do { 
     
    12601260                switch (alt14) { 
    12611261                case 1 : 
    1262                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1901:52: . 
     1262                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1968:52: . 
    12631263                    { 
    12641264                    matchAny();  
     
    12901290            int _type = RULE_LOGIC; 
    12911291            int _channel = DEFAULT_TOKEN_CHANNEL; 
    1292             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1903:12: ( ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) ) 
    1293             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1903:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) 
    1294             { 
    1295             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1903:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) 
     1292            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1970:12: ( ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) ) 
     1293            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1970:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) 
     1294            { 
     1295            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1970:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) 
    12961296            int alt15=6; 
    12971297            alt15 = dfa15.predict(input); 
    12981298            switch (alt15) { 
    12991299                case 1 : 
    1300                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1903:15: '/and' 
     1300                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1970:15: '/and' 
    13011301                    { 
    13021302                    match("/and");  
     
    13061306                    break; 
    13071307                case 2 : 
    1308                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1903:22: '/or' 
     1308                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1970:22: '/or' 
    13091309                    { 
    13101310                    match("/or");  
     
    13141314                    break; 
    13151315                case 3 : 
    1316                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1903:28: '/andr' 
     1316                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1970:28: '/andr' 
    13171317                    { 
    13181318                    match("/andr");  
     
    13221322                    break; 
    13231323                case 4 : 
    1324                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1903:36: '/orr' 
     1324                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1970:36: '/orr' 
    13251325                    { 
    13261326                    match("/orr");  
     
    13301330                    break; 
    13311331                case 5 : 
    1332                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1903:43: '/any' 
     1332                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1970:43: '/any' 
    13331333                    { 
    13341334                    match("/any");  
     
    13381338                    break; 
    13391339                case 6 : 
    1340                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1903:50: '/together' 
     1340                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1970:50: '/together' 
    13411341                    { 
    13421342                    match("/together");  
     
    16961696        } 
    16971697        public String getDescription() { 
    1698             return "1903:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' )"; 
     1698            return "1970:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' )"; 
    16991699        } 
    17001700    } 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnfParser.java

    r95 r100  
    2323public class InternalEbnfParser extends AbstractInternalAntlrParser { 
    2424    public static final String[] tokenNames = new String[] { 
    25         "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_SECTIONHEADER", "RULE_STRING", "RULE_INT", "RULE_LOGIC", "RULE_COLON", "RULE_WS", "RULE_SL_COMMENT", "RULE_ML_COMMENT", "'grammar'", "'/bnf'", "';'", "'/delta'", "'/merge'", "'import'", "'/'", "'core'", "'package'", "'update'", "'label:'", "'.'", "'::='", "'('", "')'", "'<-'", "']'", "'}'", "'|'", "'['", "'{'", "'*'", "'+'", "'global'", "'combinator:'", "'rule'", "'hook'", "'#'", "','" 
     25        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "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'", "'#'", "','" 
    2626    }; 
    2727    public static final int RULE_ID=4; 
     
    3939    public static final int T__21=21; 
    4040    public static final int T__20=20; 
    41     public static final int RULE_SL_COMMENT=11; 
     41    public static final int RULE_SL_COMMENT=12; 
    4242    public static final int EOF=-1; 
    43     public static final int RULE_ML_COMMENT=12; 
     43    public static final int RULE_ML_COMMENT=6; 
    4444    public static final int T__30=30; 
    4545    public static final int T__19=19; 
    46     public static final int RULE_COLON=9; 
     46    public static final int RULE_COLON=10; 
    4747    public static final int T__31=31; 
    48     public static final int RULE_STRING=6; 
     48    public static final int RULE_STRING=7; 
    4949    public static final int T__32=32; 
    5050    public static final int T__33=33; 
     
    5656    public static final int T__36=36; 
    5757    public static final int T__17=17; 
    58     public static final int RULE_LOGIC=8; 
     58    public static final int RULE_LOGIC=9; 
    5959    public static final int T__37=37; 
    6060    public static final int T__38=38; 
     
    6262    public static final int T__14=14; 
    6363    public static final int T__13=13; 
    64     public static final int RULE_INT=7; 
    65     public static final int RULE_WS=10; 
     64    public static final int RULE_INT=8; 
     65    public static final int RULE_WS=11; 
    6666 
    6767    // delegates 
     
    7474        public InternalEbnfParser(TokenStream input, RecognizerSharedState state) { 
    7575            super(input, state); 
    76             this.state.ruleMemo = new HashMap[99+1]; 
     76            this.state.ruleMemo = new HashMap[102+1]; 
    7777              
    7878              
     
    353353                        int LA3_0 = input.LA(1); 
    354354 
    355                         if ( ((LA3_0>=RULE_ID && LA3_0<=RULE_SECTIONHEADER)||LA3_0==RULE_INT) ) { 
     355                        if ( ((LA3_0>=RULE_ID && LA3_0<=RULE_ML_COMMENT)||LA3_0==RULE_INT) ) { 
    356356                            alt3=1; 
    357357                        } 
     
    902902 
    903903    // $ANTLR start "ruleBnfEntry" 
    904     // ../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 ) ) ) ; 
     904    // ../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 ) ) ) ; 
    905905    public final EObject ruleBnfEntry() throws RecognitionException { 
    906906        EObject current = null; 
     
    910910        EObject lv_rule_1_0 = null; 
    911911 
     912        EObject lv_comment_2_0 = null; 
     913 
    912914 
    913915         enterRule();  
     
    915917        try { 
    916918            if ( state.backtracking>0 && alreadyParsedRule(input, 6) ) { return current; } 
    917             // ../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 ) ) ) ) 
    918             // ../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 ) ) ) 
    919             { 
    920             // ../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 ) ) ) 
    921             int alt10=2; 
    922             int LA10_0 = input.LA(1); 
    923  
    924             if ( (LA10_0==RULE_SECTIONHEADER) ) { 
     919            // ../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 ) ) ) ) 
     920            // ../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 ) ) ) 
     921            { 
     922            // ../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 ) ) ) 
     923            int alt10=3; 
     924            switch ( input.LA(1) ) { 
     925            case RULE_SECTIONHEADER: 
     926                { 
    925927                alt10=1; 
    926             } 
    927             else if ( (LA10_0==RULE_ID||LA10_0==RULE_INT) ) { 
     928                } 
     929                break; 
     930            case RULE_ID: 
     931            case RULE_INT: 
     932                { 
    928933                alt10=2; 
    929             } 
    930             else { 
     934                } 
     935                break; 
     936            case RULE_ML_COMMENT: 
     937                { 
     938                alt10=3; 
     939                } 
     940                break; 
     941            default: 
    931942                if (state.backtracking>0) {state.failed=true; return current;} 
    932943                NoViableAltException nvae = 
     
    935946                throw nvae; 
    936947            } 
     948 
    937949            switch (alt10) { 
    938950                case 1 : 
     
    10181030                    } 
    10191031                    break; 
     1032                case 3 : 
     1033                    // ../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 ) ) 
     1034                    { 
     1035                    // ../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 ) ) 
     1036                    // ../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 ) 
     1037                    { 
     1038                    // ../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 ) 
     1039                    // ../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 
     1040                    { 
     1041                    if ( state.backtracking==0 ) { 
     1042                        
     1043                                newCompositeNode(grammarAccess.getBnfEntryAccess().getCommentCommentParserRuleCall_2_0());  
     1044                             
     1045                    } 
     1046                    pushFollow(FOLLOW_ruleComment_in_ruleBnfEntry676); 
     1047                    lv_comment_2_0=ruleComment(); 
     1048 
     1049                    state._fsp--; 
     1050                    if (state.failed) return current; 
     1051                    if ( state.backtracking==0 ) { 
     1052 
     1053                                if (current==null) { 
     1054                                    current = createModelElementForParent(grammarAccess.getBnfEntryRule()); 
     1055                                } 
     1056                                        set( 
     1057                                                current,  
     1058                                                "comment", 
     1059                                        lv_comment_2_0,  
     1060                                        "Comment"); 
     1061                                afterParserOrEnumRuleCall(); 
     1062                             
     1063                    } 
     1064 
     1065                    } 
     1066 
     1067 
     1068                    } 
     1069 
     1070 
     1071                    } 
     1072                    break; 
    10201073 
    10211074            } 
     
    10421095 
    10431096    // $ANTLR start "entryRuleDeltaEntry" 
    1044     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:381:1: entryRuleDeltaEntry returns [EObject current=null] : iv_ruleDeltaEntry= ruleDeltaEntry EOF ; 
     1097    // ../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 ; 
    10451098    public final EObject entryRuleDeltaEntry() throws RecognitionException { 
    10461099        EObject current = null; 
     
    10511104        try { 
    10521105            if ( state.backtracking>0 && alreadyParsedRule(input, 7) ) { return current; } 
    1053             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:382:2: (iv_ruleDeltaEntry= ruleDeltaEntry EOF ) 
    1054             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:383:2: iv_ruleDeltaEntry= ruleDeltaEntry EOF 
     1106            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:401:2: (iv_ruleDeltaEntry= ruleDeltaEntry EOF ) 
     1107            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:402:2: iv_ruleDeltaEntry= ruleDeltaEntry EOF 
    10551108            { 
    10561109            if ( state.backtracking==0 ) { 
    10571110               newCompositeNode(grammarAccess.getDeltaEntryRule());  
    10581111            } 
    1059             pushFollow(FOLLOW_ruleDeltaEntry_in_entryRuleDeltaEntry685); 
     1112            pushFollow(FOLLOW_ruleDeltaEntry_in_entryRuleDeltaEntry712); 
    10601113            iv_ruleDeltaEntry=ruleDeltaEntry(); 
    10611114 
     
    10651118               current =iv_ruleDeltaEntry;  
    10661119            } 
    1067             match(input,EOF,FOLLOW_EOF_in_entryRuleDeltaEntry695); if (state.failed) return current; 
     1120            match(input,EOF,FOLLOW_EOF_in_entryRuleDeltaEntry722); if (state.failed) return current; 
    10681121 
    10691122            } 
     
    10841137 
    10851138    // $ANTLR start "ruleDeltaEntry" 
    1086     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:390:1: ruleDeltaEntry returns [EObject current=null] : ( ( (lv_rule_0_0= ruleRule ) ) | ( (lv_sectionheader_1_0= ruleSectionHeading ) ) | ( (lv_extRule_2_0= ruleExtRule ) ) ) ; 
     1139    // ../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 ) ) ) ; 
    10871140    public final EObject ruleDeltaEntry() throws RecognitionException { 
    10881141        EObject current = null; 
     
    10991152        try { 
    11001153            if ( state.backtracking>0 && alreadyParsedRule(input, 8) ) { return current; } 
    1101             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:393:28: ( ( ( (lv_rule_0_0= ruleRule ) ) | ( (lv_sectionheader_1_0= ruleSectionHeading ) ) | ( (lv_extRule_2_0= ruleExtRule ) ) ) ) 
    1102             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:394:1: ( ( (lv_rule_0_0= ruleRule ) ) | ( (lv_sectionheader_1_0= ruleSectionHeading ) ) | ( (lv_extRule_2_0= ruleExtRule ) ) ) 
    1103             { 
    1104             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:394:1: ( ( (lv_rule_0_0= ruleRule ) ) | ( (lv_sectionheader_1_0= ruleSectionHeading ) ) | ( (lv_extRule_2_0= ruleExtRule ) ) ) 
     1154            // ../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 ) ) ) ) 
     1155            // ../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 ) ) ) 
     1156            { 
     1157            // ../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 ) ) ) 
    11051158            int alt11=3; 
    11061159            switch ( input.LA(1) ) { 
     
    11181171                            int LA11_2 = input.LA(5); 
    11191172 
    1120                             if ( (LA11_2==25) ) { 
     1173                            if ( (LA11_2==26) ) { 
     1174                                alt11=3; 
     1175                            } 
     1176                            else if ( (LA11_2==25) ) { 
    11211177                                alt11=1; 
    1122                             } 
    1123                             else if ( (LA11_2==26) ) { 
    1124                                 alt11=3; 
    11251178                            } 
    11261179                            else { 
     
    11541207                        int LA11_2 = input.LA(4); 
    11551208 
    1156                         if ( (LA11_2==25) ) { 
     1209                        if ( (LA11_2==26) ) { 
     1210                            alt11=3; 
     1211                        } 
     1212                        else if ( (LA11_2==25) ) { 
    11571213                            alt11=1; 
    1158                         } 
    1159                         else if ( (LA11_2==26) ) { 
    1160                             alt11=3; 
    11611214                        } 
    11621215                        else { 
     
    11891242                int LA11_2 = input.LA(2); 
    11901243 
    1191                 if ( (LA11_2==25) ) { 
     1244                if ( (LA11_2==26) ) { 
     1245                    alt11=3; 
     1246                } 
     1247                else if ( (LA11_2==25) ) { 
    11921248                    alt11=1; 
    1193                 } 
    1194                 else if ( (LA11_2==26) ) { 
    1195                     alt11=3; 
    11961249                } 
    11971250                else { 
     
    12191272            switch (alt11) { 
    12201273                case 1 : 
    1221                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:394:2: ( (lv_rule_0_0= ruleRule ) ) 
    1222                     { 
    1223                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:394:2: ( (lv_rule_0_0= ruleRule ) ) 
    1224                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:395:1: (lv_rule_0_0= ruleRule ) 
    1225                     { 
    1226                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:395:1: (lv_rule_0_0= ruleRule ) 
    1227                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:396:3: lv_rule_0_0= ruleRule 
     1274                    // ../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 ) ) 
     1275                    { 
     1276                    // ../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 ) ) 
     1277                    // ../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 ) 
     1278                    { 
     1279                    // ../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 ) 
     1280                    // ../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 
    12281281                    { 
    12291282                    if ( state.backtracking==0 ) { 
     
    12321285                             
    12331286                    } 
    1234                     pushFollow(FOLLOW_ruleRule_in_ruleDeltaEntry741); 
     1287                    pushFollow(FOLLOW_ruleRule_in_ruleDeltaEntry768); 
    12351288                    lv_rule_0_0=ruleRule(); 
    12361289 
     
    12601313                    break; 
    12611314                case 2 : 
    1262                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:413:6: ( (lv_sectionheader_1_0= ruleSectionHeading ) ) 
    1263                     { 
    1264                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:413:6: ( (lv_sectionheader_1_0= ruleSectionHeading ) ) 
    1265                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:414:1: (lv_sectionheader_1_0= ruleSectionHeading ) 
    1266                     { 
    1267                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:414:1: (lv_sectionheader_1_0= ruleSectionHeading ) 
    1268                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:415:3: lv_sectionheader_1_0= ruleSectionHeading 
     1315                    // ../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 ) ) 
     1316                    { 
     1317                    // ../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 ) ) 
     1318                    // ../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 ) 
     1319                    { 
     1320                    // ../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 ) 
     1321                    // ../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 
    12691322                    { 
    12701323                    if ( state.backtracking==0 ) { 
     
    12731326                             
    12741327                    } 
    1275                     pushFollow(FOLLOW_ruleSectionHeading_in_ruleDeltaEntry768); 
     1328                    pushFollow(FOLLOW_ruleSectionHeading_in_ruleDeltaEntry795); 
    12761329                    lv_sectionheader_1_0=ruleSectionHeading(); 
    12771330 
     
    13011354                    break; 
    13021355                case 3 : 
    1303                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:432:6: ( (lv_extRule_2_0= ruleExtRule ) ) 
    1304                     { 
    1305                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:432:6: ( (lv_extRule_2_0= ruleExtRule ) ) 
    1306                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:433:1: (lv_extRule_2_0= ruleExtRule ) 
    1307                     { 
    1308                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:433:1: (lv_extRule_2_0= ruleExtRule ) 
    1309                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:434:3: lv_extRule_2_0= ruleExtRule 
     1356                    // ../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 ) ) 
     1357                    { 
     1358                    // ../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 ) ) 
     1359                    // ../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 ) 
     1360                    { 
     1361                    // ../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 ) 
     1362                    // ../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 
    13101363                    { 
    13111364                    if ( state.backtracking==0 ) { 
     
    13141367                             
    13151368                    } 
    1316                     pushFollow(FOLLOW_ruleExtRule_in_ruleDeltaEntry795); 
     1369                    pushFollow(FOLLOW_ruleExtRule_in_ruleDeltaEntry822); 
    13171370                    lv_extRule_2_0=ruleExtRule(); 
    13181371 
     
    13651418 
    13661419    // $ANTLR start "entryRuleMergeEntry" 
    1367     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:458:1: entryRuleMergeEntry returns [EObject current=null] : iv_ruleMergeEntry= ruleMergeEntry EOF ; 
     1420    // ../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 ; 
    13681421    public final EObject entryRuleMergeEntry() throws RecognitionException { 
    13691422        EObject current = null; 
     
    13741427        try { 
    13751428            if ( state.backtracking>0 && alreadyParsedRule(input, 9) ) { return current; } 
    1376             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:459:2: (iv_ruleMergeEntry= ruleMergeEntry EOF ) 
    1377             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:460:2: iv_ruleMergeEntry= ruleMergeEntry EOF 
     1429            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:478:2: (iv_ruleMergeEntry= ruleMergeEntry EOF ) 
     1430            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:479:2: iv_ruleMergeEntry= ruleMergeEntry EOF 
    13781431            { 
    13791432            if ( state.backtracking==0 ) { 
    13801433               newCompositeNode(grammarAccess.getMergeEntryRule());  
    13811434            } 
    1382             pushFollow(FOLLOW_ruleMergeEntry_in_entryRuleMergeEntry831); 
     1435            pushFollow(FOLLOW_ruleMergeEntry_in_entryRuleMergeEntry858); 
    13831436            iv_ruleMergeEntry=ruleMergeEntry(); 
    13841437 
     
    13881441               current =iv_ruleMergeEntry;  
    13891442            } 
    1390             match(input,EOF,FOLLOW_EOF_in_entryRuleMergeEntry841); if (state.failed) return current; 
     1443            match(input,EOF,FOLLOW_EOF_in_entryRuleMergeEntry868); if (state.failed) return current; 
    13911444 
    13921445            } 
     
    14071460 
    14081461    // $ANTLR start "ruleMergeEntry" 
    1409     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:467:1: ruleMergeEntry returns [EObject current=null] : ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_mergeRule_1_0= ruleMergeRule ) ) ) ; 
     1462    // ../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 ) ) ) ; 
    14101463    public final EObject ruleMergeEntry() throws RecognitionException { 
    14111464        EObject current = null; 
     
    14201473        try { 
    14211474            if ( state.backtracking>0 && alreadyParsedRule(input, 10) ) { return current; } 
    1422             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:470:28: ( ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_mergeRule_1_0= ruleMergeRule ) ) ) ) 
    1423             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:471:1: ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_mergeRule_1_0= ruleMergeRule ) ) ) 
    1424             { 
    1425             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:471:1: ( ( (lv_sectionheader_0_0= ruleSectionHeading ) ) | ( (lv_mergeRule_1_0= ruleMergeRule ) ) ) 
     1475            // ../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 ) ) ) ) 
     1476            // ../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 ) ) ) 
     1477            { 
     1478            // ../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 ) ) ) 
    14261479            int alt12=2; 
    14271480            int LA12_0 = input.LA(1); 
     
    14421495            switch (alt12) { 
    14431496                case 1 : 
    1444                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:471:2: ( (lv_sectionheader_0_0= ruleSectionHeading ) ) 
    1445                     { 
    1446                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:471:2: ( (lv_sectionheader_0_0= ruleSectionHeading ) ) 
    1447                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:472:1: (lv_sectionheader_0_0= ruleSectionHeading ) 
    1448                     { 
    1449                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:472:1: (lv_sectionheader_0_0= ruleSectionHeading ) 
    1450                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:473:3: lv_sectionheader_0_0= ruleSectionHeading 
     1497                    // ../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 ) ) 
     1498                    { 
     1499                    // ../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 ) ) 
     1500                    // ../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 ) 
     1501                    { 
     1502                    // ../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 ) 
     1503                    // ../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 
    14511504                    { 
    14521505                    if ( state.backtracking==0 ) { 
     
    14551508                             
    14561509                    } 
    1457                     pushFollow(FOLLOW_ruleSectionHeading_in_ruleMergeEntry887); 
     1510                    pushFollow(FOLLOW_ruleSectionHeading_in_ruleMergeEntry914); 
    14581511                    lv_sectionheader_0_0=ruleSectionHeading(); 
    14591512 
     
    14831536                    break; 
    14841537                case 2 : 
    1485                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:490:6: ( (lv_mergeRule_1_0= ruleMergeRule ) ) 
    1486                     { 
    1487                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:490:6: ( (lv_mergeRule_1_0= ruleMergeRule ) ) 
    1488                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:491:1: (lv_mergeRule_1_0= ruleMergeRule ) 
    1489                     { 
    1490                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:491:1: (lv_mergeRule_1_0= ruleMergeRule ) 
    1491                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:492:3: lv_mergeRule_1_0= ruleMergeRule 
     1538                    // ../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 ) ) 
     1539                    { 
     1540                    // ../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 ) ) 
     1541                    // ../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 ) 
     1542                    { 
     1543                    // ../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 ) 
     1544                    // ../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 
    14921545                    { 
    14931546                    if ( state.backtracking==0 ) { 
     
    14961549                             
    14971550                    } 
    1498                     pushFollow(FOLLOW_ruleMergeRule_in_ruleMergeEntry914); 
     1551                    pushFollow(FOLLOW_ruleMergeRule_in_ruleMergeEntry941); 
    14991552                    lv_mergeRule_1_0=ruleMergeRule(); 
    15001553 
     
    15471600 
    15481601    // $ANTLR start "entryRuleSectionHeading" 
    1549     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:516:1: entryRuleSectionHeading returns [EObject current=null] : iv_ruleSectionHeading= ruleSectionHeading EOF ; 
     1602    // ../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 ; 
    15501603    public final EObject entryRuleSectionHeading() throws RecognitionException { 
    15511604        EObject current = null; 
     
    15561609        try { 
    15571610            if ( state.backtracking>0 && alreadyParsedRule(input, 11) ) { return current; } 
    1558             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:517:2: (iv_ruleSectionHeading= ruleSectionHeading EOF ) 
    1559             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:518:2: iv_ruleSectionHeading= ruleSectionHeading EOF 
     1611            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:536:2: (iv_ruleSectionHeading= ruleSectionHeading EOF ) 
     1612            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:537:2: iv_ruleSectionHeading= ruleSectionHeading EOF 
    15601613            { 
    15611614            if ( state.backtracking==0 ) { 
    15621615               newCompositeNode(grammarAccess.getSectionHeadingRule());  
    15631616            } 
    1564             pushFollow(FOLLOW_ruleSectionHeading_in_entryRuleSectionHeading950); 
     1617            pushFollow(FOLLOW_ruleSectionHeading_in_entryRuleSectionHeading977); 
    15651618            iv_ruleSectionHeading=ruleSectionHeading(); 
    15661619 
     
    15701623               current =iv_ruleSectionHeading;  
    15711624            } 
    1572             match(input,EOF,FOLLOW_EOF_in_entryRuleSectionHeading960); if (state.failed) return current; 
     1625            match(input,EOF,FOLLOW_EOF_in_entryRuleSectionHeading987); if (state.failed) return current; 
    15731626 
    15741627            } 
     
    15891642 
    15901643    // $ANTLR start "ruleSectionHeading" 
    1591     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:525:1: ruleSectionHeading returns [EObject current=null] : ( () ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) ) ; 
     1644    // ../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 ) ) ) ; 
    15921645    public final EObject ruleSectionHeading() throws RecognitionException { 
    15931646        EObject current = null; 
     
    15991652        try { 
    16001653            if ( state.backtracking>0 && alreadyParsedRule(input, 12) ) { return current; } 
    1601             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:528:28: ( ( () ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) ) ) 
    1602             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:529:1: ( () ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) ) 
    1603             { 
    1604             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:529:1: ( () ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) ) 
    1605             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:529:2: () ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) 
    1606             { 
    1607             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:529:2: () 
    1608             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:530:2:  
     1654            // ../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 ) ) ) ) 
     1655            // ../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 ) ) ) 
     1656            { 
     1657            // ../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 ) ) ) 
     1658            // ../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 ) ) 
     1659            { 
     1660            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:548:2: () 
     1661            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:549:2:  
    16091662            { 
    16101663            if ( state.backtracking==0 ) { 
     
    16231676            } 
    16241677 
    1625             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:538:2: ( (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) ) 
    1626             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:539:1: (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) 
    1627             { 
    1628             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:539:1: (lv_sectionHeader_1_0= RULE_SECTIONHEADER ) 
    1629             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:540:3: lv_sectionHeader_1_0= RULE_SECTIONHEADER 
    1630             { 
    1631             lv_sectionHeader_1_0=(Token)match(input,RULE_SECTIONHEADER,FOLLOW_RULE_SECTIONHEADER_in_ruleSectionHeading1014); if (state.failed) return current; 
     1678            // ../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 ) ) 
     1679            // ../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 ) 
     1680            { 
     1681            // ../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 ) 
     1682            // ../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 
     1683            { 
     1684            lv_sectionHeader_1_0=(Token)match(input,RULE_SECTIONHEADER,FOLLOW_RULE_SECTIONHEADER_in_ruleSectionHeading1041); if (state.failed) return current; 
    16321685            if ( state.backtracking==0 ) { 
    16331686 
     
    16761729 
    16771730 
    1678     // $ANTLR start "entryRuleImport" 
    1679     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:564:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ; 
    1680     public final EObject entryRuleImport() throws RecognitionException { 
     1731    // $ANTLR start "entryRuleComment" 
     1732    // ../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 ; 
     1733    public final EObject entryRuleComment() throws RecognitionException { 
    16811734        EObject current = null; 
    1682         int entryRuleImport_StartIndex = input.index(); 
    1683         EObject iv_ruleImport = null; 
     1735        int entryRuleComment_StartIndex = input.index(); 
     1736        EObject iv_ruleComment = null; 
    16841737 
    16851738 
    16861739        try { 
    16871740            if ( state.backtracking>0 && alreadyParsedRule(input, 13) ) { return current; } 
    1688             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:565:2: (iv_ruleImport= ruleImport EOF ) 
    1689             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:566:2: iv_ruleImport= ruleImport EOF 
    1690             { 
    1691             if ( state.backtracking==0 ) { 
    1692                newCompositeNode(grammarAccess.getImportRule());  
    1693             } 
    1694             pushFollow(FOLLOW_ruleImport_in_entryRuleImport1055); 
    1695             iv_ruleImport=ruleImport(); 
     1741            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:584:2: (iv_ruleComment= ruleComment EOF ) 
     1742            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:585:2: iv_ruleComment= ruleComment EOF 
     1743            { 
     1744            if ( state.backtracking==0 ) { 
     1745               newCompositeNode(grammarAccess.getCommentRule());  
     1746            } 
     1747            pushFollow(FOLLOW_ruleComment_in_entryRuleComment1082); 
     1748            iv_ruleComment=ruleComment(); 
    16961749 
    16971750            state._fsp--; 
    16981751            if (state.failed) return current; 
    16991752            if ( state.backtracking==0 ) { 
    1700                current =iv_ruleImport;  
    1701             } 
    1702             match(input,EOF,FOLLOW_EOF_in_entryRuleImport1065); if (state.failed) return current; 
     1753               current =iv_ruleComment;  
     1754            } 
     1755            match(input,EOF,FOLLOW_EOF_in_entryRuleComment1092); if (state.failed) return current; 
    17031756 
    17041757            } 
     
    17111764            }  
    17121765        finally { 
    1713             if ( state.backtracking>0 ) { memoize(input, 13, entryRuleImport_StartIndex); } 
     1766            if ( state.backtracking>0 ) { memoize(input, 13, entryRuleComment_StartIndex); } 
     1767        } 
     1768        return current; 
     1769    } 
     1770    // $ANTLR end "entryRuleComment" 
     1771 
     1772 
     1773    // $ANTLR start "ruleComment" 
     1774    // ../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 ) ) ) ; 
     1775    public final EObject ruleComment() throws RecognitionException { 
     1776        EObject current = null; 
     1777        int ruleComment_StartIndex = input.index(); 
     1778        Token lv_content_1_0=null; 
     1779 
     1780         enterRule();  
     1781             
     1782        try { 
     1783            if ( state.backtracking>0 && alreadyParsedRule(input, 14) ) { return current; } 
     1784            // ../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 ) ) ) ) 
     1785            // ../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 ) ) ) 
     1786            { 
     1787            // ../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 ) ) ) 
     1788            // ../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 ) ) 
     1789            { 
     1790            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:596:2: () 
     1791            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:597:2:  
     1792            { 
     1793            if ( state.backtracking==0 ) { 
     1794                
     1795                  /* */  
     1796                 
     1797            } 
     1798            if ( state.backtracking==0 ) { 
     1799 
     1800                      current = forceCreateModelElement( 
     1801                          grammarAccess.getCommentAccess().getCommentAction_0(), 
     1802                          current); 
     1803                   
     1804            } 
     1805 
     1806            } 
     1807 
     1808            // ../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 ) ) 
     1809            // ../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 ) 
     1810            { 
     1811            // ../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 ) 
     1812            // ../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 
     1813            { 
     1814            lv_content_1_0=(Token)match(input,RULE_ML_COMMENT,FOLLOW_RULE_ML_COMMENT_in_ruleComment1146); if (state.failed) return current; 
     1815            if ( state.backtracking==0 ) { 
     1816 
     1817                                newLeafNode(lv_content_1_0, grammarAccess.getCommentAccess().getContentML_COMMENTTerminalRuleCall_1_0());  
     1818                         
     1819            } 
     1820            if ( state.backtracking==0 ) { 
     1821 
     1822                        if (current==null) { 
     1823                            current = createModelElement(grammarAccess.getCommentRule()); 
     1824                        } 
     1825                                setWithLastConsumed( 
     1826                                        current,  
     1827                                        "content", 
     1828                                lv_content_1_0,  
     1829                                "ML_COMMENT"); 
     1830                     
     1831            } 
     1832 
     1833            } 
     1834 
     1835 
     1836            } 
     1837 
     1838 
     1839            } 
     1840 
     1841 
     1842            } 
     1843 
     1844            if ( state.backtracking==0 ) { 
     1845               leaveRule();  
     1846            } 
     1847        } 
     1848          
     1849            catch (RecognitionException re) {  
     1850                recover(input,re);  
     1851                appendSkippedTokens(); 
     1852            }  
     1853        finally { 
     1854            if ( state.backtracking>0 ) { memoize(input, 14, ruleComment_StartIndex); } 
     1855        } 
     1856        return current; 
     1857    } 
     1858    // $ANTLR end "ruleComment" 
     1859 
     1860 
     1861    // $ANTLR start "entryRuleImport" 
     1862    // ../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 ; 
     1863    public final EObject entryRuleImport() throws RecognitionException { 
     1864        EObject current = null; 
     1865        int entryRuleImport_StartIndex = input.index(); 
     1866        EObject iv_ruleImport = null; 
     1867 
     1868 
     1869        try { 
     1870            if ( state.backtracking>0 && alreadyParsedRule(input, 15) ) { return current; } 
     1871            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:632:2: (iv_ruleImport= ruleImport EOF ) 
     1872            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:633:2: iv_ruleImport= ruleImport EOF 
     1873            { 
     1874            if ( state.backtracking==0 ) { 
     1875               newCompositeNode(grammarAccess.getImportRule());  
     1876            } 
     1877            pushFollow(FOLLOW_ruleImport_in_entryRuleImport1187); 
     1878            iv_ruleImport=ruleImport(); 
     1879 
     1880            state._fsp--; 
     1881            if (state.failed) return current; 
     1882            if ( state.backtracking==0 ) { 
     1883               current =iv_ruleImport;  
     1884            } 
     1885            match(input,EOF,FOLLOW_EOF_in_entryRuleImport1197); if (state.failed) return current; 
     1886 
     1887            } 
     1888 
     1889        } 
     1890          
     1891            catch (RecognitionException re) {  
     1892                recover(input,re);  
     1893                appendSkippedTokens(); 
     1894            }  
     1895        finally { 
     1896            if ( state.backtracking>0 ) { memoize(input, 15, entryRuleImport_StartIndex); } 
    17141897        } 
    17151898        return current; 
     
    17191902 
    17201903    // $ANTLR start "ruleImport" 
    1721     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:573: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= ';' ) ; 
     1904    // ../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= ';' ) ; 
    17221905    public final EObject ruleImport() throws RecognitionException { 
    17231906        EObject current = null; 
     
    17361919             
    17371920        try { 
    1738             if ( state.backtracking>0 && alreadyParsedRule(input, 14) ) { return current; } 
    1739             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:576: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= ';' ) ) 
    1740             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:577: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= ';' ) 
    1741             { 
    1742             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:577: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= ';' ) 
    1743             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:577: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= ';' 
    1744             { 
    1745             otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleImport1102); if (state.failed) return current; 
     1921            if ( state.backtracking>0 && alreadyParsedRule(input, 16) ) { return current; } 
     1922            // ../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= ';' ) ) 
     1923            // ../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= ';' ) 
     1924            { 
     1925            // ../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= ';' ) 
     1926            // ../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= ';' 
     1927            { 
     1928            otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleImport1234); if (state.failed) return current; 
    17461929            if ( state.backtracking==0 ) { 
    17471930 
     
    17491932                   
    17501933            } 
    1751             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:581:1: ( (lv_importURI_1_0= RULE_STRING ) ) 
    1752             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:582:1: (lv_importURI_1_0= RULE_STRING ) 
    1753             { 
    1754             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:582:1: (lv_importURI_1_0= RULE_STRING ) 
    1755             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:583:3: lv_importURI_1_0= RULE_STRING 
    1756             { 
    1757             lv_importURI_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport1119); if (state.failed) return current; 
     1934            // ../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 ) ) 
     1935            // ../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 ) 
     1936            { 
     1937            // ../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 ) 
     1938            // ../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 
     1939            { 
     1940            lv_importURI_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport1251); if (state.failed) return current; 
    17581941            if ( state.backtracking==0 ) { 
    17591942 
     
    17791962            } 
    17801963 
    1781             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:599:2: (otherlv_2= '/' ( ( (lv_grammarType_3_0= 'core' ) ) | ( (lv_grammarType_4_0= 'package' ) ) | ( (lv_grammarType_5_0= 'update' ) ) ) )? 
     1964            // ../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' ) ) ) )? 
    17821965            int alt14=2; 
    17831966            int LA14_0 = input.LA(1); 
     
    17881971            switch (alt14) { 
    17891972                case 1 : 
    1790                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:599:4: otherlv_2= '/' ( ( (lv_grammarType_3_0= 'core' ) ) | ( (lv_grammarType_4_0= 'package' ) ) | ( (lv_grammarType_5_0= 'update' ) ) ) 
    1791                     { 
    1792                     otherlv_2=(Token)match(input,19,FOLLOW_19_in_ruleImport1137); if (state.failed) return current; 
     1973                    // ../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' ) ) ) 
     1974                    { 
     1975                    otherlv_2=(Token)match(input,19,FOLLOW_19_in_ruleImport1269); if (state.failed) return current; 
    17931976                    if ( state.backtracking==0 ) { 
    17941977 
     
    17961979                           
    17971980                    } 
    1798                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:603:1: ( ( (lv_grammarType_3_0= 'core' ) ) | ( (lv_grammarType_4_0= 'package' ) ) | ( (lv_grammarType_5_0= 'update' ) ) ) 
     1981                    // ../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' ) ) ) 
    17991982                    int alt13=3; 
    18001983                    switch ( input.LA(1) ) { 
     
    18242007                    switch (alt13) { 
    18252008                        case 1 : 
    1826                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:603:2: ( (lv_grammarType_3_0= 'core' ) ) 
     2009                            // ../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' ) ) 
    18272010                            { 
    1828                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:603:2: ( (lv_grammarType_3_0= 'core' ) ) 
    1829                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:604:1: (lv_grammarType_3_0= 'core' ) 
     2011                            // ../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' ) ) 
     2012                            // ../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' ) 
    18302013                            { 
    1831                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:604:1: (lv_grammarType_3_0= 'core' ) 
    1832                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:605:3: lv_grammarType_3_0= 'core' 
     2014                            // ../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' ) 
     2015                            // ../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' 
    18332016                            { 
    1834                             lv_grammarType_3_0=(Token)match(input,20,FOLLOW_20_in_ruleImport1156); if (state.failed) return current; 
     2017                            lv_grammarType_3_0=(Token)match(input,20,FOLLOW_20_in_ruleImport1288); if (state.failed) return current; 
    18352018                            if ( state.backtracking==0 ) { 
    18362019 
     
    18562039                            break; 
    18572040                        case 2 : 
    1858                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:619:6: ( (lv_grammarType_4_0= 'package' ) ) 
     2041                            // ../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' ) ) 
    18592042                            { 
    1860                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:619:6: ( (lv_grammarType_4_0= 'package' ) ) 
    1861                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:620:1: (lv_grammarType_4_0= 'package' ) 
     2043                            // ../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' ) ) 
     2044                            // ../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' ) 
    18622045                            { 
    1863                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:620:1: (lv_grammarType_4_0= 'package' ) 
    1864                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:621:3: lv_grammarType_4_0= 'package' 
     2046                            // ../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' ) 
     2047                            // ../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' 
    18652048                            { 
    1866                             lv_grammarType_4_0=(Token)match(input,21,FOLLOW_21_in_ruleImport1193); if (state.failed) return current; 
     2049                            lv_grammarType_4_0=(Token)match(input,21,FOLLOW_21_in_ruleImport1325); if (state.failed) return current; 
    18672050                            if ( state.backtracking==0 ) { 
    18682051 
     
    18882071                            break; 
    18892072                        case 3 : 
    1890                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:635:6: ( (lv_grammarType_5_0= 'update' ) ) 
     2073                            // ../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' ) ) 
    18912074                            { 
    1892                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:635:6: ( (lv_grammarType_5_0= 'update' ) ) 
    1893                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:636:1: (lv_grammarType_5_0= 'update' ) 
     2075                            // ../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' ) ) 
     2076                            // ../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' ) 
    18942077                            { 
    1895                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:636:1: (lv_grammarType_5_0= 'update' ) 
    1896                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:637:3: lv_grammarType_5_0= 'update' 
     2078                            // ../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' ) 
     2079                            // ../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' 
    18972080                            { 
    1898                             lv_grammarType_5_0=(Token)match(input,22,FOLLOW_22_in_ruleImport1230); if (state.failed) return current; 
     2081                            lv_grammarType_5_0=(Token)match(input,22,FOLLOW_22_in_ruleImport1362); if (state.failed) return current; 
    18992082                            if ( state.backtracking==0 ) { 
    19002083 
     
    19282111            } 
    19292112 
    1930             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:650:5: (otherlv_6= 'label:' ( (lv_label_7_0= RULE_ID ) ) )? 
     2113            // ../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 ) ) )? 
    19312114            int alt15=2; 
    19322115            int LA15_0 = input.LA(1); 
     
    19372120            switch (alt15) { 
    19382121                case 1 : 
    1939                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:650:7: otherlv_6= 'label:' ( (lv_label_7_0= RULE_ID ) ) 
    1940                     { 
    1941                     otherlv_6=(Token)match(input,23,FOLLOW_23_in_ruleImport1259); if (state.failed) return current; 
     2122                    // ../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 ) ) 
     2123                    { 
     2124                    otherlv_6=(Token)match(input,23,FOLLOW_23_in_ruleImport1391); if (state.failed) return current; 
    19422125                    if ( state.backtracking==0 ) { 
    19432126 
     
    19452128                           
    19462129                    } 
    1947                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:654:1: ( (lv_label_7_0= RULE_ID ) ) 
    1948                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:655:1: (lv_label_7_0= RULE_ID ) 
    1949                     { 
    1950                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:655:1: (lv_label_7_0= RULE_ID ) 
    1951                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:656:3: lv_label_7_0= RULE_ID 
    1952                     { 
    1953                     lv_label_7_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleImport1276); if (state.failed) return current; 
     2130                    // ../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 ) ) 
     2131                    // ../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 ) 
     2132                    { 
     2133                    // ../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 ) 
     2134                    // ../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 
     2135                    { 
     2136                    lv_label_7_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleImport1408); if (state.failed) return current; 
    19542137                    if ( state.backtracking==0 ) { 
    19552138 
     
    19812164            } 
    19822165 
    1983             otherlv_8=(Token)match(input,15,FOLLOW_15_in_ruleImport1295); if (state.failed) return current; 
     2166            otherlv_8=(Token)match(input,15,FOLLOW_15_in_ruleImport1427); if (state.failed) return current; 
    19842167            if ( state.backtracking==0 ) { 
    19852168 
     
    20032186            }  
    20042187        finally { 
    2005             if ( state.backtracking>0 ) { memoize(input, 14, ruleImport_StartIndex); } 
     2188            if ( state.backtracking>0 ) { memoize(input, 16, ruleImport_StartIndex); } 
    20062189        } 
    20072190        return current; 
     
    20112194 
    20122195    // $ANTLR start "entryRuleRule" 
    2013     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:684:1: entryRuleRule returns [EObject current=null] : iv_ruleRule= ruleRule EOF ; 
     2196    // ../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 ; 
    20142197    public final EObject entryRuleRule() throws RecognitionException { 
    20152198        EObject current = null; 
     
    20192202 
    20202203        try { 
    2021             if ( state.backtracking>0 && alreadyParsedRule(input, 15) ) { return current; } 
    2022             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:685:2: (iv_ruleRule= ruleRule EOF ) 
    2023             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:686:2: iv_ruleRule= ruleRule EOF 
     2204            if ( state.backtracking>0 && alreadyParsedRule(input, 17) ) { return current; } 
     2205            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:752:2: (iv_ruleRule= ruleRule EOF ) 
     2206            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:753:2: iv_ruleRule= ruleRule EOF 
    20242207            { 
    20252208            if ( state.backtracking==0 ) { 
    20262209               newCompositeNode(grammarAccess.getRuleRule());  
    20272210            } 
    2028             pushFollow(FOLLOW_ruleRule_in_entryRuleRule1331); 
     2211            pushFollow(FOLLOW_ruleRule_in_entryRuleRule1463); 
    20292212            iv_ruleRule=ruleRule(); 
    20302213 
     
    20342217               current =iv_ruleRule;  
    20352218            } 
    2036             match(input,EOF,FOLLOW_EOF_in_entryRuleRule1341); if (state.failed) return current; 
     2219            match(input,EOF,FOLLOW_EOF_in_entryRuleRule1473); if (state.failed) return current; 
    20372220 
    20382221            } 
     
    20452228            }  
    20462229        finally { 
    2047             if ( state.backtracking>0 ) { memoize(input, 15, entryRuleRule_StartIndex); } 
     2230            if ( state.backtracking>0 ) { memoize(input, 17, entryRuleRule_StartIndex); } 
    20482231        } 
    20492232        return current; 
     
    20532236 
    20542237    // $ANTLR start "ruleRule" 
    2055     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:693: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= ';' )? ) ; 
     2238    // ../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= ';' )? ) ; 
    20562239    public final EObject ruleRule() throws RecognitionException { 
    20572240        EObject current = null; 
     
    20692252             
    20702253        try { 
    2071             if ( state.backtracking>0 && alreadyParsedRule(input, 16) ) { return current; } 
    2072             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:696: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= ';' )? ) ) 
    2073             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:697: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= ';' )? ) 
    2074             { 
    2075             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:697: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= ';' )? ) 
    2076             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:697: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= ';' )? 
    2077             { 
    2078             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:697:2: ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? 
     2254            if ( state.backtracking>0 && alreadyParsedRule(input, 18) ) { return current; } 
     2255            // ../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= ';' )? ) ) 
     2256            // ../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= ';' )? ) 
     2257            { 
     2258            // ../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= ';' )? ) 
     2259            // ../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= ';' )? 
     2260            { 
     2261            // ../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= '.' )? 
    20792262            int alt17=2; 
    20802263            int LA17_0 = input.LA(1); 
     
    20852268            switch (alt17) { 
    20862269                case 1 : 
    2087                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:697:3: ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' 
    2088                     { 
    2089                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:697:3: ( (lv_rulenumber_0_0= RULE_INT ) ) 
    2090                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:698:1: (lv_rulenumber_0_0= RULE_INT ) 
    2091                     { 
    2092                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:698:1: (lv_rulenumber_0_0= RULE_INT ) 
    2093                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:699:3: lv_rulenumber_0_0= RULE_INT 
    2094                     { 
    2095                     lv_rulenumber_0_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleRule1384); if (state.failed) return current; 
     2270                    // ../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= '.' 
     2271                    { 
     2272                    // ../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 ) ) 
     2273                    // ../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 ) 
     2274                    { 
     2275                    // ../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 ) 
     2276                    // ../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 
     2277                    { 
     2278                    lv_rulenumber_0_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleRule1516); if (state.failed) return current; 
    20962279                    if ( state.backtracking==0 ) { 
    20972280 
     
    21172300                    } 
    21182301 
    2119                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:715:2: ( (lv_rulevariant_1_0= RULE_ID ) )? 
     2302                    // ../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 ) )? 
    21202303                    int alt16=2; 
    21212304                    int LA16_0 = input.LA(1); 
     
    21262309                    switch (alt16) { 
    21272310                        case 1 : 
    2128                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:716:1: (lv_rulevariant_1_0= RULE_ID ) 
     2311                            // ../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 ) 
    21292312                            { 
    2130                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:716:1: (lv_rulevariant_1_0= RULE_ID ) 
    2131                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:717:3: lv_rulevariant_1_0= RULE_ID 
     2313                            // ../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 ) 
     2314                            // ../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 
    21322315                            { 
    2133                             lv_rulevariant_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRule1406); if (state.failed) return current; 
     2316                            lv_rulevariant_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRule1538); if (state.failed) return current; 
    21342317                            if ( state.backtracking==0 ) { 
    21352318 
     
    21582341                    } 
    21592342 
    2160                     otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleRule1424); if (state.failed) return current; 
     2343                    otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleRule1556); if (state.failed) return current; 
    21612344                    if ( state.backtracking==0 ) { 
    21622345 
     
    21702353            } 
    21712354 
    2172             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:737:3: ( (lv_name_3_0= RULE_ID ) ) 
    2173             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:738:1: (lv_name_3_0= RULE_ID ) 
    2174             { 
    2175             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:738:1: (lv_name_3_0= RULE_ID ) 
    2176             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:739:3: lv_name_3_0= RULE_ID 
    2177             { 
    2178             lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRule1443); if (state.failed) return current; 
     2355            // ../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 ) ) 
     2356            // ../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 ) 
     2357            { 
     2358            // ../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 ) 
     2359            // ../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 
     2360            { 
     2361            lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRule1575); if (state.failed) return current; 
    21792362            if ( state.backtracking==0 ) { 
    21802363 
     
    22002383            } 
    22012384 
    2202             otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleRule1460); if (state.failed) return current; 
     2385            otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleRule1592); if (state.failed) return current; 
    22032386            if ( state.backtracking==0 ) { 
    22042387 
     
    22062389                   
    22072390            } 
    2208             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:759:1: ( (lv_definitionList_5_0= ruleDefinitionList ) )? 
     2391            // ../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 ) )? 
    22092392            int alt18=2; 
    22102393            int LA18_0 = input.LA(1); 
     
    22292412            switch (alt18) { 
    22302413                case 1 : 
    2231                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:760:1: (lv_definitionList_5_0= ruleDefinitionList ) 
    2232                     { 
    2233                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:760:1: (lv_definitionList_5_0= ruleDefinitionList ) 
    2234                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:761:3: lv_definitionList_5_0= ruleDefinitionList 
     2414                    // ../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 ) 
     2415                    { 
     2416                    // ../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 ) 
     2417                    // ../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 
    22352418                    { 
    22362419                    if ( state.backtracking==0 ) { 
     
    22392422                             
    22402423                    } 
    2241                     pushFollow(FOLLOW_ruleDefinitionList_in_ruleRule1481); 
     2424                    pushFollow(FOLLOW_ruleDefinitionList_in_ruleRule1613); 
    22422425                    lv_definitionList_5_0=ruleDefinitionList(); 
    22432426 
     
    22662449            } 
    22672450 
    2268             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:777:3: (otherlv_6= ';' )? 
     2451            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:844:3: (otherlv_6= ';' )? 
    22692452            int alt19=2; 
    22702453            int LA19_0 = input.LA(1); 
     
    22752458            switch (alt19) { 
    22762459                case 1 : 
    2277                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:777:5: otherlv_6= ';' 
    2278                     { 
    2279                     otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleRule1495); if (state.failed) return current; 
     2460                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:844:5: otherlv_6= ';' 
     2461                    { 
     2462                    otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleRule1627); if (state.failed) return current; 
    22802463                    if ( state.backtracking==0 ) { 
    22812464 
     
    23052488            }  
    23062489        finally { 
    2307             if ( state.backtracking>0 ) { memoize(input, 16, ruleRule_StartIndex); } 
     2490            if ( state.backtracking>0 ) { memoize(input, 18, ruleRule_StartIndex); } 
    23082491        } 
    23092492        return current; 
     
    23132496 
    23142497    // $ANTLR start "entryRuleExtRule" 
    2315     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:789:1: entryRuleExtRule returns [EObject current=null] : iv_ruleExtRule= ruleExtRule EOF ; 
     2498    // ../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 ; 
    23162499    public final EObject entryRuleExtRule() throws RecognitionException { 
    23172500        EObject current = null; 
     
    23212504 
    23222505        try { 
    2323             if ( state.backtracking>0 && alreadyParsedRule(input, 17) ) { return current; } 
    2324             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:790:2: (iv_ruleExtRule= ruleExtRule EOF ) 
    2325             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:791:2: iv_ruleExtRule= ruleExtRule EOF 
     2506            if ( state.backtracking>0 && alreadyParsedRule(input, 19) ) { return current; } 
     2507            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:857:2: (iv_ruleExtRule= ruleExtRule EOF ) 
     2508            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:858:2: iv_ruleExtRule= ruleExtRule EOF 
    23262509            { 
    23272510            if ( state.backtracking==0 ) { 
    23282511               newCompositeNode(grammarAccess.getExtRuleRule());  
    23292512            } 
    2330             pushFollow(FOLLOW_ruleExtRule_in_entryRuleExtRule1533); 
     2513            pushFollow(FOLLOW_ruleExtRule_in_entryRuleExtRule1665); 
    23312514            iv_ruleExtRule=ruleExtRule(); 
    23322515 
     
    23362519               current =iv_ruleExtRule;  
    23372520            } 
    2338             match(input,EOF,FOLLOW_EOF_in_entryRuleExtRule1543); if (state.failed) return current; 
     2521            match(input,EOF,FOLLOW_EOF_in_entryRuleExtRule1675); if (state.failed) return current; 
    23392522 
    23402523            } 
     
    23472530            }  
    23482531        finally { 
    2349             if ( state.backtracking>0 ) { memoize(input, 17, entryRuleExtRule_StartIndex); } 
     2532            if ( state.backtracking>0 ) { memoize(input, 19, entryRuleExtRule_StartIndex); } 
    23502533        } 
    23512534        return current; 
     
    23552538 
    23562539    // $ANTLR start "ruleExtRule" 
    2357     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:798: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= ';' )? ) ; 
     2540    // ../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= ';' )? ) ; 
    23582541    public final EObject ruleExtRule() throws RecognitionException { 
    23592542        EObject current = null; 
     
    23832566             
    23842567        try { 
    2385             if ( state.backtracking>0 && alreadyParsedRule(input, 18) ) { return current; } 
    2386             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:801: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= ';' )? ) ) 
    2387             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:802: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= ';' )? ) 
    2388             { 
    2389             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:802: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= ';' )? ) 
    2390             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:802: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= ';' )? 
    2391             { 
    2392             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:802:2: ( ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' )? 
     2568            if ( state.backtracking>0 && alreadyParsedRule(input, 20) ) { return current; } 
     2569            // ../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= ';' )? ) ) 
     2570            // ../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= ';' )? ) 
     2571            { 
     2572            // ../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= ';' )? ) 
     2573            // ../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= ';' )? 
     2574            { 
     2575            // ../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= '.' )? 
    23932576            int alt21=2; 
    23942577            int LA21_0 = input.LA(1); 
     
    23992582            switch (alt21) { 
    24002583                case 1 : 
    2401                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:802:3: ( (lv_rulenumber_0_0= RULE_INT ) ) ( (lv_rulevariant_1_0= RULE_ID ) )? otherlv_2= '.' 
    2402                     { 
    2403                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:802:3: ( (lv_rulenumber_0_0= RULE_INT ) ) 
    2404                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:803:1: (lv_rulenumber_0_0= RULE_INT ) 
    2405                     { 
    2406                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:803:1: (lv_rulenumber_0_0= RULE_INT ) 
    2407                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:804:3: lv_rulenumber_0_0= RULE_INT 
    2408                     { 
    2409                     lv_rulenumber_0_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleExtRule1586); if (state.failed) return current; 
     2584                    // ../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= '.' 
     2585                    { 
     2586                    // ../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 ) ) 
     2587                    // ../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 ) 
     2588                    { 
     2589                    // ../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 ) 
     2590                    // ../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 
     2591                    { 
     2592                    lv_rulenumber_0_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleExtRule1718); if (state.failed) return current; 
    24102593                    if ( state.backtracking==0 ) { 
    24112594 
     
    24312614                    } 
    24322615 
    2433                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:820:2: ( (lv_rulevariant_1_0= RULE_ID ) )? 
     2616                    // ../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 ) )? 
    24342617                    int alt20=2; 
    24352618                    int LA20_0 = input.LA(1); 
     
    24402623                    switch (alt20) { 
    24412624                        case 1 : 
    2442                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:821:1: (lv_rulevariant_1_0= RULE_ID ) 
     2625                            // ../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 ) 
    24432626                            { 
    2444                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:821:1: (lv_rulevariant_1_0= RULE_ID ) 
    2445                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:822:3: lv_rulevariant_1_0= RULE_ID 
     2627                            // ../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 ) 
     2628                            // ../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 
    24462629                            { 
    2447                             lv_rulevariant_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleExtRule1608); if (state.failed) return current; 
     2630                            lv_rulevariant_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleExtRule1740); if (state.failed) return current; 
    24482631                            if ( state.backtracking==0 ) { 
    24492632 
     
    24722655                    } 
    24732656 
    2474                     otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleExtRule1626); if (state.failed) return current; 
     2657                    otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleExtRule1758); if (state.failed) return current; 
    24752658                    if ( state.backtracking==0 ) { 
    24762659 
     
    24842667            } 
    24852668 
    2486             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:842:3: ( (lv_name_3_0= RULE_ID ) ) 
    2487             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:843:1: (lv_name_3_0= RULE_ID ) 
    2488             { 
    2489             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:843:1: (lv_name_3_0= RULE_ID ) 
    2490             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:844:3: lv_name_3_0= RULE_ID 
    2491             { 
    2492             lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleExtRule1645); if (state.failed) return current; 
     2669            // ../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 ) ) 
     2670            // ../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 ) 
     2671            { 
     2672            // ../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 ) 
     2673            // ../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 
     2674            { 
     2675            lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleExtRule1777); if (state.failed) return current; 
    24932676            if ( state.backtracking==0 ) { 
    24942677 
     
    25142697            } 
    25152698 
    2516             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:860:2: (otherlv_4= '(' ( (lv_ruleext_5_0= RULE_INT ) ) otherlv_6= ')' ) 
    2517             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:860:4: otherlv_4= '(' ( (lv_ruleext_5_0= RULE_INT ) ) otherlv_6= ')' 
    2518             { 
    2519             otherlv_4=(Token)match(input,26,FOLLOW_26_in_ruleExtRule1663); if (state.failed) return current; 
     2699            // ../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= ')' ) 
     2700            // ../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= ')' 
     2701            { 
     2702            otherlv_4=(Token)match(input,26,FOLLOW_26_in_ruleExtRule1795); if (state.failed) return current; 
    25202703            if ( state.backtracking==0 ) { 
    25212704 
     
    25232706                   
    25242707            } 
    2525             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:864:1: ( (lv_ruleext_5_0= RULE_INT ) ) 
    2526             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:865:1: (lv_ruleext_5_0= RULE_INT ) 
    2527             { 
    2528             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:865:1: (lv_ruleext_5_0= RULE_INT ) 
    2529             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:866:3: lv_ruleext_5_0= RULE_INT 
    2530             { 
    2531             lv_ruleext_5_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleExtRule1680); if (state.failed) return current; 
     2708            // ../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 ) ) 
     2709            // ../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 ) 
     2710            { 
     2711            // ../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 ) 
     2712            // ../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 
     2713            { 
     2714            lv_ruleext_5_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleExtRule1812); if (state.failed) return current; 
    25322715            if ( state.backtracking==0 ) { 
    25332716 
     
    25532736            } 
    25542737 
    2555             otherlv_6=(Token)match(input,27,FOLLOW_27_in_ruleExtRule1697); if (state.failed) return current; 
     2738            otherlv_6=(Token)match(input,27,FOLLOW_27_in_ruleExtRule1829); if (state.failed) return current; 
    25562739            if ( state.backtracking==0 ) { 
    25572740 
     
    25622745            } 
    25632746 
    2564             otherlv_7=(Token)match(input,28,FOLLOW_28_in_ruleExtRule1710); if (state.failed) return current; 
     2747            otherlv_7=(Token)match(input,28,FOLLOW_28_in_ruleExtRule1842); if (state.failed) return current; 
    25652748            if ( state.backtracking==0 ) { 
    25662749 
     
    25682751                   
    25692752            } 
    2570             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:890:1: ( ( (lv_elements_8_0= ruleAtom ) ) | otherlv_9= ')' | otherlv_10= ']' | otherlv_11= '}' | otherlv_12= '|' | otherlv_13= '(' | otherlv_14= '[' | otherlv_15= '{' | otherlv_16= '*' | otherlv_17= '+' )* 
     2753            // ../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= '+' )* 
    25712754            loop22: 
    25722755            do { 
     
    25752758                switch (alt22) { 
    25762759                case 1 : 
    2577                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:890:2: ( (lv_elements_8_0= ruleAtom ) ) 
     2760                    // ../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 ) ) 
    25782761                    { 
    2579                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:890:2: ( (lv_elements_8_0= ruleAtom ) ) 
    2580                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:891:1: (lv_elements_8_0= ruleAtom ) 
     2762                    // ../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 ) ) 
     2763                    // ../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 ) 
    25812764                    { 
    2582                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:891:1: (lv_elements_8_0= ruleAtom ) 
    2583                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:892:3: lv_elements_8_0= ruleAtom 
     2765                    // ../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 ) 
     2766                    // ../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 
    25842767                    { 
    25852768                    if ( state.backtracking==0 ) { 
     
    25882771                             
    25892772                    } 
    2590                     pushFollow(FOLLOW_ruleAtom_in_ruleExtRule1732); 
     2773                    pushFollow(FOLLOW_ruleAtom_in_ruleExtRule1864); 
    25912774                    lv_elements_8_0=ruleAtom(); 
    25922775 
     
    26162799                    break; 
    26172800                case 2 : 
    2618                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:909:7: otherlv_9= ')' 
     2801                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:976:7: otherlv_9= ')' 
    26192802                    { 
    2620                     otherlv_9=(Token)match(input,27,FOLLOW_27_in_ruleExtRule1750); if (state.failed) return current; 
     2803                    otherlv_9=(Token)match(input,27,FOLLOW_27_in_ruleExtRule1882); if (state.failed) return current; 
    26212804                    if ( state.backtracking==0 ) { 
    26222805 
     
    26282811                    break; 
    26292812                case 3 : 
    2630                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:914:7: otherlv_10= ']' 
     2813                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:981:7: otherlv_10= ']' 
    26312814                    { 
    2632                     otherlv_10=(Token)match(input,29,FOLLOW_29_in_ruleExtRule1768); if (state.failed) return current; 
     2815                    otherlv_10=(Token)match(input,29,FOLLOW_29_in_ruleExtRule1900); if (state.failed) return current; 
    26332816                    if ( state.backtracking==0 ) { 
    26342817 
     
    26402823                    break; 
    26412824                case 4 : 
    2642                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:919:7: otherlv_11= '}' 
     2825                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:986:7: otherlv_11= '}' 
    26432826                    { 
    2644                     otherlv_11=(Token)match(input,30,FOLLOW_30_in_ruleExtRule1786); if (state.failed) return current; 
     2827                    otherlv_11=(Token)match(input,30,FOLLOW_30_in_ruleExtRule1918); if (state.failed) return current; 
    26452828                    if ( state.backtracking==0 ) { 
    26462829 
     
    26522835                    break; 
    26532836                case 5 : 
    2654                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:924:7: otherlv_12= '|' 
     2837                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:991:7: otherlv_12= '|' 
    26552838                    { 
    2656                     otherlv_12=(Token)match(input,31,FOLLOW_31_in_ruleExtRule1804); if (state.failed) return current; 
     2839                    otherlv_12=(Token)match(input,31,FOLLOW_31_in_ruleExtRule1936); if (state.failed) return current; 
    26572840                    if ( state.backtracking==0 ) { 
    26582841 
     
    26642847                    break; 
    26652848                case 6 : 
    2666                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:929:7: otherlv_13= '(' 
     2849                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:996:7: otherlv_13= '(' 
    26672850                    { 
    2668                     otherlv_13=(Token)match(input,26,FOLLOW_26_in_ruleExtRule1822); if (state.failed) return current; 
     2851                    otherlv_13=(Token)match(input,26,FOLLOW_26_in_ruleExtRule1954); if (state.failed) return current; 
    26692852                    if ( state.backtracking==0 ) { 
    26702853 
     
    26762859                    break; 
    26772860                case 7 : 
    2678                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:934:7: otherlv_14= '[' 
     2861                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1001:7: otherlv_14= '[' 
    26792862                    { 
    2680                     otherlv_14=(Token)match(input,32,FOLLOW_32_in_ruleExtRule1840); if (state.failed) return current; 
     2863                    otherlv_14=(Token)match(input,32,FOLLOW_32_in_ruleExtRule1972); if (state.failed) return current; 
    26812864                    if ( state.backtracking==0 ) { 
    26822865 
     
    26882871                    break; 
    26892872                case 8 : 
    2690                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:939:7: otherlv_15= '{' 
     2873                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1006:7: otherlv_15= '{' 
    26912874                    { 
    2692                     otherlv_15=(Token)match(input,33,FOLLOW_33_in_ruleExtRule1858); if (state.failed) return current; 
     2875                    otherlv_15=(Token)match(input,33,FOLLOW_33_in_ruleExtRule1990); if (state.failed) return current; 
    26932876                    if ( state.backtracking==0 ) { 
    26942877 
     
    27002883                    break; 
    27012884                case 9 : 
    2702                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:944:7: otherlv_16= '*' 
     2885                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1011:7: otherlv_16= '*' 
    27032886                    { 
    2704                     otherlv_16=(Token)match(input,34,FOLLOW_34_in_ruleExtRule1876); if (state.failed) return current; 
     2887                    otherlv_16=(Token)match(input,34,FOLLOW_34_in_ruleExtRule2008); if (state.failed) return current; 
    27052888                    if ( state.backtracking==0 ) { 
    27062889 
     
    27122895                    break; 
    27132896                case 10 : 
    2714                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:949:7: otherlv_17= '+' 
     2897                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1016:7: otherlv_17= '+' 
    27152898                    { 
    2716                     otherlv_17=(Token)match(input,35,FOLLOW_35_in_ruleExtRule1894); if (state.failed) return current; 
     2899                    otherlv_17=(Token)match(input,35,FOLLOW_35_in_ruleExtRule2026); if (state.failed) return current; 
    27172900                    if ( state.backtracking==0 ) { 
    27182901 
     
    27292912            } while (true); 
    27302913 
    2731             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:953:3: (otherlv_18= ';' )? 
     2914            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1020:3: (otherlv_18= ';' )? 
    27322915            int alt23=2; 
    27332916            int LA23_0 = input.LA(1); 
     
    27382921            switch (alt23) { 
    27392922                case 1 : 
    2740                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:953:5: otherlv_18= ';' 
    2741                     { 
    2742                     otherlv_18=(Token)match(input,15,FOLLOW_15_in_ruleExtRule1909); if (state.failed) return current; 
     2923                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1020:5: otherlv_18= ';' 
     2924                    { 
     2925                    otherlv_18=(Token)match(input,15,FOLLOW_15_in_ruleExtRule2041); if (state.failed) return current; 
    27432926                    if ( state.backtracking==0 ) { 
    27442927 
     
    27682951            }  
    27692952        finally { 
    2770             if ( state.backtracking>0 ) { memoize(input, 18, ruleExtRule_StartIndex); } 
     2953            if ( state.backtracking>0 ) { memoize(input, 20, ruleExtRule_StartIndex); } 
    27712954        } 
    27722955        return current; 
     
    27762959 
    27772960    // $ANTLR start "entryRuleMergeRule" 
    2778     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:965:1: entryRuleMergeRule returns [EObject current=null] : iv_ruleMergeRule= ruleMergeRule EOF ; 
     2961    // ../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 ; 
    27792962    public final EObject entryRuleMergeRule() throws RecognitionException { 
    27802963        EObject current = null; 
     
    27842967 
    27852968        try { 
    2786             if ( state.backtracking>0 && alreadyParsedRule(input, 19) ) { return current; } 
    2787             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:966:2: (iv_ruleMergeRule= ruleMergeRule EOF ) 
    2788             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:967:2: iv_ruleMergeRule= ruleMergeRule EOF 
     2969            if ( state.backtracking>0 && alreadyParsedRule(input, 21) ) { return current; } 
     2970            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1033:2: (iv_ruleMergeRule= ruleMergeRule EOF ) 
     2971            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1034:2: iv_ruleMergeRule= ruleMergeRule EOF 
    27892972            { 
    27902973            if ( state.backtracking==0 ) { 
    27912974               newCompositeNode(grammarAccess.getMergeRuleRule());  
    27922975            } 
    2793             pushFollow(FOLLOW_ruleMergeRule_in_entryRuleMergeRule1947); 
     2976            pushFollow(FOLLOW_ruleMergeRule_in_entryRuleMergeRule2079); 
    27942977            iv_ruleMergeRule=ruleMergeRule(); 
    27952978 
     
    27992982               current =iv_ruleMergeRule;  
    28002983            } 
    2801             match(input,EOF,FOLLOW_EOF_in_entryRuleMergeRule1957); if (state.failed) return current; 
     2984            match(input,EOF,FOLLOW_EOF_in_entryRuleMergeRule2089); if (state.failed) return current; 
    28022985 
    28032986            } 
     
    28102993            }  
    28112994        finally { 
    2812             if ( state.backtracking>0 ) { memoize(input, 19, entryRuleMergeRule_StartIndex); } 
     2995            if ( state.backtracking>0 ) { memoize(input, 21, entryRuleMergeRule_StartIndex); } 
    28132996        } 
    28142997        return current; 
     
    28183001 
    28193002    // $ANTLR start "ruleMergeRule" 
    2820     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:974:1: ruleMergeRule returns [EObject current=null] : (this_GlobalCombinator_0= ruleGlobalCombinator | this_RuleCombinator_1= ruleRuleCombinator | this_HookCombinator_2= ruleHookCombinator ) ; 
     3003    // ../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 ) ; 
    28213004    public final EObject ruleMergeRule() throws RecognitionException { 
    28223005        EObject current = null; 
     
    28323015             
    28333016        try { 
    2834             if ( state.backtracking>0 && alreadyParsedRule(input, 20) ) { return current; } 
    2835             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:977:28: ( (this_GlobalCombinator_0= ruleGlobalCombinator | this_RuleCombinator_1= ruleRuleCombinator | this_HookCombinator_2= ruleHookCombinator ) ) 
    2836             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:978:1: (this_GlobalCombinator_0= ruleGlobalCombinator | this_RuleCombinator_1= ruleRuleCombinator | this_HookCombinator_2= ruleHookCombinator ) 
    2837             { 
    2838             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:978:1: (this_GlobalCombinator_0= ruleGlobalCombinator | this_RuleCombinator_1= ruleRuleCombinator | this_HookCombinator_2= ruleHookCombinator ) 
     3017            if ( state.backtracking>0 && alreadyParsedRule(input, 22) ) { return current; } 
     3018            // ../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 ) ) 
     3019            // ../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 ) 
     3020            { 
     3021            // ../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 ) 
    28393022            int alt24=3; 
    28403023            switch ( input.LA(1) ) { 
     
    28643047            switch (alt24) { 
    28653048                case 1 : 
    2866                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:979:2: this_GlobalCombinator_0= ruleGlobalCombinator 
     3049                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1046:2: this_GlobalCombinator_0= ruleGlobalCombinator 
    28673050                    { 
    28683051                    if ( state.backtracking==0 ) { 
     
    28763059                           
    28773060                    } 
    2878                     pushFollow(FOLLOW_ruleGlobalCombinator_in_ruleMergeRule2007); 
     3061                    pushFollow(FOLLOW_ruleGlobalCombinator_in_ruleMergeRule2139); 
    28793062                    this_GlobalCombinator_0=ruleGlobalCombinator(); 
    28803063 
     
    28913074                    break; 
    28923075                case 2 : 
    2893                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:992:2: this_RuleCombinator_1= ruleRuleCombinator 
     3076                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1059:2: this_RuleCombinator_1= ruleRuleCombinator 
    28943077                    { 
    28953078                    if ( state.backtracking==0 ) { 
     
    29033086                           
    29043087                    } 
    2905                     pushFollow(FOLLOW_ruleRuleCombinator_in_ruleMergeRule2037); 
     3088                    pushFollow(FOLLOW_ruleRuleCombinator_in_ruleMergeRule2169); 
    29063089                    this_RuleCombinator_1=ruleRuleCombinator(); 
    29073090 
     
    29183101                    break; 
    29193102                case 3 : 
    2920                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1005:2: this_HookCombinator_2= ruleHookCombinator 
     3103                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1072:2: this_HookCombinator_2= ruleHookCombinator 
    29213104                    { 
    29223105                    if ( state.backtracking==0 ) { 
     
    29303113                           
    29313114                    } 
    2932                     pushFollow(FOLLOW_ruleHookCombinator_in_ruleMergeRule2067); 
     3115                    pushFollow(FOLLOW_ruleHookCombinator_in_ruleMergeRule2199); 
    29333116                    this_HookCombinator_2=ruleHookCombinator(); 
    29343117 
     
    29603143            }  
    29613144        finally { 
    2962             if ( state.backtracking>0 ) { memoize(input, 20, ruleMergeRule_StartIndex); } 
     3145            if ( state.backtracking>0 ) { memoize(input, 22, ruleMergeRule_StartIndex); } 
    29633146        } 
    29643147        return current; 
     
    29683151 
    29693152    // $ANTLR start "entryRuleGlobalCombinator" 
    2970     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1024:1: entryRuleGlobalCombinator returns [EObject current=null] : iv_ruleGlobalCombinator= ruleGlobalCombinator EOF ; 
     3153    // ../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 ; 
    29713154    public final EObject entryRuleGlobalCombinator() throws RecognitionException { 
    29723155        EObject current = null; 
     
    29763159 
    29773160        try { 
    2978             if ( state.backtracking>0 && alreadyParsedRule(input, 21) ) { return current; } 
    2979             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1025:2: (iv_ruleGlobalCombinator= ruleGlobalCombinator EOF ) 
    2980             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1026:2: iv_ruleGlobalCombinator= ruleGlobalCombinator EOF 
     3161            if ( state.backtracking>0 && alreadyParsedRule(input, 23) ) { return current; } 
     3162            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1092:2: (iv_ruleGlobalCombinator= ruleGlobalCombinator EOF ) 
     3163            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1093:2: iv_ruleGlobalCombinator= ruleGlobalCombinator EOF 
    29813164            { 
    29823165            if ( state.backtracking==0 ) { 
    29833166               newCompositeNode(grammarAccess.getGlobalCombinatorRule());  
    29843167            } 
    2985             pushFollow(FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator2102); 
     3168            pushFollow(FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator2234); 
    29863169            iv_ruleGlobalCombinator=ruleGlobalCombinator(); 
    29873170 
     
    29913174               current =iv_ruleGlobalCombinator;  
    29923175            } 
    2993             match(input,EOF,FOLLOW_EOF_in_entryRuleGlobalCombinator2112); if (state.failed) return current; 
     3176            match(input,EOF,FOLLOW_EOF_in_entryRuleGlobalCombinator2244); if (state.failed) return current; 
    29943177 
    29953178            } 
     
    30023185            }  
    30033186        finally { 
    3004             if ( state.backtracking>0 ) { memoize(input, 21, entryRuleGlobalCombinator_StartIndex); } 
     3187            if ( state.backtracking>0 ) { memoize(input, 23, entryRuleGlobalCombinator_StartIndex); } 
    30053188        } 
    30063189        return current; 
     
    30103193 
    30113194    // $ANTLR start "ruleGlobalCombinator" 
    3012     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1033:1: ruleGlobalCombinator returns [EObject current=null] : ( (otherlv_0= 'global' otherlv_1= 'combinator:' ) ( (lv_logic_2_0= RULE_LOGIC ) ) (otherlv_3= ';' )? ) ; 
     3195    // ../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= ';' )? ) ; 
    30133196    public final EObject ruleGlobalCombinator() throws RecognitionException { 
    30143197        EObject current = null; 
     
    30223205             
    30233206        try { 
    3024             if ( state.backtracking>0 && alreadyParsedRule(input, 22) ) { return current; } 
    3025             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1036:28: ( ( (otherlv_0= 'global' otherlv_1= 'combinator:' ) ( (lv_logic_2_0= RULE_LOGIC ) ) (otherlv_3= ';' )? ) ) 
    3026             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1037:1: ( (otherlv_0= 'global' otherlv_1= 'combinator:' ) ( (lv_logic_2_0= RULE_LOGIC ) ) (otherlv_3= ';' )? ) 
    3027             { 
    3028             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1037:1: ( (otherlv_0= 'global' otherlv_1= 'combinator:' ) ( (lv_logic_2_0= RULE_LOGIC ) ) (otherlv_3= ';' )? ) 
    3029             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1037:2: (otherlv_0= 'global' otherlv_1= 'combinator:' ) ( (lv_logic_2_0= RULE_LOGIC ) ) (otherlv_3= ';' )? 
    3030             { 
    3031             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1037:2: (otherlv_0= 'global' otherlv_1= 'combinator:' ) 
    3032             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1037:4: otherlv_0= 'global' otherlv_1= 'combinator:' 
    3033             { 
    3034             otherlv_0=(Token)match(input,36,FOLLOW_36_in_ruleGlobalCombinator2150); if (state.failed) return current; 
     3207            if ( state.backtracking>0 && alreadyParsedRule(input, 24) ) { return current; } 
     3208            // ../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= ';' )? ) ) 
     3209            // ../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= ';' )? ) 
     3210            { 
     3211            // ../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= ';' )? ) 
     3212            // ../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= ';' )? 
     3213            { 
     3214            // ../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:' ) 
     3215            // ../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:' 
     3216            { 
     3217            otherlv_0=(Token)match(input,36,FOLLOW_36_in_ruleGlobalCombinator2282); if (state.failed) return current; 
    30353218            if ( state.backtracking==0 ) { 
    30363219 
     
    30383221                   
    30393222            } 
    3040             otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleGlobalCombinator2162); if (state.failed) return current; 
     3223            otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleGlobalCombinator2294); if (state.failed) return current; 
    30413224            if ( state.backtracking==0 ) { 
    30423225 
     
    30473230            } 
    30483231 
    3049             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1045:2: ( (lv_logic_2_0= RULE_LOGIC ) ) 
    3050             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1046:1: (lv_logic_2_0= RULE_LOGIC ) 
    3051             { 
    3052             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1046:1: (lv_logic_2_0= RULE_LOGIC ) 
    3053             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1047:3: lv_logic_2_0= RULE_LOGIC 
    3054             { 
    3055             lv_logic_2_0=(Token)match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_ruleGlobalCombinator2180); if (state.failed) return current; 
     3232            // ../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 ) ) 
     3233            // ../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 ) 
     3234            { 
     3235            // ../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 ) 
     3236            // ../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 
     3237            { 
     3238            lv_logic_2_0=(Token)match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_ruleGlobalCombinator2312); if (state.failed) return current; 
    30563239            if ( state.backtracking==0 ) { 
    30573240 
     
    30773260            } 
    30783261 
    3079             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1063:2: (otherlv_3= ';' )? 
     3262            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1130:2: (otherlv_3= ';' )? 
    30803263            int alt25=2; 
    30813264            int LA25_0 = input.LA(1); 
     
    30863269            switch (alt25) { 
    30873270                case 1 : 
    3088                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1063:4: otherlv_3= ';' 
    3089                     { 
    3090                     otherlv_3=(Token)match(input,15,FOLLOW_15_in_ruleGlobalCombinator2198); if (state.failed) return current; 
     3271                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1130:4: otherlv_3= ';' 
     3272                    { 
     3273                    otherlv_3=(Token)match(input,15,FOLLOW_15_in_ruleGlobalCombinator2330); if (state.failed) return current; 
    30913274                    if ( state.backtracking==0 ) { 
    30923275 
     
    31163299            }  
    31173300        finally { 
    3118             if ( state.backtracking>0 ) { memoize(input, 22, ruleGlobalCombinator_StartIndex); } 
     3301            if ( state.backtracking>0 ) { memoize(input, 24, ruleGlobalCombinator_StartIndex); } 
    31193302        } 
    31203303        return current; 
     
    31243307 
    31253308    // $ANTLR start "entryRuleRuleCombinator" 
    3126     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1075:1: entryRuleRuleCombinator returns [EObject current=null] : iv_ruleRuleCombinator= ruleRuleCombinator EOF ; 
     3309    // ../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 ; 
    31273310    public final EObject entryRuleRuleCombinator() throws RecognitionException { 
    31283311        EObject current = null; 
     
    31323315 
    31333316        try { 
    3134             if ( state.backtracking>0 && alreadyParsedRule(input, 23) ) { return current; } 
    3135             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1076:2: (iv_ruleRuleCombinator= ruleRuleCombinator EOF ) 
    3136             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1077:2: iv_ruleRuleCombinator= ruleRuleCombinator EOF 
     3317            if ( state.backtracking>0 && alreadyParsedRule(input, 25) ) { return current; } 
     3318            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1143:2: (iv_ruleRuleCombinator= ruleRuleCombinator EOF ) 
     3319            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1144:2: iv_ruleRuleCombinator= ruleRuleCombinator EOF 
    31373320            { 
    31383321            if ( state.backtracking==0 ) { 
    31393322               newCompositeNode(grammarAccess.getRuleCombinatorRule());  
    31403323            } 
    3141             pushFollow(FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator2236); 
     3324            pushFollow(FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator2368); 
    31423325            iv_ruleRuleCombinator=ruleRuleCombinator(); 
    31433326 
     
    31473330               current =iv_ruleRuleCombinator;  
    31483331            } 
    3149             match(input,EOF,FOLLOW_EOF_in_entryRuleRuleCombinator2246); if (state.failed) return current; 
     3332            match(input,EOF,FOLLOW_EOF_in_entryRuleRuleCombinator2378); if (state.failed) return current; 
    31503333 
    31513334            } 
     
    31583341            }  
    31593342        finally { 
    3160             if ( state.backtracking>0 ) { memoize(input, 23, entryRuleRuleCombinator_StartIndex); } 
     3343            if ( state.backtracking>0 ) { memoize(input, 25, entryRuleRuleCombinator_StartIndex); } 
    31613344        } 
    31623345        return current; 
     
    31663349 
    31673350    // $ANTLR start "ruleRuleCombinator" 
    3168     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1084: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= ';' )? ) ; 
     3351    // ../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= ';' )? ) ; 
    31693352    public final EObject ruleRuleCombinator() throws RecognitionException { 
    31703353        EObject current = null; 
     
    31823365             
    31833366        try { 
    3184             if ( state.backtracking>0 && alreadyParsedRule(input, 24) ) { return current; } 
    3185             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1087: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= ';' )? ) ) 
    3186             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1088: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= ';' )? ) 
    3187             { 
    3188             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1088: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= ';' )? ) 
    3189             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1088: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= ';' )? 
    3190             { 
    3191             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1088:2: (otherlv_0= 'rule' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) ) 
    3192             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1088:4: otherlv_0= 'rule' otherlv_1= 'combinator:' ( (lv_name_2_0= RULE_ID ) ) 
    3193             { 
    3194             otherlv_0=(Token)match(input,38,FOLLOW_38_in_ruleRuleCombinator2284); if (state.failed) return current; 
     3367            if ( state.backtracking>0 && alreadyParsedRule(input, 26) ) { return current; } 
     3368            // ../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= ';' )? ) ) 
     3369            // ../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= ';' )? ) 
     3370            { 
     3371            // ../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= ';' )? ) 
     3372            // ../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= ';' )? 
     3373            { 
     3374            // ../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 ) ) ) 
     3375            // ../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 ) ) 
     3376            { 
     3377            otherlv_0=(Token)match(input,38,FOLLOW_38_in_ruleRuleCombinator2416); if (state.failed) return current; 
    31953378            if ( state.backtracking==0 ) { 
    31963379 
     
    31983381                   
    31993382            } 
    3200             otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleRuleCombinator2296); if (state.failed) return current; 
     3383            otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleRuleCombinator2428); if (state.failed) return current; 
    32013384            if ( state.backtracking==0 ) { 
    32023385 
     
    32043387                   
    32053388            } 
    3206             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1096:1: ( (lv_name_2_0= RULE_ID ) ) 
    3207             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1097:1: (lv_name_2_0= RULE_ID ) 
    3208             { 
    3209             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1097:1: (lv_name_2_0= RULE_ID ) 
    3210             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1098:3: lv_name_2_0= RULE_ID 
    3211             { 
    3212             lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuleCombinator2313); if (state.failed) return current; 
     3389            // ../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 ) ) 
     3390            // ../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 ) 
     3391            { 
     3392            // ../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 ) 
     3393            // ../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 
     3394            { 
     3395            lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuleCombinator2445); if (state.failed) return current; 
    32133396            if ( state.backtracking==0 ) { 
    32143397 
     
    32373420            } 
    32383421 
    3239             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1114:3: ( (lv_logic_3_0= RULE_LOGIC ) ) 
    3240             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1115:1: (lv_logic_3_0= RULE_LOGIC ) 
    3241             { 
    3242             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1115:1: (lv_logic_3_0= RULE_LOGIC ) 
    3243             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1116:3: lv_logic_3_0= RULE_LOGIC 
    3244             { 
    3245             lv_logic_3_0=(Token)match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_ruleRuleCombinator2336); if (state.failed) return current; 
     3422            // ../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 ) ) 
     3423            // ../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 ) 
     3424            { 
     3425            // ../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 ) 
     3426            // ../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 
     3427            { 
     3428            lv_logic_3_0=(Token)match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_ruleRuleCombinator2468); if (state.failed) return current; 
    32463429            if ( state.backtracking==0 ) { 
    32473430 
     
    32673450            } 
    32683451 
    3269             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1132:2: (otherlv_4= '(' ( (lv_LABEL_5_0= RULE_STRING ) ) otherlv_6= ')' )* 
     3452            // ../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= ')' )* 
    32703453            loop26: 
    32713454            do { 
     
    32803463                switch (alt26) { 
    32813464                case 1 : 
    3282                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1132:4: otherlv_4= '(' ( (lv_LABEL_5_0= RULE_STRING ) ) otherlv_6= ')' 
     3465                    // ../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= ')' 
    32833466                    { 
    3284                     otherlv_4=(Token)match(input,26,FOLLOW_26_in_ruleRuleCombinator2354); if (state.failed) return current; 
     3467                    otherlv_4=(Token)match(input,26,FOLLOW_26_in_ruleRuleCombinator2486); if (state.failed) return current; 
    32853468                    if ( state.backtracking==0 ) { 
    32863469 
     
    32883471                           
    32893472                    } 
    3290                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1136:1: ( (lv_LABEL_5_0= RULE_STRING ) ) 
    3291                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1137:1: (lv_LABEL_5_0= RULE_STRING ) 
     3473                    // ../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 ) ) 
     3474                    // ../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 ) 
    32923475                    { 
    3293                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1137:1: (lv_LABEL_5_0= RULE_STRING ) 
    3294                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1138:3: lv_LABEL_5_0= RULE_STRING 
     3476                    // ../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 ) 
     3477                    // ../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 
    32953478                    { 
    3296                     lv_LABEL_5_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleRuleCombinator2371); if (state.failed) return current; 
     3479                    lv_LABEL_5_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleRuleCombinator2503); if (state.failed) return current; 
    32973480                    if ( state.backtracking==0 ) { 
    32983481 
     
    33183501                    } 
    33193502 
    3320                     otherlv_6=(Token)match(input,27,FOLLOW_27_in_ruleRuleCombinator2388); if (state.failed) return current; 
     3503                    otherlv_6=(Token)match(input,27,FOLLOW_27_in_ruleRuleCombinator2520); if (state.failed) return current; 
    33213504                    if ( state.backtracking==0 ) { 
    33223505 
     
    33333516            } while (true); 
    33343517 
    3335             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1158:3: (otherlv_7= ';' )? 
     3518            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1225:3: (otherlv_7= ';' )? 
    33363519            int alt27=2; 
    33373520            int LA27_0 = input.LA(1); 
     
    33423525            switch (alt27) { 
    33433526                case 1 : 
    3344                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1158:5: otherlv_7= ';' 
    3345                     { 
    3346                     otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleRuleCombinator2403); if (state.failed) return current; 
     3527                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1225:5: otherlv_7= ';' 
     3528                    { 
     3529                    otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleRuleCombinator2535); if (state.failed) return current; 
    33473530                    if ( state.backtracking==0 ) { 
    33483531 
     
    33723555            }  
    33733556        finally { 
    3374             if ( state.backtracking>0 ) { memoize(input, 24, ruleRuleCombinator_StartIndex); } 
     3557            if ( state.backtracking>0 ) { memoize(input, 26, ruleRuleCombinator_StartIndex); } 
    33753558        } 
    33763559        return current; 
     
    33803563 
    33813564    // $ANTLR start "entryRuleHookCombinator" 
    3382     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1170:1: entryRuleHookCombinator returns [EObject current=null] : iv_ruleHookCombinator= ruleHookCombinator EOF ; 
     3565    // ../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 ; 
    33833566    public final EObject entryRuleHookCombinator() throws RecognitionException { 
    33843567        EObject current = null; 
     
    33883571 
    33893572        try { 
    3390             if ( state.backtracking>0 && alreadyParsedRule(input, 25) ) { return current; } 
    3391             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1171:2: (iv_ruleHookCombinator= ruleHookCombinator EOF ) 
    3392             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1172:2: iv_ruleHookCombinator= ruleHookCombinator EOF 
     3573            if ( state.backtracking>0 && alreadyParsedRule(input, 27) ) { return current; } 
     3574            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1238:2: (iv_ruleHookCombinator= ruleHookCombinator EOF ) 
     3575            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1239:2: iv_ruleHookCombinator= ruleHookCombinator EOF 
    33933576            { 
    33943577            if ( state.backtracking==0 ) { 
    33953578               newCompositeNode(grammarAccess.getHookCombinatorRule());  
    33963579            } 
    3397             pushFollow(FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator2441); 
     3580            pushFollow(FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator2573); 
    33983581            iv_ruleHookCombinator=ruleHookCombinator(); 
    33993582 
     
    34033586               current =iv_ruleHookCombinator;  
    34043587            } 
    3405             match(input,EOF,FOLLOW_EOF_in_entryRuleHookCombinator2451); if (state.failed) return current; 
     3588            match(input,EOF,FOLLOW_EOF_in_entryRuleHookCombinator2583); if (state.failed) return current; 
    34063589 
    34073590            } 
     
    34143597            }  
    34153598        finally { 
    3416             if ( state.backtracking>0 ) { memoize(input, 25, entryRuleHookCombinator_StartIndex); } 
     3599            if ( state.backtracking>0 ) { memoize(input, 27, entryRuleHookCombinator_StartIndex); } 
    34173600        } 
    34183601        return current; 
     
    34223605 
    34233606    // $ANTLR start "ruleHookCombinator" 
    3424     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1179: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= ';' )? ) ; 
     3607    // ../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= ';' )? ) ; 
    34253608    public final EObject ruleHookCombinator() throws RecognitionException { 
    34263609        EObject current = null; 
     
    34413624             
    34423625        try { 
    3443             if ( state.backtracking>0 && alreadyParsedRule(input, 26) ) { return current; } 
    3444             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1182: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= ';' )? ) ) 
    3445             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1183: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= ';' )? ) 
    3446             { 
    3447             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1183: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= ';' )? ) 
    3448             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1183: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= ';' )? 
    3449             { 
    3450             otherlv_0=(Token)match(input,39,FOLLOW_39_in_ruleHookCombinator2488); if (state.failed) return current; 
     3626            if ( state.backtracking>0 && alreadyParsedRule(input, 28) ) { return current; } 
     3627            // ../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= ';' )? ) ) 
     3628            // ../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= ';' )? ) 
     3629            { 
     3630            // ../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= ';' )? ) 
     3631            // ../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= ';' )? 
     3632            { 
     3633            otherlv_0=(Token)match(input,39,FOLLOW_39_in_ruleHookCombinator2620); if (state.failed) return current; 
    34513634            if ( state.backtracking==0 ) { 
    34523635 
     
    34543637                   
    34553638            } 
    3456             otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleHookCombinator2500); if (state.failed) return current; 
     3639            otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleHookCombinator2632); if (state.failed) return current; 
    34573640            if ( state.backtracking==0 ) { 
    34583641 
     
    34603643                   
    34613644            } 
    3462             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1191:1: ( (lv_name_2_0= RULE_ID ) ) 
    3463             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1192:1: (lv_name_2_0= RULE_ID ) 
    3464             { 
    3465             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1192:1: (lv_name_2_0= RULE_ID ) 
    3466             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1193:3: lv_name_2_0= RULE_ID 
    3467             { 
    3468             lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleHookCombinator2517); if (state.failed) return current; 
     3645            // ../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 ) ) 
     3646            // ../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 ) 
     3647            { 
     3648            // ../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 ) 
     3649            // ../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 
     3650            { 
     3651            lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleHookCombinator2649); if (state.failed) return current; 
    34693652            if ( state.backtracking==0 ) { 
    34703653 
     
    34903673            } 
    34913674 
    3492             otherlv_3=(Token)match(input,26,FOLLOW_26_in_ruleHookCombinator2534); if (state.failed) return current; 
     3675            otherlv_3=(Token)match(input,26,FOLLOW_26_in_ruleHookCombinator2666); if (state.failed) return current; 
    34933676            if ( state.backtracking==0 ) { 
    34943677 
     
    34963679                   
    34973680            } 
    3498             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1213:1: ( (lv_ruleext_4_0= RULE_INT ) ) 
    3499             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1214:1: (lv_ruleext_4_0= RULE_INT ) 
    3500             { 
    3501             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1214:1: (lv_ruleext_4_0= RULE_INT ) 
    3502             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1215:3: lv_ruleext_4_0= RULE_INT 
    3503             { 
    3504             lv_ruleext_4_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleHookCombinator2551); if (state.failed) return current; 
     3681            // ../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 ) ) 
     3682            // ../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 ) 
     3683            { 
     3684            // ../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 ) 
     3685            // ../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 
     3686            { 
     3687            lv_ruleext_4_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleHookCombinator2683); if (state.failed) return current; 
    35053688            if ( state.backtracking==0 ) { 
    35063689 
     
    35263709            } 
    35273710 
    3528             otherlv_5=(Token)match(input,27,FOLLOW_27_in_ruleHookCombinator2568); if (state.failed) return current; 
     3711            otherlv_5=(Token)match(input,27,FOLLOW_27_in_ruleHookCombinator2700); if (state.failed) return current; 
    35293712            if ( state.backtracking==0 ) { 
    35303713 
     
    35323715                   
    35333716            } 
    3534             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1235:1: ( (lv_logic_6_0= RULE_LOGIC ) )? 
     3717            // ../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 ) )? 
    35353718            int alt28=2; 
    35363719            int LA28_0 = input.LA(1); 
     
    35413724            switch (alt28) { 
    35423725                case 1 : 
    3543                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1236:1: (lv_logic_6_0= RULE_LOGIC ) 
    3544                     { 
    3545                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1236:1: (lv_logic_6_0= RULE_LOGIC ) 
    3546                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1237:3: lv_logic_6_0= RULE_LOGIC 
    3547                     { 
    3548                     lv_logic_6_0=(Token)match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_ruleHookCombinator2585); if (state.failed) return current; 
     3726                    // ../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 ) 
     3727                    { 
     3728                    // ../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 ) 
     3729                    // ../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 
     3730                    { 
     3731                    lv_logic_6_0=(Token)match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_ruleHookCombinator2717); if (state.failed) return current; 
    35493732                    if ( state.backtracking==0 ) { 
    35503733 
     
    35733756            } 
    35743757 
    3575             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1253:3: (otherlv_7= '(' ( (lv_LABEL_8_0= RULE_STRING ) ) otherlv_9= ')' )+ 
     3758            // ../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= ')' )+ 
    35763759            int cnt29=0; 
    35773760            loop29: 
     
    35873770                switch (alt29) { 
    35883771                case 1 : 
    3589                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1253:5: otherlv_7= '(' ( (lv_LABEL_8_0= RULE_STRING ) ) otherlv_9= ')' 
     3772                    // ../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= ')' 
    35903773                    { 
    3591                     otherlv_7=(Token)match(input,26,FOLLOW_26_in_ruleHookCombinator2604); if (state.failed) return current; 
     3774                    otherlv_7=(Token)match(input,26,FOLLOW_26_in_ruleHookCombinator2736); if (state.failed) return current; 
    35923775                    if ( state.backtracking==0 ) { 
    35933776 
     
    35953778                           
    35963779                    } 
    3597                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1257:1: ( (lv_LABEL_8_0= RULE_STRING ) ) 
    3598                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1258:1: (lv_LABEL_8_0= RULE_STRING ) 
     3780                    // ../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 ) ) 
     3781                    // ../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 ) 
    35993782                    { 
    3600                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1258:1: (lv_LABEL_8_0= RULE_STRING ) 
    3601                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1259:3: lv_LABEL_8_0= RULE_STRING 
     3783                    // ../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 ) 
     3784                    // ../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 
    36023785                    { 
    3603                     lv_LABEL_8_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleHookCombinator2621); if (state.failed) return current; 
     3786                    lv_LABEL_8_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleHookCombinator2753); if (state.failed) return current; 
    36043787                    if ( state.backtracking==0 ) { 
    36053788 
     
    36253808                    } 
    36263809 
    3627                     otherlv_9=(Token)match(input,27,FOLLOW_27_in_ruleHookCombinator2638); if (state.failed) return current; 
     3810                    otherlv_9=(Token)match(input,27,FOLLOW_27_in_ruleHookCombinator2770); if (state.failed) return current; 
    36283811                    if ( state.backtracking==0 ) { 
    36293812 
     
    36453828            } while (true); 
    36463829 
    3647             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1279:3: (otherlv_10= ';' )? 
     3830            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1346:3: (otherlv_10= ';' )? 
    36483831            int alt30=2; 
    36493832            int LA30_0 = input.LA(1); 
     
    36543837            switch (alt30) { 
    36553838                case 1 : 
    3656                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1279:5: otherlv_10= ';' 
    3657                     { 
    3658                     otherlv_10=(Token)match(input,15,FOLLOW_15_in_ruleHookCombinator2653); if (state.failed) return current; 
     3839                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1346:5: otherlv_10= ';' 
     3840                    { 
     3841                    otherlv_10=(Token)match(input,15,FOLLOW_15_in_ruleHookCombinator2785); if (state.failed) return current; 
    36593842                    if ( state.backtracking==0 ) { 
    36603843 
     
    36843867            }  
    36853868        finally { 
    3686             if ( state.backtracking>0 ) { memoize(input, 26, ruleHookCombinator_StartIndex); } 
     3869            if ( state.backtracking>0 ) { memoize(input, 28, ruleHookCombinator_StartIndex); } 
    36873870        } 
    36883871        return current; 
     
    36923875 
    36933876    // $ANTLR start "entryRuleDefinitionList" 
    3694     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1291:1: entryRuleDefinitionList returns [EObject current=null] : iv_ruleDefinitionList= ruleDefinitionList EOF ; 
     3877    // ../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 ; 
    36953878    public final EObject entryRuleDefinitionList() throws RecognitionException { 
    36963879        EObject current = null; 
     
    37003883 
    37013884        try { 
    3702             if ( state.backtracking>0 && alreadyParsedRule(input, 27) ) { return current; } 
    3703             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1292:2: (iv_ruleDefinitionList= ruleDefinitionList EOF ) 
    3704             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1293:2: iv_ruleDefinitionList= ruleDefinitionList EOF 
     3885            if ( state.backtracking>0 && alreadyParsedRule(input, 29) ) { return current; } 
     3886            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1359:2: (iv_ruleDefinitionList= ruleDefinitionList EOF ) 
     3887            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1360:2: iv_ruleDefinitionList= ruleDefinitionList EOF 
    37053888            { 
    37063889            if ( state.backtracking==0 ) { 
    37073890               newCompositeNode(grammarAccess.getDefinitionListRule());  
    37083891            } 
    3709             pushFollow(FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList2691); 
     3892            pushFollow(FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList2823); 
    37103893            iv_ruleDefinitionList=ruleDefinitionList(); 
    37113894 
     
    37153898               current =iv_ruleDefinitionList;  
    37163899            } 
    3717             match(input,EOF,FOLLOW_EOF_in_entryRuleDefinitionList2701); if (state.failed) return current; 
     3900            match(input,EOF,FOLLOW_EOF_in_entryRuleDefinitionList2833); if (state.failed) return current; 
    37183901 
    37193902            } 
     
    37263909            }  
    37273910        finally { 
    3728             if ( state.backtracking>0 ) { memoize(input, 27, entryRuleDefinitionList_StartIndex); } 
     3911            if ( state.backtracking>0 ) { memoize(input, 29, entryRuleDefinitionList_StartIndex); } 
    37293912        } 
    37303913        return current; 
     
    37343917 
    37353918    // $ANTLR start "ruleDefinitionList" 
    3736     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1300:1: ruleDefinitionList returns [EObject current=null] : ( ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* ) ; 
     3919    // ../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 ) ) )* ) ; 
    37373920    public final EObject ruleDefinitionList() throws RecognitionException { 
    37383921        EObject current = null; 
     
    37473930             
    37483931        try { 
    3749             if ( state.backtracking>0 && alreadyParsedRule(input, 28) ) { return current; } 
    3750             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1303:28: ( ( ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* ) ) 
    3751             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1304:1: ( ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* ) 
    3752             { 
    3753             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1304:1: ( ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* ) 
    3754             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1304:2: ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* 
    3755             { 
    3756             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1304:2: ( (lv_singleDefinition_0_0= ruleSingleDefinition ) ) 
    3757             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1305:1: (lv_singleDefinition_0_0= ruleSingleDefinition ) 
    3758             { 
    3759             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1305:1: (lv_singleDefinition_0_0= ruleSingleDefinition ) 
    3760             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1306:3: lv_singleDefinition_0_0= ruleSingleDefinition 
     3932            if ( state.backtracking>0 && alreadyParsedRule(input, 30) ) { return current; } 
     3933            // ../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 ) ) )* ) ) 
     3934            // ../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 ) ) )* ) 
     3935            { 
     3936            // ../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 ) ) )* ) 
     3937            // ../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 ) ) )* 
     3938            { 
     3939            // ../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 ) ) 
     3940            // ../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 ) 
     3941            { 
     3942            // ../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 ) 
     3943            // ../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 
    37613944            { 
    37623945            if ( state.backtracking==0 ) { 
     
    37653948                     
    37663949            } 
    3767             pushFollow(FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2747); 
     3950            pushFollow(FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2879); 
    37683951            lv_singleDefinition_0_0=ruleSingleDefinition(); 
    37693952 
     
    37893972            } 
    37903973 
    3791             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1322:2: (otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) )* 
     3974            // ../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 ) ) )* 
    37923975            loop31: 
    37933976            do { 
     
    38023985                switch (alt31) { 
    38033986                case 1 : 
    3804                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1322:4: otherlv_1= '|' ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) 
     3987                    // ../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 ) ) 
    38053988                    { 
    3806                     otherlv_1=(Token)match(input,31,FOLLOW_31_in_ruleDefinitionList2760); if (state.failed) return current; 
     3989                    otherlv_1=(Token)match(input,31,FOLLOW_31_in_ruleDefinitionList2892); if (state.failed) return current; 
    38073990                    if ( state.backtracking==0 ) { 
    38083991 
     
    38103993                           
    38113994                    } 
    3812                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1326:1: ( (lv_singleDefinition_2_0= ruleSingleDefinition ) ) 
    3813                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1327:1: (lv_singleDefinition_2_0= ruleSingleDefinition ) 
     3995                    // ../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 ) ) 
     3996                    // ../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 ) 
    38143997                    { 
    3815                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1327:1: (lv_singleDefinition_2_0= ruleSingleDefinition ) 
    3816                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1328:3: lv_singleDefinition_2_0= ruleSingleDefinition 
     3998                    // ../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 ) 
     3999                    // ../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 
    38174000                    { 
    38184001                    if ( state.backtracking==0 ) { 
     
    38214004                             
    38224005                    } 
    3823                     pushFollow(FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2781); 
     4006                    pushFollow(FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2913); 
    38244007                    lv_singleDefinition_2_0=ruleSingleDefinition(); 
    38254008 
     
    38704053            }  
    38714054        finally { 
    3872             if ( state.backtracking>0 ) { memoize(input, 28, ruleDefinitionList_StartIndex); } 
     4055            if ( state.backtracking>0 ) { memoize(input, 30, ruleDefinitionList_StartIndex); } 
    38734056        } 
    38744057        return current; 
     
    38784061 
    38794062    // $ANTLR start "entryRuleSingleDefinition" 
    3880     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1352:1: entryRuleSingleDefinition returns [EObject current=null] : iv_ruleSingleDefinition= ruleSingleDefinition EOF ; 
     4063    // ../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 ; 
    38814064    public final EObject entryRuleSingleDefinition() throws RecognitionException { 
    38824065        EObject current = null; 
     
    38864069 
    38874070        try { 
    3888             if ( state.backtracking>0 && alreadyParsedRule(input, 29) ) { return current; } 
    3889             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1353:2: (iv_ruleSingleDefinition= ruleSingleDefinition EOF ) 
    3890             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1354:2: iv_ruleSingleDefinition= ruleSingleDefinition EOF 
     4071            if ( state.backtracking>0 && alreadyParsedRule(input, 31) ) { return current; } 
     4072            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1420:2: (iv_ruleSingleDefinition= ruleSingleDefinition EOF ) 
     4073            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1421:2: iv_ruleSingleDefinition= ruleSingleDefinition EOF 
    38914074            { 
    38924075            if ( state.backtracking==0 ) { 
    38934076               newCompositeNode(grammarAccess.getSingleDefinitionRule());  
    38944077            } 
    3895             pushFollow(FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition2819); 
     4078            pushFollow(FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition2951); 
    38964079            iv_ruleSingleDefinition=ruleSingleDefinition(); 
    38974080 
     
    39014084               current =iv_ruleSingleDefinition;  
    39024085            } 
    3903             match(input,EOF,FOLLOW_EOF_in_entryRuleSingleDefinition2829); if (state.failed) return current; 
     4086            match(input,EOF,FOLLOW_EOF_in_entryRuleSingleDefinition2961); if (state.failed) return current; 
    39044087 
    39054088            } 
     
    39124095            }  
    39134096        finally { 
    3914             if ( state.backtracking>0 ) { memoize(input, 29, entryRuleSingleDefinition_StartIndex); } 
     4097            if ( state.backtracking>0 ) { memoize(input, 31, entryRuleSingleDefinition_StartIndex); } 
    39154098        } 
    39164099        return current; 
     
    39204103 
    39214104    // $ANTLR start "ruleSingleDefinition" 
    3922     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1361:1: ruleSingleDefinition returns [EObject current=null] : ( (lv_terms_0_0= ruleTerm ) )+ ; 
     4105    // ../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 ) )+ ; 
    39234106    public final EObject ruleSingleDefinition() throws RecognitionException { 
    39244107        EObject current = null; 
     
    39304113             
    39314114        try { 
    3932             if ( state.backtracking>0 && alreadyParsedRule(input, 30) ) { return current; } 
    3933             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1364:28: ( ( (lv_terms_0_0= ruleTerm ) )+ ) 
    3934             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1365:1: ( (lv_terms_0_0= ruleTerm ) )+ 
    3935             { 
    3936             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1365:1: ( (lv_terms_0_0= ruleTerm ) )+ 
     4115            if ( state.backtracking>0 && alreadyParsedRule(input, 32) ) { return current; } 
     4116            // ../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 ) )+ ) 
     4117            // ../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 ) )+ 
     4118            { 
     4119            // ../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 ) )+ 
    39374120            int cnt32=0; 
    39384121            loop32: 
     
    39664149                switch (alt32) { 
    39674150                case 1 : 
    3968                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1366:1: (lv_terms_0_0= ruleTerm ) 
     4151                    // ../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 ) 
    39694152                    { 
    3970                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1366:1: (lv_terms_0_0= ruleTerm ) 
    3971                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1367:3: lv_terms_0_0= ruleTerm 
     4153                    // ../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 ) 
     4154                    // ../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 
    39724155                    { 
    39734156                    if ( state.backtracking==0 ) { 
     
    39764159                             
    39774160                    } 
    3978                     pushFollow(FOLLOW_ruleTerm_in_ruleSingleDefinition2874); 
     4161                    pushFollow(FOLLOW_ruleTerm_in_ruleSingleDefinition3006); 
    39794162                    lv_terms_0_0=ruleTerm(); 
    39804163 
     
    40244207            }  
    40254208        finally { 
    4026             if ( state.backtracking>0 ) { memoize(input, 30, ruleSingleDefinition_StartIndex); } 
     4209            if ( state.backtracking>0 ) { memoize(input, 32, ruleSingleDefinition_StartIndex); } 
    40274210        } 
    40284211        return current; 
     
    40324215 
    40334216    // $ANTLR start "entryRuleTerm" 
    4034     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1391:1: entryRuleTerm returns [EObject current=null] : iv_ruleTerm= ruleTerm EOF ; 
     4217    // ../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 ; 
    40354218    public final EObject entryRuleTerm() throws RecognitionException { 
    40364219        EObject current = null; 
     
    40404223 
    40414224        try { 
    4042             if ( state.backtracking>0 && alreadyParsedRule(input, 31) ) { return current; } 
    4043             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1392:2: (iv_ruleTerm= ruleTerm EOF ) 
    4044             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1393:2: iv_ruleTerm= ruleTerm EOF 
     4225            if ( state.backtracking>0 && alreadyParsedRule(input, 33) ) { return current; } 
     4226            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1459:2: (iv_ruleTerm= ruleTerm EOF ) 
     4227            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1460:2: iv_ruleTerm= ruleTerm EOF 
    40454228            { 
    40464229            if ( state.backtracking==0 ) { 
    40474230               newCompositeNode(grammarAccess.getTermRule());  
    40484231            } 
    4049             pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm2910); 
     4232            pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm3042); 
    40504233            iv_ruleTerm=ruleTerm(); 
    40514234 
     
    40554238               current =iv_ruleTerm;  
    40564239            } 
    4057             match(input,EOF,FOLLOW_EOF_in_entryRuleTerm2920); if (state.failed) return current; 
     4240            match(input,EOF,FOLLOW_EOF_in_entryRuleTerm3052); if (state.failed) return current; 
    40584241 
    40594242            } 
     
    40664249            }  
    40674250        finally { 
    4068             if ( state.backtracking>0 ) { memoize(input, 31, entryRuleTerm_StartIndex); } 
     4251            if ( state.backtracking>0 ) { memoize(input, 33, entryRuleTerm_StartIndex); } 
    40694252        } 
    40704253        return current; 
     
    40744257 
    40754258    // $ANTLR start "ruleTerm" 
    4076     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1400: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 ) ) ) ; 
     4259    // ../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 ) ) ) ; 
    40774260    public final EObject ruleTerm() throws RecognitionException { 
    40784261        EObject current = null; 
     
    40904273             
    40914274        try { 
    4092             if ( state.backtracking>0 && alreadyParsedRule(input, 32) ) { return current; } 
    4093             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1403:28: ( ( ( (lv_termAtom_0_0= ruleAtom ) ) | ( (lv_termGroupedSequence_1_0= ruleGroupedSequence ) ) | ( (lv_termOptionalSequence_2_0= ruleOptionalSequence ) ) | ( (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) ) ) ) 
    4094             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1404:1: ( ( (lv_termAtom_0_0= ruleAtom ) ) | ( (lv_termGroupedSequence_1_0= ruleGroupedSequence ) ) | ( (lv_termOptionalSequence_2_0= ruleOptionalSequence ) ) | ( (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) ) ) 
    4095             { 
    4096             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1404:1: ( ( (lv_termAtom_0_0= ruleAtom ) ) | ( (lv_termGroupedSequence_1_0= ruleGroupedSequence ) ) | ( (lv_termOptionalSequence_2_0= ruleOptionalSequence ) ) | ( (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) ) ) 
     4275            if ( state.backtracking>0 && alreadyParsedRule(input, 34) ) { return current; } 
     4276            // ../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 ) ) ) ) 
     4277            // ../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 ) ) ) 
     4278            { 
     4279            // ../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 ) ) ) 
    40974280            int alt33=4; 
    40984281            switch ( input.LA(1) ) { 
     
    41294312            switch (alt33) { 
    41304313                case 1 : 
    4131                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1404:2: ( (lv_termAtom_0_0= ruleAtom ) ) 
    4132                     { 
    4133                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1404:2: ( (lv_termAtom_0_0= ruleAtom ) ) 
    4134                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1405:1: (lv_termAtom_0_0= ruleAtom ) 
    4135                     { 
    4136                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1405:1: (lv_termAtom_0_0= ruleAtom ) 
    4137                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1406:3: lv_termAtom_0_0= ruleAtom 
     4314                    // ../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 ) ) 
     4315                    { 
     4316                    // ../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 ) ) 
     4317                    // ../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 ) 
     4318                    { 
     4319                    // ../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 ) 
     4320                    // ../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 
    41384321                    { 
    41394322                    if ( state.backtracking==0 ) { 
     
    41424325                             
    41434326                    } 
    4144                     pushFollow(FOLLOW_ruleAtom_in_ruleTerm2966); 
     4327                    pushFollow(FOLLOW_ruleAtom_in_ruleTerm3098); 
    41454328                    lv_termAtom_0_0=ruleAtom(); 
    41464329 
     
    41704353                    break; 
    41714354                case 2 : 
    4172                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1423:6: ( (lv_termGroupedSequence_1_0= ruleGroupedSequence ) ) 
    4173                     { 
    4174                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1423:6: ( (lv_termGroupedSequence_1_0= ruleGroupedSequence ) ) 
    4175                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1424:1: (lv_termGroupedSequence_1_0= ruleGroupedSequence ) 
    4176                     { 
    4177                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1424:1: (lv_termGroupedSequence_1_0= ruleGroupedSequence ) 
    4178                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1425:3: lv_termGroupedSequence_1_0= ruleGroupedSequence 
     4355                    // ../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 ) ) 
     4356                    { 
     4357                    // ../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 ) ) 
     4358                    // ../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 ) 
     4359                    { 
     4360                    // ../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 ) 
     4361                    // ../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 
    41794362                    { 
    41804363                    if ( state.backtracking==0 ) { 
     
    41834366                             
    41844367                    } 
    4185                     pushFollow(FOLLOW_ruleGroupedSequence_in_ruleTerm2993); 
     4368                    pushFollow(FOLLOW_ruleGroupedSequence_in_ruleTerm3125); 
    41864369                    lv_termGroupedSequence_1_0=ruleGroupedSequence(); 
    41874370 
     
    42114394                    break; 
    42124395                case 3 : 
    4213                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1442:6: ( (lv_termOptionalSequence_2_0= ruleOptionalSequence ) ) 
    4214                     { 
    4215                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1442:6: ( (lv_termOptionalSequence_2_0= ruleOptionalSequence ) ) 
    4216                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1443:1: (lv_termOptionalSequence_2_0= ruleOptionalSequence ) 
    4217                     { 
    4218                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1443:1: (lv_termOptionalSequence_2_0= ruleOptionalSequence ) 
    4219                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1444:3: lv_termOptionalSequence_2_0= ruleOptionalSequence 
     4396                    // ../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 ) ) 
     4397                    { 
     4398                    // ../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 ) ) 
     4399                    // ../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 ) 
     4400                    { 
     4401                    // ../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 ) 
     4402                    // ../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 
    42204403                    { 
    42214404                    if ( state.backtracking==0 ) { 
     
    42244407                             
    42254408                    } 
    4226                     pushFollow(FOLLOW_ruleOptionalSequence_in_ruleTerm3020); 
     4409                    pushFollow(FOLLOW_ruleOptionalSequence_in_ruleTerm3152); 
    42274410                    lv_termOptionalSequence_2_0=ruleOptionalSequence(); 
    42284411 
     
    42524435                    break; 
    42534436                case 4 : 
    4254                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1461:6: ( (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) ) 
    4255                     { 
    4256                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1461:6: ( (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) ) 
    4257                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1462:1: (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) 
    4258                     { 
    4259                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1462:1: (lv_termRepeatedSequence_3_0= ruleRepeatedSequence ) 
    4260                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1463:3: lv_termRepeatedSequence_3_0= ruleRepeatedSequence 
     4437                    // ../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 ) ) 
     4438                    { 
     4439                    // ../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 ) ) 
     4440                    // ../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 ) 
     4441                    { 
     4442                    // ../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 ) 
     4443                    // ../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 
    42614444                    { 
    42624445                    if ( state.backtracking==0 ) { 
     
    42654448                             
    42664449                    } 
    4267                     pushFollow(FOLLOW_ruleRepeatedSequence_in_ruleTerm3047); 
     4450                    pushFollow(FOLLOW_ruleRepeatedSequence_in_ruleTerm3179); 
    42684451                    lv_termRepeatedSequence_3_0=ruleRepeatedSequence(); 
    42694452 
     
    43084491            }  
    43094492        finally { 
    4310             if ( state.backtracking>0 ) { memoize(input, 32, ruleTerm_StartIndex); } 
     4493            if ( state.backtracking>0 ) { memoize(input, 34, ruleTerm_StartIndex); } 
    43114494        } 
    43124495        return current; 
     
    43164499 
    43174500    // $ANTLR start "entryRuleAtom" 
    4318     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1487:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ; 
     4501    // ../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 ; 
    43194502    public final EObject entryRuleAtom() throws RecognitionException { 
    43204503        EObject current = null; 
     
    43244507 
    43254508        try { 
    4326             if ( state.backtracking>0 && alreadyParsedRule(input, 33) ) { return current; } 
    4327             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1488:2: (iv_ruleAtom= ruleAtom EOF ) 
    4328             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1489:2: iv_ruleAtom= ruleAtom EOF 
     4509            if ( state.backtracking>0 && alreadyParsedRule(input, 35) ) { return current; } 
     4510            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1555:2: (iv_ruleAtom= ruleAtom EOF ) 
     4511            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1556:2: iv_ruleAtom= ruleAtom EOF 
    43294512            { 
    43304513            if ( state.backtracking==0 ) { 
    43314514               newCompositeNode(grammarAccess.getAtomRule());  
    43324515            } 
    4333             pushFollow(FOLLOW_ruleAtom_in_entryRuleAtom3083); 
     4516            pushFollow(FOLLOW_ruleAtom_in_entryRuleAtom3215); 
    43344517            iv_ruleAtom=ruleAtom(); 
    43354518 
     
    43394522               current =iv_ruleAtom;  
    43404523            } 
    4341             match(input,EOF,FOLLOW_EOF_in_entryRuleAtom3093); if (state.failed) return current; 
     4524            match(input,EOF,FOLLOW_EOF_in_entryRuleAtom3225); if (state.failed) return current; 
    43424525 
    43434526            } 
     
    43504533            }  
    43514534        finally { 
    4352             if ( state.backtracking>0 ) { memoize(input, 33, entryRuleAtom_StartIndex); } 
     4535            if ( state.backtracking>0 ) { memoize(input, 35, entryRuleAtom_StartIndex); } 
    43534536        } 
    43544537        return current; 
     
    43584541 
    43594542    // $ANTLR start "ruleAtom" 
    4360     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1496:1: ruleAtom returns [EObject current=null] : ( ( (lv_atomStringRule_0_0= ruleStringRule ) ) | ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) ) ; 
     4543    // ../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 ) ) ) ; 
    43614544    public final EObject ruleAtom() throws RecognitionException { 
    43624545        EObject current = null; 
     
    43704553             
    43714554        try { 
    4372             if ( state.backtracking>0 && alreadyParsedRule(input, 34) ) { return current; } 
    4373             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1499:28: ( ( ( (lv_atomStringRule_0_0= ruleStringRule ) ) | ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) ) ) 
    4374             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1500:1: ( ( (lv_atomStringRule_0_0= ruleStringRule ) ) | ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) ) 
    4375             { 
    4376             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1500:1: ( ( (lv_atomStringRule_0_0= ruleStringRule ) ) | ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) ) 
     4555            if ( state.backtracking>0 && alreadyParsedRule(input, 36) ) { return current; } 
     4556            // ../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 ) ) ) ) 
     4557            // ../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 ) ) ) 
     4558            { 
     4559            // ../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 ) ) ) 
    43774560            int alt34=2; 
    43784561            int LA34_0 = input.LA(1); 
     
    43934576            switch (alt34) { 
    43944577                case 1 : 
    4395                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1500:2: ( (lv_atomStringRule_0_0= ruleStringRule ) ) 
    4396                     { 
    4397                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1500:2: ( (lv_atomStringRule_0_0= ruleStringRule ) ) 
    4398                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1501:1: (lv_atomStringRule_0_0= ruleStringRule ) 
    4399                     { 
    4400                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1501:1: (lv_atomStringRule_0_0= ruleStringRule ) 
    4401                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1502:3: lv_atomStringRule_0_0= ruleStringRule 
     4578                    // ../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 ) ) 
     4579                    { 
     4580                    // ../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 ) ) 
     4581                    // ../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 ) 
     4582                    { 
     4583                    // ../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 ) 
     4584                    // ../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 
    44024585                    { 
    44034586                    if ( state.backtracking==0 ) { 
     
    44064589                             
    44074590                    } 
    4408                     pushFollow(FOLLOW_ruleStringRule_in_ruleAtom3139); 
     4591                    pushFollow(FOLLOW_ruleStringRule_in_ruleAtom3271); 
    44094592                    lv_atomStringRule_0_0=ruleStringRule(); 
    44104593 
     
    44344617                    break; 
    44354618                case 2 : 
    4436                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1519:6: ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) 
    4437                     { 
    4438                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1519:6: ( (lv_atomRuleReference_1_0= ruleRuleReference ) ) 
    4439                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1520:1: (lv_atomRuleReference_1_0= ruleRuleReference ) 
    4440                     { 
    4441                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1520:1: (lv_atomRuleReference_1_0= ruleRuleReference ) 
    4442                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1521:3: lv_atomRuleReference_1_0= ruleRuleReference 
     4619                    // ../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 ) ) 
     4620                    { 
     4621                    // ../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 ) ) 
     4622                    // ../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 ) 
     4623                    { 
     4624                    // ../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 ) 
     4625                    // ../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 
    44434626                    { 
    44444627                    if ( state.backtracking==0 ) { 
     
    44474630                             
    44484631                    } 
    4449                     pushFollow(FOLLOW_ruleRuleReference_in_ruleAtom3166); 
     4632                    pushFollow(FOLLOW_ruleRuleReference_in_ruleAtom3298); 
    44504633                    lv_atomRuleReference_1_0=ruleRuleReference(); 
    44514634 
     
    44904673            }  
    44914674        finally { 
    4492             if ( state.backtracking>0 ) { memoize(input, 34, ruleAtom_StartIndex); } 
     4675            if ( state.backtracking>0 ) { memoize(input, 36, ruleAtom_StartIndex); } 
    44934676        } 
    44944677        return current; 
     
    44984681 
    44994682    // $ANTLR start "entryRuleRuleReference" 
    4500     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1545:1: entryRuleRuleReference returns [EObject current=null] : iv_ruleRuleReference= ruleRuleReference EOF ; 
     4683    // ../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 ; 
    45014684    public final EObject entryRuleRuleReference() throws RecognitionException { 
    45024685        EObject current = null; 
     
    45064689 
    45074690        try { 
    4508             if ( state.backtracking>0 && alreadyParsedRule(input, 35) ) { return current; } 
    4509             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1546:2: (iv_ruleRuleReference= ruleRuleReference EOF ) 
    4510             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1547:2: iv_ruleRuleReference= ruleRuleReference EOF 
     4691            if ( state.backtracking>0 && alreadyParsedRule(input, 37) ) { return current; } 
     4692            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1613:2: (iv_ruleRuleReference= ruleRuleReference EOF ) 
     4693            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1614:2: iv_ruleRuleReference= ruleRuleReference EOF 
    45114694            { 
    45124695            if ( state.backtracking==0 ) { 
    45134696               newCompositeNode(grammarAccess.getRuleReferenceRule());  
    45144697            } 
    4515             pushFollow(FOLLOW_ruleRuleReference_in_entryRuleRuleReference3202); 
     4698            pushFollow(FOLLOW_ruleRuleReference_in_entryRuleRuleReference3334); 
    45164699            iv_ruleRuleReference=ruleRuleReference(); 
    45174700 
     
    45214704               current =iv_ruleRuleReference;  
    45224705            } 
    4523             match(input,EOF,FOLLOW_EOF_in_entryRuleRuleReference3212); if (state.failed) return current; 
     4706            match(input,EOF,FOLLOW_EOF_in_entryRuleRuleReference3344); if (state.failed) return current; 
    45244707 
    45254708            } 
     
    45324715            }  
    45334716        finally { 
    4534             if ( state.backtracking>0 ) { memoize(input, 35, entryRuleRuleReference_StartIndex); } 
     4717            if ( state.backtracking>0 ) { memoize(input, 37, entryRuleRuleReference_StartIndex); } 
    45354718        } 
    45364719        return current; 
     
    45404723 
    45414724    // $ANTLR start "ruleRuleReference" 
    4542     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1554:1: ruleRuleReference returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ; 
     4725    // ../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 ) ) ; 
    45434726    public final EObject ruleRuleReference() throws RecognitionException { 
    45444727        EObject current = null; 
     
    45494732             
    45504733        try { 
    4551             if ( state.backtracking>0 && alreadyParsedRule(input, 36) ) { return current; } 
    4552             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1557:28: ( ( (otherlv_0= RULE_ID ) ) ) 
    4553             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1558:1: ( (otherlv_0= RULE_ID ) ) 
    4554             { 
    4555             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1558:1: ( (otherlv_0= RULE_ID ) ) 
    4556             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1559:1: (otherlv_0= RULE_ID ) 
    4557             { 
    4558             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1559:1: (otherlv_0= RULE_ID ) 
    4559             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1560:3: otherlv_0= RULE_ID 
     4734            if ( state.backtracking>0 && alreadyParsedRule(input, 38) ) { return current; } 
     4735            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1624:28: ( ( (otherlv_0= RULE_ID ) ) ) 
     4736            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1625:1: ( (otherlv_0= RULE_ID ) ) 
     4737            { 
     4738            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1625:1: ( (otherlv_0= RULE_ID ) ) 
     4739            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1626:1: (otherlv_0= RULE_ID ) 
     4740            { 
     4741            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1626:1: (otherlv_0= RULE_ID ) 
     4742            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1627:3: otherlv_0= RULE_ID 
    45604743            { 
    45614744            if ( state.backtracking==0 ) { 
     
    45714754                       
    45724755            } 
    4573             otherlv_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuleReference3260); if (state.failed) return current; 
     4756            otherlv_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuleReference3392); if (state.failed) return current; 
    45744757            if ( state.backtracking==0 ) { 
    45754758 
     
    45964779            }  
    45974780        finally { 
    4598             if ( state.backtracking>0 ) { memoize(input, 36, ruleRuleReference_StartIndex); } 
     4781            if ( state.backtracking>0 ) { memoize(input, 38, ruleRuleReference_StartIndex); } 
    45994782        } 
    46004783        return current; 
     
    46044787 
    46054788    // $ANTLR start "entryRuleStringRule" 
    4606     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1582:1: entryRuleStringRule returns [EObject current=null] : iv_ruleStringRule= ruleStringRule EOF ; 
     4789    // ../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 ; 
    46074790    public final EObject entryRuleStringRule() throws RecognitionException { 
    46084791        EObject current = null; 
     
    46124795 
    46134796        try { 
    4614             if ( state.backtracking>0 && alreadyParsedRule(input, 37) ) { return current; } 
    4615             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1583:2: (iv_ruleStringRule= ruleStringRule EOF ) 
    4616             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1584:2: iv_ruleStringRule= ruleStringRule EOF 
     4797            if ( state.backtracking>0 && alreadyParsedRule(input, 39) ) { return current; } 
     4798            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1650:2: (iv_ruleStringRule= ruleStringRule EOF ) 
     4799            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1651:2: iv_ruleStringRule= ruleStringRule EOF 
    46174800            { 
    46184801            if ( state.backtracking==0 ) { 
    46194802               newCompositeNode(grammarAccess.getStringRuleRule());  
    46204803            } 
    4621             pushFollow(FOLLOW_ruleStringRule_in_entryRuleStringRule3295); 
     4804            pushFollow(FOLLOW_ruleStringRule_in_entryRuleStringRule3427); 
    46224805            iv_ruleStringRule=ruleStringRule(); 
    46234806 
     
    46274810               current =iv_ruleStringRule;  
    46284811            } 
    4629             match(input,EOF,FOLLOW_EOF_in_entryRuleStringRule3305); if (state.failed) return current; 
     4812            match(input,EOF,FOLLOW_EOF_in_entryRuleStringRule3437); if (state.failed) return current; 
    46304813 
    46314814            } 
     
    46384821            }  
    46394822        finally { 
    4640             if ( state.backtracking>0 ) { memoize(input, 37, entryRuleStringRule_StartIndex); } 
     4823            if ( state.backtracking>0 ) { memoize(input, 39, entryRuleStringRule_StartIndex); } 
    46414824        } 
    46424825        return current; 
     
    46464829 
    46474830    // $ANTLR start "ruleStringRule" 
    4648     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1591:1: ruleStringRule returns [EObject current=null] : ( ( (lv_literal_0_0= RULE_STRING ) ) | ( (lv_colon_1_0= RULE_COLON ) ) ) ; 
     4831    // ../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 ) ) ) ; 
    46494832    public final EObject ruleStringRule() throws RecognitionException { 
    46504833        EObject current = null; 
     
    46564839             
    46574840        try { 
    4658             if ( state.backtracking>0 && alreadyParsedRule(input, 38) ) { return current; } 
    4659             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1594:28: ( ( ( (lv_literal_0_0= RULE_STRING ) ) | ( (lv_colon_1_0= RULE_COLON ) ) ) ) 
    4660             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1595:1: ( ( (lv_literal_0_0= RULE_STRING ) ) | ( (lv_colon_1_0= RULE_COLON ) ) ) 
    4661             { 
    4662             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1595:1: ( ( (lv_literal_0_0= RULE_STRING ) ) | ( (lv_colon_1_0= RULE_COLON ) ) ) 
     4841            if ( state.backtracking>0 && alreadyParsedRule(input, 40) ) { return current; } 
     4842            // ../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 ) ) ) ) 
     4843            // ../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 ) ) ) 
     4844            { 
     4845            // ../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 ) ) ) 
    46634846            int alt35=2; 
    46644847            int LA35_0 = input.LA(1); 
     
    46794862            switch (alt35) { 
    46804863                case 1 : 
    4681                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1595:2: ( (lv_literal_0_0= RULE_STRING ) ) 
    4682                     { 
    4683                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1595:2: ( (lv_literal_0_0= RULE_STRING ) ) 
    4684                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1596:1: (lv_literal_0_0= RULE_STRING ) 
    4685                     { 
    4686                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1596:1: (lv_literal_0_0= RULE_STRING ) 
    4687                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1597:3: lv_literal_0_0= RULE_STRING 
    4688                     { 
    4689                     lv_literal_0_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringRule3347); if (state.failed) return current; 
     4864                    // ../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 ) ) 
     4865                    { 
     4866                    // ../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 ) ) 
     4867                    // ../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 ) 
     4868                    { 
     4869                    // ../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 ) 
     4870                    // ../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 
     4871                    { 
     4872                    lv_literal_0_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringRule3479); if (state.failed) return current; 
    46904873                    if ( state.backtracking==0 ) { 
    46914874 
     
    47154898                    break; 
    47164899                case 2 : 
    4717                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1614:6: ( (lv_colon_1_0= RULE_COLON ) ) 
    4718                     { 
    4719                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1614:6: ( (lv_colon_1_0= RULE_COLON ) ) 
    4720                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1615:1: (lv_colon_1_0= RULE_COLON ) 
    4721                     { 
    4722                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1615:1: (lv_colon_1_0= RULE_COLON ) 
    4723                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1616:3: lv_colon_1_0= RULE_COLON 
    4724                     { 
    4725                     lv_colon_1_0=(Token)match(input,RULE_COLON,FOLLOW_RULE_COLON_in_ruleStringRule3375); if (state.failed) return current; 
     4900                    // ../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 ) ) 
     4901                    { 
     4902                    // ../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 ) ) 
     4903                    // ../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 ) 
     4904                    { 
     4905                    // ../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 ) 
     4906                    // ../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 
     4907                    { 
     4908                    lv_colon_1_0=(Token)match(input,RULE_COLON,FOLLOW_RULE_COLON_in_ruleStringRule3507); if (state.failed) return current; 
    47264909                    if ( state.backtracking==0 ) { 
    47274910 
     
    47664949            }  
    47674950        finally { 
    4768             if ( state.backtracking>0 ) { memoize(input, 38, ruleStringRule_StartIndex); } 
     4951            if ( state.backtracking>0 ) { memoize(input, 40, ruleStringRule_StartIndex); } 
    47694952        } 
    47704953        return current; 
     
    47744957 
    47754958    // $ANTLR start "entryRuleGroupedSequence" 
    4776     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1640:1: entryRuleGroupedSequence returns [EObject current=null] : iv_ruleGroupedSequence= ruleGroupedSequence EOF ; 
     4959    // ../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 ; 
    47774960    public final EObject entryRuleGroupedSequence() throws RecognitionException { 
    47784961        EObject current = null; 
     
    47824965 
    47834966        try { 
    4784             if ( state.backtracking>0 && alreadyParsedRule(input, 39) ) { return current; } 
    4785             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1641:2: (iv_ruleGroupedSequence= ruleGroupedSequence EOF ) 
    4786             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1642:2: iv_ruleGroupedSequence= ruleGroupedSequence EOF 
     4967            if ( state.backtracking>0 && alreadyParsedRule(input, 41) ) { return current; } 
     4968            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1708:2: (iv_ruleGroupedSequence= ruleGroupedSequence EOF ) 
     4969            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1709:2: iv_ruleGroupedSequence= ruleGroupedSequence EOF 
    47874970            { 
    47884971            if ( state.backtracking==0 ) { 
    47894972               newCompositeNode(grammarAccess.getGroupedSequenceRule());  
    47904973            } 
    4791             pushFollow(FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence3416); 
     4974            pushFollow(FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence3548); 
    47924975            iv_ruleGroupedSequence=ruleGroupedSequence(); 
    47934976 
     
    47974980               current =iv_ruleGroupedSequence;  
    47984981            } 
    4799             match(input,EOF,FOLLOW_EOF_in_entryRuleGroupedSequence3426); if (state.failed) return current; 
     4982            match(input,EOF,FOLLOW_EOF_in_entryRuleGroupedSequence3558); if (state.failed) return current; 
    48004983 
    48014984            } 
     
    48084991            }  
    48094992        finally { 
    4810             if ( state.backtracking>0 ) { memoize(input, 39, entryRuleGroupedSequence_StartIndex); } 
     4993            if ( state.backtracking>0 ) { memoize(input, 41, entryRuleGroupedSequence_StartIndex); } 
    48114994        } 
    48124995        return current; 
     
    48164999 
    48175000    // $ANTLR start "ruleGroupedSequence" 
    4818     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1649:1: ruleGroupedSequence returns [EObject current=null] : (otherlv_0= '(' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ')' ) ; 
     5001    // ../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= ')' ) ; 
    48195002    public final EObject ruleGroupedSequence() throws RecognitionException { 
    48205003        EObject current = null; 
     
    48285011             
    48295012        try { 
    4830             if ( state.backtracking>0 && alreadyParsedRule(input, 40) ) { return current; } 
    4831             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1652:28: ( (otherlv_0= '(' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ')' ) ) 
    4832             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1653:1: (otherlv_0= '(' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ')' ) 
    4833             { 
    4834             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1653:1: (otherlv_0= '(' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ')' ) 
    4835             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1653:3: otherlv_0= '(' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ')' 
    4836             { 
    4837             otherlv_0=(Token)match(input,26,FOLLOW_26_in_ruleGroupedSequence3463); if (state.failed) return current; 
     5013            if ( state.backtracking>0 && alreadyParsedRule(input, 42) ) { return current; } 
     5014            // ../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= ')' ) ) 
     5015            // ../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= ')' ) 
     5016            { 
     5017            // ../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= ')' ) 
     5018            // ../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= ')' 
     5019            { 
     5020            otherlv_0=(Token)match(input,26,FOLLOW_26_in_ruleGroupedSequence3595); if (state.failed) return current; 
    48385021            if ( state.backtracking==0 ) { 
    48395022 
     
    48415024                   
    48425025            } 
    4843             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1657:1: ( (lv_definitionList_1_0= ruleDefinitionList ) ) 
    4844             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1658:1: (lv_definitionList_1_0= ruleDefinitionList ) 
    4845             { 
    4846             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1658:1: (lv_definitionList_1_0= ruleDefinitionList ) 
    4847             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1659:3: lv_definitionList_1_0= ruleDefinitionList 
     5026            // ../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 ) ) 
     5027            // ../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 ) 
     5028            { 
     5029            // ../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 ) 
     5030            // ../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 
    48485031            { 
    48495032            if ( state.backtracking==0 ) { 
     
    48525035                     
    48535036            } 
    4854             pushFollow(FOLLOW_ruleDefinitionList_in_ruleGroupedSequence3484); 
     5037            pushFollow(FOLLOW_ruleDefinitionList_in_ruleGroupedSequence3616); 
    48555038            lv_definitionList_1_0=ruleDefinitionList(); 
    48565039 
     
    48765059            } 
    48775060 
    4878             otherlv_2=(Token)match(input,27,FOLLOW_27_in_ruleGroupedSequence3496); if (state.failed) return current; 
     5061            otherlv_2=(Token)match(input,27,FOLLOW_27_in_ruleGroupedSequence3628); if (state.failed) return current; 
    48795062            if ( state.backtracking==0 ) { 
    48805063 
     
    48985081            }  
    48995082        finally { 
    4900             if ( state.backtracking>0 ) { memoize(input, 40, ruleGroupedSequence_StartIndex); } 
     5083            if ( state.backtracking>0 ) { memoize(input, 42, ruleGroupedSequence_StartIndex); } 
    49015084        } 
    49025085        return current; 
     
    49065089 
    49075090    // $ANTLR start "entryRuleOptionalSequence" 
    4908     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1687:1: entryRuleOptionalSequence returns [EObject current=null] : iv_ruleOptionalSequence= ruleOptionalSequence EOF ; 
     5091    // ../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 ; 
    49095092    public final EObject entryRuleOptionalSequence() throws RecognitionException { 
    49105093        EObject current = null; 
     
    49145097 
    49155098        try { 
    4916             if ( state.backtracking>0 && alreadyParsedRule(input, 41) ) { return current; } 
    4917             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1688:2: (iv_ruleOptionalSequence= ruleOptionalSequence EOF ) 
    4918             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1689:2: iv_ruleOptionalSequence= ruleOptionalSequence EOF 
     5099            if ( state.backtracking>0 && alreadyParsedRule(input, 43) ) { return current; } 
     5100            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1755:2: (iv_ruleOptionalSequence= ruleOptionalSequence EOF ) 
     5101            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1756:2: iv_ruleOptionalSequence= ruleOptionalSequence EOF 
    49195102            { 
    49205103            if ( state.backtracking==0 ) { 
    49215104               newCompositeNode(grammarAccess.getOptionalSequenceRule());  
    49225105            } 
    4923             pushFollow(FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence3532); 
     5106            pushFollow(FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence3664); 
    49245107            iv_ruleOptionalSequence=ruleOptionalSequence(); 
    49255108 
     
    49295112               current =iv_ruleOptionalSequence;  
    49305113            } 
    4931             match(input,EOF,FOLLOW_EOF_in_entryRuleOptionalSequence3542); if (state.failed) return current; 
     5114            match(input,EOF,FOLLOW_EOF_in_entryRuleOptionalSequence3674); if (state.failed) return current; 
    49325115 
    49335116            } 
     
    49405123            }  
    49415124        finally { 
    4942             if ( state.backtracking>0 ) { memoize(input, 41, entryRuleOptionalSequence_StartIndex); } 
     5125            if ( state.backtracking>0 ) { memoize(input, 43, entryRuleOptionalSequence_StartIndex); } 
    49435126        } 
    49445127        return current; 
     
    49485131 
    49495132    // $ANTLR start "ruleOptionalSequence" 
    4950     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1696:1: ruleOptionalSequence returns [EObject current=null] : (otherlv_0= '[' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ']' ) ; 
     5133    // ../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= ']' ) ; 
    49515134    public final EObject ruleOptionalSequence() throws RecognitionException { 
    49525135        EObject current = null; 
     
    49605143             
    49615144        try { 
    4962             if ( state.backtracking>0 && alreadyParsedRule(input, 42) ) { return current; } 
    4963             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1699:28: ( (otherlv_0= '[' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ']' ) ) 
    4964             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1700:1: (otherlv_0= '[' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ']' ) 
    4965             { 
    4966             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1700:1: (otherlv_0= '[' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ']' ) 
    4967             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1700:3: otherlv_0= '[' ( (lv_definitionList_1_0= ruleDefinitionList ) ) otherlv_2= ']' 
    4968             { 
    4969             otherlv_0=(Token)match(input,32,FOLLOW_32_in_ruleOptionalSequence3579); if (state.failed) return current; 
     5145            if ( state.backtracking>0 && alreadyParsedRule(input, 44) ) { return current; } 
     5146            // ../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= ']' ) ) 
     5147            // ../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= ']' ) 
     5148            { 
     5149            // ../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= ']' ) 
     5150            // ../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= ']' 
     5151            { 
     5152            otherlv_0=(Token)match(input,32,FOLLOW_32_in_ruleOptionalSequence3711); if (state.failed) return current; 
    49705153            if ( state.backtracking==0 ) { 
    49715154 
     
    49735156                   
    49745157            } 
    4975             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1704:1: ( (lv_definitionList_1_0= ruleDefinitionList ) ) 
    4976             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1705:1: (lv_definitionList_1_0= ruleDefinitionList ) 
    4977             { 
    4978             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1705:1: (lv_definitionList_1_0= ruleDefinitionList ) 
    4979             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1706:3: lv_definitionList_1_0= ruleDefinitionList 
     5158            // ../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 ) ) 
     5159            // ../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 ) 
     5160            { 
     5161            // ../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 ) 
     5162            // ../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 
    49805163            { 
    49815164            if ( state.backtracking==0 ) { 
     
    49845167                     
    49855168            } 
    4986             pushFollow(FOLLOW_ruleDefinitionList_in_ruleOptionalSequence3600); 
     5169            pushFollow(FOLLOW_ruleDefinitionList_in_ruleOptionalSequence3732); 
    49875170            lv_definitionList_1_0=ruleDefinitionList(); 
    49885171 
     
    50085191            } 
    50095192 
    5010             otherlv_2=(Token)match(input,29,FOLLOW_29_in_ruleOptionalSequence3612); if (state.failed) return current; 
     5193            otherlv_2=(Token)match(input,29,FOLLOW_29_in_ruleOptionalSequence3744); if (state.failed) return current; 
    50115194            if ( state.backtracking==0 ) { 
    50125195 
     
    50305213            }  
    50315214        finally { 
    5032             if ( state.backtracking>0 ) { memoize(input, 42, ruleOptionalSequence_StartIndex); } 
     5215            if ( state.backtracking>0 ) { memoize(input, 44, ruleOptionalSequence_StartIndex); } 
    50335216        } 
    50345217        return current; 
     
    50385221 
    50395222    // $ANTLR start "entryRuleRepeatedSequence" 
    5040     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1734:1: entryRuleRepeatedSequence returns [EObject current=null] : iv_ruleRepeatedSequence= ruleRepeatedSequence EOF ; 
     5223    // ../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 ; 
    50415224    public final EObject entryRuleRepeatedSequence() throws RecognitionException { 
    50425225        EObject current = null; 
     
    50465229 
    50475230        try { 
    5048             if ( state.backtracking>0 && alreadyParsedRule(input, 43) ) { return current; } 
    5049             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1735:2: (iv_ruleRepeatedSequence= ruleRepeatedSequence EOF ) 
    5050             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1736:2: iv_ruleRepeatedSequence= ruleRepeatedSequence EOF 
     5231            if ( state.backtracking>0 && alreadyParsedRule(input, 45) ) { return current; } 
     5232            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1802:2: (iv_ruleRepeatedSequence= ruleRepeatedSequence EOF ) 
     5233            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1803:2: iv_ruleRepeatedSequence= ruleRepeatedSequence EOF 
    50515234            { 
    50525235            if ( state.backtracking==0 ) { 
    50535236               newCompositeNode(grammarAccess.getRepeatedSequenceRule());  
    50545237            } 
    5055             pushFollow(FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence3648); 
     5238            pushFollow(FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence3780); 
    50565239            iv_ruleRepeatedSequence=ruleRepeatedSequence(); 
    50575240 
     
    50615244               current =iv_ruleRepeatedSequence;  
    50625245            } 
    5063             match(input,EOF,FOLLOW_EOF_in_entryRuleRepeatedSequence3658); if (state.failed) return current; 
     5246            match(input,EOF,FOLLOW_EOF_in_entryRuleRepeatedSequence3790); if (state.failed) return current; 
    50645247 
    50655248            } 
     
    50725255            }  
    50735256        finally { 
    5074             if ( state.backtracking>0 ) { memoize(input, 43, entryRuleRepeatedSequence_StartIndex); } 
     5257            if ( state.backtracking>0 ) { memoize(input, 45, entryRuleRepeatedSequence_StartIndex); } 
    50755258        } 
    50765259        return current; 
     
    50805263 
    50815264    // $ANTLR start "ruleRepeatedSequence" 
    5082     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1743:1: ruleRepeatedSequence returns [EObject current=null] : (otherlv_0= '{' ( (lv_definitions_1_0= ruleDefinitionList ) ) otherlv_2= '}' ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) ) ; 
     5265    // ../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 ) )? ) ) ; 
    50835266    public final EObject ruleRepeatedSequence() throws RecognitionException { 
    50845267        EObject current = null; 
     
    50955278             
    50965279        try { 
    5097             if ( state.backtracking>0 && alreadyParsedRule(input, 44) ) { return current; } 
    5098             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1746:28: ( (otherlv_0= '{' ( (lv_definitions_1_0= ruleDefinitionList ) ) otherlv_2= '}' ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) ) ) 
    5099             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1747:1: (otherlv_0= '{' ( (lv_definitions_1_0= ruleDefinitionList ) ) otherlv_2= '}' ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) ) 
    5100             { 
    5101             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1747:1: (otherlv_0= '{' ( (lv_definitions_1_0= ruleDefinitionList ) ) otherlv_2= '}' ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) ) 
    5102             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1747:3: otherlv_0= '{' ( (lv_definitions_1_0= ruleDefinitionList ) ) otherlv_2= '}' ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) 
    5103             { 
    5104             otherlv_0=(Token)match(input,33,FOLLOW_33_in_ruleRepeatedSequence3695); if (state.failed) return current; 
     5280            if ( state.backtracking>0 && alreadyParsedRule(input, 46) ) { return current; } 
     5281            // ../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 ) )? ) ) ) 
     5282            // ../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 ) )? ) ) 
     5283            { 
     5284            // ../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 ) )? ) ) 
     5285            // ../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 ) )? ) 
     5286            { 
     5287            otherlv_0=(Token)match(input,33,FOLLOW_33_in_ruleRepeatedSequence3827); if (state.failed) return current; 
    51055288            if ( state.backtracking==0 ) { 
    51065289 
     
    51085291                   
    51095292            } 
    5110             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1751:1: ( (lv_definitions_1_0= ruleDefinitionList ) ) 
    5111             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1752:1: (lv_definitions_1_0= ruleDefinitionList ) 
    5112             { 
    5113             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1752:1: (lv_definitions_1_0= ruleDefinitionList ) 
    5114             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1753:3: lv_definitions_1_0= ruleDefinitionList 
     5293            // ../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 ) ) 
     5294            // ../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 ) 
     5295            { 
     5296            // ../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 ) 
     5297            // ../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 
    51155298            { 
    51165299            if ( state.backtracking==0 ) { 
     
    51195302                     
    51205303            } 
    5121             pushFollow(FOLLOW_ruleDefinitionList_in_ruleRepeatedSequence3716); 
     5304            pushFollow(FOLLOW_ruleDefinitionList_in_ruleRepeatedSequence3848); 
    51225305            lv_definitions_1_0=ruleDefinitionList(); 
    51235306 
     
    51435326            } 
    51445327 
    5145             otherlv_2=(Token)match(input,30,FOLLOW_30_in_ruleRepeatedSequence3728); if (state.failed) return current; 
     5328            otherlv_2=(Token)match(input,30,FOLLOW_30_in_ruleRepeatedSequence3860); if (state.failed) return current; 
    51465329            if ( state.backtracking==0 ) { 
    51475330 
     
    51495332                   
    51505333            } 
    5151             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1773:1: ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? ) 
     5334            // ../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 ) )? ) 
    51525335            int alt38=2; 
    51535336            alt38 = dfa38.predict(input); 
    51545337            switch (alt38) { 
    51555338                case 1 : 
    5156                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1773:2: ( (lv_morethanonce_3_0= '+' ) )? 
    5157                     { 
    5158                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1773:2: ( (lv_morethanonce_3_0= '+' ) )? 
     5339                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1840:2: ( (lv_morethanonce_3_0= '+' ) )? 
     5340                    { 
     5341                    // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1840:2: ( (lv_morethanonce_3_0= '+' ) )? 
    51595342                    int alt36=2; 
    51605343                    int LA36_0 = input.LA(1); 
     
    51655348                    switch (alt36) { 
    51665349                        case 1 : 
    5167                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1774:1: (lv_morethanonce_3_0= '+' ) 
     5350                            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1841:1: (lv_morethanonce_3_0= '+' ) 
    51685351                            { 
    5169                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1774:1: (lv_morethanonce_3_0= '+' ) 
    5170                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1775:3: lv_morethanonce_3_0= '+' 
     5352                            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1841:1: (lv_morethanonce_3_0= '+' ) 
     5353                            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1842:3: lv_morethanonce_3_0= '+' 
    51715354                            { 
    5172                             lv_morethanonce_3_0=(Token)match(input,35,FOLLOW_35_in_ruleRepeatedSequence3747); if (state.failed) return current; 
     5355                            lv_morethanonce_3_0=(Token)match(input,35,FOLLOW_35_in_ruleRepeatedSequence3879); if (state.failed) return current; 
    51735356                            if ( state.backtracking==0 ) { 
    51745357 
     
    51975380                    break; 
    51985381                case 2 : 
    5199                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1789:6: ( (lv_range_4_0= ruleRepeatRange ) )? 
    5200                     { 
    5201                     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1789:6: ( (lv_range_4_0= ruleRepeatRange ) )? 
     5382                    // ../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 ) )? 
     5383                    { 
     5384                    // ../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 ) )? 
    52025385                    int alt37=2; 
    52035386                    int LA37_0 = input.LA(1); 
     
    52085391                    switch (alt37) { 
    52095392                        case 1 : 
    5210                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1790:1: (lv_range_4_0= ruleRepeatRange ) 
     5393                            // ../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 ) 
    52115394                            { 
    5212                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1790:1: (lv_range_4_0= ruleRepeatRange ) 
    5213                             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1791:3: lv_range_4_0= ruleRepeatRange 
     5395                            // ../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 ) 
     5396                            // ../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 
    52145397                            { 
    52155398                            if ( state.backtracking==0 ) { 
     
    52185401                                     
    52195402                            } 
    5220                             pushFollow(FOLLOW_ruleRepeatRange_in_ruleRepeatedSequence3788); 
     5403                            pushFollow(FOLLOW_ruleRepeatRange_in_ruleRepeatedSequence3920); 
    52215404                            lv_range_4_0=ruleRepeatRange(); 
    52225405 
     
    52675450            }  
    52685451        finally { 
    5269             if ( state.backtracking>0 ) { memoize(input, 44, ruleRepeatedSequence_StartIndex); } 
     5452            if ( state.backtracking>0 ) { memoize(input, 46, ruleRepeatedSequence_StartIndex); } 
    52705453        } 
    52715454        return current; 
     
    52755458 
    52765459    // $ANTLR start "entryRuleRepeatRange" 
    5277     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1815:1: entryRuleRepeatRange returns [EObject current=null] : iv_ruleRepeatRange= ruleRepeatRange EOF ; 
     5460    // ../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 ; 
    52785461    public final EObject entryRuleRepeatRange() throws RecognitionException { 
    52795462        EObject current = null; 
     
    52835466 
    52845467        try { 
    5285             if ( state.backtracking>0 && alreadyParsedRule(input, 45) ) { return current; } 
    5286             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1816:2: (iv_ruleRepeatRange= ruleRepeatRange EOF ) 
    5287             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1817:2: iv_ruleRepeatRange= ruleRepeatRange EOF 
     5468            if ( state.backtracking>0 && alreadyParsedRule(input, 47) ) { return current; } 
     5469            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1883:2: (iv_ruleRepeatRange= ruleRepeatRange EOF ) 
     5470            // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1884:2: iv_ruleRepeatRange= ruleRepeatRange EOF 
    52885471            { 
    52895472            if ( state.backtracking==0 ) { 
    52905473               newCompositeNode(grammarAccess.getRepeatRangeRule());  
    52915474            } 
    5292             pushFollow(FOLLOW_ruleRepeatRange_in_entryRuleRepeatRange3826); 
     5475            pushFollow(FOLLOW_ruleRepeatRange_in_entryRuleRepeatRange3958); 
    52935476            iv_ruleRepeatRange=ruleRepeatRange(); 
    52945477 
     
    52985481               current =iv_ruleRepeatRange;  
    52995482            } 
    5300             match(input,EOF,FOLLOW_EOF_in_entryRuleRepeatRange3836); if (state.failed) return current; 
     5483            match(input,EOF,FOLLOW_EOF_in_entryRuleRepeatRange3968); if (state.failed) return current; 
    53015484 
    53025485            } 
     
    53095492            }  
    53105493        finally { 
    5311             if ( state.backtracking>0 ) { memoize(input, 45, entryRuleRepeatRange_StartIndex); } 
     5494            if ( state.backtracking>0 ) { memoize(input, 47, entryRuleRepeatRange_StartIndex); } 
    53125495        } 
    53135496        return current; 
     
    53175500 
    53185501    // $ANTLR start "ruleRepeatRange" 
    5319     // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1824: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= ')' ) ; 
     5502    // ../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= ')' ) ; 
    53205503    public final EObject ruleRepeatRange() throws RecognitionException { 
    53215504        EObject current = null; 
     
    53315514             
    53325515        try { 
    5333             if ( state.backtracking>0 && alreadyParsedRule(input, 46) ) { return current; } 
    5334             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1827:28: ( (otherlv_0= '#' otherlv_1= '(' ( (lv_from_2_0= RULE_INT ) ) otherlv_3= ',' ( (lv_to_4_0= RULE_INT ) ) otherlv_5= ')' ) ) 
    5335             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1828:1: (otherlv_0= '#' otherlv_1= '(' ( (lv_from_2_0= RULE_INT ) ) otherlv_3= ',' ( (lv_to_4_0= RULE_INT ) ) otherlv_5= ')' ) 
    5336             { 
    5337             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1828:1: (otherlv_0= '#' otherlv_1= '(' ( (lv_from_2_0= RULE_INT ) ) otherlv_3= ',' ( (lv_to_4_0= RULE_INT ) ) otherlv_5= ')' ) 
    5338             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1828:3: otherlv_0= '#' otherlv_1= '(' ( (lv_from_2_0= RULE_INT ) ) otherlv_3= ',' ( (lv_to_4_0= RULE_INT ) ) otherlv_5= ')' 
    5339             { 
    5340             otherlv_0=(Token)match(input,40,FOLLOW_40_in_ruleRepeatRange3873); if (state.failed) return current; 
     5516            if ( state.backtracking>0 && alreadyParsedRule(input, 48) ) { return current; } 
     5517            // ../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= ')' ) ) 
     5518            // ../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= ')' ) 
     5519            { 
     5520            // ../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= ')' ) 
     5521            // ../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= ')' 
     5522            { 
     5523            otherlv_0=(Token)match(input,40,FOLLOW_40_in_ruleRepeatRange4005); if (state.failed) return current; 
    53415524            if ( state.backtracking==0 ) { 
    53425525 
     
    53445527                   
    53455528            } 
    5346             otherlv_1=(Token)match(input,26,FOLLOW_26_in_ruleRepeatRange3885); if (state.failed) return current; 
     5529            otherlv_1=(Token)match(input,26,FOLLOW_26_in_ruleRepeatRange4017); if (state.failed) return current; 
    53475530            if ( state.backtracking==0 ) { 
    53485531 
     
    53505533                   
    53515534            } 
    5352             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1836:1: ( (lv_from_2_0= RULE_INT ) ) 
    5353             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1837:1: (lv_from_2_0= RULE_INT ) 
    5354             { 
    5355             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1837:1: (lv_from_2_0= RULE_INT ) 
    5356             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1838:3: lv_from_2_0= RULE_INT 
    5357             { 
    5358             lv_from_2_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleRepeatRange3902); if (state.failed) return current; 
     5535            // ../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 ) ) 
     5536            // ../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 ) 
     5537            { 
     5538            // ../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 ) 
     5539            // ../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 
     5540            { 
     5541            lv_from_2_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleRepeatRange4034); if (state.failed) return current; 
    53595542            if ( state.backtracking==0 ) { 
    53605543 
     
    53805563            } 
    53815564 
    5382             otherlv_3=(Token)match(input,41,FOLLOW_41_in_ruleRepeatRange3919); if (state.failed) return current; 
     5565            otherlv_3=(Token)match(input,41,FOLLOW_41_in_ruleRepeatRange4051); if (state.failed) return current; 
    53835566            if ( state.backtracking==0 ) { 
    53845567 
     
    53865569                   
    53875570            } 
    5388             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1858:1: ( (lv_to_4_0= RULE_INT ) ) 
    5389             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1859:1: (lv_to_4_0= RULE_INT ) 
    5390             { 
    5391             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1859:1: (lv_to_4_0= RULE_INT ) 
    5392             // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1860:3: lv_to_4_0= RULE_INT 
    5393             { 
    5394             lv_to_4_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleRepeatRange3936); if (state.failed) return current; 
     5571            // ../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 ) ) 
     5572            // ../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 ) 
     5573            { 
     5574            // ../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 ) 
     5575            // ../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 
     5576            { 
     5577            lv_to_4_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleRepeatRange4068); if (state.failed) return current; 
    53955578            if ( state.backtracking==0 ) { 
    53965579 
     
    54165599            } 
    54175600 
    5418             otherlv_5=(Token)match(input,27,FOLLOW_27_in_ruleRepeatRange3953); if (state.failed) return current; 
     5601            otherlv_5=(Token)match(input,27,FOLLOW_27_in_ruleRepeatRange4085); if (state.failed) return current; 
    54195602            if ( state.backtracking==0 ) { 
    54205603 
     
    54385621            }  
    54395622        finally { 
    5440             if ( state.backtracking>0 ) { memoize(input, 46, ruleRepeatRange_StartIndex); } 
     5623            if ( state.backtracking>0 ) { memoize(input, 48, ruleRepeatRange_StartIndex); } 
    54415624        } 
    54425625        return current; 
     
    54445627    // $ANTLR end "ruleRepeatRange" 
    54455628 
    5446     // $ANTLR start synpred52_InternalEbnf 
    5447     public final void synpred52_InternalEbnf_fragment() throws RecognitionException {    
     5629    // $ANTLR start synpred53_InternalEbnf 
     5630    public final void synpred53_InternalEbnf_fragment() throws RecognitionException {    
    54485631        Token lv_morethanonce_3_0=null; 
    54495632 
    5450         // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1773:2: ( ( (lv_morethanonce_3_0= '+' ) )? ) 
    5451         // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1773:2: ( (lv_morethanonce_3_0= '+' ) )? 
     5633        // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1840:2: ( ( (lv_morethanonce_3_0= '+' ) )? ) 
     5634        // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1840:2: ( (lv_morethanonce_3_0= '+' ) )? 
    54525635        { 
    5453         // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1773:2: ( (lv_morethanonce_3_0= '+' ) )? 
     5636        // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1840:2: ( (lv_morethanonce_3_0= '+' ) )? 
    54545637        int alt47=2; 
    54555638        int LA47_0 = input.LA(1); 
     
    54605643        switch (alt47) { 
    54615644            case 1 : 
    5462                 // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1774:1: (lv_morethanonce_3_0= '+' ) 
     5645                // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1841:1: (lv_morethanonce_3_0= '+' ) 
    54635646                { 
    5464                 // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1774:1: (lv_morethanonce_3_0= '+' ) 
    5465                 // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1775:3: lv_morethanonce_3_0= '+' 
     5647                // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1841:1: (lv_morethanonce_3_0= '+' ) 
     5648                // ../de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g:1842:3: lv_morethanonce_3_0= '+' 
    54665649                { 
    5467                 lv_morethanonce_3_0=(Token)match(input,35,FOLLOW_35_in_synpred52_InternalEbnf3747); if (state.failed) return ; 
     5650                lv_morethanonce_3_0=(Token)match(input,35,FOLLOW_35_in_synpred53_InternalEbnf3879); if (state.failed) return ; 
    54685651 
    54695652                } 
     
    54785661        } 
    54795662    } 
    5480     // $ANTLR end synpred52_InternalEbnf 
     5663    // $ANTLR end synpred53_InternalEbnf 
    54815664 
    54825665    // Delegated rules 
    54835666 
    5484     public final boolean synpred52_InternalEbnf() { 
     5667    public final boolean synpred53_InternalEbnf() { 
    54855668        state.backtracking++; 
    54865669        int start = input.mark(); 
    54875670        try { 
    5488             synpred52_InternalEbnf_fragment(); // can never throw exception 
     5671            synpred53_InternalEbnf_fragment(); // can never throw exception 
    54895672        } catch (RecognitionException re) { 
    54905673            System.err.println("impossible: "+re); 
     
    55145697        "\17\uffff}>"; 
    55155698    static final String[] DFA22_transitionS = { 
    5516             "\1\2\1\1\1\3\1\1\1\uffff\1\3\5\uffff\1\1\12\uffff\1\10\1\4\1"+ 
    5517             "\uffff\1\5\1\6\1\7\1\11\1\12\1\13\1\14", 
     5699            "\1\2\1\1\1\uffff\1\3\1\1\1\uffff\1\3\4\uffff\1\1\12\uffff\1"+ 
     5700            "\10\1\4\1\uffff\1\5\1\6\1\7\1\11\1\12\1\13\1\14", 
    55185701            "", 
    5519             "\4\3\1\uffff\1\3\5\uffff\1\3\11\uffff\1\1\1\15\1\3\1\uffff"+ 
    5520             "\7\3", 
     5702            "\2\3\1\uffff\2\3\1\uffff\1\3\4\uffff\1\3\11\uffff\1\1\1\15"+ 
     5703            "\1\3\1\uffff\7\3", 
    55215704            "", 
    55225705            "", 
     
    55295712            "", 
    55305713            "", 
    5531             "\3\3\1\16\1\uffff\1\3\5\uffff\1\3\12\uffff\2\3\1\uffff\7\3", 
     5714            "\2\3\1\uffff\1\3\1\16\1\uffff\1\3\4\uffff\1\3\12\uffff\2\3"+ 
     5715            "\1\uffff\7\3", 
    55325716            "\1\3\23\uffff\1\3\2\uffff\1\1" 
    55335717    }; 
     
    55635747        } 
    55645748        public String getDescription() { 
    5565             return "()* loopback of 890:1: ( ( (lv_elements_8_0= ruleAtom ) ) | otherlv_9= ')' | otherlv_10= ']' | otherlv_11= '}' | otherlv_12= '|' | otherlv_13= '(' | otherlv_14= '[' | otherlv_15= '{' | otherlv_16= '*' | otherlv_17= '+' )*"; 
     5749            return "()* loopback of 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= '+' )*"; 
    55665750        } 
    55675751    } 
    55685752    static final String DFA38_eotS = 
    5569         "\21\uffff"; 
     5753        "\22\uffff"; 
    55705754    static final String DFA38_eofS = 
    5571         "\1\4\20\uffff"; 
     5755        "\1\4\21\uffff"; 
    55725756    static final String DFA38_minS = 
    5573         "\1\4\1\uffff\16\0\1\uffff"; 
     5757        "\1\4\1\uffff\17\0\1\uffff"; 
    55745758    static final String DFA38_maxS = 
    5575         "\1\50\1\uffff\16\0\1\uffff"; 
     5759        "\1\50\1\uffff\17\0\1\uffff"; 
    55765760    static final String DFA38_acceptS = 
    5577         "\1\uffff\1\1\16\uffff\1\2"; 
     5761        "\1\uffff\1\1\17\uffff\1\2"; 
    55785762    static final String DFA38_specialS = 
    55795763        "\2\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14"+ 
    5580         "\1\15\1\uffff}>"; 
     5764        "\1\15\1\16\1\uffff}>"; 
    55815765    static final String[] DFA38_transitionS = { 
    5582             "\1\7\1\5\1\13\1\6\1\uffff\1\14\5\uffff\1\3\12\uffff\1\15\1\10"+ 
    5583             "\1\uffff\1\11\1\12\1\2\1\16\1\17\1\uffff\1\1\4\uffff\1\20", 
     5766            "\1\7\1\5\1\10\1\14\1\6\1\uffff\1\15\4\uffff\1\3\12\uffff\1\16"+ 
     5767            "\1\11\1\uffff\1\12\1\13\1\2\1\17\1\20\1\uffff\1\1\4\uffff\1"+ 
     5768            "\21", 
    55845769            "", 
     5770            "\1\uffff", 
    55855771            "\1\uffff", 
    55865772            "\1\uffff", 
     
    56305816        } 
    56315817        public String getDescription() { 
    5632             return "1773:1: ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? )"; 
     5818            return "1840:1: ( ( (lv_morethanonce_3_0= '+' ) )? | ( (lv_range_4_0= ruleRepeatRange ) )? )"; 
    56335819        } 
    56345820        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 
     
    56435829                        input.rewind(); 
    56445830                        s = -1; 
    5645                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5646  
    5647                         else if ( (true) ) {s = 16;} 
     5831                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5832 
     5833                        else if ( (true) ) {s = 17;} 
    56485834 
    56495835                          
     
    56585844                        input.rewind(); 
    56595845                        s = -1; 
    5660                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5661  
    5662                         else if ( (true) ) {s = 16;} 
     5846                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5847 
     5848                        else if ( (true) ) {s = 17;} 
    56635849 
    56645850                          
     
    56735859                        input.rewind(); 
    56745860                        s = -1; 
    5675                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5676  
    5677                         else if ( (true) ) {s = 16;} 
     5861                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5862 
     5863                        else if ( (true) ) {s = 17;} 
    56785864 
    56795865                          
     
    56885874                        input.rewind(); 
    56895875                        s = -1; 
    5690                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5691  
    5692                         else if ( (true) ) {s = 16;} 
     5876                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5877 
     5878                        else if ( (true) ) {s = 17;} 
    56935879 
    56945880                          
     
    57035889                        input.rewind(); 
    57045890                        s = -1; 
    5705                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5706  
    5707                         else if ( (true) ) {s = 16;} 
     5891                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5892 
     5893                        else if ( (true) ) {s = 17;} 
    57085894 
    57095895                          
     
    57185904                        input.rewind(); 
    57195905                        s = -1; 
    5720                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5721  
    5722                         else if ( (true) ) {s = 16;} 
     5906                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5907 
     5908                        else if ( (true) ) {s = 17;} 
    57235909 
    57245910                          
     
    57335919                        input.rewind(); 
    57345920                        s = -1; 
    5735                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5736  
    5737                         else if ( (true) ) {s = 16;} 
     5921                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5922 
     5923                        else if ( (true) ) {s = 17;} 
    57385924 
    57395925                          
     
    57485934                        input.rewind(); 
    57495935                        s = -1; 
    5750                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5751  
    5752                         else if ( (true) ) {s = 16;} 
     5936                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5937 
     5938                        else if ( (true) ) {s = 17;} 
    57535939 
    57545940                          
     
    57635949                        input.rewind(); 
    57645950                        s = -1; 
    5765                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5766  
    5767                         else if ( (true) ) {s = 16;} 
     5951                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5952 
     5953                        else if ( (true) ) {s = 17;} 
    57685954 
    57695955                          
     
    57785964                        input.rewind(); 
    57795965                        s = -1; 
    5780                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5781  
    5782                         else if ( (true) ) {s = 16;} 
     5966                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5967 
     5968                        else if ( (true) ) {s = 17;} 
    57835969 
    57845970                          
     
    57935979                        input.rewind(); 
    57945980                        s = -1; 
    5795                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5796  
    5797                         else if ( (true) ) {s = 16;} 
     5981                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5982 
     5983                        else if ( (true) ) {s = 17;} 
    57985984 
    57995985                          
     
    58085994                        input.rewind(); 
    58095995                        s = -1; 
    5810                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5811  
    5812                         else if ( (true) ) {s = 16;} 
     5996                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     5997 
     5998                        else if ( (true) ) {s = 17;} 
    58135999 
    58146000                          
     
    58236009                        input.rewind(); 
    58246010                        s = -1; 
    5825                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5826  
    5827                         else if ( (true) ) {s = 16;} 
     6011                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     6012 
     6013                        else if ( (true) ) {s = 17;} 
    58286014 
    58296015                          
     
    58386024                        input.rewind(); 
    58396025                        s = -1; 
    5840                         if ( (synpred52_InternalEbnf()) ) {s = 1;} 
    5841  
    5842                         else if ( (true) ) {s = 16;} 
     6026                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     6027 
     6028                        else if ( (true) ) {s = 17;} 
    58436029 
    58446030                          
    58456031                        input.seek(index38_15); 
     6032                        if ( s>=0 ) return s; 
     6033                        break; 
     6034                    case 14 :  
     6035                        int LA38_16 = input.LA(1); 
     6036 
     6037                          
     6038                        int index38_16 = input.index(); 
     6039                        input.rewind(); 
     6040                        s = -1; 
     6041                        if ( (synpred53_InternalEbnf()) ) {s = 1;} 
     6042 
     6043                        else if ( (true) ) {s = 17;} 
     6044 
     6045                          
     6046                        input.seek(index38_16); 
    58466047                        if ( s>=0 ) return s; 
    58476048                        break; 
     
    58616062    public static final BitSet FOLLOW_RULE_ID_in_ruleEtsiBnf153 = new BitSet(new long[]{0x000000000000C000L}); 
    58626063    public static final BitSet FOLLOW_14_in_ruleEtsiBnf177 = new BitSet(new long[]{0x0000000000008000L}); 
    5863     public static final BitSet FOLLOW_15_in_ruleEtsiBnf203 = new BitSet(new long[]{0x00000000000400B0L}); 
    5864     public static final BitSet FOLLOW_ruleImportSection_in_ruleEtsiBnf224 = new BitSet(new long[]{0x00000000000400B0L}); 
    5865     public static final BitSet FOLLOW_ruleBnfEntry_in_ruleEtsiBnf246 = new BitSet(new long[]{0x00000000000400B2L}); 
     6064    public static final BitSet FOLLOW_15_in_ruleEtsiBnf203 = new BitSet(new long[]{0x0000000000040170L}); 
     6065    public static final BitSet FOLLOW_ruleImportSection_in_ruleEtsiBnf224 = new BitSet(new long[]{0x0000000000040170L}); 
     6066    public static final BitSet FOLLOW_ruleBnfEntry_in_ruleEtsiBnf246 = new BitSet(new long[]{0x0000000000040172L}); 
    58666067    public static final BitSet FOLLOW_16_in_ruleEtsiBnf274 = new BitSet(new long[]{0x0000000000008000L}); 
    5867     public static final BitSet FOLLOW_15_in_ruleEtsiBnf299 = new BitSet(new long[]{0x00000000000400B2L}); 
    5868     public static final BitSet FOLLOW_ruleImportSection_in_ruleEtsiBnf320 = new BitSet(new long[]{0x00000000000400B2L}); 
    5869     public static final BitSet FOLLOW_ruleDeltaEntry_in_ruleEtsiBnf342 = new BitSet(new long[]{0x00000000000400B2L}); 
     6068    public static final BitSet FOLLOW_15_in_ruleEtsiBnf299 = new BitSet(new long[]{0x0000000000040132L}); 
     6069    public static final BitSet FOLLOW_ruleImportSection_in_ruleEtsiBnf320 = new BitSet(new long[]{0x0000000000000132L}); 
     6070    public static final BitSet FOLLOW_ruleDeltaEntry_in_ruleEtsiBnf342 = new BitSet(new long[]{0x0000000000000132L}); 
    58706071    public static final BitSet FOLLOW_17_in_ruleEtsiBnf369 = new BitSet(new long[]{0x0000000000008000L}); 
    58716072    public static final BitSet FOLLOW_15_in_ruleEtsiBnf394 = new BitSet(new long[]{0x000000D000040022L}); 
     
    58796080    public static final BitSet FOLLOW_ruleSectionHeading_in_ruleBnfEntry622 = new BitSet(new long[]{0x0000000000000002L}); 
    58806081    public static final BitSet FOLLOW_ruleRule_in_ruleBnfEntry649 = new BitSet(new long[]{0x0000000000000002L}); 
    5881     public static final BitSet FOLLOW_ruleDeltaEntry_in_entryRuleDeltaEntry685 = new BitSet(new long[]{0x0000000000000000L}); 
    5882     public static final BitSet FOLLOW_EOF_in_entryRuleDeltaEntry695 = new BitSet(new long[]{0x0000000000000002L}); 
    5883     public static final BitSet FOLLOW_ruleRule_in_ruleDeltaEntry741 = new BitSet(new long[]{0x0000000000000002L}); 
    5884     public static final BitSet FOLLOW_ruleSectionHeading_in_ruleDeltaEntry768 = new BitSet(new long[]{0x0000000000000002L}); 
    5885     public static final BitSet FOLLOW_ruleExtRule_in_ruleDeltaEntry795 = new BitSet(new long[]{0x0000000000000002L}); 
    5886     public static final BitSet FOLLOW_ruleMergeEntry_in_entryRuleMergeEntry831 = new BitSet(new long[]{0x0000000000000000L}); 
    5887     public static final BitSet FOLLOW_EOF_in_entryRuleMergeEntry841 = new BitSet(new long[]{0x0000000000000002L}); 
    5888     public static final BitSet FOLLOW_ruleSectionHeading_in_ruleMergeEntry887 = new BitSet(new long[]{0x0000000000000002L}); 
    5889     public static final BitSet FOLLOW_ruleMergeRule_in_ruleMergeEntry914 = new BitSet(new long[]{0x0000000000000002L}); 
    5890     public static final BitSet FOLLOW_ruleSectionHeading_in_entryRuleSectionHeading950 = new BitSet(new long[]{0x0000000000000000L}); 
    5891     public static final BitSet FOLLOW_EOF_in_entryRuleSectionHeading960 = new BitSet(new long[]{0x0000000000000002L}); 
    5892     public static final BitSet FOLLOW_RULE_SECTIONHEADER_in_ruleSectionHeading1014 = new BitSet(new long[]{0x0000000000000002L}); 
    5893     public static final BitSet FOLLOW_ruleImport_in_entryRuleImport1055 = new BitSet(new long[]{0x0000000000000000L}); 
    5894     public static final BitSet FOLLOW_EOF_in_entryRuleImport1065 = new BitSet(new long[]{0x0000000000000002L}); 
    5895     public static final BitSet FOLLOW_18_in_ruleImport1102 = new BitSet(new long[]{0x0000000000000040L}); 
    5896     public static final BitSet FOLLOW_RULE_STRING_in_ruleImport1119 = new BitSet(new long[]{0x0000000000888000L}); 
    5897     public static final BitSet FOLLOW_19_in_ruleImport1137 = new BitSet(new long[]{0x0000000000700000L}); 
    5898     public static final BitSet FOLLOW_20_in_ruleImport1156 = new BitSet(new long[]{0x0000000000808000L}); 
    5899     public static final BitSet FOLLOW_21_in_ruleImport1193 = new BitSet(new long[]{0x0000000000808000L}); 
    5900     public static final BitSet FOLLOW_22_in_ruleImport1230 = new BitSet(new long[]{0x0000000000808000L}); 
    5901     public static final BitSet FOLLOW_23_in_ruleImport1259 = new BitSet(new long[]{0x0000000000000010L}); 
    5902     public static final BitSet FOLLOW_RULE_ID_in_ruleImport1276 = new BitSet(new long[]{0x0000000000008000L}); 
    5903     public static final BitSet FOLLOW_15_in_ruleImport1295 = new BitSet(new long[]{0x0000000000000002L}); 
    5904     public static final BitSet FOLLOW_ruleRule_in_entryRuleRule1331 = new BitSet(new long[]{0x0000000000000000L}); 
    5905     public static final BitSet FOLLOW_EOF_in_entryRuleRule1341 = new BitSet(new long[]{0x0000000000000002L}); 
    5906     public static final BitSet FOLLOW_RULE_INT_in_ruleRule1384 = new BitSet(new long[]{0x0000000001000010L}); 
    5907     public static final BitSet FOLLOW_RULE_ID_in_ruleRule1406 = new BitSet(new long[]{0x0000000001000000L}); 
    5908     public static final BitSet FOLLOW_24_in_ruleRule1424 = new BitSet(new long[]{0x0000000000000010L}); 
    5909     public static final BitSet FOLLOW_RULE_ID_in_ruleRule1443 = new BitSet(new long[]{0x0000000002000000L}); 
    5910     public static final BitSet FOLLOW_25_in_ruleRule1460 = new BitSet(new long[]{0x0000000304008252L}); 
    5911     public static final BitSet FOLLOW_ruleDefinitionList_in_ruleRule1481 = new BitSet(new long[]{0x0000000000008002L}); 
    5912     public static final BitSet FOLLOW_15_in_ruleRule1495 = new BitSet(new long[]{0x0000000000000002L}); 
    5913     public static final BitSet FOLLOW_ruleExtRule_in_entryRuleExtRule1533 = new BitSet(new long[]{0x0000000000000000L}); 
    5914     public static final BitSet FOLLOW_EOF_in_entryRuleExtRule1543 = new BitSet(new long[]{0x0000000000000002L}); 
    5915     public static final BitSet FOLLOW_RULE_INT_in_ruleExtRule1586 = new BitSet(new long[]{0x0000000001000010L}); 
    5916     public static final BitSet FOLLOW_RULE_ID_in_ruleExtRule1608 = new BitSet(new long[]{0x0000000001000000L}); 
    5917     public static final BitSet FOLLOW_24_in_ruleExtRule1626 = new BitSet(new long[]{0x0000000000000010L}); 
    5918     public static final BitSet FOLLOW_RULE_ID_in_ruleExtRule1645 = new BitSet(new long[]{0x0000000004000000L}); 
    5919     public static final BitSet FOLLOW_26_in_ruleExtRule1663 = new BitSet(new long[]{0x0000000000000080L}); 
    5920     public static final BitSet FOLLOW_RULE_INT_in_ruleExtRule1680 = new BitSet(new long[]{0x0000000008000000L}); 
    5921     public static final BitSet FOLLOW_27_in_ruleExtRule1697 = new BitSet(new long[]{0x0000000010000000L}); 
    5922     public static final BitSet FOLLOW_28_in_ruleExtRule1710 = new BitSet(new long[]{0x0000000FEC008252L}); 
    5923     public static final BitSet FOLLOW_ruleAtom_in_ruleExtRule1732 = new BitSet(new long[]{0x0000000FEC008252L}); 
    5924     public static final BitSet FOLLOW_27_in_ruleExtRule1750 = new BitSet(new long[]{0x0000000FEC008252L}); 
    5925     public static final BitSet FOLLOW_29_in_ruleExtRule1768 = new BitSet(new long[]{0x0000000FEC008252L}); 
    5926     public static final BitSet FOLLOW_30_in_ruleExtRule1786 = new BitSet(new long[]{0x0000000FEC008252L}); 
    5927     public static final BitSet FOLLOW_31_in_ruleExtRule1804 = new BitSet(new long[]{0x0000000FEC008252L}); 
    5928     public static final BitSet FOLLOW_26_in_ruleExtRule1822 = new BitSet(new long[]{0x0000000FEC008252L}); 
    5929     public static final BitSet FOLLOW_32_in_ruleExtRule1840 = new BitSet(new long[]{0x0000000FEC008252L}); 
    5930     public static final BitSet FOLLOW_33_in_ruleExtRule1858 = new BitSet(new long[]{0x0000000FEC008252L}); 
    5931     public static final BitSet FOLLOW_34_in_ruleExtRule1876 = new BitSet(new long[]{0x0000000FEC008252L}); 
    5932     public static final BitSet FOLLOW_35_in_ruleExtRule1894 = new BitSet(new long[]{0x0000000FEC008252L}); 
    5933     public static final BitSet FOLLOW_15_in_ruleExtRule1909 = new BitSet(new long[]{0x0000000000000002L}); 
    5934     public static final BitSet FOLLOW_ruleMergeRule_in_entryRuleMergeRule1947 = new BitSet(new long[]{0x0000000000000000L}); 
    5935     public static final BitSet FOLLOW_EOF_in_entryRuleMergeRule1957 = new BitSet(new long[]{0x0000000000000002L}); 
    5936     public static final BitSet FOLLOW_ruleGlobalCombinator_in_ruleMergeRule2007 = new BitSet(new long[]{0x0000000000000002L}); 
    5937     public static final BitSet FOLLOW_ruleRuleCombinator_in_ruleMergeRule2037 = new BitSet(new long[]{0x0000000000000002L}); 
    5938     public static final BitSet FOLLOW_ruleHookCombinator_in_ruleMergeRule2067 = new BitSet(new long[]{0x0000000000000002L}); 
    5939     public static final BitSet FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator2102 = new BitSet(new long[]{0x0000000000000000L}); 
    5940     public static final BitSet FOLLOW_EOF_in_entryRuleGlobalCombinator2112 = new BitSet(new long[]{0x0000000000000002L}); 
    5941     public static final BitSet FOLLOW_36_in_ruleGlobalCombinator2150 = new BitSet(new long[]{0x0000002000000000L}); 
    5942     public static final BitSet FOLLOW_37_in_ruleGlobalCombinator2162 = new BitSet(new long[]{0x0000000000000100L}); 
    5943     public static final BitSet FOLLOW_RULE_LOGIC_in_ruleGlobalCombinator2180 = new BitSet(new long[]{0x0000000000008002L}); 
    5944     public static final BitSet FOLLOW_15_in_ruleGlobalCombinator2198 = new BitSet(new long[]{0x0000000000000002L}); 
    5945     public static final BitSet FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator2236 = new BitSet(new long[]{0x0000000000000000L}); 
    5946     public static final BitSet FOLLOW_EOF_in_entryRuleRuleCombinator2246 = new BitSet(new long[]{0x0000000000000002L}); 
    5947     public static final BitSet FOLLOW_38_in_ruleRuleCombinator2284 = new BitSet(new long[]{0x0000002000000000L}); 
    5948     public static final BitSet FOLLOW_37_in_ruleRuleCombinator2296 = new BitSet(new long[]{0x0000000000000010L}); 
    5949     public static final BitSet FOLLOW_RULE_ID_in_ruleRuleCombinator2313 = new BitSet(new long[]{0x0000000000000100L}); 
    5950     public static final BitSet FOLLOW_RULE_LOGIC_in_ruleRuleCombinator2336 = new BitSet(new long[]{0x0000000004008002L}); 
    5951     public static final BitSet FOLLOW_26_in_ruleRuleCombinator2354 = new BitSet(new long[]{0x0000000000000040L}); 
    5952     public static final BitSet FOLLOW_RULE_STRING_in_ruleRuleCombinator2371 = new BitSet(new long[]{0x0000000008000000L}); 
    5953     public static final BitSet FOLLOW_27_in_ruleRuleCombinator2388 = new BitSet(new long[]{0x0000000004008002L}); 
    5954     public static final BitSet FOLLOW_15_in_ruleRuleCombinator2403 = new BitSet(new long[]{0x0000000000000002L}); 
    5955     public static final BitSet FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator2441 = new BitSet(new long[]{0x0000000000000000L}); 
    5956     public static final BitSet FOLLOW_EOF_in_entryRuleHookCombinator2451 = new BitSet(new long[]{0x0000000000000002L}); 
    5957     public static final BitSet FOLLOW_39_in_ruleHookCombinator2488 = new BitSet(new long[]{0x0000002000000000L}); 
    5958     public static final BitSet FOLLOW_37_in_ruleHookCombinator2500 = new BitSet(new long[]{0x0000000000000010L}); 
    5959     public static final BitSet FOLLOW_RULE_ID_in_ruleHookCombinator2517 = new BitSet(new long[]{0x0000000004000000L}); 
    5960     public static final BitSet FOLLOW_26_in_ruleHookCombinator2534 = new BitSet(new long[]{0x0000000000000080L}); 
    5961     public static final BitSet FOLLOW_RULE_INT_in_ruleHookCombinator2551 = new BitSet(new long[]{0x0000000008000000L}); 
    5962     public static final BitSet FOLLOW_27_in_ruleHookCombinator2568 = new BitSet(new long[]{0x0000000004000100L}); 
    5963     public static final BitSet FOLLOW_RULE_LOGIC_in_ruleHookCombinator2585 = new BitSet(new long[]{0x0000000004000000L}); 
    5964     public static final BitSet FOLLOW_26_in_ruleHookCombinator2604 = new BitSet(new long[]{0x0000000000000040L}); 
    5965     public static final BitSet FOLLOW_RULE_STRING_in_ruleHookCombinator2621 = new BitSet(new long[]{0x0000000008000000L}); 
    5966     public static final BitSet FOLLOW_27_in_ruleHookCombinator2638 = new BitSet(new long[]{0x0000000004008002L}); 
    5967     public static final BitSet FOLLOW_15_in_ruleHookCombinator2653 = new BitSet(new long[]{0x0000000000000002L}); 
    5968     public static final BitSet FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList2691 = new BitSet(new long[]{0x0000000000000000L}); 
    5969     public static final BitSet FOLLOW_EOF_in_entryRuleDefinitionList2701 = new BitSet(new long[]{0x0000000000000002L}); 
    5970     public static final BitSet FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2747 = new BitSet(new long[]{0x0000000080000002L}); 
    5971     public static final BitSet FOLLOW_31_in_ruleDefinitionList2760 = new BitSet(new long[]{0x0000000304000250L}); 
    5972     public static final BitSet FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2781 = new BitSet(new long[]{0x0000000080000002L}); 
    5973     public static final BitSet FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition2819 = new BitSet(new long[]{0x0000000000000000L}); 
    5974     public static final BitSet FOLLOW_EOF_in_entryRuleSingleDefinition2829 = new BitSet(new long[]{0x0000000000000002L}); 
    5975     public static final BitSet FOLLOW_ruleTerm_in_ruleSingleDefinition2874 = new BitSet(new long[]{0x0000000304000252L}); 
    5976     public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm2910 = new BitSet(new long[]{0x0000000000000000L}); 
    5977     public static final BitSet FOLLOW_EOF_in_entryRuleTerm2920 = new BitSet(new long[]{0x0000000000000002L}); 
    5978     public static final BitSet FOLLOW_ruleAtom_in_ruleTerm2966 = new BitSet(new long[]{0x0000000000000002L}); 
    5979     public static final BitSet FOLLOW_ruleGroupedSequence_in_ruleTerm2993 = new BitSet(new long[]{0x0000000000000002L}); 
    5980     public static final BitSet FOLLOW_ruleOptionalSequence_in_ruleTerm3020 = new BitSet(new long[]{0x0000000000000002L}); 
    5981     public static final BitSet FOLLOW_ruleRepeatedSequence_in_ruleTerm3047 = new BitSet(new long[]{0x0000000000000002L}); 
    5982     public static final BitSet FOLLOW_ruleAtom_in_entryRuleAtom3083 = new BitSet(new long[]{0x0000000000000000L}); 
    5983     public static final BitSet FOLLOW_EOF_in_entryRuleAtom3093 = new BitSet(new long[]{0x0000000000000002L}); 
    5984     public static final BitSet FOLLOW_ruleStringRule_in_ruleAtom3139 = new BitSet(new long[]{0x0000000000000002L}); 
    5985     public static final BitSet FOLLOW_ruleRuleReference_in_ruleAtom3166 = new BitSet(new long[]{0x0000000000000002L}); 
    5986     public static final BitSet FOLLOW_ruleRuleReference_in_entryRuleRuleReference3202 = new BitSet(new long[]{0x0000000000000000L}); 
    5987     public static final BitSet FOLLOW_EOF_in_entryRuleRuleReference3212 = new BitSet(new long[]{0x0000000000000002L}); 
    5988     public static final BitSet FOLLOW_RULE_ID_in_ruleRuleReference3260 = new BitSet(new long[]{0x0000000000000002L}); 
    5989     public static final BitSet FOLLOW_ruleStringRule_in_entryRuleStringRule3295 = new BitSet(new long[]{0x0000000000000000L}); 
    5990     public static final BitSet FOLLOW_EOF_in_entryRuleStringRule3305 = new BitSet(new long[]{0x0000000000000002L}); 
    5991     public static final BitSet FOLLOW_RULE_STRING_in_ruleStringRule3347 = new BitSet(new long[]{0x0000000000000002L}); 
    5992     public static final BitSet FOLLOW_RULE_COLON_in_ruleStringRule3375 = new BitSet(new long[]{0x0000000000000002L}); 
    5993     public static final BitSet FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence3416 = new BitSet(new long[]{0x0000000000000000L}); 
    5994     public static final BitSet FOLLOW_EOF_in_entryRuleGroupedSequence3426 = new BitSet(new long[]{0x0000000000000002L}); 
    5995     public static final BitSet FOLLOW_26_in_ruleGroupedSequence3463 = new BitSet(new long[]{0x0000000304000250L}); 
    5996     public static final BitSet FOLLOW_ruleDefinitionList_in_ruleGroupedSequence3484 = new BitSet(new long[]{0x0000000008000000L}); 
    5997     public static final BitSet FOLLOW_27_in_ruleGroupedSequence3496 = new BitSet(new long[]{0x0000000000000002L}); 
    5998     public static final BitSet FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence3532 = new BitSet(new long[]{0x0000000000000000L}); 
    5999     public static final BitSet FOLLOW_EOF_in_entryRuleOptionalSequence3542 = new BitSet(new long[]{0x0000000000000002L}); 
    6000     public static final BitSet FOLLOW_32_in_ruleOptionalSequence3579 = new BitSet(new long[]{0x0000000304000250L}); 
    6001     public static final BitSet FOLLOW_ruleDefinitionList_in_ruleOptionalSequence3600 = new BitSet(new long[]{0x0000000020000000L}); 
    6002     public static final BitSet FOLLOW_29_in_ruleOptionalSequence3612 = new BitSet(new long[]{0x0000000000000002L}); 
    6003     public static final BitSet FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence3648 = new BitSet(new long[]{0x0000000000000000L}); 
    6004     public static final BitSet FOLLOW_EOF_in_entryRuleRepeatedSequence3658 = new BitSet(new long[]{0x0000000000000002L}); 
    6005     public static final BitSet FOLLOW_33_in_ruleRepeatedSequence3695 = new BitSet(new long[]{0x0000000304000250L}); 
    6006     public static final BitSet FOLLOW_ruleDefinitionList_in_ruleRepeatedSequence3716 = new BitSet(new long[]{0x0000000040000000L}); 
    6007     public static final BitSet FOLLOW_30_in_ruleRepeatedSequence3728 = new BitSet(new long[]{0x0000010800000002L}); 
    6008     public static final BitSet FOLLOW_35_in_ruleRepeatedSequence3747 = new BitSet(new long[]{0x0000000000000002L}); 
    6009     public static final BitSet FOLLOW_ruleRepeatRange_in_ruleRepeatedSequence3788 = new BitSet(new long[]{0x0000000000000002L}); 
    6010     public static final BitSet FOLLOW_ruleRepeatRange_in_entryRuleRepeatRange3826 = new BitSet(new long[]{0x0000000000000000L}); 
    6011     public static final BitSet FOLLOW_EOF_in_entryRuleRepeatRange3836 = new BitSet(new long[]{0x0000000000000002L}); 
    6012     public static final BitSet FOLLOW_40_in_ruleRepeatRange3873 = new BitSet(new long[]{0x0000000004000000L}); 
    6013     public static final BitSet FOLLOW_26_in_ruleRepeatRange3885 = new BitSet(new long[]{0x0000000000000080L}); 
    6014     public static final BitSet FOLLOW_RULE_INT_in_ruleRepeatRange3902 = new BitSet(new long[]{0x0000020000000000L}); 
    6015     public static final BitSet FOLLOW_41_in_ruleRepeatRange3919 = new BitSet(new long[]{0x0000000000000080L}); 
    6016     public static final BitSet FOLLOW_RULE_INT_in_ruleRepeatRange3936 = new BitSet(new long[]{0x0000000008000000L}); 
    6017     public static final BitSet FOLLOW_27_in_ruleRepeatRange3953 = new BitSet(new long[]{0x0000000000000002L}); 
    6018     public static final BitSet FOLLOW_35_in_synpred52_InternalEbnf3747 = new BitSet(new long[]{0x0000000000000002L}); 
     6082    public static final BitSet FOLLOW_ruleComment_in_ruleBnfEntry676 = new BitSet(new long[]{0x0000000000000002L}); 
     6083    public static final BitSet FOLLOW_ruleDeltaEntry_in_entryRuleDeltaEntry712 = new BitSet(new long[]{0x0000000000000000L}); 
     6084    public static final BitSet FOLLOW_EOF_in_entryRuleDeltaEntry722 = new BitSet(new long[]{0x0000000000000002L}); 
     6085    public static final BitSet FOLLOW_ruleRule_in_ruleDeltaEntry768 = new BitSet(new long[]{0x0000000000000002L}); 
     6086    public static final BitSet FOLLOW_ruleSectionHeading_in_ruleDeltaEntry795 = new BitSet(new long[]{0x0000000000000002L}); 
     6087    public static final BitSet FOLLOW_ruleExtRule_in_ruleDeltaEntry822 = new BitSet(new long[]{0x0000000000000002L}); 
     6088    public static final BitSet FOLLOW_ruleMergeEntry_in_entryRuleMergeEntry858 = new BitSet(new long[]{0x0000000000000000L}); 
     6089    public static final BitSet FOLLOW_EOF_in_entryRuleMergeEntry868 = new BitSet(new long[]{0x0000000000000002L}); 
     6090    public static final BitSet FOLLOW_ruleSectionHeading_in_ruleMergeEntry914 = new BitSet(new long[]{0x0000000000000002L}); 
     6091    public static final BitSet FOLLOW_ruleMergeRule_in_ruleMergeEntry941 = new BitSet(new long[]{0x0000000000000002L}); 
     6092    public static final BitSet FOLLOW_ruleSectionHeading_in_entryRuleSectionHeading977 = new BitSet(new long[]{0x0000000000000000L}); 
     6093    public static final BitSet FOLLOW_EOF_in_entryRuleSectionHeading987 = new BitSet(new long[]{0x0000000000000002L}); 
     6094    public static final BitSet FOLLOW_RULE_SECTIONHEADER_in_ruleSectionHeading1041 = new BitSet(new long[]{0x0000000000000002L}); 
     6095    public static final BitSet FOLLOW_ruleComment_in_entryRuleComment1082 = new BitSet(new long[]{0x0000000000000000L}); 
     6096    public static final BitSet FOLLOW_EOF_in_entryRuleComment1092 = new BitSet(new long[]{0x0000000000000002L}); 
     6097    public static final BitSet FOLLOW_RULE_ML_COMMENT_in_ruleComment1146 = new BitSet(new long[]{0x0000000000000002L}); 
     6098    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport1187 = new BitSet(new long[]{0x0000000000000000L}); 
     6099    public static final BitSet FOLLOW_EOF_in_entryRuleImport1197 = new BitSet(new long[]{0x0000000000000002L}); 
     6100    public static final BitSet FOLLOW_18_in_ruleImport1234 = new BitSet(new long[]{0x0000000000000080L}); 
     6101    public static final BitSet FOLLOW_RULE_STRING_in_ruleImport1251 = new BitSet(new long[]{0x0000000000888000L}); 
     6102    public static final BitSet FOLLOW_19_in_ruleImport1269 = new BitSet(new long[]{0x0000000000700000L}); 
     6103    public static final BitSet FOLLOW_20_in_ruleImport1288 = new BitSet(new long[]{0x0000000000808000L}); 
     6104    public static final BitSet FOLLOW_21_in_ruleImport1325 = new BitSet(new long[]{0x0000000000808000L}); 
     6105    public static final BitSet FOLLOW_22_in_ruleImport1362 = new BitSet(new long[]{0x0000000000808000L}); 
     6106    public static final BitSet FOLLOW_23_in_ruleImport1391 = new BitSet(new long[]{0x0000000000000010L}); 
     6107    public static final BitSet FOLLOW_RULE_ID_in_ruleImport1408 = new BitSet(new long[]{0x0000000000008000L}); 
     6108    public static final BitSet FOLLOW_15_in_ruleImport1427 = new BitSet(new long[]{0x0000000000000002L}); 
     6109    public static final BitSet FOLLOW_ruleRule_in_entryRuleRule1463 = new BitSet(new long[]{0x0000000000000000L}); 
     6110    public static final BitSet FOLLOW_EOF_in_entryRuleRule1473 = new BitSet(new long[]{0x0000000000000002L}); 
     6111    public static final BitSet FOLLOW_RULE_INT_in_ruleRule1516 = new BitSet(new long[]{0x0000000001000010L}); 
     6112    public static final BitSet FOLLOW_RULE_ID_in_ruleRule1538 = new BitSet(new long[]{0x0000000001000000L}); 
     6113    public static final BitSet FOLLOW_24_in_ruleRule1556 = new BitSet(new long[]{0x0000000000000010L}); 
     6114    public static final BitSet FOLLOW_RULE_ID_in_ruleRule1575 = new BitSet(new long[]{0x0000000002000000L}); 
     6115    public static final BitSet FOLLOW_25_in_ruleRule1592 = new BitSet(new long[]{0x0000000304008492L}); 
     6116    public static final BitSet FOLLOW_ruleDefinitionList_in_ruleRule1613 = new BitSet(new long[]{0x0000000000008002L}); 
     6117    public static final BitSet FOLLOW_15_in_ruleRule1627 = new BitSet(new long[]{0x0000000000000002L}); 
     6118    public static final BitSet FOLLOW_ruleExtRule_in_entryRuleExtRule1665 = new BitSet(new long[]{0x0000000000000000L}); 
     6119    public static final BitSet FOLLOW_EOF_in_entryRuleExtRule1675 = new BitSet(new long[]{0x0000000000000002L}); 
     6120    public static final BitSet FOLLOW_RULE_INT_in_ruleExtRule1718 = new BitSet(new long[]{0x0000000001000010L}); 
     6121    public static final BitSet FOLLOW_RULE_ID_in_ruleExtRule1740 = new BitSet(new long[]{0x0000000001000000L}); 
     6122    public static final BitSet FOLLOW_24_in_ruleExtRule1758 = new BitSet(new long[]{0x0000000000000010L}); 
     6123    public static final BitSet FOLLOW_RULE_ID_in_ruleExtRule1777 = new BitSet(new long[]{0x0000000004000000L}); 
     6124    public static final BitSet FOLLOW_26_in_ruleExtRule1795 = new BitSet(new long[]{0x0000000000000100L}); 
     6125    public static final BitSet FOLLOW_RULE_INT_in_ruleExtRule1812 = new BitSet(new long[]{0x0000000008000000L}); 
     6126    public static final BitSet FOLLOW_27_in_ruleExtRule1829 = new BitSet(new long[]{0x0000000010000000L}); 
     6127    public static final BitSet FOLLOW_28_in_ruleExtRule1842 = new BitSet(new long[]{0x0000000FEC008492L}); 
     6128    public static final BitSet FOLLOW_ruleAtom_in_ruleExtRule1864 = new BitSet(new long[]{0x0000000FEC008492L}); 
     6129    public static final BitSet FOLLOW_27_in_ruleExtRule1882 = new BitSet(new long[]{0x0000000FEC008492L}); 
     6130    public static final BitSet FOLLOW_29_in_ruleExtRule1900 = new BitSet(new long[]{0x0000000FEC008492L}); 
     6131    public static final BitSet FOLLOW_30_in_ruleExtRule1918 = new BitSet(new long[]{0x0000000FEC008492L}); 
     6132    public static final BitSet FOLLOW_31_in_ruleExtRule1936 = new BitSet(new long[]{0x0000000FEC008492L}); 
     6133    public static final BitSet FOLLOW_26_in_ruleExtRule1954 = new BitSet(new long[]{0x0000000FEC008492L}); 
     6134    public static final BitSet FOLLOW_32_in_ruleExtRule1972 = new BitSet(new long[]{0x0000000FEC008492L}); 
     6135    public static final BitSet FOLLOW_33_in_ruleExtRule1990 = new BitSet(new long[]{0x0000000FEC008492L}); 
     6136    public static final BitSet FOLLOW_34_in_ruleExtRule2008 = new BitSet(new long[]{0x0000000FEC008492L}); 
     6137    public static final BitSet FOLLOW_35_in_ruleExtRule2026 = new BitSet(new long[]{0x0000000FEC008492L}); 
     6138    public static final BitSet FOLLOW_15_in_ruleExtRule2041 = new BitSet(new long[]{0x0000000000000002L}); 
     6139    public static final BitSet FOLLOW_ruleMergeRule_in_entryRuleMergeRule2079 = new BitSet(new long[]{0x0000000000000000L}); 
     6140    public static final BitSet FOLLOW_EOF_in_entryRuleMergeRule2089 = new BitSet(new long[]{0x0000000000000002L}); 
     6141    public static final BitSet FOLLOW_ruleGlobalCombinator_in_ruleMergeRule2139 = new BitSet(new long[]{0x0000000000000002L}); 
     6142    public static final BitSet FOLLOW_ruleRuleCombinator_in_ruleMergeRule2169 = new BitSet(new long[]{0x0000000000000002L}); 
     6143    public static final BitSet FOLLOW_ruleHookCombinator_in_ruleMergeRule2199 = new BitSet(new long[]{0x0000000000000002L}); 
     6144    public static final BitSet FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator2234 = new BitSet(new long[]{0x0000000000000000L}); 
     6145    public static final BitSet FOLLOW_EOF_in_entryRuleGlobalCombinator2244 = new BitSet(new long[]{0x0000000000000002L}); 
     6146    public static final BitSet FOLLOW_36_in_ruleGlobalCombinator2282 = new BitSet(new long[]{0x0000002000000000L}); 
     6147    public static final BitSet FOLLOW_37_in_ruleGlobalCombinator2294 = new BitSet(new long[]{0x0000000000000200L}); 
     6148    public static final BitSet FOLLOW_RULE_LOGIC_in_ruleGlobalCombinator2312 = new BitSet(new long[]{0x0000000000008002L}); 
     6149    public static final BitSet FOLLOW_15_in_ruleGlobalCombinator2330 = new BitSet(new long[]{0x0000000000000002L}); 
     6150    public static final BitSet FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator2368 = new BitSet(new long[]{0x0000000000000000L}); 
     6151    public static final BitSet FOLLOW_EOF_in_entryRuleRuleCombinator2378 = new BitSet(new long[]{0x0000000000000002L}); 
     6152    public static final BitSet FOLLOW_38_in_ruleRuleCombinator2416 = new BitSet(new long[]{0x0000002000000000L}); 
     6153    public static final BitSet FOLLOW_37_in_ruleRuleCombinator2428 = new BitSet(new long[]{0x0000000000000010L}); 
     6154    public static final BitSet FOLLOW_RULE_ID_in_ruleRuleCombinator2445 = new BitSet(new long[]{0x0000000000000200L}); 
     6155    public static final BitSet FOLLOW_RULE_LOGIC_in_ruleRuleCombinator2468 = new BitSet(new long[]{0x0000000004008002L}); 
     6156    public static final BitSet FOLLOW_26_in_ruleRuleCombinator2486 = new BitSet(new long[]{0x0000000000000080L}); 
     6157    public static final BitSet FOLLOW_RULE_STRING_in_ruleRuleCombinator2503 = new BitSet(new long[]{0x0000000008000000L}); 
     6158    public static final BitSet FOLLOW_27_in_ruleRuleCombinator2520 = new BitSet(new long[]{0x0000000004008002L}); 
     6159    public static final BitSet FOLLOW_15_in_ruleRuleCombinator2535 = new BitSet(new long[]{0x0000000000000002L}); 
     6160    public static final BitSet FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator2573 = new BitSet(new long[]{0x0000000000000000L}); 
     6161    public static final BitSet FOLLOW_EOF_in_entryRuleHookCombinator2583 = new BitSet(new long[]{0x0000000000000002L}); 
     6162    public static final BitSet FOLLOW_39_in_ruleHookCombinator2620 = new BitSet(new long[]{0x0000002000000000L}); 
     6163    public static final BitSet FOLLOW_37_in_ruleHookCombinator2632 = new BitSet(new long[]{0x0000000000000010L}); 
     6164    public static final BitSet FOLLOW_RULE_ID_in_ruleHookCombinator2649 = new BitSet(new long[]{0x0000000004000000L}); 
     6165    public static final BitSet FOLLOW_26_in_ruleHookCombinator2666 = new BitSet(new long[]{0x0000000000000100L}); 
     6166    public static final BitSet FOLLOW_RULE_INT_in_ruleHookCombinator2683 = new BitSet(new long[]{0x0000000008000000L}); 
     6167    public static final BitSet FOLLOW_27_in_ruleHookCombinator2700 = new BitSet(new long[]{0x0000000004000200L}); 
     6168    public static final BitSet FOLLOW_RULE_LOGIC_in_ruleHookCombinator2717 = new BitSet(new long[]{0x0000000004000000L}); 
     6169    public static final BitSet FOLLOW_26_in_ruleHookCombinator2736 = new BitSet(new long[]{0x0000000000000080L}); 
     6170    public static final BitSet FOLLOW_RULE_STRING_in_ruleHookCombinator2753 = new BitSet(new long[]{0x0000000008000000L}); 
     6171    public static final BitSet FOLLOW_27_in_ruleHookCombinator2770 = new BitSet(new long[]{0x0000000004008002L}); 
     6172    public static final BitSet FOLLOW_15_in_ruleHookCombinator2785 = new BitSet(new long[]{0x0000000000000002L}); 
     6173    public static final BitSet FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList2823 = new BitSet(new long[]{0x0000000000000000L}); 
     6174    public static final BitSet FOLLOW_EOF_in_entryRuleDefinitionList2833 = new BitSet(new long[]{0x0000000000000002L}); 
     6175    public static final BitSet FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2879 = new BitSet(new long[]{0x0000000080000002L}); 
     6176    public static final BitSet FOLLOW_31_in_ruleDefinitionList2892 = new BitSet(new long[]{0x0000000304000490L}); 
     6177    public static final BitSet FOLLOW_ruleSingleDefinition_in_ruleDefinitionList2913 = new BitSet(new long[]{0x0000000080000002L}); 
     6178    public static final BitSet FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition2951 = new BitSet(new long[]{0x0000000000000000L}); 
     6179    public static final BitSet FOLLOW_EOF_in_entryRuleSingleDefinition2961 = new BitSet(new long[]{0x0000000000000002L}); 
     6180    public static final BitSet FOLLOW_ruleTerm_in_ruleSingleDefinition3006 = new BitSet(new long[]{0x0000000304000492L}); 
     6181    public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm3042 = new BitSet(new long[]{0x0000000000000000L}); 
     6182    public static final BitSet FOLLOW_EOF_in_entryRuleTerm3052 = new BitSet(new long[]{0x0000000000000002L}); 
     6183    public static final BitSet FOLLOW_ruleAtom_in_ruleTerm3098 = new BitSet(new long[]{0x0000000000000002L}); 
     6184    public static final BitSet FOLLOW_ruleGroupedSequence_in_ruleTerm3125 = new BitSet(new long[]{0x0000000000000002L}); 
     6185    public static final BitSet FOLLOW_ruleOptionalSequence_in_ruleTerm3152 = new BitSet(new long[]{0x0000000000000002L}); 
     6186    public static final BitSet FOLLOW_ruleRepeatedSequence_in_ruleTerm3179 = new BitSet(new long[]{0x0000000000000002L}); 
     6187    public static final BitSet FOLLOW_ruleAtom_in_entryRuleAtom3215 = new BitSet(new long[]{0x0000000000000000L}); 
     6188    public static final BitSet FOLLOW_EOF_in_entryRuleAtom3225 = new BitSet(new long[]{0x0000000000000002L}); 
     6189    public static final BitSet FOLLOW_ruleStringRule_in_ruleAtom3271 = new BitSet(new long[]{0x0000000000000002L}); 
     6190    public static final BitSet FOLLOW_ruleRuleReference_in_ruleAtom3298 = new BitSet(new long[]{0x0000000000000002L}); 
     6191    public static final BitSet FOLLOW_ruleRuleReference_in_entryRuleRuleReference3334 = new BitSet(new long[]{0x0000000000000000L}); 
     6192    public static final BitSet FOLLOW_EOF_in_entryRuleRuleReference3344 = new BitSet(new long[]{0x0000000000000002L}); 
     6193    public static final BitSet FOLLOW_RULE_ID_in_ruleRuleReference3392 = new BitSet(new long[]{0x0000000000000002L}); 
     6194    public static final BitSet FOLLOW_ruleStringRule_in_entryRuleStringRule3427 = new BitSet(new long[]{0x0000000000000000L}); 
     6195    public static final BitSet FOLLOW_EOF_in_entryRuleStringRule3437 = new BitSet(new long[]{0x0000000000000002L}); 
     6196    public static final BitSet FOLLOW_RULE_STRING_in_ruleStringRule3479 = new BitSet(new long[]{0x0000000000000002L}); 
     6197    public static final BitSet FOLLOW_RULE_COLON_in_ruleStringRule3507 = new BitSet(new long[]{0x0000000000000002L}); 
     6198    public static final BitSet FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence3548 = new BitSet(new long[]{0x0000000000000000L}); 
     6199    public static final BitSet FOLLOW_EOF_in_entryRuleGroupedSequence3558 = new BitSet(new long[]{0x0000000000000002L}); 
     6200    public static final BitSet FOLLOW_26_in_ruleGroupedSequence3595 = new BitSet(new long[]{0x0000000304000490L}); 
     6201    public static final BitSet FOLLOW_ruleDefinitionList_in_ruleGroupedSequence3616 = new BitSet(new long[]{0x0000000008000000L}); 
     6202    public static final BitSet FOLLOW_27_in_ruleGroupedSequence3628 = new BitSet(new long[]{0x0000000000000002L}); 
     6203    public static final BitSet FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence3664 = new BitSet(new long[]{0x0000000000000000L}); 
     6204    public static final BitSet FOLLOW_EOF_in_entryRuleOptionalSequence3674 = new BitSet(new long[]{0x0000000000000002L}); 
     6205    public static final BitSet FOLLOW_32_in_ruleOptionalSequence3711 = new BitSet(new long[]{0x0000000304000490L}); 
     6206    public static final BitSet FOLLOW_ruleDefinitionList_in_ruleOptionalSequence3732 = new BitSet(new long[]{0x0000000020000000L}); 
     6207    public static final BitSet FOLLOW_29_in_ruleOptionalSequence3744 = new BitSet(new long[]{0x0000000000000002L}); 
     6208    public static final BitSet FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence3780 = new BitSet(new long[]{0x0000000000000000L}); 
     6209    public static final BitSet FOLLOW_EOF_in_entryRuleRepeatedSequence3790 = new BitSet(new long[]{0x0000000000000002L}); 
     6210    public static final BitSet FOLLOW_33_in_ruleRepeatedSequence3827 = new BitSet(new long[]{0x0000000304000490L}); 
     6211    public static final BitSet FOLLOW_ruleDefinitionList_in_ruleRepeatedSequence3848 = new BitSet(new long[]{0x0000000040000000L}); 
     6212    public static final BitSet FOLLOW_30_in_ruleRepeatedSequence3860 = new BitSet(new long[]{0x0000010800000002L}); 
     6213    public static final BitSet FOLLOW_35_in_ruleRepeatedSequence3879 = new BitSet(new long[]{0x0000000000000002L}); 
     6214    public static final BitSet FOLLOW_ruleRepeatRange_in_ruleRepeatedSequence3920 = new BitSet(new long[]{0x0000000000000002L}); 
     6215    public static final BitSet FOLLOW_ruleRepeatRange_in_entryRuleRepeatRange3958 = new BitSet(new long[]{0x0000000000000000L}); 
     6216    public static final BitSet FOLLOW_EOF_in_entryRuleRepeatRange3968 = new BitSet(new long[]{0x0000000000000002L}); 
     6217    public static final BitSet FOLLOW_40_in_ruleRepeatRange4005 = new BitSet(new long[]{0x0000000004000000L}); 
     6218    public static final BitSet FOLLOW_26_in_ruleRepeatRange4017 = new BitSet(new long[]{0x0000000000000100L}); 
     6219    public static final BitSet FOLLOW_RULE_INT_in_ruleRepeatRange4034 = new BitSet(new long[]{0x0000020000000000L}); 
     6220    public static final BitSet FOLLOW_41_in_ruleRepeatRange4051 = new BitSet(new long[]{0x0000000000000100L}); 
     6221    public static final BitSet FOLLOW_RULE_INT_in_ruleRepeatRange4068 = new BitSet(new long[]{0x0000000008000000L}); 
     6222    public static final BitSet FOLLOW_27_in_ruleRepeatRange4085 = new BitSet(new long[]{0x0000000000000002L}); 
     6223    public static final BitSet FOLLOW_35_in_synpred53_InternalEbnf3879 = new BitSet(new long[]{0x0000000000000002L}); 
    60196224 
    60206225} 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/serializer/EbnfSemanticSequencer.java

    r95 r100  
    55import de.ugoe.cs.swe.bnftools.ebnf.Atom; 
    66import de.ugoe.cs.swe.bnftools.ebnf.BnfEntry; 
     7import de.ugoe.cs.swe.bnftools.ebnf.Comment; 
    78import de.ugoe.cs.swe.bnftools.ebnf.DefinitionList; 
    89import de.ugoe.cs.swe.bnftools.ebnf.DeltaEntry; 
     
    5960                                } 
    6061                                else break; 
     62                        case EbnfPackage.COMMENT: 
     63                                if(context == grammarAccess.getCommentRule()) { 
     64                                        sequence_Comment(context, (Comment) semanticObject);  
     65                                        return;  
     66                                } 
     67                                else break; 
    6168                        case EbnfPackage.DEFINITION_LIST: 
    6269                                if(context == grammarAccess.getDefinitionListRule()) { 
     
    197204        /** 
    198205         * Constraint: 
    199          *     (sectionheader=SectionHeading | rule=Rule) 
     206         *     (sectionheader=SectionHeading | rule=Rule | comment=Comment) 
    200207         */ 
    201208        protected void sequence_BnfEntry(EObject context, BnfEntry semanticObject) { 
    202209                genericSequencer.createSequence(context, semanticObject); 
     210        } 
     211         
     212         
     213        /** 
     214         * Constraint: 
     215         *     content=ML_COMMENT 
     216         */ 
     217        protected void sequence_Comment(EObject context, Comment semanticObject) { 
     218                if(errorAcceptor != null) { 
     219                        if(transientValues.isValueTransient(semanticObject, EbnfPackage.Literals.COMMENT__CONTENT) == ValueTransient.YES) 
     220                                errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EbnfPackage.Literals.COMMENT__CONTENT)); 
     221                } 
     222                INodesForEObjectProvider nodes = createNodeProvider(semanticObject); 
     223                SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); 
     224                feeder.accept(grammarAccess.getCommentAccess().getContentML_COMMENTTerminalRuleCall_1_0(), semanticObject.getContent()); 
     225                feeder.finish(); 
    203226        } 
    204227         
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/serializer/EbnfSyntacticSequencer.java

    r95 r100  
    7676         * Syntax: 
    7777         *     ( 
     78             ']' |  
     79             '(' |  
     80             '|' |  
    7881             '}' |  
    7982             '*' |  
    80              ']' |  
    81              '|' |  
    82              '(' |  
     83             '+' |  
    8384             '{' |  
    84              '+' |  
    8585             ')' |  
    8686             '[' 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/services/EbnfGrammarAccess.java

    r95 r100  
    172172                private final Assignment cRuleAssignment_1 = (Assignment)cAlternatives.eContents().get(1); 
    173173                private final RuleCall cRuleRuleParserRuleCall_1_0 = (RuleCall)cRuleAssignment_1.eContents().get(0); 
     174                private final Assignment cCommentAssignment_2 = (Assignment)cAlternatives.eContents().get(2); 
     175                private final RuleCall cCommentCommentParserRuleCall_2_0 = (RuleCall)cCommentAssignment_2.eContents().get(0); 
    174176                 
    175177                //BnfEntry: 
    176                 //      sectionheader=SectionHeading | rule=Rule; 
    177                 public ParserRule getRule() { return rule; } 
    178  
    179                 //sectionheader=SectionHeading | rule=Rule 
     178                //      sectionheader=SectionHeading | rule=Rule | comment=Comment; 
     179                public ParserRule getRule() { return rule; } 
     180 
     181                //sectionheader=SectionHeading | rule=Rule | comment=Comment 
    180182                public Alternatives getAlternatives() { return cAlternatives; } 
    181183 
     
    191193                //Rule 
    192194                public RuleCall getRuleRuleParserRuleCall_1_0() { return cRuleRuleParserRuleCall_1_0; } 
     195 
     196                //comment=Comment 
     197                public Assignment getCommentAssignment_2() { return cCommentAssignment_2; } 
     198 
     199                //Comment 
     200                public RuleCall getCommentCommentParserRuleCall_2_0() { return cCommentCommentParserRuleCall_2_0; } 
    193201        } 
    194202 
     
    279287                //SECTIONHEADER 
    280288                public RuleCall getSectionHeaderSECTIONHEADERTerminalRuleCall_1_0() { return cSectionHeaderSECTIONHEADERTerminalRuleCall_1_0; } 
     289        } 
     290 
     291        public class CommentElements extends AbstractParserRuleElementFinder { 
     292                private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Comment"); 
     293                private final Group cGroup = (Group)rule.eContents().get(1); 
     294                private final Action cCommentAction_0 = (Action)cGroup.eContents().get(0); 
     295                private final Assignment cContentAssignment_1 = (Assignment)cGroup.eContents().get(1); 
     296                private final RuleCall cContentML_COMMENTTerminalRuleCall_1_0 = (RuleCall)cContentAssignment_1.eContents().get(0); 
     297                 
     298                //Comment: 
     299                //      {Comment} content=ML_COMMENT; 
     300                public ParserRule getRule() { return rule; } 
     301 
     302                //{Comment} content=ML_COMMENT 
     303                public Group getGroup() { return cGroup; } 
     304 
     305                //{Comment} 
     306                public Action getCommentAction_0() { return cCommentAction_0; } 
     307 
     308                //content=ML_COMMENT 
     309                public Assignment getContentAssignment_1() { return cContentAssignment_1; } 
     310 
     311                //ML_COMMENT 
     312                public RuleCall getContentML_COMMENTTerminalRuleCall_1_0() { return cContentML_COMMENTTerminalRuleCall_1_0; } 
    281313        } 
    282314 
     
    10771109        private MergeEntryElements pMergeEntry; 
    10781110        private SectionHeadingElements pSectionHeading; 
     1111        private CommentElements pComment; 
    10791112        private ImportElements pImport; 
    10801113        private RuleElements pRule; 
     
    11601193 
    11611194        //BnfEntry: 
    1162         //      sectionheader=SectionHeading | rule=Rule; 
     1195        //      sectionheader=SectionHeading | rule=Rule | comment=Comment; 
    11631196        public BnfEntryElements getBnfEntryAccess() { 
    11641197                return (pBnfEntry != null) ? pBnfEntry : (pBnfEntry = new BnfEntryElements()); 
     
    11971230        public ParserRule getSectionHeadingRule() { 
    11981231                return getSectionHeadingAccess().getRule(); 
     1232        } 
     1233 
     1234        //Comment: 
     1235        //      {Comment} content=ML_COMMENT; 
     1236        public CommentElements getCommentAccess() { 
     1237                return (pComment != null) ? pComment : (pComment = new CommentElements()); 
     1238        } 
     1239         
     1240        public ParserRule getCommentRule() { 
     1241                return getCommentAccess().getRule(); 
    11991242        } 
    12001243 
Note: See TracChangeset for help on using the changeset viewer.